]>
Commit | Line | Data |
---|---|---|
1617e5ee GK |
1 | 2007-07-12 Geoffrey Keating <geoffk@apple.com> |
2 | ||
3 | * ginclude/tgmath.h: New. | |
4 | * config.gcc: Use GCC's tgmath.h on non-glibc systems. | |
5 | * doc/sourcebuild.texi (Headers): Document use_gcc_tgmath. | |
6 | * configure.ac (STMP_FIXPROTO): Honor use_gcc_tgmath. | |
7 | * configure: Regenerate. | |
8 | ||
192c543c KK |
9 | 2007-07-13 Kaz Kojima <kkojima@gcc.gnu.org> |
10 | ||
11 | * config/sh/linux-unwind.h (sh_fallback_frame_state): Use | |
12 | correct index when setting register save state for xd | |
13 | registers. | |
14 | ||
e27a1019 KK |
15 | 2007-07-13 Kaz Kojima <kkojima@gcc.gnu.org> |
16 | ||
17 | * config/sh/sh.c (mark_use): Remove. | |
18 | ||
19e723f4 PB |
19 | 2007-07-12 Paul Brook <paul@codesourcery.com> |
20 | ||
21 | * config/arm/arm.c (thumb1_compute_save_reg_mask): Make sure scratch | |
22 | reg does not overlap return value. | |
23 | ||
c83c4879 DB |
24 | 2007-07-12 Daniel Berlin <dberlin@dberlin.org> |
25 | ||
26 | * tree-ssa-pre.c (get_expression_vuses): Move out side-effect. | |
27 | (set_expression_vuses): Ditto. | |
28 | (init_pre): Initialize expression_vuses. | |
29 | ||
019b9fdb ZD |
30 | 2007-07-12 Zdenek Dvorak <dvorakz@suse.cz> |
31 | ||
32 | * config/i386/sse.md (storentdf, storentsf): New. | |
33 | ||
d872ada0 GK |
34 | 2007-07-12 Geoffrey Keating <geoffk@apple.com> |
35 | ||
36 | * builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a | |
37 | FUNCTION_DECL. | |
38 | * tree.c (build_decl_stat): Move code from here... | |
39 | (make_node_stat): ... to here. Don't uselessly clear DECL_USER_ALIGN. | |
40 | (expr_align): Honor DECL_ALIGN on a FUNCTION_DECL. Add comment | |
41 | about using DECL_ALIGN of LABEL_DECL and CONST_DECL. | |
42 | * tree.h (DECL_USER_ALIGN): Fix misplaced comment. | |
43 | * varasm.c (assemble_start_function): Use DECL_ALIGN instead of | |
44 | FUNCTION_BOUNDARY. | |
45 | ||
5b900a4c DN |
46 | 2007-07-12 Dorit Nuzman <dorit@il.ibm.com> |
47 | Devang Patel <dpatel@apple.com> | |
48 | ||
49 | PR tree-optimization/25413 | |
50 | * targhooks.c (default_builtin_vector_alignment_reachable): New. | |
51 | * targhooks.h (default_builtin_vector_alignment_reachable): New. | |
52 | * tree.h (contains_packed_reference): New. | |
53 | * expr.c (contains_packed_reference): New. | |
54 | * tree-vect-analyze.c (vector_alignment_reachable_p): New. | |
55 | (vect_enhance_data_refs_alignment): Call | |
56 | vector_alignment_reachable_p. | |
57 | * target.h (vector_alignment_reachable): New builtin. | |
58 | * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New. | |
59 | * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New. | |
60 | (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define. | |
61 | ||
e95b59d2 DN |
62 | 2007-07-12 Dorit Nuzman <dorit@il.ibm.com> |
63 | ||
64 | * target.h (builtin_vectorization_cost): Add new target builtin. | |
65 | * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New. | |
66 | * tree-vectorizer.h (TARG_SCALAR_STMT_COST): New. | |
67 | (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST): New. | |
68 | * tree-vect-analyze.c (vect_analyze_slp_instance): Initisliaze | |
69 | uninitialized variables. | |
70 | * tree-vect-transform.c (cost_for_stmt): New function. | |
71 | (vect_estimate_min_profitable_iters): Call cost_for_stmt instead of | |
72 | using cost 1 for all scalar stmts. Be less conservative when | |
73 | estimating the number of prologue/epulogue iterations. Call | |
74 | targetm.vectorize.builtin_vectorization_cost. Return | |
75 | min_profitable_iters-1. | |
76 | (vect_model_reduction_cost): Use TARG_SCALAR_TO_VEC_COST for | |
77 | initialization cost instead of TARG_VEC_STMT_COST. Use | |
78 | TARG_VEC_TO_SCALAR_COST instead of TARG_VEC_STMT_COST for reduction | |
79 | epilogue code. Fix epilogue cost computation. | |
80 | * config/spu/spu.c (spu_builtin_vectorization_cost): New. | |
81 | (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Implement. | |
82 | * config/spu/spu.h (TARG_COND_BRANCH_COST, TARG_SCALAR_STMT_COST): | |
83 | (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST, TARG_VEC_STMT_COST): | |
84 | (TARG_VEC_TO_SCALAR_COST, TARG_SCALAR_TO_VEC, TARG_VEC_LOAD_COST): | |
85 | (TARG_VEC_UNALIGNED_LOAD_COST, TARG_VEC_STORE_COST): Define. | |
86 | ||
8f20c485 RG |
87 | 2007-07-12 Richard Guenther <rguenther@suse.de> |
88 | ||
89 | * gimplify.c (gimplify_conversion): Make sure that the result | |
90 | from maybe_fold_offset_to_reference is trivially convertible | |
91 | to the desired type before doing the simplification. | |
92 | (gimplify_expr): Likewise. | |
93 | * fold-const.c (fold_binary): Use the correct types for | |
94 | building the simplified expression. | |
95 | ||
44f51d59 ZD |
96 | 2007-07-12 Zdenek Dvorak <dvorakz@suse.cz> |
97 | ||
98 | PR rtl-optimization/32729 | |
99 | * cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks | |
100 | that fallthru to exit. | |
101 | ||
45312d9d KK |
102 | 2007-07-12 Kaz Kojima <kkojima@gcc.gnu.org> |
103 | ||
104 | * config/sh/sh.md (symGOTOFF2reg): Add missing parenthesis. | |
105 | (symDTPOFF2reg): Likewise. | |
106 | ||
c5830edf DB |
107 | 2007-07-11 Daniel Berlin <dberlin@dberlin.org> |
108 | ||
109 | PR tree-optimization/32663 | |
110 | ||
111 | * tree.h (VALUE_HANDLE_VUSES): Remove. | |
112 | (struct tree_value_handle): Remove vuses. | |
113 | ||
114 | * tree-vn.c (create_value_handle_for_expr): Don't set | |
115 | VALUE_HANDLE_VUSES. | |
116 | ||
117 | * tree-ssa-pre.c (expression_vuses): New. | |
118 | (alloc_expression_id): Set up expression_vuses. | |
119 | (get_expression_vuses): New. | |
120 | (set_expression_vuses): Ditto. | |
121 | (clear_expression_ids): Modify for expression_vuses. | |
122 | (phi_translate_1): Ditto. | |
123 | (phi_translate_set): Ditto. | |
124 | (value_dies_in_block_x): Ditto | |
125 | (valid_in_sets): Ditto. | |
126 | (add_to_sets): Ditto. | |
127 | (find_existing_value_expr): Ditto. | |
128 | (create_value_handle_for_expr): Ditto. | |
129 | (make_values_for_stmt): Ditto. | |
130 | (vuse_equiv): Remove. | |
131 | ||
66a82a79 AO |
132 | 2007-07-11 Alexandre Oliva <aoliva@redhat.com> |
133 | ||
134 | * Makefile.in (mostlyclean): Remove object files. | |
135 | ||
ef4375b2 KZ |
136 | 2007-07-11 Kenneth Zadeck <zadeck@naturalbridge.com> |
137 | ||
138 | * toplev.c (no_new_pseudos): Deleted. | |
139 | * rtl.h (no_new_pseudos): Deleted. | |
140 | * tree-pass.h (pass_no_new_pseudos): Deleted. | |
141 | * passes.c (pass_no_new_pseudos): Deleted. | |
142 | * final.c (rest_of_clean_state): Removed no_new_pseudos. | |
143 | (rest_of_no_new_pseudos, pass_no_new_pseudos): Deleted. | |
144 | * struct-equiv.c (rtx_equiv_p): Replaced no_new_pseudos with | |
145 | reload_completed. | |
146 | * cfgcleanup.c (try_crossjump_to_edge): Ditto. | |
147 | * rtlhooks.c (gen_lowpart_general): Ditto. | |
148 | * optabs.c (prepare_operand): Ditto. | |
149 | * mode-switching.c (rest_of_handle_mode_switching): Deleted set of | |
150 | no_new_pseudos. | |
151 | * modulo-sched.c (rest_of_handle_sms): Ditto. | |
152 | * see.c (rest_of_handle_see): Ditto. | |
153 | * ifcvt.c (if_convert): Ditto. | |
154 | (gate_handle_if_after_combine): Replaced no_new_pseudos with | |
155 | reload_completed. | |
156 | * init-regs.c (gate_initialize_regs): Deleted set of | |
157 | no_new_pseudos. | |
158 | * lower-subreg.c (decompose_multiword_subregs): Ditto. | |
159 | * bb-reorder.c (rest_of_handle_partition_blocks): Ditto. | |
160 | * doc/md.texi: Changed no_new_pseudos to can_create_pseudo_p. | |
161 | ||
29d27fb0 UB |
162 | 2007-07-11 Uros Bizjak <ubizjak@gmail.com> |
163 | ||
164 | PR target/32661 | |
165 | * config/i386/sse.md (*sse2_storeq_rex64): Handle 64bit mem->reg moves. | |
166 | (*vec_extractv2di_1_sse2): Disable for TARGET_64BIT. | |
167 | (*vec_extractv2di_1_rex64): New insn pattern. | |
168 | ||
aa3e18a0 DD |
169 | 2007-07-11 David Daney <ddaney@avtrex.com> |
170 | ||
171 | * config/mips/linux-unwind.h (mips_fallback_frame_state): Rewrite | |
172 | return address calculation. Substitute DWARF_ALT_FRAME_RETURN_COLUMN | |
173 | for SIGNAL_UNWIND_RETURN_COLUMN. | |
174 | * config/mips/mips.h (SIGNAL_UNWIND_RETURN_COLUMN): Remove. | |
175 | (DWARF_FRAME_REGNUM): Rewrite. | |
176 | (DWARF_ALT_FRAME_RETURN_COLUMN) Define. | |
177 | ||
9251d664 NC |
178 | 2007-07-11 Nick Clifton <nickc@redhat.com> |
179 | ||
180 | * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Revert previous | |
181 | delta and use gen_int_mode in place of GET_INT instead. | |
182 | ||
942ca20a UB |
183 | 2007-07-11 Uros Bizjak <ubizjak@gmail.com> |
184 | ||
185 | * reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name | |
186 | and letter field. | |
187 | ||
7313518b DG |
188 | 2007-07-11 Douglas Gregor <doug.gregor@gmail.com> |
189 | ||
190 | * params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove. | |
191 | (PARAM_USE_CANONICAL_TYPES): New; decides whether to use canonical | |
192 | types or not. | |
193 | * params.h (VERIFY_CANONICAL_TYPES): Remove. | |
194 | (USE_CANONICAL_TYPES): New. | |
195 | * doc/invoke.texi (verify-canonical-types): Remove. | |
196 | (use-canonical-types): Add. | |
942ca20a | 197 | |
039cb258 UW |
198 | 2007-07-11 Ulrich Weigand <uweigand@de.ibm.com> |
199 | ||
200 | * config/spu/spu.c (spu_optimization_options): Remove setting of | |
201 | parameter PARAM_MAX_COMPLETELY_PEEL_TIMES. | |
202 | (spu_override_options): Move it here. | |
203 | ||
9e32002f RS |
204 | 2007-07-11 Richard Sandiford <richard@codesourcery.com> |
205 | ||
942ca20a UB |
206 | * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and -m4ksd. |
207 | * config/mips/mips.c (mips_cpu_info_table): Mention | |
208 | MIPS_ISA_LEVEL_SPEC in the comment. | |
9e32002f | 209 | |
26b70b9f EB |
210 | 2007-07-11 Eric Botcazou <ebotcazou@adacore.com> |
211 | ||
212 | PR tree-optimization/32713 | |
213 | * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle REAL_CST. | |
214 | ||
4ac1edaf PC |
215 | 2007-07-11 Paolo Carlini <pcarlini@suse.de> |
216 | ||
217 | PR middle-end/30482 | |
218 | * c-opts.c (c_common_post_options): Do not change flag_complex_method | |
219 | conditional to flag_isoc99. | |
220 | (c_common_init_options): Do it here, unconditionally. | |
221 | ||
c2979eaf EB |
222 | 2007-07-11 Eric Botcazou <ebotcazou@adacore.com> |
223 | ||
224 | PR tree-optimization/32589 | |
225 | * doc/tree-ssa.texi (Rough GIMPLE Grammar): Add missing rule. | |
226 | * tree-gimple.c (is_gimple_min_invariant): Clarify head comment. | |
227 | * tree-ssa-propagate.c (valid_gimple_expression_p): New | |
228 | predicate, extracted from... | |
229 | (set_rhs): ...here. Call it for the expression on entry. | |
230 | * tree-ssa-propagate.h (valid_gimple_expression_p): Declare. | |
231 | * tree-ssa-sccvn.c: Include tree-ssa-propagate.h. | |
232 | (simplify_binary_expression): Use valid_gimple_expression_p | |
233 | to validate the simplification. | |
234 | * Makefile.in (tree-ssa-sccvn.o): Depends on tree-ssa-propagate.h. | |
235 | ||
13c0a630 DS |
236 | 2007-07-11 Danny Smith <dannysmith@users.sourceforge.net> |
237 | ||
238 | * config/i386/cygming.h (PREFERRED_DEBUGGING_TYPE): Define to | |
239 | DWARF2_DEBUG on 32 bit target too. | |
240 | (DWARF2_UNWIND_INFO): Reorganize 64-bit vs 32-bit definition. | |
241 | ||
0dcd2e78 NC |
242 | 2007-07-11 Nick Clifton <nickc@redhat.com> |
243 | ||
244 | * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Provide alternative | |
245 | version for 64-bit hosts. | |
246 | ||
df770e04 DD |
247 | 2007-07-10 David Daney <ddaney@avtrex.com> |
248 | ||
249 | * config/mips/mips.h (ISA_HAS_SYNCI): New target capability | |
250 | predicate. | |
251 | (INITIALIZE_TRAMPOLINE): Emit clear_cache insn instead of library | |
252 | call. | |
253 | * config/mips/mips.c (mips_expand_synci_loop): New function. | |
254 | * config/mips/mips.md (UNSPEC_CLEAR_HAZARD): New constant. | |
255 | (UNSPEC_RDHWR): Same. | |
256 | (UNSPEC_SYNCI): Same. | |
257 | (UNSPEC_SYNC): Same. | |
258 | (clear_cache): New expand. | |
259 | (sync): New insn. | |
260 | (synci): Same. | |
261 | (rdhwr): Same. | |
262 | (clear_hazard): Same. | |
263 | * config/mips/mips-protos.h (mips_expand_synci_loop): Declare | |
264 | function. | |
265 | * testsuite/gcc.target/mips/clear-cache-1.c: New test. | |
266 | * testsuite/gcc.target/mips/clear-cache-2.c: New test. | |
267 | ||
f8335a4f ILT |
268 | 2007-07-10 Ian Lance Taylor <iant@google.com> |
269 | ||
270 | * emit-rtl.c (gen_reg_rtx): Check can_create_pseudo_p rather than | |
271 | no_new_pseudos. | |
272 | ||
677feb77 DD |
273 | 2007-07-10 David Daney <ddaney@avtrex.com> |
274 | ||
275 | * builtins.def (BUILT_IN_CLEAR_CACHE): New builtin. | |
276 | * builtins.c (expand_builtin___clear_cache): New function. | |
277 | (expand_builtin): Call expand_builtin___clear_cache for | |
278 | BUILT_IN_CLEAR_CACHE case. | |
279 | * doc/extend.texi (__builtin___clear_cache): Document new builtin. | |
280 | * doc/md.texi (clear_cache): Document new instruction pattern. | |
281 | * testsuite/gcc.dg/builtins-64.c: New test. | |
282 | ||
3a0e695a HPN |
283 | 2007-07-11 Hans-Peter Nilsson <hp@axis.com> |
284 | ||
285 | * config/cris/cris.md ("movsi"): Fix typo in last change. | |
286 | ||
837edd5f GK |
287 | 2007-07-09 Geoffrey Keating <geoffk@apple.com> |
288 | ||
289 | PR 32617 | |
290 | * c-common.c (c_alignof_expr): Look at DECL_ALIGN of | |
291 | FUNCTION_DECLs. | |
292 | (handle_aligned_attribute): Allow use on FUNCTION_DECLs. | |
293 | * varasm.c (assemble_start_function): Honor DECL_ALIGN | |
294 | for FUNCTION_DECLs. Don't use align_functions_log if | |
295 | DECL_USER_ALIGN. | |
296 | * print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN | |
297 | even for FUNCTION_DECLs. | |
298 | * c-decl.c (merge_decls): Propagate DECL_ALIGN even for | |
299 | FUNCTION_DECLs. | |
300 | * tree.h (DECL_ALIGN): Update for new location of 'align'. | |
301 | (DECL_FUNCTION_CODE): Update for new location and name of | |
302 | 'function_code'. | |
303 | (DECL_OFFSET_ALIGN): Update for new location of 'off_align'. | |
304 | (struct tree_decl_common): Move 'align' and 'off_align' out | |
305 | of union, ensure they're still on a 32-bit boundary. Remove | |
306 | other fields in union 'u1'. | |
307 | (struct tree_function_decl): Add field 'function_code' replacing | |
308 | 'u1.f' in tree_decl_common. | |
309 | * tree.c (build_decl_stat): Set initial value of DECL_ALIGN. | |
310 | * doc/extend.texi (Function Attributes): Add 'aligned' attribute. | |
311 | (Variable Attributes): Cross-reference 'aligned' attribute | |
312 | to Function Attributes. | |
313 | * flags.h (force_align_functions_log): Delete. | |
314 | * toplev.c (force_align_functions_log): Delete. | |
315 | ||
558be301 UB |
316 | 2007-07-10 Uros Bizjak <ubizjak@gmail.com> |
317 | ||
318 | PR target/32708 | |
319 | * config/i386/sse.md (vec_concatv2di): Disable for TARGET_64BIT. | |
320 | (*vec_concatv2di_rex): New insn pattern. | |
321 | ||
333f4a40 RO |
322 | 2007-07-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
323 | ||
324 | PR target/32538 | |
325 | * config/mips/iris6.h (LIBGCC_SPEC): Add libm. | |
326 | ||
b3a13419 ILT |
327 | 2007-07-10 Ian Lance Taylor <iant@google.com> |
328 | ||
329 | Replace no_new_pseudos in backends. | |
330 | * rtl.h (can_create_pseudo_p): Define. | |
331 | * config/darwin.c (machopic_indirect_data_reference): Use | |
332 | can_create_pseudo_p () instead of no_new_pseudos. | |
333 | (machopic_indirect_data_reference): Likewise. | |
334 | (machopic_legitimize_pic_address): Likewise. | |
335 | * config/alpha/alpha.c (alpha_legitimize_address): Likewise. | |
336 | (alpha_emit_set_const_1): Likewise. | |
337 | (alpha_emit_set_const): Likewise. | |
338 | (alpha_emit_conditional_move): Likewise. | |
339 | (alpha_split_conditional_move): Likewise. | |
340 | * config/alpha/alpha.md (various splitters): Likewise. | |
341 | (movti): Likewise. | |
342 | * config/arm/arm.c (legitimize_pic_address): Likewise. | |
343 | (arm_load_pic_register): Likewise. | |
344 | * config/arm/arm.md (addsi3, subsi3, andsi3, iorsi3): Likewise. | |
345 | (movdi, movsi, movhi, movqi, movsf, movdf): Likewise. | |
346 | * config/bfin/bfin.c (legitimize_pic_address): Likewise. | |
347 | * config/cris/cris.c (cris_expand_pic_call_address): Likewise. | |
348 | * config/cris/cris.md (movsi): Likewise. | |
349 | * config/frv/frv.md (symGOT2reg_hilo): Likewise. | |
350 | (symGOTOFF2reg_hilo): Likewise. | |
351 | (symGPREL2reg, symGPREL2reg_hilo): Likewise. | |
352 | * config/h8300/h8300.md (insv, extzv): Likewise. | |
353 | * config/i386/i386.c (ix86_expand_move): Likewise. | |
354 | (ix86_expand_vector_move): Likewise. | |
355 | (ix86_prepare_fp_compare_args): Likewise. | |
356 | (ix86_expand_carry_flag_compare): Likewise. | |
357 | * config/i386/i386.md (tls_dynamic_gnu2_32): Likewise. | |
358 | (tls_dynamic_gnu2_combine_32): Likewise. | |
359 | (tls_dynamic_gnu2_64, tls_dynamic_gnu2_combine_64): Likewise. | |
360 | * config/ia64/ia64.c (ia64_expand_move): Likewise. | |
361 | (ia64_expand_movxf_movrf): Likewise. | |
362 | * config/m32c/m32c.c (m32c_prepare_move): Likewise. | |
363 | (m32c_split_move): Likewise. | |
364 | (m32c_expand_insv): Likewise. | |
365 | * config/m68k/m68k.md (movsi): Likewise. | |
366 | * config/mips/mips.c (mips_force_temporary): Likewise. | |
367 | (mips_split_symbol): Likewise. | |
368 | (mips_move_integer): Likewise. | |
369 | (mips_legitimize_const_move): Likewise. | |
370 | * config/mn10300/mn10300.md (movsi): Likewise. | |
371 | * config/pa/pa.c (emit_move_sequence): Likewise. | |
372 | * config/rs6000/rs6000.c (rs6000_emit_move): Likewise. | |
373 | (rs6000_got_register): Likewise. | |
374 | (create_TOC_reference): Likewise. | |
375 | (rs6000_machopic_legitimize_pic_address): Likewise. | |
376 | * config/rs6000/rs6000.md (add<mode>3): Likewise. | |
377 | (various splitters): Likewise. | |
378 | (iorsi3, xorsi3, iordi3, xordi3): Likewise. | |
379 | (movsi_got): Likewise. | |
380 | * config/s390/s390.c (emit_symbolic_move): Likewise. | |
381 | * config/s390/s390.md (movhi, movqi): Likewise. | |
382 | (load_multiple, store_multiple): Likewise. | |
383 | * config/score/score.c (score_force_temporary): Likewise. | |
384 | * config/sh/sh.c (prepare_move_operands): Likewise. | |
385 | (prepare_cbranch_operands): Likewise. | |
386 | (emit_fpu_switch): Likewise. | |
387 | (fpscr_set_from_mem): Likewise. | |
388 | * config/sh/sh.md (movdicc, movsicc, movsicc_umin): Likewise. | |
389 | (adddi3, subsi3): Likewise. | |
390 | (various splitters): Likewise. | |
391 | (divsi_inv_fp_combine): Likewise. | |
392 | (symGOT_load, symGOTOFF2reg, symDTPOFF2reg): Likewise. | |
393 | (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu): Likewise. | |
394 | (sne): Likewise. | |
395 | * config/sh/predicates.md (xor_operand): Likewise. | |
396 | * config/sparc/sparc.c (legitimize_tls_address): Likewise. | |
397 | * config/sparc/sparc.md (movsi_pic_label_ref): Likewise. | |
398 | (movdi_pic_label_ref): Likewise. | |
399 | * config/spu/spu.c (spu_split_immediate): Likewise. | |
400 | * config/alpha/alpha.md (various splitters): Remove test | |
401 | !no_new_pseudos || reload_completed. | |
402 | * config/ia64/ia64.c (ia64_output_mi_thunk): Don't set | |
403 | no_new_pseudos. | |
404 | * config/m68k/m68k.c (m68k_output_mi_thunk): Likewise. | |
405 | * config/mips/mips.c (mips_output_mi_thunk): Likewise. | |
406 | * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. | |
407 | * config/score/score.c (th_output_mi_thunk): Likewise. | |
408 | * config/sh/sh.c (sh_output_mi_thunk): Likewise. | |
409 | * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. | |
410 | ||
89ab4659 KK |
411 | 2007-07-10 Kaz Kojima <kkojima@gcc.gnu.org> |
412 | ||
413 | PR rtl-optimization/32664 | |
414 | * mode-switching.c (create_pre_exit): Skip barrier insns. | |
415 | ||
c6540bde ZD |
416 | 2007-07-10 Zdenek Dvorak <dvorakz@suse.cz> |
417 | ||
418 | * tree-scalar-evolution.c (scev_const_prop): Add arguments to | |
419 | force_gimple_operand_bsi. | |
420 | * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr, | |
421 | rewrite_use_compare): Ditto. | |
422 | * tree-ssa-address.c (gimplify_mem_ref_parts, create_mem_ref): | |
423 | Ditto. | |
424 | * tree-ssa-ifcombine.c (ifcombine_ifandif): Ditto. | |
425 | * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto. | |
426 | * lambda-code.c (replace_uses_equiv_to_x_with_y): Ditto. | |
427 | * tree-profile.c (prepare_instrumented_value, | |
428 | tree_gen_interval_profiler, tree_gen_pow2_profiler, | |
429 | tree_gen_one_value_profiler, tree_gen_ic_profiler, | |
430 | tree_gen_ic_func_profiler, tree_gen_average_profiler, | |
431 | tree_gen_ior_profiler): Ditto. | |
432 | * tree-ssa-reassoc.c (negate_value): Ditto. | |
433 | * matrix-reorg.c (transform_access_sites, transform_allocation_sites): | |
434 | Use force_gimple_operand_bsi. | |
435 | * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto. | |
436 | * tree-if-conv.c (add_to_dst_predicate_list, | |
437 | find_phi_replacement_condition): Ditto. | |
438 | * gimplify.c (force_gimple_operand_bsi): Add before and m arguments. | |
439 | Call mark_symbols_for_renaming for new statements. | |
440 | * tree-flow.h (force_gimple_operand_bsi): Declaration changed. | |
441 | ||
452ba14d ZD |
442 | 2007-07-10 Zdenek Dvorak <dvorakz@suse.cz> |
443 | ||
444 | * cfghooks.c (remove_edge): New function. | |
445 | (redirect_edge_and_branch, remove_branch, merge_blocks): Updated | |
446 | loop exit rescans. | |
447 | * cfghooks.h (remove_edge): Declare. | |
448 | * cfg.c (remove_edge): Renamed to remove_edge_raw. | |
449 | * basic-block.h (remove_edge): Declaration changed to remove_edge_raw. | |
450 | ||
0f67fa83 WG |
451 | 2007-07-09 Wolfgang Gellerich <gellerich@de.ibm.com> |
452 | ||
453 | * optabs.h: Added declaration for signbit_optab. | |
454 | * optabs.c: (init_optabs): Added initialization for signbit_optab. | |
455 | * genoptinit.c (optabs): Added entry for signbit insns. | |
558be301 UB |
456 | * builtins.c (expand_builtin_signbit): Added code to use a signbit |
457 | insn, if available. | |
0f67fa83 WG |
458 | * config/s390/s390.h (S390_TDC_SIGNBIT_SET): New constant. |
459 | * config/s390/s390.md (signbit<mode>2): New expander. | |
460 | ||
b462d62d RG |
461 | 2007-07-09 Richard Guenther <rguenther@suse.de> |
462 | ||
463 | PR middle-end/32698 | |
464 | * fold-const.c (fold_plusminus_mult_expr): Move constant | |
465 | arguments second to allow decomposing. | |
466 | ||
694dd537 AO |
467 | 2007-07-09 Alexandre Oliva <aoliva@oliva.athome.lsd.ic.unicamp.br> |
468 | ||
469 | Revert: | |
470 | 2007-07-06 Alexandre Oliva <aoliva@redhat.com> | |
471 | PR debug/23551 | |
472 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): | |
473 | Disregard DECL_FROM_INLINE. | |
474 | ||
13c59415 UB |
475 | 2007-07-09 Uros Bizjak <ubizjak@gmail.com> |
476 | ||
477 | PR target/27855 | |
478 | * doc/invoke.texi: Add ftree-reassoc flag. | |
479 | * common.opt (ftree-reassoc): New flag. | |
480 | * tree-ssa-reassoc.c (gate_tree_ssa_reassoc): New static function. | |
481 | (struct tree_opt_pass pass_reassoc): Use gate_tree_ssa_reassoc. | |
482 | ||
8b4c775b UB |
483 | 2007-07-09 Uros Bizjak <ubizjak@gmail.com> |
484 | ||
485 | PR tree-optimization/32681 | |
486 | * tree-if-conv.c (find_phi_replacement_condition): Use the condition | |
487 | saved in second_edge->aux when first_bb is a loop header. | |
488 | ||
d241cd48 JH |
489 | 2007-07-09 Jan HUbicka <jh@suse.cz> |
490 | ||
491 | * cse.c (cse_insn): Avoid invalid sharing on trial replacement. | |
492 | ||
f967586f RG |
493 | 2007-07-09 Richard Guenther <rguenther@suse.de> |
494 | ||
495 | * c-decl.c (start_function): Do not promote return type. | |
496 | ||
534fd534 DF |
497 | 2007-07-08 Daniel Franke <franke.daniel@gmail.com> |
498 | ||
499 | * function.c (do_warn_unused_parameter): Do not warn if | |
500 | TREE_NO_WARNING is set. | |
501 | ||
9f06d330 AS |
502 | 2007-07-08 Andreas Schwab <schwab@suse.de> |
503 | ||
504 | * doc/invoke.texi (DEC Alpha/VMS Options): Fix typo. | |
505 | ||
170ea7b9 SL |
506 | 2007-07-08 Sandra Loosemore <sandra@codesourcery.com> |
507 | ||
508 | Revert this patch: | |
509 | 2007-07-06 Sandra Loosemore <sandra@codesourcery.com> | |
510 | ||
511 | * c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS | |
512 | apply to assembly language, too. | |
513 | * doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update. | |
514 | ||
b71b4522 DB |
515 | 2007-07-07 Daniel Berlin <dberlin@dberlin.org> |
516 | ||
517 | Revert (note the sccvn portions are *not* reverted) | |
518 | 2007-07-06 Daniel Berlin <dberlin@dberlin.org> | |
519 | ||
520 | Fix PR tree-optimization/23488 | |
521 | ||
522 | * tree-vn.c (set_value_handle): Use decl_vh_map for decl value | |
523 | handles. | |
524 | * tree-flow-inline.h (get_value_handle): Ditto. | |
525 | * tree-ssa-pre.c (decl_vh_map): New. | |
526 | (decl_node_pool): New. | |
527 | (can_value_number_operation): Support DECL_P. | |
528 | (can_PRE_operation): Ditto. | |
529 | (create_expression_by_pieces): Ditto. | |
530 | (find_existing_value_expr): Modify to differnetiate between | |
531 | addressing and top level. | |
532 | (create_value_handle_for_expr): Handle DECL's. | |
533 | (poolify_tree): Ditto. | |
534 | (make_values_for_phi): Don't insert into PHI_GEN during FRE. | |
535 | (make_values_for_stmt): Handle DECL's properly. | |
536 | (init_pre): Reorg to not init useless things during FRE. | |
537 | (fini_pre): Ditto. | |
538 | * tree-flow.h: Include pointer-set.h. | |
539 | (decl_vh_map): Declare. | |
540 | * Makefile.in (TREE_FLOW_H): Add pointer-set.h | |
541 | ||
0e8eb4d8 EW |
542 | 2007-07-07 Eric Weddington <eweddington@cso.atmel.com> |
543 | ||
544 | * config/avr/constraints.md (define_memory_constraint "Q"): Fix | |
545 | the constraint description. | |
546 | * doc/md.texi: Update documentation of AVR constraints. | |
547 | ||
6ed3da00 KH |
548 | 2007-07-07 Kazu Hirata <kazu@codesourcery.com> |
549 | ||
550 | * auto-inc-dec.c, config/arm/arm.c, | |
551 | config/m32r/constraints.md, config/mips/mips.md, | |
552 | config/rs6000/rs6000.c, cselib.c, dce.c, df-core.c, | |
553 | df-problems.c, df-scan.c, df.h, dse.c, gimplify.c, | |
554 | tree-if-conv.c, tree-ssa-sccvn.c, tree-ssa.c: Fix comment | |
555 | typos. Follow spelling conventions. | |
556 | * doc/invoke.texi, doc/rtl.texi: Fix typos. | |
557 | ||
0a6b055f KH |
558 | * cfgrtl.c (delete_insn_chain_and_edges): Remove. |
559 | * rtl.h: Remove the prototype for delete_insn_chain_and_edges. | |
560 | ||
f576d4f9 KH |
561 | * tree-ssa-operands.c (realloc_vop, realloc_vdef, |
562 | realloc_vuse): Remove. | |
563 | * tree-ssa-operands.h: Remove the prototype for realloc_vdef | |
564 | and realloc_vuse. | |
565 | ||
e9bd9cf3 DB |
566 | 2007-07-06 Daniel Berlin <dberlin@dberlin.org> |
567 | ||
568 | Fix PR tree-optimization/23488 | |
569 | ||
570 | * tree-ssa-sccvn.c (expr_has_constants): Handle tcc_declaration. | |
571 | (try_to_simplify): Ditto. | |
572 | (visit_use): Ditto. | |
573 | * tree-vn.c (set_value_handle): Use decl_vh_map for decl value | |
574 | handles. | |
575 | * tree-flow-inline.h (get_value_handle): Ditto. | |
576 | * tree-ssa-pre.c (decl_vh_map): New. | |
577 | (decl_node_pool): New. | |
578 | (can_value_number_operation): Support DECL_P. | |
579 | (can_PRE_operation): Ditto. | |
580 | (create_expression_by_pieces): Ditto. | |
581 | (find_existing_value_expr): Modify to differnetiate between | |
582 | addressing and top level. | |
583 | (create_value_handle_for_expr): Handle DECL's. | |
584 | (poolify_tree): Ditto. | |
585 | (make_values_for_phi): Don't insert into PHI_GEN during FRE. | |
586 | (make_values_for_stmt): Handle DECL's properly. | |
587 | (init_pre): Reorg to not init useless things during FRE. | |
588 | (fini_pre): Ditto. | |
589 | * tree-flow.h: Include pointer-set.h. | |
590 | (decl_vh_map): Declare. | |
591 | * Makefile.in (TREE_FLOW_H): Add pointer-set.h | |
592 | ||
48468cd0 SL |
593 | 2007-07-06 Sandra Loosemore <sandra@codesourcery.com> |
594 | ||
595 | * c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS | |
596 | apply to assembly language, too. | |
597 | * doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update. | |
598 | ||
508dabda ILT |
599 | 2007-07-06 Ian Lance Taylor <iant@google.com> |
600 | Zack Weinberg <zackw@panix.com> | |
601 | ||
602 | PR middle-end/32441 | |
603 | * builtins.c (std_expand_builtin_va_start): Don't use make_tree. | |
604 | ||
e0ff69ab RS |
605 | 2007-07-06 Richard Sandiford <richard@codesourcery.com> |
606 | ||
607 | * config/sh/sh.md (*prefetch_i4): Disable for TARGET_VXWORKS_RTP. | |
608 | (prefetch): Likewise if "pref" would be used. | |
609 | ||
d6c2c77c JC |
610 | 2007-07-06 Josh Conner <jconner@apple.com> |
611 | ||
612 | PR middle-end/32602 | |
613 | PR middle-end/32603 | |
614 | * calls.c (store_one_arg): Handle arguments which are partially | |
615 | on the stack when detecting argument overlap. | |
616 | ||
374d961c BS |
617 | 2007-07-06 Bernd Schmidt <bernd.schmidt@analog.com> |
618 | ||
619 | * reload1.c (choose_reload_regs): Set reload_spill_index for regs | |
620 | chosen during find_reloads. | |
621 | ||
004e2fa7 RG |
622 | 2007-07-06 Richard Guenther <rguenther@suse.de> |
623 | ||
624 | * gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over | |
625 | TYPE_ARG_TYPES for verification of argument types. Use | |
626 | DECL_ARG_TYPE instead of the PARM_DECL type. Take excess | |
627 | parameters as variable arguments. | |
628 | ||
c7ff6e7a AK |
629 | 2007-07-06 Andreas Krebbel <krebbel1@de.ibm.com> |
630 | ||
631 | * libgcc2.h (word_type): Type definition removed. | |
632 | (cmp_return_type, shift_count_type): Type definitions added. | |
633 | (__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter | |
634 | replaced with shift_count_type. | |
635 | (__cmpdi2, __ucmpdi2): word_type of return type replaced with | |
636 | cmp_return_type. | |
637 | * libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c | |
638 | changed from word_type to Wtype. | |
639 | (__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter | |
640 | replaced with shift_count_type. | |
641 | (__cmpdi2, __ucmpdi2): word_type of return type replaced with | |
642 | cmp_return_type. | |
8b4c775b UB |
643 | * c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return |
644 | and libgcc_shift_count attribute added. | |
c7ff6e7a AK |
645 | * target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE, |
646 | TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined. | |
647 | (TARGET_INITIALIZER): New target hooks added. | |
648 | * targhooks.c (default_libgcc_cmp_return_mode, | |
649 | default_libgcc_shift_count_mode): Default implementations for the new | |
650 | target hooks added. | |
651 | * targhooks.h (default_libgcc_cmp_return_mode, | |
652 | default_libgcc_shift_count_mode): Function prototypes added. | |
653 | * target.h (struct gcc_target): Fields for the new target hooks added. | |
654 | * optabs.c (expand_binop): Use shift_count_mode when expanding shift | |
655 | as library call. | |
656 | (prepare_cmp_insn): Use cmp_return_mode when expanding comparison as | |
657 | library call. | |
658 | ||
659 | * doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE, | |
660 | TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added. | |
661 | ||
662 | * config/s390/s390.c (s390_libgcc_cmp_return_mode, | |
663 | s390_libgcc_shift_count_mode): Functions added. | |
8b4c775b UB |
664 | (TARGET_LIBGCC_CMP_RETURN_MODE, TARGET_LIBGCC_SHIFT_COUNT_MODE): |
665 | Target hooks defined. | |
c7ff6e7a | 666 | |
713df810 RS |
667 | 2007-07-06 Richard Sandiford <richard@codesourcery.com> |
668 | ||
669 | * config/mips/mips.c (compute_frame_size): Restore the original | |
670 | gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove the | |
671 | fp_size term from the GENERATE_MIPS16E_SAVE_RESTORE calculation. | |
672 | Document why the difference is needed. | |
673 | ||
b5119fa1 RG |
674 | 2007-07-06 Richard Guenther <rguenther@suse.de> |
675 | ||
676 | * c-common.c (boolean_increment): Use correctly typed | |
677 | constant. | |
678 | ||
106b3d40 RS |
679 | 2007-07-06 Richard Sandiford <richard@codesourcery.com> |
680 | ||
681 | * config/mips/mips.c (mips16e_save_restore_pattern_p): Check that | |
682 | the topmost argument register is not also included in the save mask. | |
683 | (mips16e_collect_argument_save_p): Take a pointer to the argument | |
684 | register, rather than a pointer to the number of arguments. | |
685 | (mips16e_collect_argument_saves): Only include argument saves | |
686 | that aren't in the register mask. | |
687 | ||
56d17681 UB |
688 | 2007-07-06 Uros Bizjak <ubizjak@gmail.com> |
689 | ||
8b4c775b | 690 | PR rtl-optimization/32450 |
56d17681 UB |
691 | * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn |
692 | to ensure that instructions are not moved into the prologue when | |
693 | profiling is on. Remove unused prologue_end variable. | |
694 | (expand_function_end): Emit blockage insn instead of ASM_INPUT rtx | |
695 | as a scheduling barrier. | |
696 | ||
042f720d AO |
697 | 2007-07-06 Alexandre Oliva <aoliva@redhat.com> |
698 | ||
699 | PR debug/23551 | |
700 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): | |
701 | Disregard DECL_FROM_INLINE. | |
702 | ||
22761ec3 AN |
703 | 2007-07-05 Adam Nemet <anemet@caviumnetworks.com> |
704 | ||
705 | * rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or | |
706 | IORing with a constant. | |
707 | ||
47220f03 SP |
708 | 2007-07-05 Seongbae Park <seongbae.park@gmail.com> |
709 | ||
710 | PR rtl-optimization/32475 | |
711 | * df-scan.c (df_def_record_1): Add a use of the stack pointer | |
712 | for every definition of the stack pointer. | |
713 | ||
8e39e9af RE |
714 | 2007-07-05 Richard Earnshaw <rearnsha@arm.com> |
715 | ||
716 | * arm.c (vfp3_const_double_index): Copy signed results of | |
717 | REAL_VALUE_TO_INT into unsigned vars. | |
718 | ||
e11e491d RG |
719 | 2007-07-05 Richard Guenther <rguenther@suse.de> |
720 | ||
721 | PR middle-end/32639 | |
722 | * alias.c (get_alias_set): Tread METHOD_TYPE the same as | |
723 | FUNCTION_TYPE. | |
724 | * tree-ssa.c (useless_type_conversion_p): Check canonical | |
725 | types early. | |
726 | ||
2d0c44e6 AS |
727 | 2007-07-05 Anatoly Sokolov <aesok@post.ru> |
728 | ||
729 | * config/avr/avr.md (zero_extendqihi2, zero_extendqisi2, | |
730 | zero_extendhisi2): Change to define_insn_and_split. | |
731 | (zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New. | |
732 | ||
d8d72314 PB |
733 | 2007-07-05 Paolo Bonzini <bonzini@gnu.org> |
734 | ||
735 | * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, | |
736 | pass_match_asm_constraints): New. | |
737 | * passes.c (init_optimization_passes): Add new pass. | |
738 | * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. | |
739 | * function.h (struct function): Add has_asm_statement bit. | |
740 | (current_function_has_asm_statement): New. | |
741 | * tree-pass.h (pass_match_asm_constraints): New. | |
742 | ||
629c6957 RS |
743 | 2007-07-05 Richard Sandiford <rsandifo@nildram.co.uk> |
744 | ||
745 | * config/mips/mips.c (mips_file_start): Avoid declaration | |
746 | after code. | |
747 | ||
9ee34274 SL |
748 | 2007-07-05 Sandra Loosemore <sandra@codesourcery.com> |
749 | ||
750 | * optabs.c (expand_binop_directly): Fix signed/unsigned comparison. | |
751 | ||
28cc8a50 UB |
752 | 2007-07-05 Uros Bizjak <ubizjak@gmail.com> |
753 | ||
754 | * rtl.def (NOTE): Change print format string to print | |
755 | operand 5 as a note insn name. | |
756 | ||
52bcd429 SL |
757 | 2007-07-05 Sandra Loosemore <sandra@codesourcery.com> |
758 | David Ung <davidu@mips.com> | |
759 | ||
52bcd429 SL |
760 | * config/mips/mips.c (mips_cpu_info): Add 4ksc and 4ksd processors. |
761 | * doc/invoke.texi: (MIPS Options): Document them. | |
762 | ||
0aa222d1 SL |
763 | 2007-07-05 Sandra Loosemore <sandra@codesourcery.com> |
764 | David Ung <davidu@mips.com> | |
765 | ||
766 | Add support for SmartMIPS ASE. | |
767 | ||
768 | * optabs.c (expand_binop_directly): New, broken out from... | |
769 | (expand_binop): Here. Make it try rotating in the other | |
770 | direction even when the second operand isn't constant. | |
771 | * config/mips/mips.md (*lwxs): New. | |
772 | * config/mips/mips.opt (msmartmips): New. | |
773 | * config/mips/mips.c (mips_lwxs_address_p): New. | |
774 | (mips_rtx_costs): Make it recognize scaled indexed addressing. | |
775 | * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define | |
776 | __mips_smartmips when compiling for TARGET_SMARTMIPS. | |
777 | (ISA_HAS_ROR): Define for TARGET_SMARTMIPS. | |
778 | (ISA_HAS_LWXS): New. | |
779 | (ASM_SPEC): Add -msmartmips/-mno-smartmips. | |
780 | * doc/invoke.texi (MIPS Options): Document -msmartmips/-mno-smartmips. | |
781 | * testsuite/gcc.target/mips/smartmips-lwxs.c: New test case. | |
782 | * testsuite/gcc.target/mips/smartmips-ror-1.c: New test case. | |
783 | * testsuite/gcc.target/mips/smartmips-ror-2.c: New test case. | |
784 | * testsuite/gcc.target/mips/smartmips-ror-3.c: New test case. | |
785 | * testsuite/gcc.target/mips/smartmips-ror-4.c: New test case. | |
786 | ||
3a70f3ef DN |
787 | 2007-07-05 Dorit Nuzman <dorit@il.ibm.com> |
788 | ||
789 | * tree-vectorizer.c (new_loop_vec_info): Initialize | |
790 | LOOP_VINFO_COST_MODEL_MIN_ITERS. | |
791 | * tree-vectorizer.h (_loop_vec_info): Added new filed | |
792 | min_profitable_iters. | |
793 | (LOOP_VINFO_COST_MODEL_MIN_ITERS): New access macro to above new field. | |
794 | (TARG_SCALAR_TO_VEC_COST): Define cost of scalar to vector operation. | |
795 | * tree-vect-analyze.c (vect_analyze_operations): Set | |
796 | LOOP_VINFO_COST_MODEL_MIN_ITERS. | |
797 | * tree-vect-transform.c (vect_estimate_min_profitable_iters): Use | |
798 | VEC_length to determine if there are any LOOP_VINFO_MAY_MISALIGN_STMTS. | |
799 | Fix calculation of peel_iters_prologue. Move consideration of epilogue | |
800 | and prologue cost to after they are computed. | |
801 | (vect_model_induction_cost): Use TARG_SCALAR_TO_VEC_COST instead of | |
802 | TARG_VEC_STMT_COST. | |
803 | (vect_model_simple_cost): Takes additional argument dt. Consider cost | |
804 | of creating vectors from scalars according to dt. | |
805 | (vect_model_store_cost): Likewise. | |
806 | (vectorizable_call): Use dt array instead of scalar dt. Call | |
807 | vect_model_simple_cost with additional argument dt. | |
808 | (vectorizable_assignment): Likewise. | |
809 | (vectorizable_operation): Likewise. | |
810 | (vectorizable_type_demotion): Likewise. | |
811 | (vectorizable_type_promotion): Likewise. | |
812 | (vectorizable_store): Use dt array instead of scalar dt. Call | |
813 | vect_model_store_cost with additional argument dt. | |
814 | (vect_do_peeling_for_loop_bound): Don't call | |
815 | vect_estimate_min_profitable_iters. Instead, lookup | |
816 | LOOP_VINFO_COST_MODEL_MIN_ITERS. Don't always print | |
28cc8a50 | 817 | "may not be profitable". |
3a70f3ef | 818 | |
4643b716 DN |
819 | 2007-07-05 Dorit Nuzman <dorit@il.ibm.com> |
820 | ||
821 | PR testsuite/32014 | |
822 | * config/rs6000/altivec.md (UNSPEC_VUPKHS_V4SF, UNSPEC_VUPKLS_V4SF): | |
823 | (UNSPEC_VUPKHU_V4SF, UNSPEC_VUPKLU_V4SF): New. | |
824 | (vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi): New patterns. | |
825 | (vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): New patterns. | |
826 | ||
b301e9b3 ZD |
827 | 2007-07-05 Zdenek Dvorak <dvorakz@suse.cz> |
828 | ||
829 | * config/i386/i386.c (ix86_address_cost): Do not consider more complex | |
830 | addressing modes cheaper. | |
831 | ||
0435c1d5 AO |
832 | 2007-07-05 Alexandre Oliva <aoliva@redhat.com> |
833 | ||
834 | * dwarf2out.c (dw_ranges_by_label_ref): New typedef. | |
835 | (dw_ranges_struct): Rename block_num to num. Adjust. | |
836 | (dw_ranges_by_label_struct): New. | |
837 | (ranges_by_label, ranges_by_label_allocated, | |
838 | ranges_by_label_in_use): New variables. | |
839 | (add_ranges_num): Factored most of the code out of... | |
840 | (add_ranges): ... this one. Rewrite in terms of the former. | |
841 | (add_ranges_by_labels): New. | |
842 | (output_ranges): Output by-label ranges. | |
843 | (dwarf2out_finish): Output range for multiple-section | |
844 | compile_unit. Output standard DW_AT_low_pc in addition to | |
845 | unexpected DW_AT_entry_pc. | |
846 | ||
c1130b62 DB |
847 | 2007-07-04 Daniel Berlin <dberlin@dberlin.org> |
848 | ||
849 | PR tree-optimization/32604 | |
850 | PR tree-optimization/32606 | |
28cc8a50 | 851 | |
c1130b62 DB |
852 | * tree-ssa-pre.c (bb_bitmap_sets): Removed antic_safe_loads. |
853 | (compute_antic_safe): Removed. | |
854 | (ANTIC_SAFE_LOADS): Ditto. | |
855 | (compute_antic_aux): Don't print ANTIC_SAFE_LOADS. | |
856 | (execute_pre): Don't call compute_antic_safe. | |
857 | (vuse_equiv): New function. | |
858 | (make_values_for_stmt): Use it | |
859 | * tree-ssa-sccvn.c (set_ssa_val_to): Remove assert, since it is | |
860 | not always true. | |
861 | ||
44190aed AS |
862 | 2007-07-04 Anatoly Sokolov <aesok@post.ru> |
863 | ||
864 | PR target/31331 | |
865 | * config/avr/avr.c (avr_naked_function_p): Handle receiving a type | |
866 | rather than a decl. | |
867 | (avr_attribute_table): Make "naked" attribute apply to function types | |
868 | rather than to decls. | |
869 | (avr_handle_fntype_attribute): New function. | |
870 | ||
121f163f JM |
871 | 2007-07-04 Joseph Myers <joseph@codesourcery.com> |
872 | ||
873 | * target-def.h (TARGET_INITIALIZER): Remove trailing whitespace | |
874 | after \. | |
875 | ||
b1a14b78 DU |
876 | 2007-07-04 David Ung <davidu@mips.com> |
877 | Joseph Myers <joseph@codesourcery.com> | |
878 | ||
879 | * config/mips/mips.md (type): Add logical, signext and move. | |
880 | (one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3, | |
881 | *ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16, | |
882 | *nor<mode>3, "Combiner patterns to optimize truncate/zero_extend | |
883 | combinations", *zero_extend<SHORT:mode><GPR:mode>2, | |
884 | *zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e, | |
885 | *extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit, | |
886 | *movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc, | |
887 | *movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16, | |
888 | *movsf_hardfloat, *movsf_softfloat, *movsf_mips16, | |
889 | *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, | |
890 | movv2sf_hardfloat_64bit): Use the new types. | |
891 | (*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16, | |
892 | *movdf_softfloat, *movdf_mips16): Use "multi". | |
893 | (extendqihi2): Replace with a define_expand. | |
894 | (*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New. | |
895 | Based on extend<SHORT:mode><GPR:mode>2 patterns. | |
896 | * config/mips/74k.md (r74k_int_logical): New reservation and | |
897 | bypasses. | |
898 | (r74k_int_arith): Remove "slt". | |
899 | * config/mips/24k.md, config/mips/4130.md, config/mips/4k.md, | |
900 | config/mips/5400.md, config/mips/5500.md, config/mips/5k.md, | |
901 | config/mips/7000.md, config/mips/9000.md, config/mips/generic.md, | |
902 | config/mips/sb1.md, config/mips/sr71k.md: Add new types to | |
903 | reservations for "arith". | |
904 | ||
4fc66945 RG |
905 | 2007-07-04 Richard Guenther <rguenther@suse.de> |
906 | ||
907 | * tree-ssa.c (useless_type_conversion_p): Add handling for | |
908 | scalar float and vector types. Only call the types_compatible_p | |
909 | langhook for aggregate types as last resort. Follow the | |
910 | rules. | |
911 | ||
5cda34b1 RG |
912 | 2007-07-04 Richard Guenther <rguenther@suse.de> |
913 | ||
914 | * tree-inline.c (estimate_num_insns_1): Treat CONVERT_EXPR | |
915 | the same as NOP_EXPR. | |
916 | ||
67e6ba46 NC |
917 | 2007-07-04 Nick Clifton <nickc@redhat.com> |
918 | ||
919 | * target.h (struct gcc_target): Add target_help field. | |
920 | * target-def.h (TARGET_HELP): New. | |
921 | (TARGET_INITIALIZER): Use TARGET_HELP. | |
922 | * opts.c (command_handle_option): Invoke target_help function, if | |
923 | defined, when the user has specified --target-help on the command | |
924 | line. | |
925 | * doc/invoke.texi: Mention that --target-help might print | |
926 | additional information. | |
927 | * doc/tm.texi: Document TARGET_HELP hook. | |
928 | ||
929 | * arm.c (TARGET_HELP): Override default definition. | |
930 | (arm_target_help): New - display a wrapped list of cores and | |
931 | architectures supported. | |
932 | ||
fda41d93 RIL |
933 | 2007-07-04 Rask Ingemann Lambertsen <rask@sygehus.dk> |
934 | ||
935 | * config/gcc/v850/v850.c (expand_prologue): Make sure | |
936 | GEN_INT() argument is sign extended rather than zero extended. | |
937 | (expand_epilogue): Likewise. | |
938 | (output_move_double): Delete. | |
939 | * config/gcc/v850/v850-protos.h (output_move_double): Delete. | |
940 | * config/gcc/v850/v850.md (movdi): Delete. | |
941 | (*movdi_internal): Delete. | |
942 | (movdf): Delete. | |
943 | (*movdf_internal): Delete. | |
944 | ||
f0025c1f RS |
945 | 2007-07-04 Richard Sandiford <richard@codesourcery.com> |
946 | ||
947 | * config/sh/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Reject -mrelax | |
948 | unless compiling RTP PIC. | |
949 | ||
b0569227 RG |
950 | 2007-07-04 Richard Guenther <rguenther@suse.de> |
951 | ||
952 | PR tree-optimization/32482 | |
953 | * tree-ssa-ifcombine.c (recognize_single_bit_test): Use the | |
954 | original ssa name if we didn't find a shift expression. | |
955 | Fix shift constant for bit zero test. | |
956 | ||
a0aeae15 RS |
957 | 2007-07-04 Richard Sandiford <richard@codesourcery.com> |
958 | ||
959 | * config/sh/lib1funcs.asm (ic_invalidate): Align constant pool. | |
960 | ||
c447f774 RS |
961 | 2007-07-04 Richard Sandiford <richard@codesourcery.com> |
962 | ||
963 | * config.gcc (arm-wrs-vxworks): Don't include svr4.h. | |
964 | * config/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE, TARGET_POSIX_IO): Define. | |
965 | * config/arm/vxworks.h (ASM_SPEC): Delete. | |
966 | (SUBTARGET_EXTRA_ASM_SPEC): Define. | |
967 | ||
71d5b5e1 SP |
968 | 2007-07-04 Sebastian Pop <sebpop@gmail.com> |
969 | ||
970 | * tree-data-ref.h (data_dependence_relation): New flag reversed_p. | |
971 | (DDR_REVERSED_P): New. | |
972 | * tree-data-ref.c (initialize_data_dependence_relation, | |
973 | build_classic_dist_vector): Set DDR_REVERSED_P. | |
974 | ||
fd727b34 SP |
975 | 2007-07-04 Sebastian Pop <sebpop@gmail.com> |
976 | ||
977 | PR middle-end/32457 | |
978 | * tree-data-ref.c (analyze_siv_subscript_cst_affine, | |
979 | compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine, | |
980 | init_omega_for_ddr_1): Use non conservative number of iterations | |
981 | estimations. | |
982 | (analyze_subscript_affine_affine): Use HOST_WIDE_INT instead of int. | |
983 | (analyze_siv_subscript): Remove FIXME and reinitialization of | |
984 | last_conflicts to chrec_dont_know. | |
985 | * testsuite/gfortran.dg/vect/pr32457.f90: New. | |
986 | ||
c92b8515 DG |
987 | 2007-07-04 Douglas Gregor <doug.gregor@gmail.com> |
988 | ||
989 | * tree.c (maybe_canonicalize_argtypes): Improve description. | |
990 | ||
8de08f4c DG |
991 | 2007-07-04 Douglas Gregor <doug.gregor@gmail.com> |
992 | ||
993 | * tree.c (maybe_canonicalize_argtypes): New. | |
994 | (build_function_type): Set canonical type. | |
995 | (build_method_type_directly): Ditto. | |
996 | (reconstruct_complex_type): Rebuild the METHOD_TYPE node | |
997 | properly. | |
998 | ||
2d1a1007 AP |
999 | 2007-07-03 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1000 | ||
1001 | * tree-ssa-loop-ivopts.c (strip_offset_1): Treat POINTER_PLUS_EXPR | |
1002 | like PLUS_EXPR. | |
1003 | (rewrite_use_nonlinear_expr): Likewise. | |
1004 | ||
e3ceb300 SP |
1005 | 2007-07-03 Seongbae Park <seongbae.park@gmail.com> |
1006 | ||
1007 | * rtl.def (UNSPEC, USE, CLOBBER): More comments. | |
1008 | ||
44082375 BE |
1009 | 2007-07-04 Ben Elliston <bje@au.ibm.com> |
1010 | ||
f01d40db BE |
1011 | * dwarf2out.c: Move DWARF2 abbreviation glossary closer to the top |
1012 | of this file. | |
1013 | ||
d9ad7862 BE |
1014 | * c-objc-common.c (c_types_compatible_p): Fix indentation. |
1015 | ||
44082375 BE |
1016 | * doc/tm.texi (Run-time Target): Capitalise "CPU". |
1017 | (Exception Handling): Likewise. | |
1018 | ||
f9faf954 JH |
1019 | 2007-07-03 Jan Hubicka <jh@suse.cz> |
1020 | ||
1021 | * ifcvt.c (find_cond_trap): Avoid invalid RTL sharing. | |
1022 | ||
717c4e47 EC |
1023 | 2007-07-03 Eric Christopher <echristo@apple.com> |
1024 | ||
1025 | * doc/cppopts.texi: Add conflicting option note to -dM. | |
1026 | * doc/invoke.texi: Add note about possible conflicts with | |
1027 | -E for -dCHARS and note that -dM will not produce | |
1028 | any results if there is no machine dependent reorg. | |
1029 | ||
e7005ecb GK |
1030 | 2007-07-03 Geoffrey Keating <geoffk@apple.com> |
1031 | ||
1032 | * tree.h (DECL_ALIGN): Back out previous change. | |
1033 | ||
a44380d2 JM |
1034 | 2007-07-03 Joseph Myers <joseph@codesourcery.com> |
1035 | ||
1036 | * configure.ac: Test for .dtprelword support on MIPS. | |
1037 | * configure, config.in: Regenerate. | |
1038 | * config/mips/mips.c (mips_output_dwarf_dtprel): New. | |
1039 | (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define. | |
1040 | ||
f1adb0a9 JB |
1041 | 2007-07-03 Julian Brown <julian@codesourcery.com> |
1042 | ||
1043 | * config.gcc (with_fpu): Allow --with-fpu=vfp3. | |
1044 | * config/arm/aout.h (REGISTER_NAMES): Add D16-D31. | |
1045 | * config/arm/aof.h (REGISTER_NAMES): Add D16-D31. | |
1046 | * config/arm/arm.c (FL_VFPV3): New flag for VFPv3 processor | |
1047 | capability. | |
1048 | (all_fpus): Add FPUTYPE_VFP3. | |
1049 | (fp_model_for_fpu): Add VFPv3 field. | |
1050 | (arm_rtx_costs_1): Give cost to VFPv3 constants. | |
1051 | (vfp3_const_double_index): New function. Return integer index of | |
1052 | VFPv3 constant suitable for fconst[sd] insns, or -1 if constant | |
1053 | isn't suitable. | |
1054 | (vfp3_const_double_rtx): New function. True if VFPv3 is enabled | |
1055 | and argument represents a valid RTX for a VFPv3 constant. | |
1056 | (vfp_output_fldmd): Split fldmd with > 16 registers in the list into | |
1057 | two instructions. | |
1058 | (vfp_emit_fstmd): Similar, for fstmd. | |
1059 | (arm_print_operand): Implement new code 'G' for VFPv3 floating-point | |
1060 | constants, represented as integer indices. | |
1061 | (arm_hard_regno_mode_ok): Use VFP_REGNO_OK_FOR_SINGLE, | |
1062 | VFP_REGNO_OK_FOR_DOUBLE macros. | |
1063 | (arm_regno_class): Handle VFPv3 d0-d7, low, high register split. | |
1064 | (arm_file_start): Set float-abi attribute for VFPv3, and output | |
1065 | correct ".fpu" assembler directive. | |
1066 | (arm_dbx_register_numbering): Add FIXME. | |
1067 | * config/arm/arm.h (TARGET_VFP3): New macro. Target supports VFPv3. | |
1068 | (fputype): Add FPUTYPE_VFP3. | |
1069 | (FIXED_REGISTERS): Add 32 registers for D16-D31. | |
1070 | (CALL_USED_REGISTERS): Likewise. | |
1071 | (CONDITIONAL_REGISTER_USAGE): Add note about conditional definition | |
1072 | of LAST_VFP_REGNUM. Make D16-D31 caller-saved, if present. | |
1073 | (LAST_VFP_REGNUM): Extend available VFP registers for VFPv3. | |
1074 | (D7_VFP_REGNUM): New. | |
1075 | (LAST_LO_VFP_REGNUM, FIRST_HI_VFP_REGNUM, LAST_HI_VFP_REGNUM) | |
1076 | (VFP_REGNO_OK_FOR_SINGLE, VFP_REGNO_OK_FOR_SINGLE) | |
1077 | (VFP_REGNO_OK_FOR_DOUBLE): Define new macros. | |
1078 | (FIRST_PSEUDO_REGISTER): Shift up to 128 to accommodate VFPv3. | |
1079 | (REG_ALLOC_ORDER): Adjust for VFPv3. | |
1080 | (reg_class): Add VFP_D0_D7_REGS, VFP_LO_REGS, VFP_HI_REGS. | |
1081 | (REG_CLASS_NAMES): Add entries corresponding to VFP_D0_D7_REGS, | |
1082 | VFP_LO_REGS, VFP_HI_REGS. | |
1083 | (REG_CLASS_CONTENTS): Likewise. Extend contents for VFP_REGS. | |
1084 | (IS_VFP_CLASS): Define macro. | |
1085 | (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Use | |
1086 | IS_VFP_CLASS. | |
1087 | (REGISTER_MOVE_COST): Likewise. | |
1088 | * config/arm/arm-protos.h (vfp3_const_double_rtx): Add prototype. | |
1089 | * config/arm/vfp.md (VFPCC_REGNUM): Redefine as 127. | |
1090 | (*arm_movsi_vfp, *thumb2_movsi_vfp, *movsfcc_vfp) | |
1091 | (*thumb2_movsfcc_vfp, *abssf2_vfp, *negsf2_vfp, *addsf3_vfp) | |
1092 | (*subsf3_vfp, *divsf_vfp, *mulsf_vfp, *mulsf3negsf_vfp) | |
1093 | (*mulsf3addsf_vfp, *mulsf3subsf_vfp, *mulsf3negsfaddsf_vfp) | |
1094 | (*extendsfdf2_vfp, *truncdfsf2_vfp, *truncsisf2_vfp) | |
1095 | (*truncsidf2_vfp, fixuns_truncsfsi2, fixuns_truncdfsi2) | |
1096 | (*floatsisf2_vfp, *floatsidf2_vfp, floatunssisf2) | |
1097 | (floatunssidf2, *sqrtsf2_vfp, *cmpsf_split_vfp) | |
1098 | (*cmpsf_trap_split_vfp, *cmpsf_vfp, *cmpsf_trap_vfp): Use 't' | |
1099 | where appropriate for single-word registers. | |
1100 | (*movsf_vfp, *thumb2_movsf_vfp, *movdf_vfp, *thumb2_movdf_vfp): | |
1101 | As above. Fix type attributes. | |
1102 | * config/arm/constraints.md (register_contraint "t"): Define. | |
1103 | (register_constraint "w"): Change to D0-D15, or D0-D31 for | |
1104 | VFPv3/NEON. | |
1105 | (register_constraint "x"): Define. | |
1106 | (constraint "Dv"): Define. | |
1107 | ||
f972b2cb GK |
1108 | 2007-07-03 Geoffrey Keating <geoffk@apple.com> |
1109 | ||
1110 | * tree.h (DECL_ALIGN): Prevent use on a FUNCTION_DECL. | |
1111 | ||
0bacb8c7 TT |
1112 | 2007-07-03 Tom Tromey <tromey@redhat.com> |
1113 | ||
1114 | * c-parser.c (objc_pq_context): Removed. | |
1115 | (objc_need_raw_identifier): Likewise. | |
1116 | (c_parser) <objc_pq_context>: New field. | |
1117 | <objc_need_raw_identifier>: Likewise. | |
1118 | (OBJC_NEED_RAW_IDENTIFIER): Removed. | |
1119 | (c_lex_one_token): Update. | |
1120 | (c_parser_objc_protocol_definition): Update. | |
1121 | (c_parser_objc_method_definition): Update. | |
1122 | (c_parser_objc_methodproto): Update. | |
1123 | (c_parser_declspecs): Update. | |
1124 | ||
c849ec73 DU |
1125 | 2007-07-03 David Ung <davidu@mips.com> |
1126 | ||
1127 | * config/mips/mips.c (mips_issue_rate): Return 4 for 74K processors. | |
1128 | ||
74d4d024 DU |
1129 | 2007-07-03 David Ung <davidu@mips.com> |
1130 | Richard Sandiford <richard@codesourcery.com> | |
1131 | ||
1132 | * doc/invoke.texi: Document -march=74kf3_2. | |
1133 | * config/mips/mips.h (PROCESSOR_74KF3_2): New processor_type. | |
1134 | (TUNE_74K): Check for it. | |
1135 | * config/mips/mips.c (mips_cpu_info): Add 74kf3_2. | |
1136 | (mips_rtx_cost_data): Add an entry for PROCESSOR_74KF3_2. | |
1137 | * config/mips/mips.md (cpu): Add 74kf3_2. | |
1138 | * config/mips/74k.md (r74k_int_logical, r74k_int_arith, r74k_int_nop) | |
1139 | (r74k_int_cmove, r74k_int_mult, r74k_int_mul3, r74k_int_mfhilo) | |
1140 | (r74k_int_mthilo, r74k_int_div, r74k_int_call, r74k_int_jump) | |
1141 | (r74k_int_load, r74k_int_store, r74k_unknown, r74k_multi): Add | |
1142 | 74kf3_2 to the CPU list. | |
1143 | (r74kf3_2_fadd, r74kf3_2_fmove, r74kf3_2_fload, r74kf3_2_fstore) | |
1144 | (r74kf3_2_fmul_sf, r74kf3_2_fmul_df, r74kf3_2_fdiv_sf) | |
1145 | (r74kf3_2_fdiv_df, r74kf3_2_frsqrt_sf, r74kf3_2_frsqrt_df) | |
1146 | (r74kf3_2_fcmp, r74kf3_2_fcvt, r74kf3_2_fxfer_to_c1) | |
1147 | (r74kf3_2_fxfer_from_c1): New insn reservations. | |
1148 | ||
bdd77024 RS |
1149 | 2007-07-03 Richard Sandiford <richard@codesourcery.com> |
1150 | David Ung <davidu@mips.com> | |
1151 | ||
1152 | * doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and | |
1153 | -march=24kx with -march=24kf1_1. Likewise 24ke[fx], 34k[fx] | |
1154 | and 74k[fx]. Document aliases for the new options. | |
1155 | * config/mips/mips.h (PROCESSOR_24KF): Rename to... | |
1156 | (PROCESSOR_24KF2_1): ...this. | |
1157 | (PROCESSOR_24KX): Rename to... | |
1158 | (PROCESSOR_24KF1_1): ...this. | |
1159 | (PROCESSOR_74KF): Rename to... | |
1160 | (PROCESSOR_74KF2_1): ...this. | |
1161 | (PROCESSOR_74KX): Rename to... | |
1162 | (PROCESSOR_74KF1_1): ...this. | |
1163 | (TUNE_74K): Update PROCESSOR_* names. | |
1164 | * config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym | |
1165 | for 24kf. Add 24kf1_1 and 24kfx as synonyms for 24kx. Likewise | |
1166 | the 24ke*, 34k* and 74k* processors. Update PROCESSOR_* names. | |
1167 | (mips_rtx_cost_data): Update processor names in comments. | |
1168 | (mips_issue_rate): Update PROCESSOR_* names. | |
1169 | * config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to | |
1170 | 24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1. | |
1171 | * config/mips/24k.md: Rename FPU-related r24k_* insn reservations | |
1172 | to r24kf2_1_*. Rename r24kx_* insn reservations to r24kf1_1_*. | |
1173 | Update cpu attribute names. | |
1174 | (r24k_fpu_iss): Rename this reservation to... | |
1175 | (r24kf2_1_fpu_iss): ...this and update all uses. | |
1176 | (r24kx_fpu_iss): Rename this reservation to... | |
1177 | (r24kf1_1_fpu_iss): ...this and update all uses. | |
1178 | * config/mips/74k.md: Rename FPU-related r74kf_* insn reservations | |
1179 | to r74kf2_1_*. Rename r74kx_* insn reservations to r74kf1_1_*. | |
1180 | Update cpu attribute names. | |
1181 | ||
fbaeb717 KK |
1182 | 2007-07-01 Kaz Kojima <kkojima@gcc.gnu.org> |
1183 | ||
1184 | * config/m32r/constraints.md: New file. | |
1185 | * config/m32r/m32r.c: Include tm-constrs.h. | |
1186 | (small_data_operand): Use satisfies_constraint_* instead of macro. | |
1187 | (addr24_operand, gen_compare): Likewise. | |
1188 | * config/m32r/m32r.h (REG_CLASS_FROM_LETTER): Remove. | |
1189 | (INT8_P, UPPER16_P, UINT32_P, UINT5_P, INVERTED_SIGNED_8BIT, | |
1190 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, | |
1191 | EXTRA_CONSTRAINT): Likewise. | |
1192 | * config/m32r/m32r.md: Include constraints.md. | |
1193 | (*movsi_insn): Use satisfies_constraint_* instead of macro. | |
1194 | (andsi3, iorsi3, xorsi3, seq_insn+1, sne): Likewise. | |
1195 | * config/m32r/predicates.md (conditional_move_operand): Likewise. | |
1196 | (two_insn_const_operand, int8_operand, uint16_operand, | |
1197 | reg_or_int16_operand, reg_or_uint16_operand, | |
1198 | reg_or_cmp_int16_operand, cmp_int16_operand, | |
1199 | seth_add3_operand): Likewise. | |
1200 | ||
66965e90 EC |
1201 | 2007-07-03 Eric Christopher <echristo@gmail.com> |
1202 | ||
1203 | * libgcc2.h: Conditionally declare __bswapsi2 and | |
1204 | __bswapdi2. | |
1205 | ||
72b31363 L |
1206 | 2007-07-03 H.J. Lu <hongjiu.lu@intel.com> |
1207 | ||
1208 | * ddg.c (check_sccs): Define only if ENABLE_CHECKING is | |
1209 | defined. | |
1210 | ||
b36e79e5 RO |
1211 | 2007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
1212 | ||
1213 | PR target/28307 | |
1214 | * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK] | |
1215 | (__gthrw_pragma): Provide default definition. | |
1216 | (__gthrw2): Use it. | |
1217 | * gthr-posix.c (__gthrw_pragma): Define. | |
1218 | ||
78d3c323 DB |
1219 | 2007-07-03 Daniel Berlin <dberlin@dberlin.org> |
1220 | ||
1221 | * tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p | |
1222 | before declaring inequality. | |
1223 | ||
b6bcd676 RIL |
1224 | 2007-07-03 Rask Ingemann Lambertsen <rask@sygehus.dk> |
1225 | ||
1226 | * combine.c (recog_for_combine): Log the success or failure of | |
1227 | matching new insn patterns against the machine description in | |
1228 | detailed dumps. | |
1229 | ||
8cec1624 RE |
1230 | 2007-07-03 Revital Eres <eres@il.ibm.com> |
1231 | ||
1232 | * ddg.c (print_sccs): New function. | |
1233 | (check_sccs): New function. | |
1234 | (create_ddg_all_sccs): Use it. | |
1235 | * ddg.h (print_sccs): Declare. | |
1236 | * modulo-sched.c (sms_order_nodes): Call print_sccs. | |
1237 | ||
c77cd3d1 UB |
1238 | 2007-07-03 Uros Bizjak <ubizjak@gmail.com> |
1239 | ||
1240 | * targhooks.h (default_mode_for_suffix): New function declaration. | |
1241 | * targhooks.c (default_mode_for_suffix): New default target hook. | |
1242 | * target.h (struct c): New structure in the targetm struct. | |
1243 | (mode_for_suffix): New target hook as part of struct c. | |
1244 | target-def.h (TARGET_C_MODE_FOR_SUFFIX): Define as | |
1245 | default_mode_for_suffix. | |
1246 | (TARGET_C): New define. | |
1247 | * c-lex.c: Include "target.h". | |
1248 | (interpret_float): Use targetm.c.mode_for_suffix to determine | |
1249 | the mode for a given non-standard suffix. | |
1250 | Makefile.in (c-lex.o): Depend on $(TARGET_H). | |
1251 | ||
1252 | * config/i386/i386.c (ix86_c_mode_for_suffix): New static function. | |
1253 | (TARGET_C_MODE_FOR_SUFFIX): Define to ix86_c_mode_for_suffix. | |
1254 | ||
1255 | * doc/extend.texi (Floating Types): New node. Document __float80 and | |
1256 | __float128 types. Document 'w', 'W', 'q' and 'Q' suffixes. | |
1257 | ||
1ed50f71 KK |
1258 | 2007-07-03 Kaz Kojima <kkojima@gcc.gnu.org> |
1259 | ||
1260 | PR target/32506 | |
1261 | * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand | |
1262 | predicate instead of target_operand. | |
1263 | (divsi3_i1_media, divsi3_media_2): Likewise. | |
1264 | ||
836f7794 EB |
1265 | 2007-07-02 Eric Botcazou <ebotcazou@adacore.com> |
1266 | ||
1267 | * tree.h (alias_sets_might_conflict_p): Rename into | |
1268 | alias_sets_must_conflict_p. | |
1269 | * alias.c (alias_sets_might_conflict_p): Likewise. | |
1270 | (alias_sets_conflict_p): Use it. | |
1271 | (objects_must_conflict_p): Likewise. | |
1272 | * c-common.c (strict_aliasing_warning): Adjust. | |
1273 | ||
e4950e42 AP |
1274 | 2007-07-02 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1275 | ||
1276 | * rtlhooks.c (gen_lowpart_if_possible): Check for | |
1277 | invalid subreg before calling gen_lowpart_SUBREG. | |
1278 | ||
22f70bff GK |
1279 | 2007-07-02 Geoffrey Keating <geoffk@apple.com> |
1280 | ||
1281 | * config/darwin9.h: Add copyright notice. | |
1282 | (LINK_COMMAND_SPEC): Add comment. | |
1283 | (DARWIN_LIBSYSTEM_HAS_UNWIND): Define. | |
1284 | * config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Conditionalise on | |
1285 | DARWIN_LIBSYSTEM_HAS_UNWIND. | |
1286 | ||
69f1837b JJ |
1287 | 2007-07-02 Jakub Jelinek <jakub@redhat.com> |
1288 | ||
1289 | PR libgomp/32468 | |
1290 | * omp-low.c (check_combined_parallel): New function. | |
1291 | (lower_omp_parallel): Call it via walk_stmts, set | |
1292 | OMP_PARALLEL_COMBINED if appropriate. | |
1293 | (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS | |
1294 | isn't the only statement in WS_ENTRY_BB or OMP_RETURN | |
1295 | the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED, | |
1296 | don't consider it as combined parallel. | |
1297 | ||
15c723f3 RS |
1298 | 2007-07-02 Richard Sandiford <richard@codesourcery.com> |
1299 | ||
1300 | * configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix). | |
1301 | (gcc_tooldir): Likewise. | |
1302 | * configure: Regenerate. | |
1303 | * Makefile.in (libsubdir_to_prefix): New variable, based on the | |
1304 | old configure.ac gcc_tooldir setting. | |
1305 | (prefix_to_exec_prefix): New variable. | |
1306 | (DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix) | |
1307 | rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX. | |
1308 | ||
f8b04195 DB |
1309 | 2007-07-02 Daniel Berlin <dberlin@dberlin.org> |
1310 | ||
1311 | Fix PR tree-optimization/32583 | |
1312 | Fix PR tree-optimization/32584 | |
1313 | * tree-ssa-pre.c (phi_translate): Always pass seen bitmap. | |
1314 | (phi_translate_set): Use phi_translate directly now. | |
1315 | (make_values_for_stmt): Don't value number RHS if we already know | |
1316 | it is constant. | |
1317 | ||
05742530 SE |
1318 | 2007-07-02 Steve Ellcey <sje@cup.hp.com> |
1319 | Jim Wilson <wilson@specifix.com> | |
1320 | ||
1321 | PR target/31684 | |
1322 | * haifa-sched.c (add_to_speculative_block): Change copy_rtx to | |
1323 | copy_insn. | |
1324 | ||
e1260576 RS |
1325 | 2007-07-02 Sandra Loosemore <sandra@codesourcery.com> |
1326 | Richard Sandiford <richard@codesourcery.com> | |
1327 | Nigel Stephens <nigel@mips.com> | |
1328 | ||
1329 | * config/mips/mips-protos.h (mips16e_save_restore_info): New struct. | |
1330 | (mips16e_output_save_restore): Declare. | |
1331 | (mips16e_save_restore_pattern_p): Likewise. | |
1332 | * config/mips/mips.h (GENERATE_MIPS16E_SAVE_RESTORE): New macro. | |
1333 | * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Return 0x7f8 | |
1334 | for GENERATE_MIPS16E_SAVE_RESTORE. Return 0x400 for TARGET_MIPS16 | |
1335 | && !GENERATE_MIPS16E_SAVE_RESTORE && !TARGET_64BIT. | |
1336 | (BITSET_P): New global macro, extracted from... | |
1337 | (mips_for_each_saved_reg): ...here. | |
1338 | (mips16e_save_restore_info): New struct. | |
1339 | (mips16e_s2_s8_regs, mips16e_a0_a3_regs): New variables. | |
1340 | (mips16e_save_restore_regs): New variable. | |
1341 | (mips_split_plus, mips16e_find_first_register): New functions. | |
1342 | (mips16e_mask_registers): New function. | |
1343 | (compute_frame_size): Expand the commentary before the function. | |
1344 | Enforce the MIPS16e save and restore register range restrictions. | |
1345 | Pad the general register save area at the low end. | |
1346 | (mips16e_save_restore_reg, mips16e_build_save_restore) | |
1347 | (mips16e_save_restore_pattern_p, mips16e_add_register_range) | |
1348 | (mips16e_output_save_restore, mips16e_collect_propagate_value) | |
1349 | (mips16e_collect_argument_save, mips16e_collect_argument_saves): | |
1350 | New functions. | |
1351 | (mips_expand_prologue, mips_expand_epilogue): Handle | |
1352 | GENERATE_MIPS16E_SAVE_RESTORE. | |
1353 | * config/mips/mips.md (*mips16e_save_restore): New pattern. | |
1354 | ||
8ad02175 UB |
1355 | 2007-07-02 Uros Bizjak <ubizjak@gmail.com> |
1356 | ||
1357 | PR tree-optimization/31966 | |
1358 | PR tree-optimization/32533 | |
1359 | * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not | |
1360 | "basic_block" description as its third argument. Update function | |
1361 | calls to get destination bb from "edge" argument. Save "cond" into | |
1362 | aux field of the edge. Update prototype for changed arguments. | |
312360e8 UB |
1363 | (if_convertible_loop_p): Clear aux field of incoming edges if bb |
1364 | contains phi node. | |
8ad02175 UB |
1365 | (find_phi_replacement_condition): Operate on incoming edges, not |
1366 | on predecessor blocks. If there is a condition saved in the | |
1367 | incoming edge aux field, AND it with incoming bb predicate. | |
1368 | Return source bb of the first edge. | |
1369 | (clean_predicate_lists): Clean aux field of outgoing node edges. | |
1370 | (tree_if_conversion): Do not initialize cond variable. Move | |
1371 | variable declaration into the loop. | |
1372 | (replace_phi_with_cond_gimple_modify_stmt): Remove unneded | |
1373 | initializations of new_stmt, arg0 and arg1 variables. | |
1374 | ||
a2daf82c JJ |
1375 | 2007-07-02 Jakub Jelinek <jakub@redhat.com> |
1376 | ||
1377 | * tree-nrv.c (dest_safe_for_nrv_p): Grok any handled_component_p, | |
1378 | SSA_NAMEs, RESULT_DECLs and PARM_DECLs. | |
1379 | ||
85b19f61 RG |
1380 | 2007-07-02 Richard Guenther <rguenther@suse.de> |
1381 | ||
1382 | * tree-ssa.c (useless_type_conversion_p): Document | |
1383 | future intent as defining the middle-end type system. | |
1384 | Re-structure to call langhook last, group by type class, | |
1385 | mark questionable parts. | |
1386 | ||
f4088621 RG |
1387 | 2007-07-02 Richard Guenther <rguenther@suse.de> |
1388 | ||
1389 | * tree-flow.h (types_compatible_p): Declare. | |
1390 | * tree-ssa.c (types_compatible_p): New function. | |
1391 | * ipa-type-escape.c (discover_unique_type): Use | |
1392 | types_compatible_p instead of lang_hooks.types_compatible_p. | |
1393 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise. | |
1394 | * tree-vn.c (expressions_equal_p): Likewise. | |
1395 | * tree.c (fields_compatible_p): Likewise. | |
1396 | * tree-ssa-dom.c (avail_expr_eq): Likewise. | |
1397 | (cprop_operand): Use useless_type_conversion_p instead of | |
1398 | lang_hooks.types_compatible_p. | |
1399 | * tree-inline.c (setup_one_parameter): Likewise. | |
1400 | (declare_return_variable): Likewise. | |
1401 | * tree-nrv.c (tree_nrv): Likewise. | |
1402 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. | |
1403 | (maybe_fold_offset_to_component_ref): Likewise. | |
1404 | (maybe_fold_offset_to_reference): Likewise. | |
1405 | * tree-ssa-copy.c (may_propagate_copy): Likewise. | |
1406 | (merge_alias_info): Likewise. | |
1407 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise. | |
1408 | * tree-ssa-phiopt.c (conditional_replacement): Likewise. | |
1409 | * tree-ssa-reassoc.c (optimize_ops_list): Likewise. | |
1410 | * tree-tailcall.c (find_tail_calls): Likewise. | |
1411 | * tree-vect-generic.c (expand_vector_operations_1): Likewise. | |
1412 | * gimplify.c (canonicalize_addr_expr): Likewise. | |
1413 | (fold_indirect_ref_rhs): Likewise. | |
1414 | (gimplify_addr_expr): Likewise. Swap parameters to cpt_same_type. | |
1415 | (cpt_same_type): Likewise. | |
1416 | (check_pointer_types_r): Swap parameters to cpt_same_type | |
1417 | where appropriate. | |
1418 | * fold-const.c (fold_convert): Revert fix for PR15988. | |
1419 | * tree-inline.c (setup_one_parameter): Instead fix it here by | |
1420 | using fold_build1 instead of fold_convert and checking for | |
1421 | error_mark_node. Convert only if the conversion is necessary. | |
1422 | ||
e51917ae JM |
1423 | 2007-07-02 Joseph Myers <joseph@codesourcery.com> |
1424 | ||
1425 | * configure.ac: Check for .gnu_attribute on Power. | |
1426 | * configure: Regenerate. | |
1427 | * config/rs6000/rs6000.c (rs6000_file_start): If supported, output | |
1428 | attribute for floating-point ABI. | |
1429 | ||
3053ce44 IR |
1430 | 2007-07-02 Ira Rosen <irar@il.ibm.com> |
1431 | ||
1432 | PR tree-optimization/32230 | |
1433 | PR tree-optimization/32477 | |
1434 | * tree-vect-analyze.c (vect_analyze_data_refs): Fail if base | |
1435 | address is a constant. | |
1436 | ||
e2c14f5d RS |
1437 | 2007-07-02 Richard Sandiford <richard@codesourcery.com> |
1438 | ||
1439 | * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*) | |
1440 | (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*) | |
1441 | (mipsisa64-*-elf*, mipsisa64el-*-elf*): Combine top-level | |
1442 | stanzas. Use the first part of the triplet to set MIPS_ISA_DEFAULT. | |
1443 | Remove redundant setting of MASK_FLOAT64 and MASK_64BIT for the | |
1444 | 64-bit targets. Add support for *-elfoabi*. | |
1445 | * config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Use | |
1446 | different settings if $(tm_defines) does not select the EABI. | |
1447 | (MULTILIB_EXCLUSIONS): Define in those circumstances. | |
1448 | * config/mips/mips.h (MIPS_ISA_LEVEL_OPTION_SPEC): New macro. | |
1449 | (MIPS_ARCH_OPTION_SPEC): Likewise. | |
1450 | (MIPS_ISA_LEVEL_SPEC): Likewise. | |
1451 | (OPTION_DEFAULT_SPECS): Use MIPS_ARCH_OPTION_SPEC. | |
1452 | * config/mips/elfoabi.h: New file. | |
1453 | ||
36618b93 RG |
1454 | 2007-07-02 Richard Guenther <rguenther@suse.de> |
1455 | ||
1456 | * tree-flow.h (tree_ssa_useless_type_conversion_1): Rename to ... | |
1457 | (useless_type_conversion_p): ... this. | |
1458 | * tree-ssa.c (tree_ssa_useless_type_conversion_1): Rename to ... | |
1459 | (useless_type_conversion_p): ... this. | |
1460 | * builtins.c (fold_builtin_memory_op): Rename | |
1461 | tree_ssa_useless_type_conversion_1 to useless_type_conversion_p. | |
1462 | * tree-cfg.c (verify_expr): Likewise. | |
1463 | * tree-ssa-address.c (tree_ssa_useless_type_conversion_1): Likewise. | |
1464 | * tree-ssa-ccp.c (ccp_fold): Likewise. | |
1465 | * tree-ssa-copy.c (may_propagate_copy): Likewise. | |
1466 | * tree-ssa-dom.c (eliminate_redundant_computations): Likewise. | |
1467 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise. | |
1468 | * tree-ssa-loop-niter.c (refine_bounds_using_guard): Likewise. | |
1469 | * tree-ssa-pre.c (eliminate): Likewise. | |
1470 | * tree-ssa.c (delete_tree_ssa): Likewise. | |
1471 | (tree_ssa_useless_type_conversion): Likewise. | |
1472 | * tree.c (build2_stat): Likewise. | |
1473 | ||
8b0a5125 DB |
1474 | 2007-07-01 Daniel Berlin <dberlin@dberlin.org> |
1475 | ||
1476 | Fix PR tree-optimization/32571 | |
1477 | * tree-ssa-sccvn.c (visit_use): Shortcut copies to avoid | |
1478 | simplifying them. | |
1479 | ||
4794afa5 DB |
1480 | 2007-07-01 Daniel Berlin <dberlin@dberlin.org> |
1481 | ||
1482 | * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle constants | |
1483 | and other expected operations explicitly, change default to | |
1484 | gcc_unreachable. | |
1485 | ||
10ae7c7b DJ |
1486 | 2007-07-01 Daniel Jacobowitz <dan@codesourcery.com> |
1487 | ||
1488 | * config/arm/arm.c (arm_cannot_copy_insn_p): Do not expect a | |
1489 | PARALLEL. | |
1490 | * config/arm/arm.md (pic_add_dot_plus_four, pic_add_dot_plus_eight) | |
1491 | (tls_load_dot_plus_eight): Move the label number into the unspec. | |
1492 | * config/arm/thumb2.md (pic_load_dot_plus_four): Likewise. | |
1493 | ||
36bd4303 AS |
1494 | 2007-07-01 Andreas Schwab <schwab@suse.de> |
1495 | ||
1496 | * dwarf2out.c (initial_return_save): Define only if used. | |
1497 | ||
bc90eb85 | 1498 | 2007-07-01 Kenneth Zadeck <zadeck@naturalbridge.com> |
d4d7f1d1 RS |
1499 | |
1500 | Unreverting Richard's Revert of: | |
1501 | ||
1502 | 2007-06-27 Richard Sandiford <richard@codesourcery.com> | |
1503 | ||
1504 | * dce.c (deletable_insn_p_1): New function, split out from... | |
1505 | (deletable_insn_p): ...here. Only treat bare USEs and CLOBBERs | |
1506 | specially, not those inside PARALLELs. Remove BODY argument | |
1507 | and adjust recursive call accordingly. | |
1508 | (prescan_insns_for_dce): Update call to delete_insn_p. | |
1509 | ||
7ee1ad84 VY |
1510 | 2007-07-01 Vladimir Yanovsky <yanov@il.ibm.com> |
1511 | Revital Eres <eres@il.ibm.com> | |
1512 | ||
1513 | * ddg.c (create_ddg_all_sccs): Fix missed | |
1514 | initialization of scc_nodes. | |
1515 | ||
c22f6d33 UB |
1516 | 2007-07-01 Uros Bizjak <ubizjak@gmail.com> |
1517 | ||
1518 | PR middle-end/32559 | |
1519 | * fold-const.c (fold-binary) [PLUS_EXPR]: Convert ~X + X to 1 or | |
1520 | X + ~X to 1 only for INTEGRAL_TYPE_P type. | |
1521 | ||
dcb957d9 JM |
1522 | 2007-06-30 Joseph Myers <joseph@codesourcery.com> |
1523 | ||
1524 | * configure.ac: Check for .gnu_attribute on MIPS. | |
1525 | * configure, config.in: Regenerate. | |
1526 | * config/mips/mips.c (mips_file_start): If supported, output | |
1527 | attribute for floating-point ABI. | |
1528 | ||
08024fb5 UB |
1529 | 2007-06-30 Uros Bizjak <ubizjak@gmail.com> |
1530 | ||
1531 | PR target/32433 | |
1532 | * config/i386/i386.md (ffssi2): Expand as ffs_cmove for TARGET_CMOVE. | |
1533 | (ffs_cmove): New expander to expand using ctz pattern. | |
1534 | (*ffs_cmove): Remove pattern. | |
1535 | (*ffs_no_cmove): Enable only for !TARGET_CMOVE. | |
1536 | (ffsdi2): Expand using ctz pattern. | |
1537 | (*ffs_rex64): Remove pattern. | |
1538 | ||
62a53968 JDA |
1539 | 2007-06-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1540 | ||
b2e83266 | 1541 | PR rtl-optimization/32296 |
62a53968 JDA |
1542 | * pa.md (return): Delete pattern. |
1543 | (return_internal): Remove "(const_int 1)" from pattern. | |
1544 | (epilogue): Use return_internal pattern for trivial returns. | |
1545 | * pa-protos.h (hppa_can_use_return_insn_p): Delete declaration. | |
1546 | * pa.c (hppa_can_use_return_insn_p): Delete function. Include "df.h". | |
1547 | ||
b941a8ae DB |
1548 | 2007-06-30 Daniel Berlin <dberlin@dberlin.org> |
1549 | ||
1550 | * tree-ssa-pre.c (is_exception_related): New function | |
1551 | (can_value_number_operation): Use it. | |
1552 | ||
89fb70a3 DB |
1553 | 2007-06-30 Daniel Berlin <dberlin@dberlin.org> |
1554 | ||
1555 | Fix PR tree-optimization/32540 | |
1556 | Fix PR tree-optimization/31651 | |
1557 | ||
1558 | * tree-ssa-sccvn.c: New file. | |
1559 | ||
1560 | * tree-ssa-sccvn.h: Ditto. | |
1561 | ||
1562 | * tree-vn.c: Include tree-ssa-sccvn.h | |
1563 | (val_expr_paid_d): Removed. | |
1564 | (value_table): Ditto. | |
1565 | (vn_compute): Ditto. | |
1566 | (val_expr_pair_hash): Ditto. | |
1567 | (val_expr_pair_expr_eq): Ditto. | |
1568 | (copy_vuses_from_stmt): Ditto. | |
1569 | (vn_delete): Ditto. | |
1570 | (vn_init): Ditto. | |
1571 | (shared_vuses_from_stmt): Ditto. | |
1572 | (print_creation_to_file): Moved up. | |
1573 | (sort_vuses): Ditto. | |
1574 | (sort_vuses_heap): Ditto. | |
1575 | (set_value_handle): Make non-static. | |
1576 | (make_value_handle): Ditto. | |
1577 | (vn_add): Rewritten to use sccvn lookups. | |
1578 | (vn_add_with_vuses): Ditto. | |
1579 | (vn_lookup): Ditto (and second argument removed). | |
1580 | (vn_lookup_with_vuses): Ditto. | |
1581 | (vn_lookup_or_add): Ditto (and second argument removed); | |
1582 | (vn_lookup_or_add_with_vuses): Ditto. | |
1583 | (vn_lookup_with_stmt): New. | |
1584 | (vn_lookup_or_add_with_stmt): Ditto. | |
1585 | (create_value_handle_for_expr): Ditto. | |
1586 | ||
1587 | * tree-ssa-pre.c: Include tree-ssa-sccvn.h. | |
1588 | (seen_during_translate): New function. | |
1589 | (phi_trans_lookup): Use iterative_hash_expr, not vn_compute. | |
1590 | (phi_trans_add): Ditto. | |
1591 | (constant_expr_p): FIELD_DECL is always constant. | |
1592 | (phi_translate_1): Renamed from phi_translate, add seen bitmap. | |
1593 | Use constant_expr_p. | |
1594 | Avoid infinite recursion on mutually valued expressions. | |
1595 | Change callers of vn_lookup_or_add. | |
1596 | (phi_translate): New function. | |
1597 | (compute_antic_safe): Allow phi nodes. | |
1598 | (create_component_ref_by_pieces): Update for FIELD_DECL change. | |
1599 | (find_or_generate_expression): Rewrite slightly. | |
1600 | (create_expression_by_pieces): Updated for vn_lookup_or_add | |
1601 | change. | |
1602 | Update VN_INFO for new names. | |
1603 | (insert_into_preds_of_block): Update for new names. | |
1604 | (add_to_exp_gen): New function. | |
1605 | (add_to_sets): Use vn_lookup_or_add_with_stmt. | |
1606 | (find_existing_value_expr): Rewrite to changed vn_lookup. | |
1607 | (create_value_expr_from): Ditto, and use add_to_exp_gen. | |
1608 | (try_look_through_load): Removed. | |
1609 | (try_combine_conversion): Ditto. | |
1610 | (get_sccvn_value): New function. | |
1611 | (make_values_for_phi): Ditto. | |
1612 | (make_values_for_stmt): Ditto. | |
1613 | (compute_avail): Rewritten for vn_lookup_or_add changes and to use | |
1614 | SCCVN. | |
1615 | (init_pre): Update for SCCVN changes. | |
1616 | (fini_pre): Ditto. | |
1617 | (execute_pre): Ditto. | |
1618 | ||
1619 | * tree-flow.h (make_value_handle): Declare. | |
1620 | (set_value_handle): Ditto. | |
1621 | (sort_vuses_heap): Ditto. | |
1622 | (vn_lookup_or_add_with_stmt): Ditto. | |
1623 | (vn_lookup_with_stmt): Ditto. | |
1624 | (vn_compute): Remove. | |
1625 | (vn_init): Ditto. | |
1626 | (vn_delete): Ditto. | |
1627 | (vn_lookup): Update arguments. | |
1628 | ||
1629 | * Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h | |
1630 | (tree-vn.o): Ditto. | |
1631 | (tree-ssa-sccvn.o): New. | |
1632 | (OBJS-common): Add tree-ssa-sccvn.o | |
1633 | ||
ad960f56 MLI |
1634 | 2007-06-30 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
1635 | ||
1636 | PR c/4076 | |
1637 | * c-typeck.c (build_external_ref): Don't mark as used if called | |
1638 | from itself. | |
1639 | * calls.c (rtx_for_function_call): Likewise. | |
1640 | ||
a4fbe84b RS |
1641 | 2007-06-30 Richard Sandiford <richard@codesourcery.com> |
1642 | ||
1643 | Revert: | |
1644 | ||
1645 | 2007-06-27 Richard Sandiford <richard@codesourcery.com> | |
1646 | ||
1647 | * dce.c (deletable_insn_p_1): New function, split out from... | |
1648 | (deletable_insn_p): ...here. Only treat bare USEs and CLOBBERs | |
1649 | specially, not those inside PARALLELs. Remove BODY argument | |
1650 | and adjust recursive call accordingly. | |
1651 | (prescan_insns_for_dce): Update call to delete_insn_p. | |
1652 | ||
9d35384d RIL |
1653 | 2007-06-30 Rask Ingemann Lambertsen <rask@sygehus.dk> |
1654 | ||
1655 | * combine.c (combine_validate_cost): New parameter NEWOTHERPAT. | |
1656 | (try_combine): Move potential calls to undo_all() so they happen | |
1657 | before we commit to using the combined insns. | |
1658 | ||
2ed22578 JH |
1659 | 2006-06-30 Jan Hubicka <jh@suse.cz> |
1660 | ||
c22f6d33 | 1661 | * loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit |
2ed22578 JH |
1662 | code. |
1663 | ||
c5274326 TN |
1664 | 2006-06-30 Thomas Neumann <tneumann@users.sourceforge.net> |
1665 | ||
1666 | * ipa.c (cgraph_postorder): Cast according to the coding conventions. | |
1667 | (cgraph_remove_unreachable_nodes): Likewise. | |
1668 | * ipa-cp.c (ipcp_propagate_stage): Use BOTTOM instead of integer 0. | |
1669 | * ipa-inline.c (update_caller_keys): Cast according to the coding | |
1670 | conventions. | |
1671 | (cgraph_decide_recursive_inlining): Likewise. | |
1672 | (cgraph_decide_inlining_of_small_function): Likewise. | |
1673 | (try_inline): Likewise. | |
1674 | (cgraph_decide_inlining_incrementally): Likewise. | |
1675 | * ipa-pure-const.c (get_function_state): Likewise. | |
1676 | (scan_function): Likewise. | |
1677 | (analyze_function): Likewise. | |
1678 | (static_execute): Likewise. | |
1679 | * gcc/ipa-reference.c (scan_for_static_refs): Likewise. | |
1680 | (merge_callee_local_info): Likewise. | |
1681 | (analyze_function): Use type safe memory macros. | |
1682 | (static_execute): Likewise. Cast according to the coding conventions. | |
1683 | * ipa-type-escape.c (scan_for_regs): Cast according to the coding | |
1684 | conventions. | |
1685 | * ipa-utils.c (searchc): Likewise. Avoid using C++ keywords as variable | |
1686 | names. | |
1687 | (ipa_utils_reduced_inorder): Likewise. Use type safe memory macros. | |
1688 | * ipa-utils.h (struct ipa_dfa_info): Avoid using C++ keywords as | |
1689 | variable names. | |
1690 | ||
e90721b1 AP |
1691 | 2007-06-29 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1692 | ||
23512eb3 | 1693 | PR middle-end/30024 |
e90721b1 AP |
1694 | * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] |
1695 | for complex modes (both int and real). | |
1696 | ||
1697 | 2007-06-29 Jan Hubicka <jh@suse.cz> | |
874d7c2f JH |
1698 | |
1699 | * cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change. | |
1700 | ||
e90721b1 | 1701 | 2007-06-29 Jan Hubicka <jh@suse.cz> |
acff8040 JH |
1702 | |
1703 | PR middle-end/32372 | |
1704 | * cse.c (cse_insn): Avoid invalid sharing in between register note and | |
1705 | the insn pattern. | |
1706 | ||
e90721b1 | 1707 | 2007-06-29 Anatoly Sokolov <aesok@post.ru> |
4e63b362 AS |
1708 | |
1709 | PR target/32335 | |
1710 | * config/avr/avr.c: Include dataflow header file. | |
1711 | (expand_prologue): Adjust for prologue insn change. | |
1712 | * config/avr/avr.md (call_prologue_saves): Only modify REG_SP once | |
1713 | inside a insn. | |
1714 | ||
8edd82f2 | 1715 | 2007-06-29 Richard Guenther <rguenther@suse.de> |
42f6e2ec RG |
1716 | |
1717 | PR middle-end/32493 | |
1718 | * gimplify.c (gimplify_call_expr): Ignore variable argument parts | |
1719 | during type verification. | |
1720 | ||
29fbecf3 JH |
1721 | 2007-06-29 Jan Hubicka <jh@suse.cz> |
1722 | ||
1723 | * recog.c (validate_change_rtx_1): Unshare TO argument. | |
1724 | ||
b40c4f68 UB |
1725 | 2007-06-29 Uros Bizjak <ubizjak@gmail.com> |
1726 | ||
1727 | PR tree-optimization/24659 | |
1728 | * tree-vect-transform.c (vectorizable_call): Handle | |
1729 | (nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases. | |
1730 | ||
1731 | * config/i386/sse.md (vec_pack_sfix_v2df): New expander. | |
1732 | * config/i386/i386.c (enum ix86_builtins) | |
1733 | [IX86_BUILTIN_VEC_PACK_SFIX]: New constant. | |
1734 | (struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin | |
1735 | description. | |
1736 | (ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as | |
1737 | const using def_builtin_const. | |
1738 | (ix86_expand_binop_builtin): Remove bogus assert() that insn wants | |
1739 | input operands in the same modes as the result. | |
1740 | (ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT. | |
1741 | ||
27178277 RS |
1742 | 2007-06-29 Richard Sandiford <rsandifo@nildram.co.uk> |
1743 | ||
1744 | * df-problems.c (df_set_unused_notes_for_mw): Fix formatting. | |
1745 | (df_set_dead_notes_for_mw): Likewise. | |
1746 | ||
280f1ffa EB |
1747 | 2007-06-29 Eric Botcazou <ebotcazou@adacore.com> |
1748 | ||
1749 | * c-common.c (pointer_int_sum): Do the negation in sizetype. | |
1750 | ||
58ef0ffa DD |
1751 | 2007-06-28 DJ Delorie <dj@redhat.com> |
1752 | ||
1753 | * config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon. | |
1754 | ||
ddbfd28d GK |
1755 | 2007-06-28 Geoffrey Keating <geoffk@apple.com> |
1756 | ||
1757 | * doc/invoke.texi (C++ Dialect Options): Document | |
1758 | fvisibility-ms-compat. | |
1759 | * c.opt (fvisibility-ms-compat): New. | |
1760 | ||
f46fe0e6 AP |
1761 | 2007-06-28 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1762 | ||
1763 | PR tree-opt/32417 | |
1764 | * tree-affine.c (aff_combination_add_elt): Handle | |
1765 | pointer addition specially. | |
1766 | ||
8aa19d95 JJ |
1767 | 2007-06-28 Jakub Jelinek <jakub@redhat.com> |
1768 | ||
1769 | * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure | |
1770 | decl is non-external for AIX ABI. | |
1771 | ||
1772 | 2007-06-28 David Edelsohn <edelsohn@gnu.org> | |
1773 | ||
1774 | * config/rs6000/predicates.md (current_file_function_operand): | |
1775 | Ensure the symbol is non-external for AIX ABI. | |
1776 | ||
6ae4be32 NC |
1777 | 2007-06-28 Nick Clifton <nickc@redhat.com> |
1778 | ||
1779 | * common.opt (fipa-matrix-reorg): Add Optimization attribute. | |
1780 | (fdce, fdse, fpredictive-commoning): Likewise. | |
1781 | ||
86db887a FXC |
1782 | 2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1783 | ||
1784 | PR other/31400 | |
1785 | * gcc.c (process_command): Recognize the new -static-libgfortran | |
1786 | option. | |
1787 | ||
99920b6f RIL |
1788 | 2007-06-27 Rask Ingemann Lambertsen <rask@sygehus.dk> |
1789 | ||
1790 | PR target/32418 | |
1791 | * config/m32c/m32c.c (m32c_eh_return_stackadj_rtx): Dataflow fix: | |
1792 | Use a call clobbered hard reg instead of a pseudo reg. | |
1793 | ||
2c19a536 KK |
1794 | 2007-06-27 Kaz Kojima <kkojima@gcc.gnu.org> |
1795 | ||
1796 | * config/sh/sh.md (load_gbr): Use correct operand constraint. | |
1797 | ||
ba56ed65 KK |
1798 | 2007-06-27 Kaz Kojima <kkojima@gcc.gnu.org> |
1799 | ||
1800 | PR target/32479 | |
1801 | * config/sh/sh.md (udivsi3): Don't wrap the sequence with | |
1802 | REG_LIBCALL and REG_RETVAL notes. | |
1803 | (divsi3, mulsi3): Likewise. | |
1804 | (mulhisi3): Likewise. Use emit_libcall_block. | |
1805 | (umulhisi3, smulsi3_highpart, umulsi3_highpart_i): Likewise. | |
1806 | ||
531ba5d2 SP |
1807 | 2007-06-27 Seongbae Park <seongbae.park@gmail.com> |
1808 | ||
1809 | PR rtl-optimization/32481 | |
1810 | * combine.c (adjust_for_new_dest): Rescan the changed insn. | |
1811 | ||
b40b2172 RS |
1812 | 2007-06-27 Richard Sandiford <richard@codesourcery.com> |
1813 | ||
1814 | * dce.c (deletable_insn_p_1): New function, split out from... | |
1815 | (deletable_insn_p): ...here. Only treat bare USEs and CLOBBERs | |
1816 | specially, not those inside PARALLELs. Remove BODY argument | |
1817 | and adjust recursive call accordingly. | |
1818 | (prescan_insns_for_dce): Update call to delete_insn_p. | |
1819 | ||
3b357646 RG |
1820 | 2007-06-27 Richard Guenther <rguenther@suse.de> |
1821 | ||
1822 | PR middle-end/32492 | |
1823 | * tree.h (fold_convertible_p): Declare. | |
1824 | * fold-const.c (fold_convertible_p): New function. | |
1825 | * gimplify.c (gimplify_call_expr): Use fold_convertible_p | |
1826 | instead of lang_hooks.types_compatible_p. | |
1827 | ||
95e88efd JH |
1828 | 2007-06-26 Jan Hubicka <jh@suse.cz> |
1829 | ||
1830 | * fwprop.c (try_fwprop_subst): Use validate_unshare_change. | |
1831 | * postreload.c (reload_cse_simplify_set): Instead of copying the rtx | |
1832 | early use validate_unshare_change. | |
1833 | (reload_combine): Likewise. | |
1834 | * recog.c (change_t): New field unshare. | |
1835 | (validate_change_1): Rename from validate_change; add argument unshare. | |
1836 | (validate_change): Turn into wrapper of validate_change_1; update | |
1837 | prototype for bools. | |
1838 | (validate_unshare_change): New. | |
1839 | (confirm_change_group): Unshare changes if asked for; avoid unnecesary | |
1840 | calls of df_insn_rescan. | |
1841 | * recog.h (validate_change): Replace ints by bools. | |
1842 | (validate_unshare_change): Declare. | |
1843 | ||
201bfd14 KZ |
1844 | 2007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com> |
1845 | ||
1846 | * tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name. | |
1847 | ||
4319e38c SE |
1848 | 2007-06-26 Steve Ellcey <sje@cup.hp.com> |
1849 | ||
1850 | * builtins.c (expand_builtin_next_arg): Change Pmode to ptr_mode. | |
1851 | ||
12c7b51e JH |
1852 | 2007-06-25 Jan Hubicka <jh@suse.cz> |
1853 | ||
1854 | * ipa-inline.c (cgraph_mark_inline): Assert that we never inline | |
1855 | uninlinable call. | |
1856 | (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining, | |
1857 | cgraph_decide_inlining_incrementally): Move uninlinability checks to | |
1858 | places other call site specific checks are performed. | |
1859 | ||
2caf766b AP |
1860 | 2007-06-25 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1861 | ||
1862 | PR tree-opt/32421 | |
1863 | * tree-vect-transform.c (vectorizable_operation): Convert | |
1864 | POINTER_PLUS_EXPR over to PLUS_EXPR. | |
1865 | ||
1699ec0b CF |
1866 | 2007-06-25 Chao-ying Fu <fu@mips.com> |
1867 | ||
1868 | * doc/rtl.texi (Machine Modes): Document QQ, HQ, SQ, DQ, TQ, | |
1869 | UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTAmodes. | |
1870 | Document MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM. | |
1871 | Document GET_MODE_IBIT, and GET_MODE_FBIT. | |
1872 | ||
1873 | * machmode.h (VECTOR_MODE_P): Test MODE_VECTOR_FRACT, | |
1874 | MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. | |
1875 | (SCALAR_FRACT_MODE_P, SCALAR_UFRACT_MODE_P, ALL_SCALAR_FRACT_MODE_P, | |
1876 | SCALAR_ACCUM_MODE_P, SCALAR_UACCUM_MODE_P, ALL_SCALAR_ACCUM_MODE_P, | |
1877 | SIGNED_SCALAR_FIXED_POINT_MODE_P, UNSIGNED_SCALAR_FIXED_POINT_MODE_P, | |
1878 | ALL_SCALAR_FIXED_POINT_MODE_P, FRACT_MODE_P, UFRACT_MODE_P, | |
1879 | ALL_FRACT_MODE_P, ACCUM_MODE_P, UACCUM_MODE_P, ALL_ACCUM_MODE_P, | |
1880 | SIGNED_FIXED_POINT_MODE_P, UNSIGNED_FIXED_POINT_MODE_P, | |
1881 | ALL_FIXED_POINT_MODE_P): New define. | |
1882 | (CLASS_HAS_WIDER_MODES_P): Test MODE_FRACT, MODE_UFRACT, MODE_ACCUM, | |
1883 | MODE_UACCUM. | |
1884 | (GET_MODE_IBIT, GET_MODE_FBIT): New define. | |
1885 | ||
1886 | * mode-classes.def (MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM, | |
1887 | MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, | |
1888 | MODE_VECTOR_UACCUM): New mode classes. | |
1889 | ||
1890 | * machmode.def: Document FRACT_MODE, UFRACT_MODE, ACCUM_MODE, | |
1891 | UACCUM_MODE, ADJUST_IBIT, and ADJUST_FBIT. | |
1892 | Add QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, | |
1893 | USA, UDA, and UTA. | |
1894 | ||
1895 | * genmodes.c (struct mode_data): Add ibit and fbit fields. | |
1896 | (blank_mode): Initialize ibit and fbit. | |
1897 | (adj_ibit, adj_fbit): New to adjust ibit and fbit. | |
7e08fa35 UB |
1898 | (vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, |
1899 | MODE_UACCUM. | |
1699ec0b CF |
1900 | (new_adjust): Change required_class to required_class_from and |
1901 | required_class_to for testing within a range. | |
1902 | (complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, | |
1903 | MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, | |
1904 | MODE_VECTOR_UACCUM. | |
1905 | (FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE): New define. | |
1906 | (make_fixed_point_mode): New. | |
1907 | (_ADD_ADJUST): Change C to C1 and C2. | |
1908 | (ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FLOAT_FORMAT): Change to | |
1909 | use a range for machine classes. | |
1910 | (ADJUST_IBIT, ADJUST_FBIT): New. | |
1911 | (emit_insn_modes_h): Output defines of CONST_MODE_IBIT and | |
1912 | CONST_MODE_FBIT. | |
1913 | (emit_mode_adjustments): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, | |
1914 | MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. | |
1915 | Emit adjustment for ibit and fbit. | |
1916 | (emit_mode_ibit, emit_mode_fbit): New. | |
1917 | (emit_insn_modes_c): Add emit_mode_ibit and emit_mode_fbit. | |
1918 | ||
a3f8aaa5 NF |
1919 | 2007-06-25 Nathan Froyd <froydnj@codesourcery.com> |
1920 | ||
1921 | * config/rs6000/spe.md (*frob_ti_tf_2): Specify an input_operand | |
1922 | as the source of the set. | |
1923 | ||
bf32249e RZ |
1924 | 2007-06-25 Roman Zippel <zippel@linux-m68k.org> |
1925 | ||
1926 | * config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P, | |
1927 | FP_REGNO_P): Use IN_RANGE. | |
1928 | (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove. | |
1929 | (REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): New. | |
1930 | (DATA_REG_P): Use DATA_REGNO_P. | |
1931 | (FP_REG_P): Use FP_REGNO_P. | |
1932 | (ADDRESS_REG_P): Use ADDRESS_REGNO_P. | |
1933 | * config/m68k/m68k.c (m68k_legitimate_base_reg_p): Use | |
1934 | REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P. | |
1935 | ||
6a84c098 JH |
1936 | 2007-06-24 Jan Hubicka <jh@suse.cz> |
1937 | ||
1938 | PR middle-end/30563 | |
1939 | * cgraphunit.c (cgraph_analyze_function): Fix ordering problem. | |
1940 | ||
a49c5793 SP |
1941 | 2007-06-24 Sebastian Pop <sebpop@gmail.com> |
1942 | ||
1943 | PR middle-end/32461 | |
1944 | * fold-const.c (fold_binary): Strip nops of operand 0 | |
1945 | of BIT_NOT_EXPR before calling operand_equal_p. | |
1946 | * testsuite/gcc.dg/tree-ssa/pr32461-1.c: New. | |
1947 | * testsuite/gcc.dg/tree-ssa/pr32461-2.c: New. | |
1948 | ||
3a687f8b MM |
1949 | 2007-06-23 Mark Mitchell <mark@codesourcery.com> |
1950 | ||
1951 | * doc/extend.texi: Document that dllimport and dllexport imply | |
1952 | default visibility. | |
1953 | * tree.c (handle_dll_attribute): Set DECL_VISIBILITY on the | |
1954 | imported or exported declaration, including type declarations. | |
1955 | * c-common.c (handle_visibility_attribute): Check for conflicts | |
1956 | with dllimport/dllexport. | |
1957 | (c_determine_visibility): Handle dllimport/dllexport as an | |
1958 | explicit visibility atttribute. | |
1959 | ||
e36711f3 RG |
1960 | 2007-06-23 Richard Guenther <rguenther@suse.de> |
1961 | ||
1962 | PR tree-optimization/16876 | |
1963 | PR middle-end/29478 | |
1964 | * tree.h (CALL_CANNOT_INLINE_P): New macro to access static_flag | |
1965 | for CALL_EXPRs. | |
1966 | * tree-inline.c (initialize_inlined_parameters): Do not call | |
1967 | lang_hooks.tree_inlining.convert_parm_for_inlining. | |
1968 | * cgraphbuild.c (initialize_inline_failed): Set inline failed | |
1969 | reason for mismatched types. | |
1970 | * gimplify.c (gimplify_call_expr): Verify the call expression | |
1971 | arguments match the called function type signature. Otherwise | |
1972 | mark the call expression to be not considered for inlining | |
1973 | using CALL_CANNOT_INLINE_P flag. | |
1974 | * ipa-inline.c (cgraph_mark_inline): Honor CALL_CANNOT_INLINE_P on the | |
1975 | edges call expression. | |
1976 | (cgraph_decide_inlining_of_small_function): Likewise. | |
1977 | (cgraph_decide_inlining): Likewise. | |
1978 | * c-objc-common.h (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): | |
1979 | Remove define. | |
1980 | * c-tree.h (c_convert_parm_for_inlining): Remove declaration. | |
1981 | * c-typeck.c (c_convert_parm_for_inlining): Remove. | |
1982 | * langhooks-def.h (lhd_tree_inlining_convert_parm_for_inlining): | |
1983 | Remove declaration. | |
1984 | (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove define. | |
1985 | * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): | |
1986 | Remove. | |
1987 | * langhooks.h (struct lang_hooks_for_tree_inlining): Remove | |
1988 | convert_parm_for_inlining member. | |
1989 | ||
630ef467 RE |
1990 | 2007-06-23 Richard Earnshaw <rearnsha@arm.com> |
1991 | ||
1992 | PR target/31152 | |
1993 | * arm.md (negscc): Match the correct operand for optimized LT0 test. | |
1994 | Remove optimization for GT. | |
1995 | ||
6cad9859 KZ |
1996 | 2007-06-23 Kenneth Zadeck <zadeck@naturalbridge.com> |
1997 | ||
1998 | PR middle-end/32437 | |
20de4d99 | 1999 | * dce.c (deletable_insn_p): Add extra parameter and recurse if insn |
6cad9859 KZ |
2000 | is a PARALLEL. |
2001 | (prescan_insns_for_dce): Add extra parameter. | |
2002 | ||
936d04b6 JH |
2003 | 2007-06-23 Jan Hubicka <jh@suse.cz> |
2004 | ||
2005 | PR middle-end/31541 | |
2006 | * gimplify.c (mark_addressable): New function. | |
2007 | (gimplify_modify_expr_rhs, gimplify_addr_expr, gimplify_expr): Use it. | |
2008 | ||
b40c4f68 | 2009 | 2007-06-22 Uros Bizjak <ubizjak@gmail.com> |
58f7fcc3 UB |
2010 | |
2011 | PR middle-end/32374 | |
2012 | * expr.c (store_constructor): Do not clobber non-zeroed memory. | |
2013 | ||
147bbdd0 UB |
2014 | 2007-06-22 Uros Bizjak <ubizjak@gmail.com> |
2015 | ||
2016 | PR target/32413 | |
2017 | * config/i386/i386.c (ix86_register_move_cost): Rise the cost of | |
2018 | moves between MMX/SSE registers to at least 8 units to prevent | |
2019 | ICE caused by non-tieable SI/HI/QImodes in SSE registers. | |
2020 | ||
9064c533 UB |
2021 | 2007-06-22 Uros Bizjak <ubizjak@gmail.com> |
2022 | ||
2023 | * config/i386/i386.c (override_options): Correct x86_sahf | |
2024 | setting condition. | |
2025 | ||
48a8bb13 DD |
2026 | 2007-06-21 David Daney <ddaney@avtrex.com> |
2027 | ||
1ad91955 | 2028 | PR target/32406 |
48a8bb13 DD |
2029 | * config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER |
2030 | to UNSPEC_NONLOCAL_GOTO_RECEIVER globally. | |
2031 | (exception_receiver): Renamed to ... | |
2032 | (nonlocal_goto_receiver): ... this. | |
2033 | ||
7bb3ae2f RZ |
2034 | 2007-06-22 Roman Zippel <zippel@linux-m68k.org> |
2035 | ||
2036 | * df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE. | |
2037 | (df_def_record_1): Set (DF_REF_READ_WRITE | DF_REF_PARTIAL) for | |
2038 | partial register accesses. | |
2039 | ||
f1b42630 AN |
2040 | 2007-06-21 Adam Nemet <anemet@caviumnetworks.com> |
2041 | ||
2042 | * fold-const.c (debug_fold_checksum): Move it under | |
2043 | ENABLE_FOLD_CHECKING. | |
2044 | ||
70826cbb SP |
2045 | 2007-06-21 Sebastian Pop <sebpop@gmail.com> |
2046 | ||
2047 | PR middle-end/20623 | |
2048 | * tree.h (debug_fold_checksum): Declared. | |
2049 | * fold-const.c (build_fold_addr_expr_with_type_1): New. | |
2050 | (build_fold_addr_expr_with_type, build_fold_addr_expr): Use | |
2051 | build_fold_addr_expr_with_type_1. | |
2052 | (fold_addr_expr, debug_fold_checksum): New. | |
2053 | (fold_checksum_tree): Don't fold TREE_CHAIN of an SSA_NAME. | |
2054 | (fold_unary, fold_comparison, split_address_to_core_and_offset): | |
2055 | Use fold_addr_expr. | |
2056 | ||
6f1c9cd0 SP |
2057 | 2007-06-21 Sebastian Pop <sebpop@gmail.com> |
2058 | ||
2059 | PR tree-optimization/19590 | |
2060 | * tree-vrp.c (adjust_range_with_scev): Set the range when the result | |
2061 | of scev is a constant. | |
2062 | * gcc/testsuite/gcc.dg/tree-ssa/pr19590.c: New. | |
2063 | ||
e44e043c KZ |
2064 | 2007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com> |
2065 | ||
2066 | * df-problems.c (df_note_bb_compute): Made computation of live | |
2067 | info consistent with df_lr. | |
2068 | ||
42289977 RG |
2069 | 2007-06-21 Richard Guenther <rguenther@suse.de> |
2070 | ||
2071 | PR tree-optimization/32453 | |
2072 | * tree-vrp.c (extract_range_from_assert): Build POINTER_PLUS_EXPR | |
2073 | for pointer anti-range. | |
2074 | ||
461a73b5 L |
2075 | 2007-06-21 H.J. Lu <hongjiu.lu@intel.com> |
2076 | ||
2077 | * config/i386/i386.c (processor_target_table): Increase maximum | |
2078 | skip from 7 byte to 10 byte for Pentium Pro, Core 2 Duo and | |
2079 | default 64bit. | |
2080 | ||
2081 | * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Ensure 8 | |
2082 | byte alignment if > 8 byte alignment is preferred. | |
2083 | * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. | |
2084 | ||
64964499 JJ |
2085 | 2007-06-21 Jakub Jelinek <jakub@redhat.com> |
2086 | ||
3521f3cc JJ |
2087 | PR tree-optimization/31866 |
2088 | * tree-ssa-coalesce.c (create_outofssa_var_map): Do nothing | |
2089 | if ASM_EXPR's input is not a SSA_NAME. | |
2090 | ||
64964499 JJ |
2091 | PR middle-end/32362 |
2092 | * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL, | |
2093 | but decl is a global var, instead return decl. | |
2094 | * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses | |
2095 | even for is_global_var decls, if they are private in some outer | |
2096 | context. | |
2097 | ||
d9eb5318 RG |
2098 | 2007-06-21 Richard Guenther <rguenther@suse.de> |
2099 | ||
2100 | PR tree-optimization/32451 | |
2101 | * tree-ssa-threadupdate.c (thread_single_edge): Fixup edge flags. | |
2102 | ||
5c7cafa8 CB |
2103 | 2007-06-21 Christian Bruel <christian.bruel@st.com> |
2104 | ||
2105 | * config/sh/sh-protos.h (sh_loads_bankedreg_p): Declare. | |
2106 | * config/sh/sh.c (sh_loads_bankedreg_p): New function. | |
2107 | (push_regs): Changed saving order or banked registers. | |
2108 | (sh_expand_epilogue): Likewise. | |
2109 | * config/sh/sh.h (BANKED_REGISTER_P): New macro. | |
2110 | (FIRST_BANKED_REG): Likewise. | |
2111 | (LAST_BANKED_REG): Likewise. | |
2112 | * config/sh/sh.md (banked) New attribute. | |
2113 | (in_delay_slot): Check banked attribute. | |
2114 | ||
c0aafd30 SP |
2115 | 2007-06-20 Sebastian Pop <sebpop@gmail.com> |
2116 | ||
2117 | PR tree-optimization/32075 | |
2118 | * tree-data-ref.c (subscript_dependence_tester_1, | |
2119 | analyze_miv_subscript, analyze_overlapping_iterations, | |
2120 | add_distance_for_zero_overlaps, build_classic_dist_vector, | |
2121 | subscript_dependence_tester_1, analyze_overlapping_iterations, | |
2122 | subscript_dependence_tester, access_functions_are_affine_or_constant_p, | |
2123 | compute_affine_dependence, compute_all_dependences): Pass loop_nest | |
2124 | to evolution_function_is_affine_multivariate_p. | |
2125 | ||
7e657ec2 EB |
2126 | 2007-06-20 Eric Botcazou <ebotcazou@libertysurf.fr> |
2127 | ||
2128 | * df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs. | |
2129 | ||
7a9dcd47 RIL |
2130 | 2007-06-20 Rask Ingemann Lambertsen <rask@sygehus.dk> |
2131 | ||
2132 | PR target/32335 | |
2133 | * config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue | |
2134 | for TARGET_A16. | |
2135 | * config/m32c/prologue.md (epilogue_exitd_16): New. | |
2136 | (epilogue_reit_16): New. | |
2137 | (epilogue_exitd): Rename to epilogue_exitd_24. | |
2138 | (epilogue_reit): Rename to epilogue_reit_24. | |
2139 | ||
b631c5f7 SP |
2140 | 2007-06-20 Seongbae Park <seongbae.park@gmail.com> |
2141 | Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
2142 | ||
2143 | * dbgcnt.def (global_alloc_at_func, global_alloc_at_reg): | |
2144 | New counters. | |
2145 | * haifa-sched.c (queue_to_ready): Don't requeue next insn | |
2146 | if dbg_cnt (sched_insn) reaches the limit. | |
2147 | (choose_ready): New parameter INSN_PTR and new return value. | |
2148 | (schedule_block): Handle dbg_cnt (sched_insn). Handle | |
2149 | the new return value from choose_ready. | |
2150 | * global.c (global_aloc): New dbgcnt global_alloc_at_reg. | |
2151 | (rest_of_handle_global_alloc): New global_alloc_at_func. | |
2152 | ||
3d9b47dc AN |
2153 | 2007-06-20 Adam Nemet <anemet@caviumnetworks.com> |
2154 | ||
2155 | PR tree-optimization/25737 | |
2156 | * tree.h (struct tree_struct_field_tag): Add new field alias_set. | |
2157 | (SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros. | |
2158 | * tree-flow.h (struct fieldoff): Add new field alias_set. | |
2159 | * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new | |
2160 | argument addressable_type. Set alias_set of fieldoff. | |
2161 | * tree-ssa-alias.c (create_sft): Add new argument alias_set. | |
2162 | (create_overlap_variables_for): Pass alias_set from fieldoff to | |
2163 | create_sft. | |
2164 | * alias.c (get_alias_set): Use alias_set from SFT if set. | |
2165 | ||
1c5ae962 HMC |
2166 | 2007-06-20 Hui-May Chang <hm.chang@apple.com> |
2167 | ||
2168 | * config/i386/darwin.h (ASM_OUTPUT_COMMON): Print the size | |
2169 | of a variable as an unsigned HOST_WIDE_INT integer. | |
2170 | ||
6848da6a ZD |
2171 | 2007-06-20 Zdenek Dvorak <dvorakz@suse.cz> |
2172 | ||
2173 | PR rtl-optimization/32405 | |
2174 | * loop-iv.c (iv_get_reaching_def): Fail for partial defs. | |
2175 | ||
6a4e56a9 JJ |
2176 | 2007-06-20 Jakub Jelinek <jakub@redhat.com> |
2177 | ||
6330585d JJ |
2178 | * Makefile.in (omega.o): Depend on $(DIAGNOSTIC_H). |
2179 | ||
1d8381f1 JJ |
2180 | PR middle-end/31959 |
2181 | * builtins.c: Include diagnostic.h. | |
2182 | (expand_builtin_expect): Make gcc_assert more permissive. | |
2183 | * Makefile.in (builtins.o): Depend on $(DIAGNOSTIC_H). | |
2184 | ||
f497c16c JJ |
2185 | PR inline-asm/32109 |
2186 | * gimplify.c (gimplify_asm_expr): Issue error if type is addressable | |
2187 | and !allows_mem. | |
2188 | ||
6a4e56a9 JJ |
2189 | PR middle-end/32285 |
2190 | * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments | |
2191 | if ACCUMULATE_OUTGOING_ARGS. | |
2192 | ||
c105ee09 RIL |
2193 | 2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk> |
2194 | ||
2195 | * config/m68hc11/m68hc11.c: Include dataflow header file. | |
2196 | (m68hc11_reorg): Port to dataflow. | |
2197 | ||
4aa0f911 | 2198 | 2007-06-19 Kenneth Zadeck <zadeck@naturalbridge.com> |
89a95777 KZ |
2199 | |
2200 | * df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed. | |
2201 | (struct df_problem.free_blocks_on_set_blocks): New field. | |
2202 | (struct dataflow.optional_p): New field. | |
2203 | (df_bb_regno_last_use_find, df_insn_regno_def_p): Removed. | |
2204 | (df_live_set_all_dirty): New function. | |
2205 | * df-scan.c (df_scan_alloc): Initialize optional_p. | |
2206 | (problem_SCAN): Initialize free_blocks_on_set_blocks. | |
2207 | * df-core.c (df_set_blocks): Removed use of | |
2208 | DF_FIRST_OPTIONAL_PROBLEM. Now uses | |
2209 | df_problem.free_blocks_on_set_blocks to determine which blocks are | |
2210 | recycled. | |
2211 | (df_remove_problem): Removed use of DF_FIRST_OPTIONAL_PROBLEM. | |
2212 | (df_finish_pass): Removed use of DF_FIRST_OPTIONAL_PROBLEM. Now | |
2213 | uses dataflow.optional_p to determine if problem should be | |
2214 | deleted. | |
2215 | (rest_of_handle_df_initialize): Only start live problem if | |
2216 | -02 or above. | |
2217 | (df_bb_regno_last_use_find, df_insn_regno_def_p): Removed. | |
2218 | * df-problems.c (df_ru_alloc, df_rd_alloc, df_lr_alloc, | |
2219 | df_live_alloc, df_urec_alloc, df_note_alloc): set optional_p. | |
2220 | (problem_RU, problem_RD, problem_LR, problem_UREC, problem_CHAIN, | |
2221 | problem_NOTE): Initialize free_blocks_on_set_blocks. | |
2222 | (df_lr_bb_local_compute): Recompute luids if df_live problem is | |
2223 | not active. | |
2224 | (df_live_set_all_dirty, df_note_alloc): New function. | |
2225 | * regrename.c (merge_overlapping_regs): Change DF_LIVE_* to | |
2226 | df_get_live_*. | |
2227 | * sched_ebb.c (compute_jump_reg_dependencies): Ditto. | |
2228 | * postreload.c (reload_combine): Ditto. | |
2229 | * cse.c (cse_extended_basic_block): Ditto. | |
2230 | * regmove.c (mark_flags_life_zones): Ditto. | |
2231 | * rtlfactoring.c (split_blocks_after_seqs, split_pattern_seq, | |
2232 | erase_matching_seqs): Ditto. | |
2233 | * bt-load.c (compute_defs_uses_and_gen): Ditto. | |
2234 | * integrate (allocate_initial_values): Ditto. | |
2235 | * combine.c (reg_dead_at_p): Ditto. | |
2236 | * resource.c (mark_target_live_regs): Ditto. | |
2237 | * sched-rgn.c (check_live_1, update_live_1): Ditto. | |
2238 | * config/sh/sh.c (find_r0_life_regions): Ditto. | |
2239 | * global.c (rest_of_handle_global_alloc): Only add back df_live | |
2240 | for -O > 1. | |
2241 | * local-alloc.c (rest_of_handle_local_alloc): Only remove | |
2242 | df_live for -O > 1. | |
2243 | * ifcvt.c (dead_or_predicable): Change DF_LIVE_* to | |
2244 | df_get_live_*. | |
2245 | (if_convert): Make sure df_live is there at -O == 1. | |
2246 | (pass_if_after_combine): Cleanup flags. | |
2247 | * init-regs.c (initialize_uninitialized_regs): Make sure df_live | |
2248 | is there at -O == 1. | |
2249 | ||
a3a531ec SP |
2250 | 2007-06-19 Seongbae Park <seongbae.park@gmail.com> |
2251 | ||
2252 | * config/arm/arm.c (arm_get_frame_offsets): Set | |
2253 | offsets->locals_base to avoid negative stack size. | |
2254 | (thumb1_expand_prologue): Assert on negative stack size. | |
2255 | ||
da9a21f4 | 2256 | 2007-04-19 Sebastian Pop <sebpop@gmail.com> |
0f7c0775 SP |
2257 | |
2258 | PR tree-optimization/32367 | |
2259 | * tree-chrec.h (build_polynomial_chrec): Verify that the left hand side | |
2260 | of the chrec has no evolution in that loop. | |
2261 | * testsuite/gcc.dg/tree-ssa/pr32367.c: New. | |
2262 | ||
e70312d4 BW |
2263 | 2007-06-19 Bob Wilson <bob.wilson@acm.org> |
2264 | ||
2265 | * config/xtensa/xtensa.c: Include "df.h". | |
7e08fa35 UB |
2266 | (xtensa_builtin_saveregs): Use adjust_address instead of |
2267 | change_address. | |
e70312d4 BW |
2268 | (xtensa_va_start): Invoke make_tree with sizetype for |
2269 | expand_builtin_saveregs and then convert the result to a pointer. | |
2270 | Use POINTER_PLUS_EXPR. Use size_int instead of build_int_cst. | |
2271 | (xtensa_gimplify_va_arg_expr): Use size_int instead of build_int_cst. | |
2272 | Subtract argument size from index value as integers and then use | |
2273 | POINTER_PLUS_EXPR to add the result to the array address. | |
2274 | ||
fa9fd28a RIL |
2275 | 2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk> |
2276 | ||
2277 | PR target/32335 | |
2278 | * config/m32c/m32c.c: Include dataflow header file. | |
2279 | (m32c_emit_prologue): Adjust for prologue insn change. | |
2280 | * config/m32c/prologue.md (prologue_enter_16): Only modify SP_REGNO | |
2281 | once inside a PARALLEL. Assume frame size passed in operand 0 | |
2282 | includes space to save the fb register. | |
2283 | (prologue_enter_24): Likewise. | |
2284 | (epilogue_exitd): Only modify SP_REGNO once inside a PARALLEL. | |
2285 | ||
21d09454 DD |
2286 | 2007-06-19 David Daney <ddaney@avtrex.com |
2287 | ||
2288 | PR target/32313 | |
2289 | * config/mips/mips.md (cprestore): Mark $gp as used. | |
2290 | ||
eedd7243 RIL |
2291 | 2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk> |
2292 | ||
2293 | PR target/32369 | |
2294 | * config/frv/frv.c (frv_ifcvt_modify_tests): Dataflow merge fix. | |
2295 | (frv_ifcvt_modify_insn): Likewise. | |
2296 | ||
9bf448b9 RB |
2297 | 2007-06-19 Richard Guenther <rguenther@suse.de> |
2298 | ||
2299 | * tree-ssa-structalias.c (handle_ptr_arith): Make sure to | |
2300 | only handle positive offsets that fit in a HOST_WIDE_INT. | |
2301 | ||
2302 | 2007-06-19 Uros Bizjak <ubizjak@gmail.com> | |
258d0b9b | 2303 | |
670a8526 UB |
2304 | * config/i386/i386.c (ix86_emit_swsqrtsf): Filter out infinity |
2305 | result of rsqrt insn for zero input argument to avoid NaN. | |
258d0b9b | 2306 | |
7ffc27a6 RG |
2307 | 2007-06-19 Richard Guenther <rguenther@suse.de> |
2308 | ||
2309 | PR middle-end/31950 | |
2310 | * tree-ssa-alias-warnings.c (ffan_walker): Punt on MTAGs. | |
2311 | ||
fda2b8e3 JJ |
2312 | 2007-06-19 Jakub Jelinek <jakub@redhat.com> |
2313 | ||
2314 | PR tree-optimization/32353 | |
2315 | * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL. | |
2316 | ||
8dba2ded NC |
2317 | 2007-06-19 Nick Clifton <nickc@redhat.com> |
2318 | ||
20de4d99 | 2319 | * config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for -pthread. |
8dba2ded | 2320 | |
80dcd3aa UB |
2321 | 2007-06-18 Uros Bizjak <ubizjak@gmail.com> |
2322 | ||
2323 | PR target/32389 | |
2324 | * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL. | |
2325 | * config/i386/i386.c (assign_386_stack_local): Assert that | |
2326 | SLOT_VIRTUAL is valid only before virtual regs are instantiated. | |
2327 | (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]: | |
2328 | Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP. | |
2329 | * config/i386/i386.md (truncdfsf2, truncxf<mode>2): Ditto. | |
2330 | ||
d448952a SE |
2331 | 2007-06-18 Steve Ellcey <sje@cup.hp.com> |
2332 | ||
2333 | * config/ia64/ia64.h (LIBGCC2_TF_CEXT): New. | |
2334 | ||
bfff9190 SP |
2335 | 2007-06-18 Seongbae Park <seongbae.park@gmail.com> |
2336 | ||
2337 | PR rtl-optimization/32321 | |
2338 | * gcse.c (replace_store_insn): Update the note before | |
2339 | calling emit_insn_after. | |
d4977f6c | 2340 | |
8b9d606b KZ |
2341 | 2007-06-18 Kenneth Zadeck <zadeck@naturalbridge.com> |
2342 | ||
2343 | PR middle-end/32355 | |
2344 | * gcse (rest_of_handle_gcse): Add call to df_finish_pass after | |
2345 | cse_main. | |
2346 | * df-problems.c (df_note_bb_compute): Fix dumping info. | |
2347 | ||
49570723 KH |
2348 | 2007-06-18 Kazu Hirata <kazu@codesourcery.com> |
2349 | ||
2350 | * config/m68k/m68k.c (m68k_expand_epilogue): Emit a return | |
2351 | insn with emit_jump_insn. | |
2352 | ||
ac10986f UB |
2353 | 2007-06-18 Uros Bizjak <ubizjak@gmail.com> |
2354 | ||
2355 | PR tree-optimization/32383 | |
2356 | * targhooks.c (default_builtin_reciprocal): Add new bool argument. | |
2357 | * targhooks.h (default_builtin_reciprocal): Update prototype. | |
2358 | * target.h (struct gcc_target): Update builtin_reciprocal. | |
2359 | * doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Update description. | |
2360 | * tree-ssa-math-opts (execute_cse_reciprocals): Skip statements | |
2361 | where arg1 is not SSA_NAME. Pass true to targetm.builtin_reciprocal | |
2362 | when fndecl is in BUILT_IN_MD class. | |
2363 | (execute_convert_to_rsqrt): Ditto. | |
2364 | ||
2365 | * config/i386/i386.c (ix86_builtin_reciprocal): Update for new bool | |
2366 | argument. Convert IX86_BUILTIN_SQRTPS code only when md_fn is true. | |
2367 | Convert BUILT_IN_SQRTF code only when md_fn is false. | |
2368 | ||
a8d8890a KK |
2369 | 2007-06-18 Kaz Kojima <kkojima@gcc.gnu.org> |
2370 | ||
2371 | * bt-load.c (move_btr_def): Fix the order of arguments | |
2372 | to validate_replace_rtx. | |
2373 | ||
a761c345 NS |
2374 | 2007-06-18 Nathan Sidwell <nathan@codesourcery.com> |
2375 | ||
2376 | * config/m68k/m68k-devices.def: Add 54450..54455. | |
2377 | ||
a0c64295 UB |
2378 | 2007-06-17 Uros Bizjak <ubizjak@gmail.com> |
2379 | ||
2380 | PR rtl-optimization/32366 | |
2381 | * simplify-rtx.c (simplify_unary_operation_1) [FLOAT_TRUNCATE, | |
2382 | FLOAT_EXTEND]: Prevent non-scalar modes from entering | |
2383 | significand_size. | |
2384 | ||
5f705558 KZ |
2385 | 2007-06-17 Kenneth Zadeck <zadeck@naturalbridge.com> |
2386 | ||
2387 | PR middle-end/32349 | |
2388 | * modulo-sched (generate_reg_moves): Added rescan parameter and if | |
2389 | this is true, rescan insn being modified. | |
2390 | (sms_schedule): Added rescan parameter. | |
2391 | (rest_of_handle_sms): Moved freeing of dominance info to before | |
2392 | getting out of cfg_layout. | |
2393 | ||
59c92f76 NS |
2394 | 2007-06-17 Nathan Sidwell <nathan@codesourcery.com> |
2395 | ||
2396 | * config/m68k/m68k.h (ISA_HAS_FF1, ISA_HAS_MVS_MVZ): New. | |
2397 | * config/m68k/m68k.md: Use ISA_HAS_FF1 and ISA_HAS_MVS_MVZ as | |
2398 | appropriate. | |
2399 | ||
fe116068 NS |
2400 | * config/m68k/m68k.c (all_isas): Remove FL_CF_FPU and |
2401 | FL_CF_EMAC from the entry for isac. | |
2402 | ||
4e2b26aa NS |
2403 | * config/m68k/predicates.md (const_call_operand): Adjust comment. |
2404 | (const_sibcall_operand): New. | |
2405 | (sibcall_operand): Use it. | |
2406 | * config/m68k/m68k.c (FL_FOR_isa_c): Not ISA_B compatible. | |
2407 | (m68k_isas): ISAC does not imply FPU or EMAC. | |
2408 | (override_options): Add ISA_C logic for symbolic jump & call. | |
2409 | ||
724d7c55 EB |
2410 | 2007-06-17 Eric Botcazou <ebotcazou@libertysurf.fr> |
2411 | ||
2412 | * config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the | |
2413 | return mode from the builtin itself. | |
2414 | (sparc_fold_builtin): Fix cast of zero constant. | |
2415 | ||
cc2137be UB |
2416 | 2007-06-16 Uros Bizjak <ubizjak@gmail.com> |
2417 | ||
2418 | * targhooks.c (default_builtin_reciprocal): New default target hook. | |
2419 | * targhooks.h (default_builtin_reciprocal): Add prototype. | |
2420 | * hooks.c (hook_tree_tree_bool_null): Remove hook. | |
2421 | * hooks.h (hook_tree_tree_bool_null): Remove prototype. | |
2422 | * target-def.h (TARGET_BUILTIN_RECIPROCAL): Define as | |
2423 | default_builtin_reciprocal. | |
2424 | ||
6b889d89 UB |
2425 | 2007-06-16 Uros Bizjak <ubizjak@gmail.com> |
2426 | ||
2427 | PR middle-end/31723 | |
2428 | * hooks.c (hook_tree_tree_bool_null): New hook. | |
2429 | * hooks.h (hook_tree_tree_bool_null): Add prototype. | |
2430 | * tree-pass.h (pass_convert_to_rsqrt): Declare. | |
2431 | * passes.c (init_optimization_passes): Add pass_convert_to_rsqrt. | |
2432 | * tree-ssa-math-opts.c (execute_cse_reciprocals): Scan for a/func(b) | |
2433 | and convert it to reciprocal a*rfunc(b). | |
2434 | (execute_convert_to_rsqrt): New function. | |
2435 | (gate_convert_to_rsqrt): New function. | |
2436 | (pass_convert_to_rsqrt): New pass definition. | |
2437 | * target.h (struct gcc_target): Add builtin_reciprocal. | |
2438 | * target-def.h (TARGET_BUILTIN_RECIPROCAL): New define. | |
2439 | (TARGET_INITIALIZER): Initialize builtin_reciprocal with | |
2440 | TARGET_BUILTIN_RECIPROCAL. | |
2441 | * doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Document. | |
2442 | ||
2443 | * config/i386/i386.h (TARGET_RECIP): New define. | |
2444 | * config/i386/i386.md (divsf3): Expand by calling ix86_emit_swdivsf | |
2445 | for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and | |
2446 | flag_unsafe_math_optimizations are set, flag_trapping_math is unset | |
2447 | and not optimizing for size. | |
2448 | (*rcpsf2_sse): New insn pattern. | |
2449 | (*rsqrtsf2_sse): Ditto. | |
2450 | (rsqrtsf2): New expander. Expand by calling ix86_emit_swsqrtsf | |
2451 | for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and | |
2452 | flag_unsafe_math_optimizations are set, flag_trapping_math is unset | |
2453 | and not optimizing for size. | |
2454 | (sqrt<mode>2): Expand SFmode operands by calling ix86_emit_swsqrtsf | |
2455 | for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and | |
2456 | flag_unsafe_math_optimizations are set, flag_trapping_math is unset | |
2457 | and not optimizing for size. | |
2458 | * config/i386/sse.md (divv4sf): Expand by calling ix86_emit_swdivsf | |
2459 | for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and | |
2460 | flag_unsafe_math_optimizations are set, flag_trapping_math is unset | |
2461 | and not optimizing for size. | |
2462 | (*sse_rsqrtv4sf2): Do not export. | |
2463 | (sqrtv4sf2): Ditto. | |
2464 | (sse_rsqrtv4sf2): New expander. Expand by calling ix86_emit_swsqrtsf | |
2465 | for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and | |
2466 | flag_unsafe_math_optimizations are set, flag_trapping_math is unset | |
2467 | and not optimizing for size. | |
2468 | (sqrtv4sf2): Ditto. | |
2469 | * config/i386/i386.opt (mrecip): New option. | |
2470 | * config/i386/i386-protos.h (ix86_emit_swdivsf): Declare. | |
2471 | (ix86_emit_swsqrtsf): Ditto. | |
2472 | * config/i386/i386.c (IX86_BUILTIN_RSQRTF): New constant. | |
2473 | (ix86_init_mmx_sse_builtins): __builtin_ia32_rsqrtf: New | |
2474 | builtin definition. | |
2475 | (ix86_expand_builtin): Expand IX86_BUILTIN_RSQRTF using | |
2476 | ix86_expand_unop1_builtin. | |
2477 | (ix86_emit_swdivsf): New function. | |
2478 | (ix86_emit_swsqrtsf): Ditto. | |
2479 | (ix86_builtin_reciprocal): New function. | |
2480 | (TARGET_BUILTIN_RECIPROCAL): Use it. | |
2481 | (ix86_vectorize_builtin_conversion): Rename from | |
2482 | ix86_builtin_conversion. | |
2483 | (TARGET_VECTORIZE_BUILTIN_CONVERSION): Use renamed function. | |
2484 | * doc/invoke.texi (Machine Dependent Options): Add -mrecip to | |
2485 | "i386 and x86_64 Options" section. | |
2486 | (Intel 386 and AMD x86_64 Options): Document -mrecip. | |
2487 | ||
5be014d5 AP |
2488 | 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2489 | Zdenek Dvorak <dvorakz@suse.cz> | |
2490 | Richard Guenther <rguenther@suse.de> | |
2491 | Kaz Kojima <kkojima@gcc.gnu.org> | |
2492 | ||
2493 | * tree-vrp.c (compare_values_warnv): Convert val2 to | |
2494 | the type of val1. | |
2495 | (extract_range_from_assert): Create | |
2496 | POINTER_PLUS_EXPR for pointer types. | |
2497 | (extract_range_from_binary_expr): Handle | |
2498 | only POINTER_PLUS_EXPR, MIN_EXPR, and MAX_EXPR | |
2499 | for pointer types. | |
2500 | * doc/c-tree.texi (POINTER_PLUS_EXPR): Document. | |
2501 | * tree-ssa-loop-niter.c (split_to_var_and_offset): Handle | |
2502 | POINTER_PLUS_EXPR as PLUS_EXPR. | |
2503 | (number_of_iterations_lt_to_ne): | |
2504 | For pointer types, use sizetype when | |
2505 | creating MINUS_EXPR/PLUS_EXPRs. | |
2506 | (assert_loop_rolls_lt): For pointer types, use sizetype when | |
2507 | creating MINUS_EXPR/PLUS_EXPRs. | |
2508 | (number_of_iterations_le): Likewise. | |
2509 | (expand_simple_operations): POINTER_PLUS_EXPR are simple also. | |
2510 | (derive_constant_upper_bound): Handle POINTER_PLUS_EXPR just | |
2511 | like PLUS_EXPR and MINUS_EXPR. | |
2512 | * tree-pretty-print.c (dump_generic_node): Handle | |
2513 | POINTER_PLUS_EXPR. | |
2514 | (op_prio): Likewise. | |
2515 | (op_symbol_1): Likewise. | |
2516 | * optabs.c (optab_for_tree_code): Likewise. | |
2517 | * tree-ssa-loop-manip.c (create_iv): Handle pointer base | |
2518 | specially. | |
2519 | * tree-tailcall.c (process_assignment): Mention | |
2520 | POINTER_PLUS_EXPR in a TODO comment. | |
2521 | * tree.c (build2_stat): Assert when trying to use PLUS_EXPR or | |
2522 | MINUS_EXPR with a pointer. Also assert for POINTER_PLUS_EXPR | |
2523 | not used with a pointer and an integer type. | |
2524 | * tree-scalar-evolution.c (add_to_evolution_1): Convert the | |
2525 | increment using chrec_convert_rhs instead of chrec_convert. | |
2526 | (follow_ssa_edge_in_rhs): Handle POINTER_PLUS_EXPR like | |
2527 | PLUS_EXPR except for the right hand side's type will be | |
2528 | sizetype. | |
2529 | (interpret_rhs_modify_stmt): Handle POINTER_PLUS_EXPR. | |
2530 | (fold_used_pointer_cast): Kill. | |
2531 | (pointer_offset_p): Kill. | |
2532 | (fold_used_pointer): Kill. | |
2533 | (pointer_used_p): Kill. | |
2534 | (analyze_scalar_evolution_1 <case GIMPLE_MODIFY_STMT>): Don't | |
2535 | call fold_used_pointer. | |
2536 | (instantiate_parameters_1): Convert the increment | |
2537 | using chrec_convert_rhs instead of chrec_convert. | |
2538 | Handle POINTER_PLUS_EXPR as PLUS_EXPR. | |
2539 | * builtins.c (get_pointer_alignment): Handle POINTER_PLUS_EXPR | |
2540 | instead of PLUS_EXPR. | |
2541 | (expand_builtin_strcat): Create a POINTER_PLUS_EXPR instead of | |
2542 | PLUS_EXPR for pointers. | |
2543 | (std_gimplify_va_arg_expr): Likewise. | |
2544 | (fold_builtin_memory_op): Likewise. | |
2545 | (fold_builtin_strstr): Likewise. | |
2546 | (fold_builtin_strchr): Likewise. | |
2547 | (fold_builtin_strrchr): Likewise. | |
2548 | (fold_builtin_strpbrk): Likewise. | |
2549 | (expand_builtin_memory_chk): Likewise. | |
2550 | (fold_builtin_memory_chk): Likewise. | |
2551 | (std_expand_builtin_va_start): Use | |
2552 | sizetype for the call to make_tree and then convert | |
2553 | to the pointer type. | |
2554 | (fold_builtin_memchr): Use POINTER_PLUS_EXPR | |
2555 | instead of PLUS_EXPR for adding to a pointer. | |
2556 | (std_gimplify_va_arg_expr): Use fold_build2 for | |
2557 | the creating of POINTER_PLUS_EXPR. For the BIT_AND_EXPR, cast | |
2558 | the operands to sizetype first and then cast the BIT_AND_EXPR | |
2559 | back to the pointer type. | |
2560 | * fold-const.c (build_range_check): Handle pointer types | |
2561 | specially. | |
2562 | (extract_array_ref): Look for POINTER_PLUS_EXPR instead | |
2563 | of PLUS_EXPR's. Make sure the offset is converted to | |
2564 | sizetype. | |
2565 | (try_move_mult_to_index): Strip the NOPs from the offset. | |
2566 | Remove code argument and replace all uses with PLUS_EXPR. | |
2567 | (fold_to_nonsharp_ineq_using_bound): Handle pointer types | |
2568 | specially. Don't use a pointer type for MINUS_EXPR. | |
2569 | (fold_unary): Handle for (T1)(X op Y), | |
2570 | only p+ as that is the only as that can be handled for | |
2571 | binary operators now. | |
2572 | (fold_binary <case POINTER_PLUS_EXPR>): Add folding of | |
2573 | POINTER_PLUS_EXPR. | |
2574 | <case PLUS_EXPR>: Add folding of PTR+INT into | |
2575 | PTR p+ INT. | |
2576 | Don't call try_move_mult_to_index. | |
2577 | <case MINUS_EXPR>: Fold (PTR0 p+ A) - (PTR1 p+ B) | |
2578 | into (PTR0 - PTR1) + (A - B). Fold (PTR0 p+ A) - PTR1 into | |
2579 | (PTR0 - PTR1) + A iff (PTR0 - PTR1) simplifies. | |
2580 | Don't call try_move_mult_to_index. | |
2581 | (tree_expr_nonnegative_warnv_p): Handle POINTER_PLUS_EXPR. | |
2582 | (tree_expr_nonzero_p): Likewise. | |
2583 | (fold_indirect_ref_1): Look at POINTER_PLUS_EXPR instead | |
2584 | of PLUS_EXPR for the complex expression folding. | |
2585 | * tree-chrec.c (chrec_fold_plus_poly_poly): If the | |
2586 | first chrec is a pointer type, then the second should | |
2587 | be sizetype and not the first's type. | |
2588 | For POINTER_PLUS_EXPR, use a different right hand side type. | |
2589 | Handle POINTER_PLUS_EXPR like PLUS_EXPR. | |
2590 | (chrec_fold_plus_1): For POINTER_PLUS_EXPR, use a | |
2591 | different right hand side type. | |
2592 | Handle POINTER_PLUS_EXPR like PLUS_EXPR. | |
2593 | (chrec_fold_plus): For pointer types, use POINTER_PLUS_EXPR | |
2594 | instead of PLUS_EXPR. | |
2595 | When either operand is zero, convert the other operand. | |
2596 | (chrec_apply): Use chrec_convert_rhs | |
2597 | on the argument x instead of chrec_convert. | |
2598 | (reset_evolution_in_loop): For pointer types, the new_evol | |
2599 | should be sizetype. | |
2600 | (convert_affine_scev): For POINTER_PLUS_EXPR, use a | |
2601 | different right hand side type. | |
2602 | Handle POINTER_PLUS_EXPR like PLUS_EXPR. | |
2603 | (chrec_convert_rhs): New function. | |
2604 | (chrec_convert_aggressive): For POINTER_PLUS_EXPR, use a | |
2605 | different right hand side type. | |
2606 | Handle POINTER_PLUS_EXPR like PLUS_EXPR. | |
2607 | * tree-chrec.h (chrec_convert_rhs): New prototype. | |
2608 | (build_polynomial_chrec): For pointer types, the right hand | |
2609 | * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Look for | |
2610 | POINTER_PLUS_EXPR instead of PLUS_EXPR's. | |
2611 | Remove subtraction case as it is always addition now. | |
2612 | Make sure the offset is converted to sizetype. | |
2613 | (fold_stmt_r): Don't handle PLUS_EXPR/MINUS_EXPR specially. | |
2614 | Handle POINTER_PLUS_EXPR like PLUS_EXPR was handled before. | |
2615 | * tree-ssa-loop-ivopts.c (determine_base_object): Abort for | |
2616 | PLUS_EXPR in pointer type. | |
2617 | Handle POINTER_PLUS_EXPR. | |
2618 | (tree_to_aff_combination): Likewise. | |
2619 | (force_expr_to_var_cost): Likewise. | |
2620 | (force_expr_to_var_cost): Likewise. Create a POINTER_PLUS_EXPR | |
2621 | instead of PLUS_EXPR for pointers. | |
2622 | * c-format.c (check_format_arg): Handle POINTER_PLUS_EXPR | |
2623 | instead of PLUS_EXPR of pointer types. | |
2624 | * tree-stdarg.c (va_list_counter_bump): Handle POINTER_PLUS_EXPR | |
2625 | as PLUS_EXPR. | |
2626 | (check_va_list_escapes): Likewise. | |
2627 | (check_all_va_list_escapes): Likewise. | |
2628 | * dwarf2out.c (loc_descriptor_from_tree_1): | |
2629 | Handle POINT_PLUS_EXPR as a PLUS_EXPR. | |
2630 | * expr.c (expand_expr_real_1): Handle POINTER_PLUS_EXPR. | |
2631 | (string_constant): Likewise. | |
2632 | * tree-ssa-address.c (tree_mem_ref_addr): When adding | |
2633 | the offset to the base, use POINTER_PLUS_EXPR. | |
2634 | (add_to_parts): Convert the index to sizetype. | |
2635 | (create_mem_ref): Create A POINTER_PLUS_EXPR for the one case. | |
2636 | * matrix-reorg.c (collect_data_for_malloc_call): Stmt | |
2637 | will now only be either INDIRECT_REF and POINTER_PLUS_EXPR. | |
2638 | Offset only holds something for PLUS_EXPR. | |
2639 | (ssa_accessed_in_tree): Handle POINTER_PLUS_EXPR just as | |
2640 | a PLUS_EXPR. | |
2641 | (analyze_transpose): POINTER_PLUS_EXPR will only show up now | |
2642 | and not PLUS_EXPR. | |
2643 | (analyze_accesses_for_modify_stmt): Likewise. | |
2644 | Remove comment about the type being integral type as it is | |
2645 | wrong now. | |
2646 | (can_calculate_expr_before_stmt): Handle POINTER_PLUS_EXPR as | |
2647 | PLUS_EXPR. | |
2648 | (transform_access_sites): POINTER_PLUS_EXPR will only show up now | |
2649 | and not PLUS_EXPR. | |
2650 | Correct the type which the artimentic is done in (is now | |
2651 | sizetype). | |
2652 | Reindent one loop. | |
2653 | * tree-data-ref.c (split_constant_offset): Handle | |
2654 | POINTER_PLUS_EXPR | |
2655 | * tree-affine.c (tree_to_aff_combination): Likewise. | |
2656 | * c-typeck.c (build_unary_op): For pointers create the increment | |
2657 | as a sizetype. Create a POINTER_PLUS_EXPR instead of PLUS_EXPR | |
2658 | for pointers. | |
2659 | * gimplify.c (gimplify_self_mod_expr): Create a | |
2660 | POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers. | |
2661 | (gimplify_omp_atomic_fetch_op): Handle POINTER_PLUS_EXPR. | |
2662 | * tree.def (POINTER_PLUS_EXPR): New tree code. | |
2663 | * tree-predcom.c (ref_at_iteration): If we have a pointer | |
2664 | type do the multiplication in sizetype. | |
2665 | * tree-mudflap.c (mf_xform_derefs_1): Create a | |
2666 | POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers. | |
2667 | * tree-ssa-forwprop.c | |
2668 | (forward_propagate_addr_into_variable_array_index): | |
2669 | Don't expect there to be a cast for the index as that | |
2670 | does not exist anymore. | |
2671 | (forward_propagate_addr_expr_1): Check for POINTER_PLUS_EXPR | |
2672 | instead of PLUS_EXPR. | |
2673 | Don't check for the first operand of the POINTER_PLUS_EXPR | |
2674 | was the index as it cannot be. | |
2675 | Call forward_propagate_addr_into_variable_array_index with | |
2676 | the SSA_NAME instead of the statement. | |
2677 | * varasm.c (const_hash_1): Handle POINTER_PLUS_EXPR. | |
2678 | (compare_constant): Likewise. | |
2679 | (copy_constant): Likewise. | |
2680 | (compute_reloc_for_constant): Likewise. | |
2681 | (output_addressed_constants): Likewise. | |
2682 | (initializer_constant_valid_p): Likewise. | |
2683 | * tree-ssa.c (tree_ssa_useless_type_conversion_1): | |
2684 | Convert the MIN/MAX of the inner type to the outer | |
2685 | type before comparing them. | |
2686 | * tree-ssa-loop-prefetch.c (idx_analyze_ref): Handle | |
2687 | POINTER_PLUS_EXPR instead of PLUS_EXPR. | |
2688 | (issue_prefetch_ref): Create a POINTER_PLUS_EXPR instead | |
2689 | of PLUS_EXPR for pointers. | |
2690 | * tree-inline.c (estimate_num_insns_1): Handle | |
2691 | POINTER_PLUS_EXPR. | |
2692 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): | |
2693 | Create a POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers. | |
2694 | (bump_vector_ptr): Create a POINTER_PLUS_EXPR | |
2695 | instead of PLUS_EXPR for the pointer increment statement. | |
2696 | (vect_update_ivs_after_vectorizer): For pointer types, create | |
2697 | POINTER_PLUS_EXPR instead of PLUS_EXPR and also create | |
2698 | MULT_EXPR in sizetype. | |
2699 | (vect_gen_niters_for_prolog_loop): Add a cast when creating | |
2700 | byte_misalign. | |
2701 | * tree-object-size.c (plus_expr_object_size): Handle | |
2702 | POINTER_PLUS_EXPR instead of PLUS_EXPR. Removing all the extra | |
2703 | code which is trying to figure out which side is a pointer and | |
2704 | is the index. | |
2705 | (check_for_plus_in_loops_1): Likewise. | |
2706 | (check_for_plus_in_loops): Likewise. | |
2707 | * c-common.c (pointer_int_sum): Create a | |
2708 | POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers. | |
2709 | * tree-ssa-structalias.c (handle_ptr_arith): Handle | |
2710 | only POINTER_PLUS_EXPR. Removing all the extra | |
2711 | code which is trying to figure out which side is a pointer and | |
2712 | is the index. | |
2713 | * tree-cfg.c (verify_expr): Add extra checking for pointers and | |
2714 | PLUS_EXPR and MINUS_EXPR. | |
2715 | Also add checking to make sure the operands of POINTER_PLUS_EXPR | |
2716 | are correct. | |
2717 | * config/frv/frv.c (frv_expand_builtin_va_start): Use sizetype | |
2718 | with make_tree, instead of a pointer type. | |
2719 | * config/s390/s390.c (s390_va_start): Use POINTER_PLUS_EXPR | |
2720 | for pointers instead of PLUS_EXPR. | |
2721 | (s390_gimplify_va_arg): Likewise. | |
2722 | * config/spu/spu.c (spu_va_start): Create POINTER_PLUS_EXPR | |
2723 | instead of PLUS_EXPR when doing addition on pointer | |
2724 | types. Use sizetype for the second operand. | |
2725 | (spu_gimplify_va_arg_expr): Likewise. | |
2726 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Use | |
2727 | POINTER_PLUS_EXPR instead of PLUS_EXPR when the operand was | |
2728 | a pointer. Don't create a BIT_AND_EXPR for pointer types. | |
2729 | * config/i386/i386.c (ix86_va_start): Use POINTER_PLUS_EXPR | |
2730 | for the pointer addition and also use size_int/sizetype | |
2731 | for the offset. | |
2732 | (ix86_gimplify_va_arg): Likewise. | |
2733 | Perform BIT_AND_EXPR on sizetype arguments. | |
2734 | * config/sh/sh.c (sh_va_start): Call make_tree with sizetype | |
2735 | and convert its result to a pointer type. Use POINTER_PLUS_EXPR | |
2736 | for the pointer additions and also use size_int for the offsets. | |
2737 | (sh_gimplify_va_arg_expr): Use POINTER_PLUS_EXPR for the pointer | |
2738 | additions and also use size_int for the offsets. Perform | |
2739 | BIT_AND_EXPR on sizetype arguments. | |
2740 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Use | |
2741 | POINTER_PLUS_EXPR for pointers and create the | |
2742 | BIT_AND_EXPR in sizetype. | |
2743 | * config/rs6000/rs6000.c (rs6000_va_start): Use POINTER_PLUS_EXPR | |
2744 | instead of PLUS_EXPR for pointer addition. | |
2745 | (rs6000_va_start): Likewise. | |
2746 | Also use sizetype for the offset. | |
2747 | * config/pa/pa.c (reloc_needed): Handle POINTER_PLUS_EXPR | |
2748 | as PLUS_EXPR/MINUS_EXPR. | |
2749 | (hppa_gimplify_va_arg_expr): Don't create MINUS_EXPR or | |
2750 | PLUS_EXPR for pointers, instead use POINTER_PLUS_EXPR. | |
2751 | Don't use BIT_AND_EXPR on a pointer type, convert the | |
2752 | expression to sizetype first. | |
2753 | * config/mips/mips.c (mips_va_start): Use POINTER_PLUS_EXPR | |
2754 | for pointers. | |
2755 | (mips_gimplify_va_arg_expr): Likewise. | |
2756 | Don't create BIT_AND_EXPR in a pointer type. | |
2757 | ||
1d2b1d91 EC |
2758 | 2007-06-15 Eric Christopher <echristo@apple.com> |
2759 | ||
2760 | * config.gcc (i?86-*-darwin*): Add t-crtfm and t-crtpc. | |
2761 | (x86_64-*-darwin*): Ditto. | |
2762 | * config/i386/darwin.h (CRTEND_SPEC): New. Add support | |
2763 | for above. | |
2764 | ||
e9f9692b MW |
2765 | 2007-06-15 Matthew Wilcox <matthew@wil.cx> |
2766 | ||
2767 | * doc/extend.texi: Document behavior of __attribute__((aligned)) | |
2768 | on typedefs. | |
1d2b1d91 | 2769 | |
c3a1ef9d MM |
2770 | 2007-06-15 Mark Mitchell <mark@codesourcery.com> |
2771 | ||
2772 | * rtlanal.c (note_stores): Improve documentation. | |
2773 | ||
2f119dcc BS |
2774 | 2007-06-15 Bernd Schmidt <bernd.schmidt@analog.com> |
2775 | ||
2776 | * config/bfin/elf.h (ASM_GENERATE_INTERNAL_LABEL, | |
2777 | LOCAL_LABEL_PREFIX): Delete. | |
2778 | * config/bfin/bfin.c (TARGET_ASM_INTERNAL_LABEL): Delete. | |
2779 | (bfin_internal_label): Delete. | |
2780 | ||
3353afbe UB |
2781 | 2007-06-15 Uros Bizjak <ubizjak@gmail.com> |
2782 | ||
2783 | * libgcc2.c (CEXT): When compiling L_multc3 and L_divtc3, | |
2784 | define to "l" if LIBGCC_LONG_DOUBLE_SIZE == 128, | |
2785 | otherwise define to LIBGCC2_TF_CEXT. | |
2786 | * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): New define. | |
2787 | (LIBGCC_TF_CEXT): Ditto. | |
2788 | (TF_SIZE): Ditto. | |
2789 | ||
203927fc SP |
2790 | 2007-06-14 Seongbae Park <seongbae.park@gmail.com> |
2791 | ||
2792 | PR rtl-optimization/32339 | |
3353afbe UB |
2793 | * df-scan.c (df_uses_record): Don't modify flags but just add to |
2794 | it for df_ref_record. | |
203927fc | 2795 | |
e89993b3 AP |
2796 | 2007-06-14 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2797 | ||
2798 | * tree-mudflap.c: Fix whitespace issues. | |
2799 | ||
83f6221b KH |
2800 | 2007-06-15 Kazu Hirata <kazu@codesourcery.com> |
2801 | ||
2802 | * config/m68k/m68k.c (ASM_DOT, ASM_DOTW, ASM_DOTL): Remove. | |
2803 | ||
5eafdd32 EC |
2804 | 2007-06-14 Eric Christopher <echristo@apple.com> |
2805 | ||
2806 | * config/i386/sse.md (movdi_to_sse): Rewrite body. | |
2807 | (movv4sf): Use gcc_unreachable instead of abort. | |
2808 | ||
4962b679 UB |
2809 | 2007-06-14 Uros Bizjak <ubizjak@gmail.com> |
2810 | ||
2811 | PR target/32268 | |
3353afbe | 2812 | * config/i386/sfp-machine.h (CMPtype): New define. |
4962b679 UB |
2813 | (mach stubs): Use CMPtype instead of int as a return type. |
2814 | ||
97943b3c UB |
2815 | 2007-06-14 Uros Bizjak <ubizjak@gmail.com> |
2816 | ||
2817 | * config/soft-fp/eqdf2.c, config/soft-fp/eqsf2.c, | |
2818 | config/soft-fp/eqtf2.c, config/soft-fp/gedf2.c, | |
2819 | config/soft-fp/gesf2.c, config/soft-fp/getf2.c, | |
2820 | config/soft-fp/ledf2.c, config/soft-fp/lesf2.c, | |
2821 | config/soft-fp/letf2.c, config/soft-fp/unorddf2.c, | |
2822 | config/soft-fp/unordsf2.c, config/soft-fp/unordtf2.c, | |
2823 | config/soft-fp/soft-fp.h: Update from glibc CVS. | |
2824 | ||
3fcfad76 BS |
2825 | 2007-06-14 Bernd Schmidt <bernd.schmidt@analog.com> |
2826 | ||
2827 | * config/bfin/uclinux.h (MFWRAP_SPEC): New. | |
2828 | ||
90745823 RIL |
2829 | 2007-06-14 Rask Ingemann Lambertsen <rask@sygehus.dk> |
2830 | ||
2831 | PR target/32341 | |
2832 | * config/v850/v850.c: Include dataflow header file. | |
2833 | (substitute_ep_register): Fix typo. | |
2834 | ||
04c3028a | 2835 | 2007-06-14 Paolo Bonzini <bonzini@gnu.org> |
77a1416d | 2836 | |
04c3028a | 2837 | * configure.ac: Fix earlier checkin. |
77a1416d L |
2838 | * configure: Regenerated. |
2839 | ||
3bbd5a19 PB |
2840 | 2007-06-14 Paolo Bonzini <bonzini@gnu.org> |
2841 | ||
2842 | * acinclude.m4 (gcc_AC_CHECK_PROG_VER): Remove. | |
2843 | * aclocal.m4: Regenerate. | |
2844 | * configure.ac: Use ACX_PROG_CC_WARNING_OPTS, | |
2845 | ACX_PROG_CC_WARNINGS_ARE_ERRORS, | |
2846 | ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_CHECK_PROG_VER. | |
2847 | * configure: Regenerate. | |
77a1416d | 2848 | * Makefile.in (LOOSE_WARN): Subst loose_warn. |
3bbd5a19 | 2849 | |
77a1416d | 2850 | * Makefile.in (quickstrap): Build libgcc too. |
3bbd5a19 | 2851 | |
ab28cc38 PB |
2852 | 2007-06-14 Paolo Bonzini <bonzini@gnu.org> |
2853 | ||
2854 | * configure.ac: Add --enable-checking=df. Explicitly mention that | |
2855 | the variables are initialized as for "release". | |
2856 | * df-core.c: Use it. | |
2857 | * configure: Regenerate. | |
2858 | * config.in: Regenerate. | |
2859 | ||
20dca97b BW |
2860 | 2007-06-14 Bob Wilson <bob.wilson@acm.org> |
2861 | ||
2862 | * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use | |
2863 | validate_replace_rtx instead of replace_rtx. | |
2864 | (xtensa_expand_prologue): Call df_insn_rescan after replace_rtx. | |
2865 | ||
76f5e200 DS |
2866 | 2007-06-14 Danny Smith <dannysmith@users.sourceforge.net> |
2867 | ||
2868 | * config/i386/cygming.h (DWARF_FRAME_REGNUM): Define. | |
2869 | (DWARF2_UNWIND_INFO): Override default if configured with | |
2870 | SJLJ EH disabled. | |
2871 | * config/i386/cygwin.h (STARTFILE_SPEC): Add crtbegin.o. | |
2872 | (ENDFILE_SPEC): Add crtend.o. | |
2873 | * config/i386/mingw32.h (STARTFILE_SEC): Add crtbegin.o. | |
2874 | (ENDFILE_SPEC): Add crtend.o. | |
2875 | (TARGET_USE_JCR_SECTION): Define. | |
2876 | (MD_UNWIND_SUPPORT): Define for 32-bit target. | |
2877 | ||
2878 | * config/i386/cygming-crtbegin.c: New file. | |
2879 | * config/i386/cygming-crtend.c: New file. | |
2880 | ||
2881 | 2007-06-14 Pascal Obry Pascal Obry <obry@adacore.com> | |
2882 | ||
2883 | * config/i386/w32-unwind.h: New file. | |
2884 | ||
ab47d43e EC |
2885 | 2007-06-13 Eric Christopher <echristo@apple.com> |
2886 | ||
2887 | * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Don't let | |
2888 | the user set a value below STACK_BOUNDARY. | |
2889 | ||
b64a6dbd TS |
2890 | 2007-06-13 Thiemo Seufer <ths@networkno.de> |
2891 | ||
2892 | * config/mips/linux.h, config/mips/linux64.h (LIB_SPEC): Always | |
2893 | imply -lpthread for -pthread. | |
2894 | ||
efd7122b KH |
2895 | 2007-06-13 Kazu Hirata <kazu@codesourcery.com> |
2896 | ||
2897 | * basic-block.h: Remove the prototype for | |
2898 | free_basic_block_vars. | |
2899 | * cfglayout.h: Remove the prototype for | |
2900 | insn_locators_initialize. | |
2901 | * tree.h: Remove the prototype for emit_line_note. | |
2902 | ||
9c57e1e8 KH |
2903 | * tree-ssa-pre.c (mergephitemp): Remove. |
2904 | (init_pre): Don't use mergephitemp. | |
2905 | ||
b26f6ed7 EC |
2906 | 2007-06-13 Eric Christopher <echristo@apple.com> |
2907 | ||
2908 | * config/i386/i386.c (override_options): If we've specified | |
2909 | an arch then don't use TARGET_SUBTARGET_ISA_DEFAULTs. | |
2910 | ||
29dc9e20 | 2911 | 2007-06-13 Bob Wilson <bob.wilson@acm.org> |
b26f6ed7 | 2912 | |
29dc9e20 BW |
2913 | * df-scan.c (df_get_entry_block_def_set): Check if STATIC_CHAIN_REGNUM |
2914 | is defined. | |
b26f6ed7 | 2915 | |
1ca950ca BS |
2916 | 2007-06-13 Bernd Schmidt <bernd.schmidt@analog.com> |
2917 | ||
2918 | * config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Use gen_frame_mem. | |
2919 | * config/bfin/bfin.md (UNSPEC_VOLATILE_STORE_EH_HANDLER): New constant. | |
2920 | (eh_store_handler): New pattern. | |
2921 | (eh_return): Emit it instead of a plain move. | |
2922 | ||
8d364104 UB |
2923 | 2007-06-13 Uros Bizjak <ubizjak@gmail.com> |
2924 | ||
2925 | * config/i386/i386.c (ix86_init_mmx_sse_builtins) | |
2926 | [__builtin_infq, __builtin_fabsq]: Define usign def_builtin. | |
2927 | [__builtin_ia32_rsqrtps, __builtin_ia32_rsqrtss]: Define using | |
2928 | def_builtin_const. | |
2929 | ||
44017a45 BS |
2930 | 2007-06-13 Bernd Schmidt <bernd.schmidt@analog.com> |
2931 | ||
2932 | * config/bfin/bfin.c (gen_one_bundle): Delete unused local variables. | |
2933 | (find_next_insn_start, find_load): New functions. | |
2934 | (bfin_reorg): Use them to deal with the fact that parallel insns are | |
2935 | no longer represented as a SEQUENCE. | |
2936 | ||
06063fa2 EB |
2937 | 2007-06-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
2938 | ||
2939 | * config/sparc/sparc.c (sparc_override_options): Initialize | |
2940 | fpu mask correctly. | |
2941 | ||
eaf7f7e7 DK |
2942 | 2007-06-13 Dave Korn <dave.korn@artimi.com> |
2943 | ||
2944 | * config/i386/i386.c (ix86_eax_live_at_start_p): Use | |
2945 | df_get_live_out. | |
2946 | ||
0d52bcc1 KH |
2947 | 2007-06-13 Kazu Hirata <kazu@codesourcery.com> |
2948 | ||
2949 | * auto-inc-dec.c, c-incpath.c, config/c4x/libgcc.S, | |
2950 | config/sh/divcost-analysis, dbgcnt.def, df-core.c, | |
2951 | df-problems.c, df-scan.c, df.h, dominance.c, dse.c, regstat.c, | |
2952 | tree-data-ref.c, tree-ssa-loop-im.c, tree-ssa-loop-prefetch.c, | |
2953 | tree-vect-transform.c: Fix comment typos. Follow spelling | |
2954 | conventions. | |
2955 | ||
2956 | 2007-06-12 Seongbae Park <seongbae.park@gmail.com> | |
b718216c SP |
2957 | |
2958 | * df-scan.c (df_get_exit-block_use_set): Always add the stack pointer | |
2959 | to the exit block use set. | |
89a95777 | 2960 | (df_insn_delete, df_insn_rescan): Fixed spelling of "deferring". |
b718216c SP |
2961 | * gcse.c (cpro_jump): Don't emit barrier in cfglayout mode. |
2962 | * config/sparc/sparc.c (sparc_check_64): Check df != NULL. | |
2963 | ||
0a090f42 SP |
2964 | 2007-06-12 Seongbae Park <seongbae.park@gmail.com> |
2965 | ||
2966 | * opts.c (common_handle_option): Handle new option -fdbg-cnt-list. | |
2967 | * dbgcnt.c (dbg_cnt_set_limit_by_name): Return value | |
2968 | to indicate an error. | |
7e08fa35 UB |
2969 | (dbg_cnt_process_single_pair, dbg_cnt_list_all_counters): |
2970 | New functions. | |
0a090f42 SP |
2971 | (dbg_cnt_process_opt): Print an error on a bad argument. |
2972 | * dbgcnt.h (dbg_cnt_list_all_counters): New function declaration. | |
2973 | * common.opt (-fdbg-cnt-list): New. | |
2974 | * doc/invoke.texi (-fdbg-cnt-list,-fdbg-cnt=): New. | |
2975 | ||
773a7861 EB |
2976 | 2007-06-12 Eric Botcazou <ebotcazou@adacore.com> |
2977 | ||
2978 | * tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything | |
2979 | flag on ref-all pointers. | |
2980 | ||
4543943a AP |
2981 | 2007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2982 | ||
2983 | PR middle-end/31579 | |
2984 | * expr.c (expand_expr_addr_expr_1): Call expand_expr | |
2985 | for the offset with the modifier as EXPAND_INITIALIZER | |
2986 | if the modifier is EXPAND_INITIALIZER. | |
2987 | (expand_expr_real_1 <case INTEGER_CST>): Don't force to | |
2988 | a register if we had an overflow. | |
2989 | ||
4c8c70e0 KG |
2990 | 2007-06-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
2991 | ||
2992 | * real.c (real_isfinite): New. | |
2993 | (real_sqrt): Use it. | |
2994 | * real.h (real_isfinite): New. | |
2995 | * builtins.c: Use it. | |
2996 | ||
058dcc25 ILT |
2997 | 2007-06-12 Ian Lance Taylor <iant@google.com> |
2998 | Daniel Berlin <dberlin@dberlin.org> | |
2999 | ||
3000 | PR libstdc++/29286 | |
3001 | * tree.def: Add CHANGE_DYNAMIC_TYPE_EXPR. | |
3002 | * tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Define. | |
3003 | (CHANGE_DYNAMIC_TYPE_LOCATION): Define. | |
3004 | (DECL_NO_TBAA_P): Define. | |
3005 | (struct tree_decl_common): Add no_tbaa_flag field. | |
3006 | * tree-ssa-structalias.c (struct variable_info): Add | |
3007 | no_tbaa_pruning field. | |
3008 | (new_var_info): Initialize no_tbaa_pruning field. | |
3009 | (unify_nodes): Copy no_tbaa_pruning field. | |
3010 | (find_func_aliases): Handle CHANGE_DYNAMIC_TYPE_EXPR. | |
3011 | (dump_solution_for_var): Print no_tbaa_pruning flag. | |
3012 | (set_uids_in_ptset): Add no_tbaa_pruning parameter. Change all | |
3013 | callers. | |
3014 | (compute_tbaa_pruning): New static function. | |
3015 | (compute_points_to_sets): Remove CHANGE_DYNAMIC_TYPE_EXPR nodes. | |
3016 | Call compute_tbaa_pruning. | |
3017 | * tree-ssa-alias.c (may_alias_p): Test no_tbaa_flag for pointers. | |
3018 | * gimplify.c (gimplify_expr): Handle CHANGE_DYNAMIC_TYPE_EXPR. | |
3019 | * gimple-low.c (lower_stmt): Likewise. | |
3020 | * tree-gimple.c (is_gimple_stmt): Likewise. | |
3021 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
3022 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. | |
3023 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
3024 | (copy_result_decl_to_var): Likewise. | |
3025 | * expr.c (expand_expr_real_1): Likewise. | |
3026 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
3027 | * tree-inline.c (copy_decl_to_var): Copy DECL_NO_TBAA_P flag. | |
3028 | * omp-low.c (omp_copy_decl_2): Likewise. | |
3029 | * print-tree.c (print_node): Print DECL_NO_TBAA_P flag. | |
3030 | * doc/c-tree.texi (Expression trees): Document | |
3031 | CHANGE_DYNAMIC_TYPE_EXPR. | |
3032 | ||
52a39a4c KG |
3033 | 2007-06-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
3034 | ||
3035 | * fold-const.c (fold_binary): Guard (X-X) -> 0 transformation | |
3036 | with !HONOR_NANS and !HONOR_INFINITIES. | |
3037 | * simplify-rtx.c (simplify_binary_operation_1): Likewise. | |
3038 | ||
1a9075e2 TG |
3039 | 2007-06-12 Tristan Gingold <gingold@adacore.com> |
3040 | ||
3041 | * gcov.c: Comments updated. | |
3042 | (source_info): Add file_time field. | |
3043 | (source_index): New variable. | |
3044 | (mutiple_files): New variable. | |
3045 | (generate_results): New function extracted from process_file. | |
3046 | (process_file): Save and restore chain of functions, generate | |
3047 | results and free structures only if not merging results. | |
3048 | (release_structures): File names are now freed in create_file_names | |
3049 | (create_file_names): Free previous file names. | |
3050 | (find_source): File date is now read here and modifications in | |
3051 | source files is checked here. | |
3052 | (read_graph_file): Only reverse order of functions for the current | |
3053 | object file. | |
3054 | (make_gcov_file_name): Do not generate long names if input_name is | |
3055 | NULL. | |
b26f6ed7 | 3056 | (output_lines): If merging results do not display graph, data and |
1a9075e2 TG |
3057 | runs informations. |
3058 | Checking source file modification is done in find_source. | |
3059 | ||
3060 | * doc/gcov.texi: Append an s to sourcefile. | |
3061 | ||
b18e284e BS |
3062 | 2007-06-12 Bernd Schmidt <bernd.schmidt@analog.com> |
3063 | ||
3064 | * config/bfin/bfin.md (UNSPEC_NOP): New constant. | |
3065 | (forced_nop): New pattern. | |
3066 | * config/bfin/bfin.c: Include "df.h". | |
3067 | (add_to_reg): Use df_regs_ever_live_p instead of regs_ever_live. | |
3068 | (bfin_discover_loop): Use df_get_live_in instead of | |
3069 | global_live_at_start. | |
3070 | (bfin_reorder_loops): Pass 0 to cfg_layout_initialize. Call | |
3071 | df_analyze when done. | |
3072 | (gen_one_bundle): Don't generate SEQUENCE insns, just put modes on | |
3073 | the insns. Use QImode for the final insn in a bundle. Call | |
3074 | df_insn_rescan on generated NOPs; use gen_forced_nop instead of | |
3075 | gen_nop. | |
3076 | (reorder_var_tracking_notes): New function. | |
3077 | (bfin_reorg): Pass no argument to split_all_insns. Don't call | |
3078 | update_life_info. Call df_analyze after scheduling and bundle | |
7e08fa35 UB |
3079 | generation. Call reorder_var_tracking_notes if generating these |
3080 | notes. Call df_finish_pass at the end. | |
b18e284e | 3081 | |
8c8fa927 DM |
3082 | 2007-06-12 Dirk Mueller <dmueller@suse.de> |
3083 | ||
fc78ca2b | 3084 | * optabs.c (debug_optab_libfuncs): fix gcc_assert to |
8c8fa927 DM |
3085 | a comparison, not an assignment. |
3086 | ||
0e1a6f29 OH |
3087 | 2007-06-12 Olivier Hainque <hainque@adacore.com> |
3088 | ||
3089 | * tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR. | |
3090 | Request walking the subtrees only, leaving the current is_lhs/val_only | |
3091 | untouched. | |
3092 | (convert_non_local_reference): Likewise. | |
b26f6ed7 | 3093 | |
beff4180 NS |
3094 | 2007-06-12 Nathan Sidwell <nathan@codesourcery.com> |
3095 | ||
3096 | * config/m68k/m68k-devices.def (52221, 52223, 5253): New. | |
b26f6ed7 | 3097 | |
18d08014 RG |
3098 | 2007-06-12 Richard Guenther <rguenther@suse.de> |
3099 | ||
3100 | PR tree-optimization/15353 | |
3101 | PR tree-optimization/31657 | |
3102 | * passes.c (init_optimization_passes): Add pass_tree_ifcombine. | |
3103 | * timevar.def: Add TV_TREE_IFCOMBINE. | |
3104 | * tree-pass.h (pass_tree_ifcombine): Declare. | |
3105 | * tree-ssa-ifcombine.c: New file. | |
3106 | * tree-ssa-phiopt.c (blocks_in_phiopt_order): Export. | |
3107 | * tree-flow.h (blocks_in_phiopt_order): Declare. | |
3108 | * Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o. | |
3109 | (tree-ssa-ifcombine.o): New dependencies. | |
3110 | ||
7f482dfe UB |
3111 | 2007-06-12 Uros Bizjak <ubizjak@gmail.com> |
3112 | ||
3113 | PR rtl-optimization/32293 | |
3114 | * combine.c (simplify_if_then_else): Truncate return from | |
3115 | nonzero_bits() to correct mode. | |
3116 | ||
9883e373 UB |
3117 | 2007-06-12 Uros Bizjak <ubizjak@gmail.com> |
3118 | ||
3119 | * fold-const (fold_binary) [RDIV_EXPR]: Also optimize a/cbrt(b/c) | |
3120 | into a*cbrt(c/b) if flag_unsafe_math_optimizations is set. | |
3121 | ||
16b4cb48 DN |
3122 | 2007-06-11 Diego Novillo <dnovillo@google.com> |
3123 | ||
3124 | * Makefile.in (reload1.o-warn): Remove. | |
3125 | ||
46cc2141 SP |
3126 | 2007-06-11 Seongbae Park <seongbae.park@gmail.com> |
3127 | ||
3128 | * combine.c (subst): Use reg_overlap_mentioned_p | |
3129 | instead of comparing register numbers directly. | |
3130 | ||
b0384c54 KZ |
3131 | 2007-06-11 Kenneth Zadeck <zadeck@naturalbridge.com> |
3132 | ||
3133 | * reload1.c (mark_home_live_1): Use the mode parameter. | |
3134 | ||
0a41f3b2 KZ |
3135 | 2007-06-11 Kenneth Zadeck <zadeck@naturalbridge.com> |
3136 | ||
3137 | * df-scan.c (df_insn_delete, df_insn_rescan, df_insn_rescan_all, | |
3138 | df_process_deferred_rescans, df_notes_rescan): Fixed spelling of | |
3139 | word "deferred". | |
3140 | * df-core.c: Ditto. | |
b26f6ed7 | 3141 | |
6fb5fa3c DB |
3142 | 2007-06-11 Daniel Berlin <dberlin@dberlin.org> |
3143 | ||
3144 | * Merge dataflow-branch into mainline (see ChangeLog.dataflow) | |
3145 | ||
a91d32a4 UB |
3146 | 2007-06-11 Uros Bizjak <ubizjak@gmail.com> |
3147 | ||
3148 | * config/i386/i386.md ("*movtf_internal): Penalize moves to and | |
3149 | from integer registers. | |
3150 | (FP mode splitters): Handle TFmode. | |
3151 | ||
73fd4ad6 EB |
3152 | 2007-06-11 Eric Botcazou <ebotcazou@adacore.com> |
3153 | ||
3154 | * tree-ssa-structalias.c (find_what_p_points_to): Return false | |
3155 | for ref-all pointers that point-to anything. | |
3156 | ||
afcc986d JM |
3157 | 2007-06-11 Joseph Myers <joseph@codesourcery.com> |
3158 | ||
3159 | * config/arm/arm.c (arm_output_dwarf_dtprel, | |
3160 | TARGET_ASM_OUTPUT_DWARF_DTPREL): New. | |
3161 | ||
0ea80eb6 BS |
3162 | 2007-06-11 Bernd Schmidt <bernd.schmidt@analog.com> |
3163 | ||
3164 | * config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn, | |
3165 | movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant | |
3166 | to memory moves. | |
3167 | ||
b0464c88 RE |
3168 | 2007-06-11 Rafael Avila de Espindola <espindola@google.com> |
3169 | ||
3170 | * gcc/tree.c (signed_or_unsigned_type_for): New. | |
3171 | (unsigned_type_for): Use signed_or_unsigned_type_for. | |
3172 | (signed_type_for): Use signed_or_unsigned_type_for. | |
3173 | * gcc/tree.h (signed_or_unsigned_type_for): New. | |
3174 | (get_signed_or_unsigned_type): Remove. | |
3175 | * gcc/fold-const.c (fold_negate_expr): Use signed_type_for instead of | |
3176 | lang_hooks.types.signed_type | |
3177 | (size_diffop): Likewise. | |
3178 | (all_ones_mask_p): Likewise. | |
3179 | (build_range_check): Likewise. | |
3180 | (fold_cond_expr_with_comparison): Likewise. | |
3181 | (fold_cond_expr_with_comparison): Likewise. | |
3182 | (unextend): Likewise. | |
3183 | (extract_muldiv_1): Likewise. | |
3184 | (fold_single_bit_test_into_sign_test): Likewise. | |
3185 | (fold_binary): Likewise. | |
3186 | (fold_ternary): Likewise. | |
3187 | (operand_equal_for_comparison_p): Use signed_or_unsigned_type_for | |
3188 | instead of get_signed_or_unsigned_type. | |
3189 | * gcc/c-objc-common.h (LANG_HOOKS_SIGNED_TYPE): Remove. | |
3190 | (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove. | |
3191 | * gcc/expr.c (signed_or_unsigned_type_for): Use | |
3192 | signed_or_unsigned_type_for instead of get_signed_or_unsigned_type. | |
3193 | * gcc/langhooks.c (get_signed_or_unsigned_type): Remove. | |
3194 | (lhd_signed_or_unsigned_type): Remove. | |
3195 | * gcc/langhooks.h (lang_hooks_for_types): Remove signed_type and | |
3196 | signed_or_unsigned_type. | |
3197 | (lhd_signed_or_unsigned_type): Remove. | |
3198 | * gcc/expmed.c (make_tree): Use signed_type_for instead of | |
3199 | lang_hooks.types.signed_type. | |
3200 | * gcc/c-common.c (same_scalar_type_ignoring_signedness): Use | |
3201 | c_common_signed_type instead of lang_hooks.types.signed_type. | |
3202 | (c_common_unsigned_type): New. | |
3203 | (c_common_signed_type): Just call c_common_signed_or_unsigned_type. | |
3204 | (shorten_compare): Use c_common_unsigned_type instead of | |
3205 | c_common_signed_or_unsigned_type. | |
3206 | (c_common_nodes_and_builtins): Use c_common_unsigned_type instead of | |
3207 | unsigned_type_for. | |
3208 | * gcc/convert.c (convert_to_integer): Use signed_type_for instead of | |
3209 | lang_hooks.types.signed_type. | |
3210 | * gcc/langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove. | |
3211 | (LANG_HOOK_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_SIGNED_TYPE and | |
3212 | LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE. | |
3213 | * gcc/c-format.c (check_format_types): Use c_common_unsigned_type | |
3214 | instead of unsigned_type_for. | |
3215 | * gcc/c-decl.c (groakdeclarator): Likewise. | |
3216 | * gcc/c-typeck.c (convert_for_assignment): Likewise. | |
3217 | * gcc/c-common.h (c_common_unsigned_type): New. | |
3218 | ||
69c553ef UB |
3219 | 2007-06-11 Uros Bizjak <ubizjak@gmail.com> |
3220 | ||
3221 | PR target/32280 | |
3222 | * config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ... | |
3223 | * config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here. | |
3224 | ||
f1da2df1 UB |
3225 | 2007-06-11 Uros Bizjak <ubizjak@gmail.com> |
3226 | ||
3227 | PR middle-end/32279 | |
3228 | * fold-const (fold_binary) [RDIV_EXPR]: Optimize a/sqrt(b/c) | |
3229 | into a*sqrt(c/b) if flag_unsafe_math_optimizations is set. | |
3230 | ||
51c0074e JS |
3231 | 2007-06-10 Jan Sjodin <jan.sjodin@amd.com> |
3232 | Sebastian Pop <sebpop@gmail.com> | |
3233 | ||
3234 | * lambda-code.c (remove_iv): New. | |
3235 | (lambda_loopnest_to_gcc_loopnest): Use remove_iv. | |
3236 | ||
79f5e442 ZD |
3237 | 2007-06-10 Zdenek Dvorak <dvorakz@suse.cz> |
3238 | ||
3239 | * tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL. | |
3240 | * tree-predcom.c (mark_virtual_ops_for_renaming): Exported. | |
3241 | * tree-ssa-loop-prefetch.c: Include optabs.h. | |
3242 | (FENCE_FOLLOWING_MOVNT): New macro. | |
3243 | (struct mem_ref): Add independent_p and storent_p fields. | |
3244 | (record_ref): Initalize the new fields. | |
3245 | (gather_memory_references_ref): Return true if the reference | |
3246 | could be analysed. | |
3247 | (gather_memory_references): Check whether all memory accesses | |
3248 | in loop were recorded. | |
3249 | (should_issue_prefetch_p): Return false for nontemporal stores. | |
3250 | (nontemporal_store_p, mark_nontemporal_store, emit_mfence_after_loop, | |
3251 | may_use_storent_in_loop_p, mark_nontemporal_stores): New functions. | |
3252 | (determine_loop_nest_reuse): Detect independent memory references. | |
3253 | (loop_prefetch_arrays): Call mark_nontemporal_stores. | |
3254 | * tree-flow.h (mark_virtual_ops_for_renaming): Declare. | |
3255 | * Makefile.in (tree-ssa-loop-prefetch.o): Add OPTABS_H dependency. | |
3256 | * config/i386/i386.h (x86_mfence): Declare. | |
3257 | (FENCE_FOLLOWING_MOVNT): Return x86_mfence. | |
3258 | * config/i386/i386.c (x86_mfence): New variable. | |
3259 | (ix86_init_mmx_sse_builtins): Initialize x86_mfence. | |
3260 | ||
3261 | * tree-pretty-print.c (dump_generic_node): Mark nontemporal stores. | |
3262 | * optabs.c (init_optabs): Initialize storent_optab. | |
3263 | * optabs.h (enum optab_index): Add OTI_storent. | |
3264 | (storent_optab): Declare. | |
3265 | * genopinit.c (optabs): Add initialization for storent_optab. | |
3266 | * tree.h (MOVE_NONTEMPORAL): New macro. | |
3267 | * expr.c (expand_assignment, store_expr, store_constructor_field, | |
3268 | store_constructor, store_field, expand_expr_real_1): Propagate | |
3269 | nontemporality of the expanded store. | |
3270 | (emit_storent_insn): New function. | |
3271 | * expr.h (expand_assignment, store_expr): Declaration changed. | |
3272 | * function.c (assign_parm_setup_reg): Pass false as nontemporality | |
3273 | to expand_assignment. | |
3274 | * stmt.c (expand_asm_expr): Ditto. | |
3275 | * calls.c (initialize_argument_information): Pass false as | |
3276 | nontemporality to store_expr. | |
3277 | * config/i386/sse.md (storentv4sf, storentv2df, storentv2di, | |
3278 | storentsi): New. | |
3279 | ||
6bdff197 DB |
3280 | 2007-06-09 Daniel Berlin <dberlin@dberlin.org> |
3281 | ||
3282 | * tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd | |
3283 | parameter, use it. | |
3284 | (find_what_p_points_to): Pass new parameter to set_uids_in_ptset. | |
3285 | ||
55edccf4 DB |
3286 | 2007-06-09 Daniel Berlin <dberlin@dberlin.org> |
3287 | ||
3288 | * tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b, | |
3289 | and allow DECL_P here. | |
3290 | ||
9e824336 ZD |
3291 | 2007-06-09 Zdenek Dvorak <dvorakz@suse.cz> |
3292 | ||
3293 | * tree-scalar-evolution.c (follow_ssa_edge_in_rhs, | |
3294 | follow_ssa_edge_in_condition_phi, follow_ssa_edge): Keep more precise | |
3295 | track of the size of the expression. | |
3296 | * cfghooks.c (merge_blocks): Remove block from loops structure only | |
3297 | after call of the merge_blocks hook. | |
3298 | ||
0da300cd TT |
3299 | 2007-06-09 Tom Tromey <tromey@redhat.com> |
3300 | ||
3301 | * c-decl.c (grokdeclarator): Added 'deprecated_state' argument. | |
3302 | (deprecated_state): Removed. | |
3303 | (start_decl): Update. | |
3304 | (enum deprecated_states): Moved earlier. | |
3305 | (groktypename): Update. | |
3306 | (push_parm_decl): Likewise. | |
3307 | (grokfield): Likewise. | |
3308 | (start_function): Likewise. | |
3309 | ||
9c4ed267 ILT |
3310 | 2007-06-09 Ian Lance Taylor <iant@google.com> |
3311 | ||
3312 | PR tree-optimization/32169 | |
3313 | * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and | |
3314 | CONVERT_EXPR, check whether min and max both converted to an | |
3315 | overflow infinity representation. | |
3316 | ||
36808d08 EB |
3317 | 2007-06-08 Eric Botcazou <ebotcazou@adacore.com> |
3318 | ||
3319 | * reload1.c (fixup_abnormal_edges): Clear bb field for insns | |
3320 | not inserted on the edge. | |
3321 | ||
582711fe BW |
3322 | 2007-06-08 Bob Wilson <bob.wilson@acm.org> |
3323 | ||
3324 | * config/xtensa/lib1funcs.asm (__udivsi3): Use hardware divide | |
3325 | instructions if they are supported. | |
3326 | (__divsi3, __umodsi3, __modsi3): Likewise. | |
3327 | (__ashldi3, __ashrdi3, __lshrdi3): New. | |
3328 | * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add DImode shift functions. | |
b26f6ed7 | 3329 | |
792ed98b | 3330 | 2007-06-08 Harsha Jagasia <harsha.jagasia@amd.com> |
9510f6eb | 3331 | Tony Linthicum <tony.linthicum@amd.com> |
792ed98b | 3332 | |
13c59415 | 3333 | * doc/invoke.texi: Add fvect-cost-model flag. |
792ed98b HJ |
3334 | * common.opt (fvect-cost-model): New flag. |
3335 | * tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside | |
3336 | cost fields in stmt_vec_info struct for STMT. | |
3337 | * tree-vectorizer.h (stmt_vec_info): Define inside and outside cost | |
3338 | fields in stmt_vec_info struct and access functions for the same. | |
3339 | (TARG_COND_BRANCH_COST): Define cost of conditional branch. | |
3340 | (TARG_VEC_STMT_COST): Define cost of any vector operation, excluding | |
3341 | load, store and vector to scalar operation. | |
3342 | (TARG_VEC_TO_SCALAR_COST): Define cost of vector to scalar operation. | |
3343 | (TARG_VEC_LOAD_COST): Define cost of aligned vector load. | |
3344 | (TARG_VEC_UNALIGNED_LOAD_COST): Define cost of misasligned vector load. | |
3345 | (TARG_VEC_STORE_COST): Define cost of vector store. | |
3346 | (vect_estimate_min_profitable_iters): Define new function. | |
3347 | * tree-vect-analyze.c (vect_analyze_operations): Add a compile-time | |
3348 | check to evaluate if loop iterations are less than minimum profitable | |
3349 | iterations determined by cost model or minimum vect loop bound defined | |
3350 | by user, whichever is more conservative. | |
3351 | * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Add a | |
3352 | run-time check to evaluate if loop iterations are less than minimum | |
3353 | profitable iterations determined by cost model or minimum vect loop | |
3354 | bound defined by user, whichever is more conservative. | |
3355 | (vect_estimate_min_profitable_iterations): New function to estimate | |
3356 | mimimimum iterartions required for vector version of loop to be | |
3357 | profitable over scalar version. | |
3358 | (vect_model_reduction_cost): New function. | |
3359 | (vect_model_induction_cost): New function. | |
3360 | (vect_model_simple_cost): New function. | |
3361 | (vect_cost_strided_group_size): New function. | |
3362 | (vect_model_store_cost): New function. | |
3363 | (vect_model_load_cost): New function. | |
3364 | (vectorizable_reduction): Call vect_model_reduction_cost during | |
3365 | analysis phase. | |
3366 | (vectorizable_induction): Call vect_model_induction_cost during | |
3367 | analysis phase. | |
3368 | (vectorizable_load): Call vect_model_load_cost during analysis phase. | |
3369 | (vectorizable_store): Call vect_model_store_cost during analysis phase. | |
3370 | (vectorizable_call, vectorizable_assignment, vectorizable_operation, | |
b26f6ed7 | 3371 | vectorizable_promotion, vectorizable_demotion): Call |
792ed98b HJ |
3372 | vect_model_simple_cost during analysis phase. |
3373 | ||
c8e2516c SB |
3374 | 2007-06-08 Simon Baldwin <simonb@google.com> |
3375 | ||
3376 | * reg-stack.c (get_true_reg): Readability change. Moved default case | |
3377 | label into direct switch statement scope. | |
3378 | ||
2c5cfd1f SB |
3379 | 2007-06-08 Simon Baldwin <simonb@google.com> |
3380 | ||
3381 | * tree-flow-inline.h (var_ann): Replaced erroneous '=' assignment | |
3382 | in gcc_assert() with '==' comparison. | |
3383 | ||
837a8954 UB |
3384 | 2007-06-08 Uros Bizjak <ubizjak@gmail.com> |
3385 | ||
3386 | * config/i386/i386.c (override_options): Merge TARGET_SSE4_2 and | |
3387 | TARGET_ABM handling of x86_popcnt variable. | |
3388 | ||
5513e239 UB |
3389 | 2007-06-08 Uros Bizjak <ubizjak@gmail.com> |
3390 | ||
3391 | * doc/extend.texi (X86 Built-in Functions): Document __builtin_fabsq, | |
3392 | __builtin_copysignq and __builtin_infq built-in functions. | |
3393 | ||
291d9a2d UB |
3394 | 2007-06-08 Uros Bizjak <ubizjak@gmail.com> |
3395 | ||
3396 | * doc/extend.texi (X86 Built-in Functions): Add missing `@item's in | |
3397 | SSE4.2 section. Correct built-in function names in SSE4A section. | |
3398 | ||
459e691a UB |
3399 | 2007-06-08 Uros Bizjak <ubizjak@gmail.com> |
3400 | ||
3401 | PR tree-optimization/32243 | |
3402 | * tree-vect-transform.c (vectorizable_type_promotion): Move check | |
3403 | for ncopies after ratio check between nunits_out and nunits_in. | |
3404 | (vectorizable_type_demotion): Remove single-use variable "scalar_type". | |
3405 | ||
0d266580 DN |
3406 | 2007-06-08 Dorit Nuzman <dorit@il.ibm.com> |
3407 | ||
3408 | PR tree-optimization/32224 | |
3409 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Fail | |
3410 | vectorization upon a non GIMPLE_MODIFY_STMT. | |
3411 | ||
4aa97413 CB |
3412 | 2007-06-08 Christian Bruel <christian.bruel@st.com> |
3413 | ||
3414 | PR target/29953 | |
3415 | * config/sh/sh.md (doloop_end): New pattern and splitter. | |
3416 | * loop-iv.c (simple_rhs_p): Check for hardware registers. | |
b26f6ed7 | 3417 | |
1fc3998d ZD |
3418 | 2007-06-08 Zdenek Dvorak <dvorakz@suse.cz> |
3419 | ||
3420 | PR middle-end/32209 | |
3421 | * dominance.c (debug_dominance_tree, debug_dominance_tree_1): New | |
3422 | functions. | |
3423 | (verify_dominators): Do not change dominance tree. | |
3424 | ||
32a7ab3d KK |
3425 | 2007-06-08 Kaz Kojima <kkojima@gcc.gnu.org> |
3426 | ||
3427 | * config/sh/constraints.md: New file. | |
3428 | * config/sh/sh.c: Include tm-constrs.h. | |
3429 | (reg_class_from_letter): Remove. | |
3430 | (prepare_cbranch_operands): Use satisfies_constraint_* | |
3431 | function instead of macro. | |
3432 | (andcosts, broken_move, sh_secondary_reload): Likewise. | |
3433 | * config/sh/predicates.md (trapping_target_operand): Likewise. | |
3434 | (and_operand, arith_operand, arith_reg_or_0_operand, | |
3435 | cmp_operand, logical_operand, target_operand, | |
3436 | ua_address_operand, ua_offset, xor_operand): Likewise. | |
3437 | * config/sh/sh.md: Include constraints.md. | |
3438 | (*movsicc_t_false): Use satisfies_constraint_* function | |
3439 | instead of macro. | |
3440 | (*movsicc_t_true, ashlsi3_std, ashlhi3_k, lshrsi3_m, | |
3441 | lshrsi3_k, movsi_const_16bit+2, *movhi_media+1, | |
3442 | movdi_const_16bit+1, beq, bne, *ptb): Likewise. | |
3443 | * config/sh/sh.h (reg_class_from_letter): Remove prototype. | |
3444 | (OVERRIDE_OPTIONS): Don't modify reg_class_from_letter. | |
3445 | (REG_CLASS_FROM_CONSTRAINT): Remove. | |
3446 | (CONSTRAINT_LEN, CONST_OK_FOR_I20, CONST_OK_FOR_I, | |
3447 | CONST_OK_FOR_J, CONST_OK_FOR_K16, CONST_OK_FOR_K, | |
3448 | CONST_OK_FOR_P27, CONST_OK_FOR_P, CONST_OK_FOR_M, | |
3449 | CONST_OK_FOR_N, CONST_OK_FOR_CONSTRAINT_P, | |
3450 | CONST_DOUBLE_OK_FOR_LETTER_P): Likewise. | |
3451 | (SECONDARY_INOUT_RELOAD_CLASS): Use satisfies_constraint_* | |
3452 | function instead of macro. | |
3453 | (SECONDARY_INPUT_RELOAD_CLASS): Likewise. | |
3454 | (EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_A, | |
3455 | EXTRA_CONSTRAINT_Bsc, EXTRA_CONSTRAINT_B, | |
3456 | EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Remove. | |
3457 | (IS_PC_RELATIVE_LOAD_ADDR_P): New macro. | |
3458 | (IS_LITERAL_OR_SYMBOLIC_S16_P): Likewise. | |
3459 | (IS_LITERAL_OR_SYMBOLIC_U16_P): Likewise. | |
3460 | (IS_NON_EXPLICIT_CONSTANT_P): Likewise. | |
3461 | (EXTRA_CONSTRAINT_Csy, EXTRA_CONSTRAINT_Z, EXTRA_CONSTRAINT_W, | |
3462 | EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C, | |
3463 | EXTRA_MEMORY_CONSTRAINT, EXTRA_CONSTRAINT_Sr0, | |
3464 | EXTRA_CONSTRAINT_Sua, EXTRA_CONSTRAINT_S, | |
3465 | EXTRA_CONSTRAINT_STR): Likewise. | |
3466 | (GO_IF_LEGITIMATE_INDEX): Fix indentation. | |
3467 | ||
2734e1c3 GK |
3468 | 2007-06-07 Geoffrey Keating <geoffk@apple.com> |
3469 | ||
3470 | * config/i386/darwin.h (STACK_BOUNDARY): Define. | |
3471 | ||
c1ae8be5 SM |
3472 | 2007-06-07 Simon Martin <simartin@users.sourceforge.net> |
3473 | ||
3474 | PR c++/30759 | |
3475 | * c-common.h (flag_cpp0x): Replaced by... | |
3476 | (cxx_dialect): ... this new variable specifying the C++ dialect that | |
3477 | is used. | |
3478 | * c-common.c (flag_cpp0x): Removed. | |
3479 | (cxx_dialect): Defined. | |
3480 | * c-cppbuiltin.c (c_cpp_builtins): flag_cpp0x rewritten in terms of | |
3481 | cxx_dialect. | |
3482 | * c-opts.c (c_common_post_options): Likewise. | |
3483 | (set_std_cxx98): Set cxx_dialect to cxx98. | |
3484 | (set_std_cxx0x): Set cxx_dialect to cxx0x. | |
3485 | ||
2734e1c3 | 3486 | 2007-06-07 Geoffrey Keating <geoffk@apple.com> |
e46b55d0 GK |
3487 | Hui-May Chang <hm.chang@apple.com> |
3488 | ||
3489 | * doc/invoke.texi (Darwin Options): Update documentation for | |
3490 | -mmacosx-version-min. | |
3491 | * config.gcc (*-*-darwin*): Set extra_gcc_objs. | |
3492 | * config/darwin-driver.c: New file. | |
3493 | * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New. | |
3494 | * config/t-darwin (darwin-driver.o): New rule. | |
3495 | ||
3496 | * config/darwin-c.c (version_as_macro): Ignore low digit. | |
3497 | ||
edc5bbcd UB |
3498 | 2007-06-07 Uros Bizjak <ubizjak@gmail.com> |
3499 | ||
3500 | * config/i386/i386.md (standard sse constant splitter): Handle TFmode. | |
3501 | (negtf2, abstf2, *absnegtf2_sse): New insn patterns. | |
3502 | (CSGNMODE): New mode macro. | |
3503 | (CSGNVMODE): New mode attribute. | |
3504 | (copysign<mode>3): Rename from copysingsf3 and copysigndf3. Macroize | |
3505 | expander using CSGNMODE mode macro. Handle TFmode. | |
3506 | (copysign<mode>3_const): Rename from copysignsf3_const and | |
3507 | copysigndf3_const. Macroize pattern using CSGNMODE mode macro. | |
3508 | Handle TFmode. | |
3509 | (copysign<mode>3_var): Rename from copysignsf3_var and | |
3510 | copysigndf3_var. Macroize pattern using CSGNMODE mode macro. | |
3511 | Handle TFmode. | |
3512 | (copysign<mode>3_var splitter): Macroize pattern using CSGNMODE | |
3513 | mode macro. Handle TFmode. | |
3514 | * config/i386/sse.md (andtf3, *andtf3, *nandtf3): New insn patterns. | |
3515 | (iortf3, *iortf3): Ditto. | |
3516 | (xortf3, *xortf3): Ditto. | |
3517 | * config/i386/i386.c (ix86_build_signbit_mask): Create scalar | |
3518 | TFmode and TImode masks. | |
3519 | (ix86_expand_copysign): Expand TFmode copysign insn. | |
3520 | (IX86_BUILTIN_INFQ): New. | |
3521 | (IX86_BUILTIN_FABSQ): Ditto. | |
3522 | (IX86_BUILTIN_COPYSIGNQ): Ditto. | |
3523 | (ix86_init_mmx_sse_builtins) [__builtin_infq]: New builtin definition. | |
3524 | [__builtin_fabsq]: Ditto. | |
3525 | [__builtin_copysignq]: Ditto. | |
3526 | (ix86_expand_builtin) [IX86_BUILTIN_INFQ]: Expand builtin. | |
3527 | [IX86_BUILTIN_FABSQ]: Expand builtin using ix86_expand_unop_builtin(). | |
3528 | [IX86_BUILTIN_COPYSIGNQ]: Expand builtin using | |
9510f6eb | 3529 | ix86_expand_binop_builtin(). |
edc5bbcd | 3530 | |
125253d9 BW |
3531 | 2007-06-07 Bob Wilson <bob.wilson@acm.org> |
3532 | ||
3533 | * config/xtensa/lib1funcs.asm: Clean up whitespace. | |
3534 | ||
bb27eeda SE |
3535 | 2007-06-07 Steve Ellcey <sje@cup.hp.com> |
3536 | ||
3537 | PR target/31850 | |
3538 | * rtl.h (push_to_sequence2): New. | |
3539 | * emit-rtl.c (push_to_sequence2): New. | |
3540 | * function.c (assign_parm_data_all): Add new fields. | |
b26f6ed7 | 3541 | (assign_parm_setup_block): Call push_to_sequence2 instead of |
bb27eeda SE |
3542 | push_to_sequence. |
3543 | (assign_parm_setup_reg): Ditto. | |
3544 | (assign_parm_setup_stack): Ditto. | |
3545 | (assign_parms_unsplit_complex): Ditto. | |
3546 | (assign_parms): Change field name. | |
3547 | ||
1b0cfaa6 ZD |
3548 | 2007-06-07 Zdenek Dvorak <dvorakz@suse.cz> |
3549 | ||
3550 | PR tree-optimization/32220 | |
3551 | * tree-predcom.c (eliminate_temp_copies): Handle the case that loop | |
3552 | phi node is reached before defining statement. | |
3553 | ||
1344284e AP |
3554 | 2007-06-06 Andrew Pinski <andrew_pinski@playstation.sony.com> |
3555 | ||
3556 | PR tree-opt/32231 | |
3557 | * tree-vect-transform.c (vectorizable_call): Call update_stmt | |
3558 | after changing the right hand side of the assignment. | |
3559 | ||
7a1eca83 EC |
3560 | 2007-06-06 Eric Christopher <echristo@apple.com> |
3561 | ||
3562 | * config.gcc (i?86-*-darwin*): Remove arch parameter. | |
3563 | (x86_64-*-darwin*): Ditto. | |
3564 | * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Define. | |
3565 | (TARGET_SUBTARGET64_ISA_DEFAULT): Ditto. | |
3566 | ||
c22940cd TN |
3567 | 2007-06-06 Thomas Neumann <tneumann@users.sourceforge.net> |
3568 | ||
3569 | * tree-ssa-alias-warnings.c (maybe_add_match): Cast according to the | |
3570 | coding conventions. | |
3571 | (add_key): Likewise. | |
3572 | * tree-ssa.c (init_tree_ssa): Use type safe memory macros. | |
3573 | * tree-ssa-ccp.c (ccp_fold_builtin): Avoid using C++ keywords as | |
3574 | variable names. | |
7e08fa35 UB |
3575 | * tree-ssa-coalesce.c (find_coalesce_pair): Use type safe memory |
3576 | macros. | |
c22940cd TN |
3577 | (add_cost_one_coalesce): Likewise. |
3578 | * tree-ssa-copy.c (merge_alias_info): Avoid using C++ keywords as | |
3579 | variable names. Rename orig to orig_name for consistency. | |
7e08fa35 UB |
3580 | * tree-ssa-dom.c (dom_thread_across_edge): Cast according to the |
3581 | coding conventions. | |
3582 | (cprop_into_successor_phis): Avoid using C++ keywords as variable | |
3583 | names. | |
c22940cd TN |
3584 | (record_equivalences_from_stmt): Likewise. |
3585 | * tree-ssa-dse.c (dse_initialize_block_local_data): Cast according to | |
3586 | the coding conventions. | |
3587 | (memory_ssa_name_same): Likewise. | |
3588 | (dse_optimize_stmt): Likewise. | |
3589 | (dse_record_phis): Likewise. | |
3590 | (dse_finalize_block): Likewise. | |
3591 | * tree-ssa-loop-im.c (outermost_invariant_loop_expr): Avoid using C++ | |
3592 | keywords as variable names. | |
3593 | (may_move_till): Cast according to the coding conventions. | |
3594 | (force_move_till_expr): Avoid using C++ keywords as variable names. | |
3595 | (force_move_till): Cast according to the coding conventions. | |
3596 | (memref_hash): Likewise. | |
3597 | (memref_eq): Likewise. | |
3598 | (gather_mem_refs_stmt): Likewise. | |
7e08fa35 UB |
3599 | * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Avoid |
3600 | using C++ keywords as variable names. | |
c22940cd TN |
3601 | (idx_find_step): Cast according to the coding conventions. |
3602 | (idx_record_use): Likewise. | |
3603 | (find_depends): Likewise. | |
3604 | (prepare_decl_rtl): Likewise. | |
3605 | (mbc_entry_hash): Likewise. | |
3606 | (mbc_entry_eq): Likewise. | |
3607 | * tree-ssa-loop-niter.c (SWAP): Use the correct the type for tmp. | |
3608 | (simplify_replace_tree): Avoid using C++ keywords as variable names. | |
3609 | (idx_infer_loop_bounds): Cast according to the coding conventions. | |
3610 | * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise. | |
3611 | * tree-ssa-math-opts.c (occ_new ): Likwise. | |
3612 | * tree-ssanames.c (duplicate_ssa_name_ptr_info): Use type safe memory | |
3613 | macros. | |
7e08fa35 UB |
3614 | * tree-ssa-operands.c (add_def_op): Avoid using C++ keywords as |
3615 | variable names. | |
c22940cd TN |
3616 | (add_use_op): Likewise. |
3617 | (add_vop): Likewise. | |
3618 | (add_vuse_op): Likewise. | |
3619 | (add_vdef_op): Likewise. | |
3620 | (get_expr_operands): Likewise. | |
3621 | (push_stmt_changes): Use type safe memory macros. | |
3622 | * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Avoid using C++ | |
3623 | keywords as variable names. | |
3624 | (conditional_replacement): Likewise. | |
3625 | (minmax_replacement): Likewise. | |
3626 | (abs_replacement): Likewise. | |
3627 | * tree-ssa-pre.c (create_expression_by_pieces): Cast according to the | |
3628 | coding conventions. | |
3629 | (insert_fake_stores): Avoid using C++ keywords as variable names. | |
3630 | * tree-ssa-reassoc.c (add_to_ops_vec): Cast according to the coding | |
3631 | conventions. | |
3632 | * tree-ssa-structalias.c (heapvar_lookup): Likewise. | |
3633 | (heapvar_insert): Use type safe memory macros. | |
3634 | (new_var_info): Cast according to the coding conventions. | |
3635 | (new_constraint): Likewise. | |
3636 | (remove_preds_and_fake_succs): Use type safe memory macros. | |
3637 | * tree-ssa-threadupdate.c (thread_block): Cast according to the coding | |
3638 | conventions. | |
3639 | (thread_single_edge): Likewise. | |
3640 | (thread_through_loop_header): Likewise. | |
3641 | ||
d6b0b376 EC |
3642 | 2007-06-06 Eric Christopher <echristo@apple.com> |
3643 | ||
3644 | * config/i386/i386.c (override_options): Move handling | |
3645 | of TARGET_SUBTARGET* earlier. | |
3646 | ||
7258e976 PB |
3647 | 2007-06-06 Paolo Bonzini <bonzini@gnu.org> |
3648 | ||
3649 | * genmodes.c (tagged_printf, emit_insn_modes_h): Don't | |
3650 | use %n on printf. | |
3651 | ||
a7b87f73 ZD |
3652 | 2007-06-06 Zdenek Dvorak <dvorakz@suse.cz> |
3653 | ||
3654 | * haifa-sched.c (restore_bb_notes): Clear bb field of the notes | |
3655 | emited outside of basic block. | |
3656 | * cfgbuild.c (find_bb_boundaries): Clear bb field for insns between | |
3657 | the created blocks. | |
3658 | * rtl.h (delete_insn_chain): Declaration changed. | |
3659 | * cfgrtl.c (delete_insn_chain): Add option to clear bb field for | |
3660 | non-removed insns. | |
3661 | (rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain. | |
3662 | (delete_insn_chain_and_edges, try_redirect_by_replacing_jump, | |
d6b0b376 | 3663 | rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false |
a7b87f73 ZD |
3664 | to delete_insn_chain. |
3665 | (rtl_verify_flow_info_1): Verify that the insns in header and footer | |
3666 | do not have bb field set. | |
3667 | (rtl_verify_flow_info): Verify that insns between basic blocks do not | |
3668 | have bb field set. | |
3669 | * recog.c (peephole2_optimize): Add argument to delete_insn_chain call. | |
3670 | * cfgcleanup.c (try_optimize_cfg): Ditto. | |
3671 | ||
45222d4a TN |
3672 | 2007-06-06 Thomas Neumann <tneumann@users.sourceforge.net> |
3673 | ||
3674 | * lambda-code.c (struct lambda_lattice_s): Add a name to the struct. | |
3675 | (lambda_body_vector_new): Use type safe memory macros. | |
3676 | (lambda_linear_expression_new): Likewise. | |
3677 | (lambda_loopnest_new): Likewise. | |
3678 | (lambda_lattice_new): Likewise. | |
3679 | (replace_uses_equiv_to_x_with_y): Cast according to the coding | |
3680 | conventions. Use type safe memory macros. | |
3681 | * lambda.h (struct lambda_trans_matrix_s): Add a name to the struct. | |
3682 | (lambda_body_vector_s): Likewise. | |
3683 | * lambda-mat.c (lambda_matrix_new): Use type safe memory macros. | |
3684 | * lambda-trans.c (lambda_trans_matrix_new): Likewise. | |
3685 | ||
68c834d0 RB |
3686 | 2007-06-06 Richard Guenther <rguenther@suse.de> |
3687 | ||
3688 | * tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2 | |
3689 | if we need to schedule cfg_cleanup. | |
3690 | (tree_ssa_forward_propagate_single_use_vars): Do so. | |
3691 | ||
39ac2ffc ILT |
3692 | 2007-06-06 Ian Lance Taylor <iant@google.com> |
3693 | ||
3694 | * fold-const.c (merge_ranges): If range_successor or | |
3695 | range_predecessor fail, just return 0. | |
3696 | ||
9f106823 UB |
3697 | 2007-06-06 Uros Bizjak <ubizjak@gmail.com> |
3698 | ||
3699 | PR tree-optimization/32216 | |
3700 | * tree-vectorizer.c (supportable_widening_operation): Determine | |
3701 | signedness of FIX_TRUNC_EXPR from output operand. | |
3702 | (supportable_narrowing_operation): Ditto. | |
3703 | * tree-vect-generic.c (expand_vector_operations_1): Determine | |
3704 | signedness of VEC_UNPACK_FLOAT_HI_EXPR and VEC_UNPACK_FLOAT_LO_EXPR | |
3705 | from input operand. | |
3706 | ||
9415ab7d TN |
3707 | 2007-06-06 Thomas Neumann <tneumann@users.sourceforge.net> |
3708 | ||
3709 | * config/i386/i386.c (enum pta_flags): Move out of struct scope... | |
9f106823 UB |
3710 | (struct pta): ...from here. Change flags to unsigned to avoid |
3711 | excessive casting (as it is used as a bit mask). | |
9415ab7d TN |
3712 | (override_options): Add casts according to the coding convenventions. |
3713 | (x86_64_elf_unique_section): Likewise. | |
3714 | (examine_argument): Avoid using C++ keywords as variable names. | |
3715 | (construct_container): Likewise. | |
3716 | (legitimize_pic_address): Likewise. | |
3717 | (get_dllimport_decl): Cast according to the coding conventions. Use | |
3718 | type safe memory macros. | |
3719 | (legitimize_address): Cast according to the coding conventions. | |
3720 | (emit_i387_cw_initialization): Corrected the type of slot to enum | |
3721 | ix86_stack_slot. | |
3722 | (ix86_init_machine_status): Use type safe memory macros. | |
3723 | (bdesc_pcmpestr): Use UNKNOWN instead of integer 0. | |
3724 | (bdesc_pcmpistr): Likewise. | |
3725 | (bdesc_crc32): Likewise. | |
3726 | (bdesc_sse_3arg): Likewise. | |
3727 | (bdesc_2arg): Likewise. | |
3728 | (bdesc_1arg): Likewise. | |
3729 | (ix86_expand_sse_pcmpestr): Cast according to the coding conventions. | |
3730 | (ix86_expand_sse_pcmpistr): Likewise. | |
3731 | (ix86_expand_vec_set_builtin): Use EXPAND_NORMAL instead of integer 0. | |
3732 | (ix86_builtin_vectorized_function): Change the type of fn to unsigned | |
3733 | int to match the langhook definition. | |
3734 | (ix86_builtin_conversion): Change the type of code to unsigned init to | |
3735 | match the langhook definition. | |
3736 | (ix86_preferred_reload_class): Avoid using C++ keywords as variable | |
3737 | names. | |
3738 | (ix86_preferred_output_reload_class): Likewise. | |
3739 | (ix86_cannot_change_mode_class): Likewise. | |
3740 | (ix86_memory_move_cost): Likewise. | |
3741 | (ix86_rtx_costs): Cast the outer_code parameter to enum rtx_code to | |
3742 | avoid excessive casting later on. | |
3743 | (x86_output_mi_thunk): Avoid using C++ keywords as variable names. | |
3744 | ||
f28eb39c UB |
3745 | 2007-06-06 Uros Bizjak <ubizjak@gmail.com> |
3746 | ||
3747 | * config/i386/sse.md (sse4_2_pcmpestr_cconly): Prefer pcmpestrm | |
3748 | as flags setting insn. | |
3749 | (sse4_2_pcmpistr_cconly): Prefer pcmpistrm as flags setting insn. | |
3750 | ||
3751 | 2007-06-06 Uros Bizjak <ubizjak@gmail.com> | |
3752 | ||
3753 | * config/i386/i386.md (UNSPEC_ROUNDP, UNSPEC_ROUNDS): Remove. | |
3754 | (UNSPEC_ROUND): New. | |
3755 | ("sse4_1_round<mode>2"): New insn pattern. | |
3756 | ("rint<mode>2"): Expand using "sse4_1_round<mode>2" pattern for | |
3757 | SSE4.1 targets. | |
3758 | ("floor<mode>2"): Rename from floordf2 and floorsf2. Macroize | |
3759 | expander using SSEMODEF mode macro. Expand using | |
3760 | "sse4_1_round<mode>2" pattern for SSE4.1 targets. | |
3761 | ("ceil<mode>2"): Rename from ceildf2 and ceilsf2. Macroize | |
3762 | expander using SSEMODEF mode macro. Expand using | |
3763 | "sse4_1_round<mode>2" pattern for SSE4.1 targets. | |
3764 | ("btrunc<mode>2"): Rename from btruncdf2 and btruncsf2. Macroize | |
3765 | expander using SSEMODEF mode macro. Expand using | |
3766 | "sse4_1_round<mode>2" pattern for SSE4.1 targets. | |
3767 | * config/i386/sse.md ("sse4_1_roundpd", "sse4_1_roundps"): Use | |
3768 | UNSPEC_ROUND instead of UNSPEC_ROUNDP. | |
3769 | ("sse4_1_roundsd", "sse4_1_roundss"): Use UNSPEC_ROUND instead of | |
3770 | UNSPEC_ROUNDS. | |
3771 | ||
69f2880c JS |
3772 | 2007-06-06 Jan Sjodin <jan.sjodin@amd.com> |
3773 | Sebastian Pop <sebpop@gmail.com> | |
3774 | ||
3775 | * lambda.h (build_linear_expr): New. | |
d6b0b376 | 3776 | * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression): |
69f2880c JS |
3777 | Use build_linear_expr, call fold and force_gimple_operand. |
3778 | (lambda_loopnest_to_gcc_loopnest): Check that there is | |
3779 | something to insert. | |
3780 | * testsuite/gcc.dg/tree-ssa/ltrans-6.c: New. | |
3781 | ||
f7fd775f JW |
3782 | 2007-06-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> |
3783 | ||
3784 | PR preprocessor/23479 | |
3785 | * doc/extend.texi: Document the 0b-prefixed binary integer | |
3786 | constant extension. | |
d6b0b376 | 3787 | |
1a5f8b89 UB |
3788 | 2007-06-05 Uros Bizjak <ubizjak@gmail.com> |
3789 | ||
3790 | PR tree-optimization/32215 | |
3791 | * tree-vectorizer.c (supportable_widening_operation): Return false | |
3792 | for unsupported FIX_TRUNC_EXPR tree code. | |
3793 | (supportable_narrowing_operation): Ditto for FLOAT_EXPR tree code. | |
3794 | ||
52ff33d0 NF |
3795 | 2007-06-06 Nathan Froyd <froydnj@codesourcery.com> |
3796 | ||
3797 | * config/rs6000/rs6000.h (FIXED_SCRATCH): Use r0 as a scratch | |
3798 | register on SPE targets. Change documentation to reflect | |
3799 | reality. | |
3800 | * config/rs6000/rs6000.c (rs6000_conditional_register_usage): | |
3801 | Change FIXED_SCRATCH to 14 and document why we're keeping r14 | |
3802 | out of the register allocation pool. | |
3803 | (rs6000_reg_live_or_pic_offset_p): New function. | |
3804 | (rs6000_emit_prologue): Move the actual saving of LR up to free | |
3805 | r0 for holding r11. Split saving of SPE 64-bit registers into | |
3806 | its own case. Ensure that offsets will always be in-range for | |
3807 | 'evstdd' by using r11 as a scratch register to point at the start | |
3808 | of the SPE save area. Save r11 if necessary, as it is the static | |
3809 | chain register. | |
3810 | (rs6000_emit_epilogue): Split restoring of SPE 64-bit registers | |
3811 | into its own case. Ensure that offsets will always be in-range | |
3812 | for 'evldd' by using r11 as a scratch register to point at the | |
3813 | start of the SPE save area. Also adjust r11 when restoring | |
3814 | the stack pointer to compensate for pre-loading r11. | |
3815 | ||
ae50c0cb TN |
3816 | 2007-06-05 Thomas Neumann <tneumann@users.sourceforge.net> |
3817 | ||
3818 | * cfg.c (init_flow): Use type safe memory macros. | |
3819 | (alloc_block): Likewise. | |
3820 | (unchecked_make_edge): Likewise. | |
3821 | (dump_flow_info): Avoid using C++ keywords as variable names. | |
3822 | (copy_original_table_clear): Cast according to the coding conventions. | |
3823 | (copy_original_table_set): Likewise. | |
3824 | * cfgexpand (label_rtx_for_bb): Likewise. | |
7fc40a9c | 3825 | (expand_gimple_basic_block): Likewise. |
ae50c0cb | 3826 | * cfghooks.c (dump_bb): Likewise. |
f28eb39c UB |
3827 | (lv_adjust_loop_header_phi): Avoid using C++ keywords as |
3828 | variable names. | |
ae50c0cb TN |
3829 | (lv_add_condition_to_bb): Likewise. |
3830 | * cfglayout (relink_block_chain): Cast according to the coding | |
3831 | conventions. | |
3832 | (fixup_reorder_chain): Likewise. | |
3833 | (fixup_fallthru_exit_predecessor): Likewise. | |
3834 | * cfgloop.c (glb_enum_p): Likewise. | |
3835 | (get_exit_description): Likewise. | |
3836 | (dump_recorded_exit): Likewise. | |
3837 | * cfgloop.h (enum loop_estimation): Move out of struct scope... | |
3838 | (struct loop): ... from here. | |
f28eb39c UB |
3839 | * cfgloopmanip.c (rpe_enum_p): Cast according to the coding |
3840 | conventions. | |
ae50c0cb TN |
3841 | * cfgrtl.c (rtl_create_basic_block): Likewise. |
3842 | (rtl_split_block): Likewise. | |
3843 | (rtl_dump_bb): Likewise. | |
3844 | (cfg_layout_split_block): Likewise. | |
3845 | (init_rtl_bb_info): Use typesafe memory macros. | |
3846 | ||
3847 | * graphds.h (struct graph_edge): Renamed edge to graph_edge. | |
3848 | * graphds.h: Updated all usages of edge to graph_edge. | |
3849 | * graphds.c: Likewise. | |
3850 | * cfgloopanal.c: Likewise. | |
3851 | ||
3fe5bcaf ILT |
3852 | 2007-06-05 Ian Lance Taylor <iant@google.com> |
3853 | ||
3854 | * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a | |
3855 | PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p. | |
3856 | (extract_range_from_assert): Set TREE_NO_WARNING when creating an | |
3857 | expression. | |
3858 | (test_for_singularity): Likewise. | |
3859 | ||
a176d60f L |
3860 | 2007-06-05 H.J. Lu <hongjiu.lu@intel.com> |
3861 | ||
3862 | * config/i386/constraints.md ("Y2"): Replaced by ... | |
3863 | ("Yt"): This. | |
3864 | * config/i386/i386.md: Likewise. | |
3865 | * config/i386/mmx.md: Likewise. | |
3866 | * config/i386/sse.md: Likewise. | |
3867 | ||
c3b9a8d6 L |
3868 | 2007-06-05 H.J. Lu <hongjiu.lu@intel.com> |
3869 | ||
3870 | * config/i386/constraints.md ("z"): Replaced by ... | |
3871 | ("Y0"): This. | |
3872 | * config/i386/sse.md (sse4_1_blendvpd): Likewise. | |
3873 | (sse4_1_blendvps): Likewise. | |
3874 | (sse4_1_pblendvb): Likewise. | |
3875 | (sse4_2_pcmpestr): Likewise. | |
3876 | (sse4_2_pcmpestrm): Likewise. | |
3877 | (sse4_2_pcmpestr_cconly): Likewise. | |
3878 | (sse4_2_pcmpistr): Likewise. | |
3879 | (sse4_2_pcmpistrm): Likewise. | |
3880 | (sse4_2_pcmpistr_cconly): Likewise. | |
3881 | ||
b8ff1d5b RL |
3882 | 2007-06-05 Razya Ladelsky <razya@il.ibm.com> |
3883 | ||
c3b9a8d6 L |
3884 | * matrix-reorg.c (transform_access_sites): Fix computation. |
3885 | (transform_allocation_sites): Same. | |
b8ff1d5b | 3886 | |
cb482895 UB |
3887 | 2007-06-05 Uros Bizjak <ubizjak@gmail.com> |
3888 | ||
cc55c4b0 UB |
3889 | * config/i386/i386.c (override_options): Use |
3890 | TARGET_SUBTARGET32_ISA_DEFAULT to select default ix86_isa_flags. | |
3891 | ||
3892 | 2007-06-05 Uros Bizjak <ubizjak@gmail.com> | |
3893 | ||
3894 | * config/i386/predicates.md (reg_not_xmm0_operand): New predicate. | |
cb482895 UB |
3895 | (nonimm_not_xmm0_operand): Ditto. |
3896 | * config/i386/sse.md ("sse4_1_blendvpd"): Use "reg_not_xmm0_operand" | |
3897 | as operand[0] and operand[1] predicate. Use "nonimm_not_xmm0_operand" | |
3898 | as operand[2] predicate. Require "z" class XMM register for | |
3899 | operand[3]. Adjust asm template. | |
3900 | ("sse4_1_blendvpd"): Ditto. | |
3901 | ("sse4_1_pblendvb"): Ditto. | |
3902 | * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Do not | |
3903 | force op2 into xmm0 register for variable blend instructions. | |
3904 | ||
7114359f TT |
3905 | 2007-06-04 Tom Tromey <tromey@redhat.com> |
3906 | ||
3907 | * c-tree.h (start_enum): Update. | |
3908 | (build_enumerator): Likewise. | |
3909 | * c-decl.c (enum_next_value): Removed. | |
3910 | (enum_overflow): Likewise. | |
3911 | (start_enum): Add c_enum_contents argument. Don't use globals. | |
3912 | (build_enumerator): Likewise. | |
3913 | * c-tree.h (struct c_enum_contents): New struct. | |
3914 | ||
762f7d9d TT |
3915 | 2007-06-04 Tom Tromey <tromey@redhat.com> |
3916 | ||
3917 | * c-common.c (c_common_get_alias_set): Fix indentation. | |
3918 | ||
9a46cc16 ILT |
3919 | 2007-06-04 Ian Lance Taylor <iant@google.com> |
3920 | ||
3921 | * tree-vrp.c (adjust_range_with_scev): When loop is not expected | |
3922 | to overflow, reduce overflow infinity to regular infinity. | |
3923 | (vrp_var_may_overflow): New static function. | |
3924 | (vrp_visit_phi_node): Check vrp_var_may_overflow. | |
3925 | ||
b9d49351 KH |
3926 | 2007-06-04 Kazu Hirata <kazu@codesourcery.com> |
3927 | ||
3928 | * stor-layout.c (layout_type): Remove duplicate code. | |
3929 | ||
8de7ef2a UB |
3930 | 2007-06-04 Uros Bizjak <ubizjak@gmail.com> |
3931 | ||
3932 | PR c/32191 | |
3933 | * gcc/c-common.c (c_define_builtins): Call targetm.init_builtins () | |
3934 | before build_common_builtin_nodes (). | |
3935 | ||
15eb3a2e SE |
3936 | 2007-06-04 Steve Ellcey <sje@cup.hp.com> |
3937 | ||
3938 | PR target/31733 | |
3939 | * cfgrtl.c (rtl_verify_flow_info): Skip notes when looking for barrier. | |
3940 | ||
68c834d0 | 3941 | 2007-06-04 Jan Hubicka <jh@suse.cz> |
c443019c JH |
3942 | |
3943 | * tree-predcom.c (replace_ref_with, initialize_root_vars_lm, | |
3944 | reassociate_to_the_same_stmt): Call build_gimple_modify_stmt | |
3945 | instead of _stat version. | |
3946 | ||
49379cb1 ZD |
3947 | 2007-06-03 Zdenek Dvorak <dvorakz@suse.cz> |
3948 | ||
3949 | PR tree-optimization/32194 | |
3950 | * tree-predcom.c (determine_offset): Check that both references have | |
3951 | the same type. | |
3952 | ||
66f97d31 ZD |
3953 | 2007-06-03 Zdenek Dvorak <dvorakz@suse.cz> |
3954 | ||
3955 | * cfgloopmanip.c (remove_path, loopify, duplicate_loop_to_header_edge): | |
3956 | Change dom_bbs to vector. Add argument to iterate_fix_dominators call. | |
3957 | * loop-unroll.c (unroll_loop_runtime_iterations): Ditto. | |
3958 | * tree-cfg.c (tree_duplicate_sese_region): Change doms to vector. | |
3959 | Add argument to iterate_fix_dominators call. | |
3960 | (remove_edge_and_dominated_blocks): Pass vector to bbs_to_fix_dom. | |
3961 | * gcse.c (hoist_code): Change domby to vector. | |
3962 | * cfghooks.c (make_forwarder_block): Change doms_to_fix to vector. | |
3963 | Add argument to iterate_fix_dominators call. | |
3964 | * loop-doloop.c (doloop_modify): Changed recount_dominator to | |
3965 | recompute_dominator. | |
3966 | * lambda-code.c (perfect_nestify): Ditto. | |
3967 | * cfgloopanal.c: Include graphds.h. | |
3968 | (struct edge, struct vertex, struct graph, dump_graph, new_graph, | |
3969 | add_edge, dfs, for_each_edge, free_graph): Moved to graphds.c. | |
3970 | (mark_irreducible_loops): Use graphds_scc. Remove argument from | |
3971 | add_edge call. | |
3972 | * graphds.c: New file. | |
3973 | * graphds.h: New file. | |
3974 | * dominance.c: Include vecprim.h, pointer-set.h and graphds.h. | |
3975 | (get_dominated_by, get_dominated_by_region): Change return type to | |
3976 | vector. | |
3977 | (verify_dominators): Recompute all dominators and compare the results. | |
3978 | (recount_dominator): Renamed to ... | |
3979 | (recompute_dominator): ... this. Do not check that the block is | |
3980 | dominated by entry. | |
3981 | (iterate_fix_dominators): Reimplemented. | |
3982 | (prune_bbs_to_update_dominators, root_of_dom_tree, | |
3983 | determine_dominators_for_sons): New functions. | |
3984 | * et-forest.c (et_root): New function. | |
3985 | * et-forest.h (et_root): Declare. | |
3986 | * Makefile.in (graphds.o): Add. | |
3987 | (cfgloopanal.o): Add graphds.h dependency. | |
3988 | (dominance.o): Add graphds.h, vecprim.h and pointer-set.h dependency. | |
3989 | * basic-block.h (get_dominated_by, get_dominated_by_region, | |
3990 | iterate_fix_dominators): Declaration changed. | |
3991 | (recount_dominator): Renamed to ... | |
3992 | (recompute_dominator): ... this. | |
3993 | * tree-ssa-threadupdate.c (thread_block): Free dominance info. | |
3994 | (thread_through_all_blocks): Do not free dominance info. | |
3995 | ||
b6a9c30c AS |
3996 | 2007-06-03 Andreas Schwab <schwab@suse.de> |
3997 | ||
3998 | * config/m68k/m68k.c (override_options): Don't override | |
3999 | REAL_MODE_FORMAT. | |
4000 | * config/m68k/m68k-modes.def (SF, DF): Define to use | |
4001 | motorola_single_format and motorola_double_format, resp. | |
4002 | * real.c (motorola_single_format): Renamed from | |
4003 | coldfire_single_format. | |
4004 | (motorola_double_format): Renamed from coldfire_double_format. | |
4005 | (encode_ieee_extended): Generate a proper canonical NaN image | |
4006 | respecting canonical_nan_lsbs_set. | |
4007 | (ieee_extended_motorola_format): Set canonical_nan_lsbs_set to | |
4008 | true. | |
4009 | * real.h: Adjust declarations. | |
4010 | ||
439211a0 KK |
4011 | 2007-06-03 Kaz Kojima <kkojima@gcc.gnu.org> |
4012 | ||
4013 | PR target/32163 | |
4014 | * config/sh/sh.md (symGOT_load): Don't schedule insns when | |
4015 | the symbol is generated with the stack protector. | |
4016 | ||
2bccb817 KH |
4017 | 2007-06-03 Kazu Hirata <kazu@codesourcery.com> |
4018 | ||
4019 | * config/m68k/m68k.c (m68k_attribute_table): Add "interrupt". | |
4020 | (m68k_get_function_kind): Return m68k_fk_interrupt_handler on | |
4021 | "interrupt". | |
4022 | * doc/extend.texi (interrupt): Mention m68k. | |
4023 | ||
c7a69424 UB |
4024 | 2007-06-02 Uros Bizjak <ubizjak@gmail.com> |
4025 | ||
c7a69424 | 4026 | * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Call |
57d47da6 | 4027 | safe_vector_operand() if input operand is VECTOR_MODE_P operand. |
c7a69424 UB |
4028 | (ix86_expand_sse_pcmpestr): Do not check operands for |
4029 | "register_operand", when insn operand predicate is "register_operand". | |
4030 | (ix86_expand_sse_pcmpistr): Ditto. | |
4031 | ||
06f4e35d L |
4032 | 2007-06-02 H.J. Lu <hongjiu.lu@intel.com> |
4033 | Uros Bizjak <ubizjak@gmail.com> | |
4034 | ||
4035 | * config/i386/i386.h (enum reg_class) [SSE_FIRST_REG]: New. | |
4036 | (SSE_CLASS_P): Use reg_class_subset_p between SSE_REGS. | |
4037 | (REG_CLASS_NAMES): Add "FIRST_SSE_REG" string. | |
4038 | (REG_CLASS_CONTENTS): Add members of FIRST_SSE_REG class. | |
4039 | * config/i386/constraints.md ("z"): New register constraint | |
4040 | for members of SSE_FIRST_REG class. | |
4041 | * config/i386/i386-modes.def (CCA, CCC, CCO, CCS): New compare modes. | |
4042 | * config/i386/i386.c (regclass_map): Change class of %xmm0 to | |
4043 | SSE_FIRST_REG class. | |
4044 | (put_condition_code) [EQ, NE]: Output suffixes for new compare modes. | |
4045 | (ix86_cc_modes_compatible): Handle CCA, CCC, CCO and CCS modes. | |
4046 | (IX86_BUILTIN_PCMPESTRI128): New for SSE4.2. | |
4047 | (IX86_BUILTIN_PCMPESTRM128): Likewise. | |
4048 | (IX86_BUILTIN_PCMPESTRA128): Likewise. | |
4049 | (IX86_BUILTIN_PCMPESTRC128): Likewise. | |
4050 | (IX86_BUILTIN_PCMPESTRO128): Likewise. | |
4051 | (IX86_BUILTIN_PCMPESTRS128): Likewise. | |
4052 | (IX86_BUILTIN_PCMPESTRZ128): Likewise. | |
4053 | (IX86_BUILTIN_PCMPISTRI128): Likewise. | |
4054 | (IX86_BUILTIN_PCMPISTRM128): Likewise. | |
4055 | (IX86_BUILTIN_PCMPISTRA128): Likewise. | |
4056 | (IX86_BUILTIN_PCMPISTRC128): Likewise. | |
4057 | (IX86_BUILTIN_PCMPISTRO128): Likewise. | |
4058 | (IX86_BUILTIN_PCMPISTRS128): Likewise. | |
4059 | (IX86_BUILTIN_PCMPISTRZ128): Likewise. | |
4060 | (struct builtin_description): Change "flag" field to unsigned. | |
4061 | (bdesc_pcmpestr): New builtin description table. | |
4062 | (bdesc_pcmpistr): Likewise. | |
4063 | (ix86_init_mmx_sse_builtins): Define int_ftype_v16qi_int_v16qi_int_int, | |
4064 | v16qi_ftype_v16qi_int_v16qi_int_int and int_ftype_v16qi_v16qi_int. | |
4065 | Initialize pcmp[ei]str[im] insns for SSE4.2. | |
4066 | (ix86_expand_sse_pcmpestr): New subroutine of ix86_expand_builtin. | |
4067 | (ix86_expand_sse_pcmpistr): Likewise. | |
4068 | (ix86_expand_builtin): Expand pcmp[ei]str[im] builtins for SSE4.2. | |
4069 | * config/i386/i386.md (UNSPEC_PCMPESTR): New for SSE4.2. | |
4070 | (UNSPEC_PCMPISTR): Likewise. | |
4071 | * config/i386/sse.md (sse4_2_pcmpestr): New insn patern and splitter. | |
4072 | (sse4_2_pcmpestri):New isns pattern. | |
4073 | (sse4_2_pcmpestrm): Likewise. | |
4074 | (sse4_2_pcmpestr_cconly): Likewise. | |
4075 | (sse4_2_pcmpistr): New insn patern and splitter. | |
4076 | (sse4_2_pcmpistri):New isns pattern. | |
4077 | (sse4_2_pcmpistrm): Likewise. | |
4078 | (sse4_2_pcmpistr_cconly): Likewise. | |
4079 | * config/i386/smmintrin.h: Enable pcmp[ei]str[im] intrinsics | |
4080 | in SSE4.2. | |
4081 | ||
adb04511 DD |
4082 | 2007-06-01 David Daney <ddaney@avtrex.com> |
4083 | ||
4084 | * config/mips/mips.c (mips_output_mi_thunk): Only load gp if not | |
4085 | LOADGP_ABSOLUTE and not binds_local_p. | |
d6b0b376 | 4086 | |
648beecd GK |
4087 | 2007-06-01 Geoffrey Keating <geoffk@apple.com> |
4088 | ||
4089 | * config/darwin.h (LINK_SPEC): Pass -fpie through to the linker. | |
4090 | ||
e07e405d ILT |
4091 | 2007-06-01 Ian Lance Taylor <iant@google.com> |
4092 | ||
4093 | * tree-vrp.c (compare_name_with_value): Always set | |
4094 | used_strict_overflow if we get a result from the variable itself. | |
4095 | ||
03743286 ILT |
4096 | 2007-06-01 Ian Lance Taylor <iant@google.com> |
4097 | ||
4098 | PR rtl-optimization/31455 | |
4099 | * lower-subreg.c (find_decomposable_subregs): Don't decompose | |
4100 | subregs which have a cast between modes which are not tieable. | |
4101 | ||
b7e6d1da UB |
4102 | 2007-06-01 Uros Bizjak <ubizjak@gmail.com> |
4103 | ||
4104 | * expr.c (force_operand) [DIV, MOD, UDIV, UMOD, ASHIFTRT]: Remove | |
4105 | breaks after return statements. | |
4106 | ||
5e77c6f9 KK |
4107 | 2007-06-01 Kaz Kojima <kkojima@gcc.gnu.org> |
4108 | ||
4109 | * config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg | |
4110 | only after no_new_pseudos. | |
4111 | ||
ed1223ba EC |
4112 | 2007-05-31 Eric Christopher <echristo@apple.com> |
4113 | ||
4114 | * expr.c (convert_move): Assert that we don't have a BLKmode | |
4115 | operand. | |
4116 | (store_expr): Handle BLKmode moves by calling emit_block_move. | |
4117 | ||
2c751309 DB |
4118 | 2007-05-31 Daniel Berlin <dberlin@dberlin.org> |
4119 | ||
4120 | * c-typeck.c (build_indirect_ref): Include type in error message. | |
4121 | (build_binary_op): Pass types to binary_op_error. | |
4122 | * c-common.c (binary_op_error): Take two type arguments, print out | |
4123 | types with error. | |
4124 | * c-common.h (binary_op_error): Update prototype. | |
4125 | ||
6847c43d L |
4126 | 2007-05-31 H.J. Lu <hongjiu.lu@intel.com> |
4127 | ||
4128 | * config/i386/i386.c: Correct coments on -mno-sse4. | |
4129 | ||
3b8dd071 L |
4130 | 2007-05-31 H.J. Lu <hongjiu.lu@intel.com> |
4131 | ||
06f4e35d | 4132 | * config.gcc (i[34567]86-*-*): Add nmmintrin.h to extra_headers. |
3b8dd071 | 4133 | (x86_64-*-*): Likewise. |
3b8dd071 L |
4134 | * config/i386/i386.c (OPTION_MASK_ISA_MMX_UNSET): New. |
4135 | (OPTION_MASK_ISA_3DNOW_UNSET): Likewise. | |
4136 | (OPTION_MASK_ISA_SSE_UNSET): Likewise. | |
4137 | (OPTION_MASK_ISA_SSE2_UNSET): Likewise. | |
4138 | (OPTION_MASK_ISA_SSE3_UNSET): Likewise. | |
4139 | (OPTION_MASK_ISA_SSSE3_UNSET): Likewise. | |
4140 | (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise. | |
4141 | (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise. | |
4142 | (OPTION_MASK_ISA_SSE4): Likewise. | |
4143 | (OPTION_MASK_ISA_SSE4_UNSET): Likewise. | |
4144 | (OPTION_MASK_ISA_SSE4A_UNSET): Likewise. | |
06f4e35d | 4145 | (ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET. Handle SSE4.2. |
3b8dd071 L |
4146 | (override_options): Support SSE4.2. |
4147 | (ix86_build_const_vector): Support SImode and DImode. | |
4148 | (ix86_build_signbit_mask): Likewise. | |
4149 | (ix86_expand_int_vcond): Support V2DImode. | |
4150 | (IX86_BUILTIN_CRC32QI): New for SSE4.2. | |
4151 | (IX86_BUILTIN_CRC32HI): Likewise. | |
4152 | (IX86_BUILTIN_CRC32SI): Likewise. | |
4153 | (IX86_BUILTIN_CRC32DI): Likewise. | |
4154 | (IX86_BUILTIN_PCMPGTQ): Likewise. | |
4155 | (bdesc_crc32): Likewise. | |
4156 | (bdesc_sse_3arg): Likewise. | |
4157 | (ix86_expand_crc32): Likewise. | |
4158 | (ix86_init_mmx_sse_builtins): Support SSE4.2. | |
4159 | (ix86_expand_builtin): Likewise. | |
3b8dd071 L |
4160 | * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define |
4161 | __SSE4_2__ for -msse4.2. | |
3b8dd071 L |
4162 | * config/i386/i386.md (UNSPEC_CRC32): New for SSE4.2. |
4163 | (CRC32MODE): Likewise. | |
4164 | (crc32modesuffix): Likewise. | |
4165 | (crc32modeconstraint): Likewise. | |
4166 | (sse4_2_crc32<mode>): Likewise. | |
4167 | (sse4_2_crc32di): Likewise. | |
3b8dd071 L |
4168 | * config/i386/i386.opt (msse4.2): New for SSE4.2. |
4169 | (msse4): Likewise. | |
06f4e35d | 4170 | * config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header file. |
3b8dd071 | 4171 | * config/i386/smmintrin.h: Add SSE4.2 intrinsics. |
06f4e35d | 4172 | * config/i386/sse.md (sse4_2_gtv2di3): New pattern for SSE4.2. |
3b8dd071 L |
4173 | (vcond<mode>): Use SSEMODEI instead of SSEMODE124. |
4174 | (vcondu<mode>): Likewise. | |
3b8dd071 | 4175 | * doc/extend.texi: Document SSE4.2 built-in functions. |
3b8dd071 L |
4176 | * doc/invoke.texi: Document -msse4.2/-msse4. |
4177 | ||
2664efb6 ZD |
4178 | 2007-05-31 Zdenek Dvorak <dvorakz@suse.cz> |
4179 | ||
4180 | PR tree-optimization/32160 | |
4181 | * tree-predcom.c (predcom_tmp_var): New function. Mark created | |
4182 | variable as gimple reg. | |
4183 | (initialize_root_vars, initialize_root_vars_lm): Use predcom_tmp_var. | |
4184 | ||
01e4dd0d KH |
4185 | 2007-05-31 Kazu Hirata <kazu@codesourcery.com> |
4186 | ||
4187 | * gcc.c (main): Don't consider linker options when issuing the | |
4188 | warning about a linker input file not being used. | |
4189 | ||
3b7bab4d RW |
4190 | 2007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
4191 | ||
4192 | * tree-vrp.c (compare_names): Initialize sop. | |
4193 | ||
62090afb DM |
4194 | 2007-05-30 Dirk Mueller <dmueller@suse.de> |
4195 | ||
4196 | * cgraphunit.c (cgraph_analyze_function): Remove | |
4197 | computation of inline parameters. | |
4198 | ||
4199 | 2007-05-30 Uros Bizjak <ubizjak@gmail.com> | |
b42f4d62 UB |
4200 | |
4201 | * config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Undef before define. | |
4202 | ||
9403b7f7 RS |
4203 | 2007-05-30 Richard Sandiford <richard@codesourcery.com> |
4204 | ||
4205 | * config.gcc (arm-wrs-vxworks): Remove dbxelf.h from tm_file. | |
4206 | Add vx-common.h. Include vxworks.h between vx-common.h and | |
4207 | arm/vxworks.h. | |
4208 | * config/vx-common.h (DWARF2_UNWIND_INFO): Undefine before | |
4209 | redefining. | |
4210 | * config/vxworks.h (TARGET_ASM_CONSTRUCTOR): Likewise. | |
4211 | (TARGET_ASM_DESTRUCTOR): Likewise. | |
4212 | * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Check arm_arch_xscale | |
4213 | instead of arm_is_xscale. Use VXWORKS_OS_CPP_BUILTINS. | |
4214 | (OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define. | |
4215 | (CC1_SPEC): Add -tstrongarm. Line up backslashes. | |
4216 | (VXWORKS_ENDIAN_SPEC): Define. | |
4217 | (ASM_SPEC): Add VXWORKS_ENDIAN_SPEC. | |
4218 | (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine to their | |
4219 | VXWORKS_* equivalents. | |
4220 | (LINK_SPEC): Likewise, but add VXWORKS_ENDIAN_SPEC. | |
4221 | (ASM_FILE_START): Delete. | |
4222 | (TARGET_VERSION): Reformat. | |
4223 | (FPUTYPE_DEFAULT, FUNCTION_PROFILER): Define. | |
4224 | (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define. | |
4225 | * config/arm/t-vxworks (LIB1ASMSRC, LIB1ASMFUNCS): Define. | |
4226 | (FPBIT, DPBIT): Define. | |
4227 | (fp-bit.c, dp-bit.c): New rules. | |
4228 | (MULTILIB_OPTIONS): Add strongarm, -mrtp and -mrtp/-fPIC multilibs. | |
4229 | (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Define. | |
4230 | * config/arm/arm-protos.h (arm_emit_call_insn): Declare. | |
4231 | * config/arm/arm.h: Include vxworks-dummy.h. | |
4232 | * config/arm/arm.c (arm_elf_asm_constructor, arm_elf_asm_destructor): | |
4233 | Mark with ATTRIBUTE_UNUSED. | |
4234 | (arm_override_options): Do not allow VxWorks RTP PIC to be used | |
4235 | for Thumb. Force r9 to be the PIC register for VxWorks RTPs and | |
4236 | make it incompatible with -msingle-pic-base. | |
4237 | (arm_function_ok_for_sibcall): Return false for calls that might | |
4238 | go through a VxWorks PIC PLT entry. | |
4239 | (require_pic_register): New function, split out from... | |
4240 | (legitimize_pic_address): ...here. Do not use GOTOFF accesses | |
4241 | for VxWorks RTPs. | |
4242 | (arm_load_pic_register): Handle the VxWorks RTP initialization | |
4243 | sequence. Use pic_reg as a shorthand for cfun->machine->pic_reg. | |
4244 | (arm_emit_call_insn): New function. | |
4245 | (arm_assemble_integer): Do not use GOTOFF accesses for VxWorks RTP. | |
4246 | * config/arm/arm.md (UNSPEC_PIC_OFFSET): New unspec number. | |
4247 | (pic_offset_arm): New pattern. | |
4248 | (call, call_value): Use arm_emit_call_insn. | |
4249 | (call_internal, call_value_internal): New expanders. | |
4250 | * config/arm/lib1funcs.asm (__PLT__): Define to empty for | |
4251 | VxWorks unless __PIC__. | |
4252 | ||
5abc5de9 EC |
4253 | 2007-05-30 Eric Christopher <echristo@gmail.com> |
4254 | ||
4255 | * genrecog.c: Include regs.h in generated file. | |
4256 | * genemit.c: Ditto. Fix up formatting. | |
4257 | * config/mn10300/constraints.md: New. | |
4258 | * config/mn10300/mn10300.md: Include. | |
4259 | * config/mn10300/mn10300.c(mn10300_secondary_reload_class): | |
4260 | Fix up for removed macro. | |
4261 | * config/mn10300/predicates.md (call_address_operand): Ditto. | |
4262 | * config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Delete. | |
4263 | (CONST_OK_FOR_I): Ditto. | |
4264 | (CONST_OK_FOR_J): Ditto. | |
4265 | (CONST_OK_FOR_K): Ditto. | |
4266 | (CONST_OK_FOR_L): Ditto. | |
4267 | (CONST_OK_FOR_M): Ditto. | |
4268 | (CONST_OK_FOR_N): Ditto. | |
4269 | (CONST_DOUBLE_OK_FOR_LETTER_P): Ditto. | |
4270 | (OK_FOR_Q): Ditto. | |
4271 | (OK_FOR_R): Ditto. | |
4272 | (OK_FOR_T): Ditto. | |
4273 | (EXTRA_CONSTRAINT): Ditto. | |
4274 | ||
853a33f3 UB |
4275 | 2007-05-30 Uros Bizjak <ubizjak@gmail.com> |
4276 | ||
4277 | * config/i386/i386.h (MASK_64BIT, MASK_MMX, MASK_3DNOW*, MASK_SSE*): | |
4278 | Remove defines. | |
4279 | * config/i386/biarch.h (TARGET_64BIT_DEFAULT): Define to | |
4280 | OPTION_MASK_ISA_64BIT. | |
4281 | * config/i386/i386.c: Rename MASK_* macros to OPTION_MASK_ISA_*. | |
4282 | ||
fa139765 RG |
4283 | 2007-05-30 Richard Guenther <rguenther@suse.de> |
4284 | ||
4285 | PR middle-end/32152 | |
4286 | * gimplify.c (gimplify_omp_atomic_pipeline): Use correct | |
4287 | types for comparison. | |
4288 | * fold-const.c (fold_comparison): Call maybe_canonicalize_comparison | |
4289 | with original typed arguments. | |
4290 | * config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatches. | |
4291 | ||
722ba5ee JJ |
4292 | 2007-05-30 Jakub Jelinek <jakub@redhat.com> |
4293 | ||
4294 | PR tree-optimization/31769 | |
4295 | * except.c (duplicate_eh_regions): Clear prev_try if | |
4296 | ERT_MUST_NOT_THROW region is inside of ERT_TRY region. | |
4297 | ||
18965703 ZD |
4298 | 2007-05-30 Zdenek Dvorak <dvorakz@suse.cz> |
4299 | ||
4300 | * tree-scalar-evolution.c (scev_const_prop): Do not create labels. | |
4301 | * tree-ssa-sink.c (statement_sink_location): Return basic block and | |
4302 | bsi of the location where statements should be inserted. | |
4303 | (sink_code_in_bb): Take bsi from statement_sink_location. | |
4304 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use bsi_after_labels | |
4305 | instead of bsi_start. | |
4306 | * tree-profile.c (tree_gen_ic_func_profiler): Pass BSI_NEW_STMT to | |
4307 | bsi_insert_after. | |
4308 | * tree-cfg.c (bsi_move_after): Pass BSI_NEW_STMT to bsi_insert_after. | |
4309 | (bsi_move_before): Document inconsistency with bsi_move_after. | |
4310 | (tree_redirect_edge_and_branch): Do not create labels if not necessary. | |
4311 | ||
0a1c5e55 UB |
4312 | 2007-05-30 Uros Bizjak <ubizjak@gmail.com> |
4313 | ||
4314 | * config/i386/i386.h (TARGET_ABM): New define. | |
4315 | (TARGET_POPCNT): Ditto. | |
4316 | (TARGET_64BIT, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A, TARGET_SSE*): | |
4317 | New temporary defines to redefine from OPTION_ISA_* defines. | |
4318 | (MASK_64BIT, MASK_MMX, MASK_3DNOW, MASK_3DNOW_A, MASK_SSE*): | |
4319 | New temporary defines to redefine from OPTION_MASK_ISA_* defines. | |
4320 | (ix86_isa_flags): New extern int declaration. | |
4321 | (TARGET_SUBTARGET_DEFAULT): New define. | |
4322 | (TARGET_SUBTARGET_ISA_DEFAULT): Ditto. | |
4323 | (TARGET_SUBTARGET32_DEFAULT): Ditto. | |
4324 | (TARGET_SUBTARGET32_ISA_DEFAULT): Ditto. | |
4325 | (TARGET_SUBTARGET64_ISA_DEFAULT): Ditto. | |
4326 | * config/i386/unix.h: Undef TARGET_SUBTARGET_DEFAULT before define. | |
4327 | * config/i386/darwin.h: Change TARGET_64BIT define to | |
4328 | OPTION_ISA_64BIT. | |
4329 | ||
4330 | * config/i386/i386.opt (m3dnowa): Define as undocumented option | |
4331 | using existing "ix86_isa_flags" varible. | |
4332 | (m32, m64): Use existing "ix86_isa_flags" variable. | |
4333 | (mmmx, m3dnow): Ditto. | |
4334 | (msse, msse2, msse3, mssse3, msse4.1, msse4a): Ditto. | |
4335 | (mabm): Define as non-negative option using "x86_abm" variable. | |
4336 | (mpopcnt): Define as non-negative option using "x86_popcnt" variable. | |
4337 | ||
4338 | * config/i386/i386.c (ix86_arch_features) [X86_ARCH_CMOVE]: | |
4339 | Rewrite feature test bitmap. | |
4340 | (ix86_isa_flags): New initialized global int varible. | |
4341 | (ix86_isa_flags_explicit): New static int variable. | |
4342 | (ix86_handle_option): Set "ix86_isa_flags_explicit" when mmmx, m3dnow, | |
4343 | msse, msse2, msse3, msse4.1 and msse4a option is processed. Change | |
4344 | i86_isa_flags and ix86_isa_flags_explicit, not target_flags and | |
4345 | target_flags_explicit. | |
4346 | (override_options): Remove "target_enable" and "target_disable" fields | |
4347 | from "struct ptt". Update processor_target_table accordingly. Remove | |
4348 | PTA_PREFETCH_SSE from processor_alias_table entry if PTE_SSE is | |
4349 | defined and rearrange PTA_* bits. Use "ix86_isa_flags" instead of | |
4350 | "target_flags" and "ix86_isa_flags_explicit" instead of | |
4351 | "target_flags_explicit" when masked with MASK_64BIT, MASK_MMX, | |
4352 | MASK_3DNOW, MASK_3DNOW_A or MASK_SSE*. Set "x86_abm" to true when | |
4353 | PTA_ABM is set in processor_alias_table flags entry. Set "x86_popcnt" | |
4354 | to true when either of PTA_POPCNT or PTA_ABM is set in | |
4355 | processor_alias_table flags entry. Set "x86_prefetch_sse" to true | |
4356 | when either of PTA_PREFETCH_SSE or PTA_SSE is set in | |
4357 | processor_alias_table flags entry. Remove handling of | |
4358 | "target_enable" and "target_disable" fields of processor_target_table. | |
4359 | Mask "target_flags" with TARGET_SUBTARGET32_DEFAULT for 32-bit | |
4360 | targets or with TARGET_SUBTARGET64_DEFAULT for 64-bit targets. | |
4361 | Mask "ix86_isa_flags" with TARGET_SUBTARGET32_ISA_DEFAULT for 32-bit | |
4362 | targets or with TARGET_SUBTARGET64_ISA_DEFAULT for 64-bit targets. | |
4363 | (def_builtin): Mask "mask" variable with "ix86_isa_flags", not | |
4364 | "target_flags". | |
4365 | (TARGET_DEFAULT_TARGET_FLAGS): Do not include TARGET_64BIT_DEFAULT. | |
4366 | ||
853a33f3 | 4367 | 2007-05-29 David Daney <ddaney@avtrex.com> |
e440de0e DD |
4368 | |
4369 | PR gcc/31975 | |
4370 | * config/mips/mips.c (mips_output_mi_thunk): Emit | |
4371 | NOTE_INSN_PROLOGUE_END at beginning of the thunk. | |
4372 | ||
f2f0a960 | 4373 | 2007-05-29 Hui-May Chang <hm.chang@apple.com> |
5abc5de9 | 4374 | * config/i386/i386.c (ix86_function_regparm): Added checking of |
f2f0a960 HMC |
4375 | ix86_force_align_arg_pointer to determine the number of |
4376 | register parameters. | |
4377 | ||
5417e022 ZD |
4378 | 2007-05-29 Zdenek Dvorak <dvorakz@suse.cz> |
4379 | ||
4380 | * tree-vectorizer.h (DR_MISALIGNMENT): Cast aux to integer. | |
4381 | (SET_DR_MISALIGNMENT): New. | |
4382 | * tree-vect-analyze.c (vect_compute_data_ref_alignment, | |
4383 | vect_update_misalignment_for_peel, vect_enhance_data_refs_alignment): | |
4384 | Use SET_DR_MISALIGNMENT. | |
4385 | * tree-predcom.c (split_data_refs_to_components): Cast dr->aux from | |
4386 | pointer. | |
4387 | * tree-data-ref.c (create_data_ref, compute_all_dependences, | |
4388 | find_loop_nest): Export. | |
4389 | * tree-data-ref.h (struct data_reference): Change aux field to pointer. | |
4390 | (create_data_ref, compute_all_dependences, find_loop_nest): Declare. | |
4391 | * tree-ssa-loop-prefetch.c: Include tree-data-ref.h. | |
4392 | (L1_CACHE_SIZE_BYTES, L2_CACHE_SIZE_BYTES, NONTEMPORAL_FRACTION): | |
4393 | New macros. | |
4394 | (struct mem_ref): Add field reuse_distance. | |
4395 | (find_or_create_group, record_ref): Use XNEW instead of xcalloc. | |
4396 | Initialize reuse_distance field. | |
4397 | (issue_prefetch_ref): Select temporality of prefetch according to | |
4398 | reuse_distance. | |
4399 | (volume_of_references, volume_of_dist_vector, add_subscript_strides, | |
4400 | self_reuse_distance, determine_loop_nest_reuse): New functions. | |
4401 | (loop_prefetch_arrays): Call determine_loop_nest_reuse. | |
4402 | (tree_ssa_prefetch_arrays): Dump L2 cache size. | |
4403 | * Makefile.in (tree-ssa-loop-prefetch.o): Add TREE_DATA_REF_H | |
4404 | dependency. | |
4405 | ||
6e2dc028 DB |
4406 | 2007-05-29 Daniel Berlin <dberlin@dberlin.org> |
4407 | ||
4408 | * tree-ssa-alias.c: Add aliasing overview. | |
4409 | ||
9bd196f0 | 4410 | 2007-05-29 Zuxy Meng <zuxy.meng@gmail.com> |
5417e022 | 4411 | Danny Smith <dannysmith@users.sourceforge.net> |
9bd196f0 ZM |
4412 | |
4413 | PR target/29498 | |
4414 | * config/i386/t-crtfm: Compile crtfastmath.o with | |
4415 | -minline-all-stringops. | |
4416 | * config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o. | |
4417 | * config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o. | |
4418 | ||
5b281141 JDA |
4419 | 2007-05-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
4420 | ||
8119b4e4 JDA |
4421 | * doc/md.texi: Document constraints on HP PA-RISC. |
4422 | ||
5b281141 JDA |
4423 | * pa/constraints.md: New file. |
4424 | * pa.md: Include constraints.md. | |
4425 | * pa.c (cint_ok_for_move): Avoid using CONST_OK_FOR_LETTER_P. | |
4426 | (integer_store_memory_operand, ldil_cint_p): New functions. | |
4427 | * pa-protos.h (integer_store_memory_operand, ldil_cint_p): Declare. | |
4428 | * pa.h (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, | |
4429 | IS_RELOADING_PSEUDO_P, EXTRA_CONSTRAINT): Remove. | |
4430 | * pa32-regs.h (REG_CLASS_FROM_LETTER): Remove. | |
4431 | * pa64-regs.h (REG_CLASS_FROM_LETTER): Remove. | |
4432 | ||
a87db577 AP |
4433 | 2007-05-28 Andrew Pinski <Andrew_pinski@playstation.sony.com> |
4434 | ||
4435 | PR c/31339 | |
4436 | * c-typeck.c (build_unary_op <case PREINCREMENT_EXPR, | |
4437 | case POSTINCREMENT_EXPR, case PREDECREMENT_EXPR, | |
4438 | case POSTDECREMENT_EXPR>): Return the error_mark_node | |
4439 | if either the real or imaginary parts would an | |
4440 | error_mark_node. | |
4441 | ||
3659e0cd DB |
4442 | 2007-05-28 Daniel Berlin <dberlin@dberlin.org> |
4443 | ||
4444 | * tree-ssa-dce.c (eliminate_unnecessary_stmts): Release LHS SSA | |
4445 | name when we remove it from a call. | |
4446 | ||
cf9226fb KH |
4447 | 2007-05-28 Kazu Hirata <kazu@codesourcery.com> |
4448 | ||
4449 | * targhooks.c (default_narrow_bitfield): Remove. | |
4450 | * targhooks.h: Remove the prototype for | |
4451 | default_narrow_bitfield. | |
4452 | ||
70ea680b KH |
4453 | * langhooks-def.h: Remove the prototype for |
4454 | hook_get_alias_set_0. | |
4455 | * langhooks.c (hook_get_alias_set_0): Remove. | |
4456 | ||
179daa15 KH |
4457 | * global.c (EXECUTE_IF_CONFLICT): Remove. |
4458 | ||
3613c7ab AP |
4459 | 2007-05-28 Andrew Pinski <andrew_pinski@playstation.sony.com> |
4460 | ||
4461 | PR tree-opt/32100 | |
4462 | * fold-const.c (tree_expr_nonnegative_warnv_p): Don't | |
4463 | return true when truth_value_p is true and the type | |
4464 | is of signed:1. | |
4465 | ||
565f8ce5 GP |
4466 | 2007-05-28 Gerald Pfeifer <gerald@pfeifer.com> |
4467 | ||
4468 | * doc/install.texi (Prerequisites): We no longer require Autoconf | |
4469 | 2.13 for the top-level. | |
4470 | ||
e9dd4c3e UB |
4471 | 2007-05-28 Uros Bizjak <ubizjak@gmail.com> |
4472 | ||
4473 | * target/i386/i386.c (ix86_expand_vector_move): Expand unaligned | |
4474 | memory access via x86_expand_vector_move_misalign() only for | |
4475 | TImode values on 32-bit targets. | |
5abc5de9 EC |
4476 | |
4477 | 2007-05-28 Razya Ladelsky <razya@il.ibm.com> | |
4478 | ||
e9dd4c3e UB |
4479 | * matrix-reorg.c: New file. Implement matrix flattening and |
4480 | transposing optimization. | |
4481 | * tree-pass.h: Add matrix reorg pass. | |
4482 | * common.opt: Add fipa-mreorg flag. | |
4483 | * Makefile.in: Add matrix-reorg.c. | |
4484 | * passes.c: Add matrix reorg pass. | |
4485 | * varpool.c (add_new_static_var): New function. | |
4486 | * cgraph.h (add_new_static_var): Declare. | |
43d861a5 | 4487 | |
bcb2d701 EC |
4488 | 2007-05-27 Eric Christopher <echristo@apple.com> |
4489 | ||
4490 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Update | |
4491 | sp_offset depending on stack size. Save r12 depending | |
4492 | on registers we're saving later. | |
4493 | (rs6000_emit_epilogue): Update sp_offset depending only | |
4494 | on stack size. | |
4495 | ||
d51157de ZD |
4496 | 2007-05-27 Zdenek Dvorak <dvorakz@suse.cz> |
4497 | ||
4498 | * tree-vrp.c (execute_vrp): Do not check whether current_loops == NULL. | |
4499 | * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto. | |
4500 | * ifcvt.c (if_convert): Ditto. | |
4501 | * tree-ssa-threadupdate.c (thread_block): Ditto. | |
4502 | (thread_through_all_blocks): Ditto. Assert that loops were analysed. | |
4503 | * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa, | |
0a1c5e55 UB |
4504 | verify_loop_closed_ssa): Check number_of_loops instead of |
4505 | current_loops. | |
d51157de ZD |
4506 | * predict.c (tree_estimate_probability): Ditto. |
4507 | * tree-if-conv.c (main_tree_if_conversion): Ditto. | |
4508 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
4509 | * modulo-sched.c (sms_schedule): Ditto. | |
4510 | * tree-scalar-evolution.c (scev_const_prop): Ditto. | |
4511 | (scev_finalize): Do not do anything if scev analysis was not | |
4512 | initialized. | |
4513 | * cfgloopanal.c (mark_irreducible_loops): Do not check whether | |
4514 | current_loops == NULL. | |
4515 | (mark_loop_exit_edges): Check number_of_loops instead of current_loops. | |
4516 | * loop-init.c (loop_optimizer_init): Do not free current_loops when | |
4517 | there are no loops. | |
4518 | (loop_optimizer_finalize): Assert that loops were analyzed. | |
4519 | (rtl_move_loop_invariants, rtl_unswitch, rtl_unroll_and_peel_loops, | |
4520 | rtl_doloop): Check number_of_loops instead of current_loops. | |
4521 | * tree-ssa-loop.c (tree_loop_optimizer_init): Do not check whether | |
4522 | current_loops == NULL. | |
4523 | (tree_ssa_loop_init, tree_ssa_loop_im, tree_ssa_loop_unswitch, | |
4524 | gate_tree_vectorize tree_linear_transform, check_data_deps, | |
4525 | tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds, | |
4526 | tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts): | |
4527 | Check number_of_loops instead of current_loops. | |
4528 | (tree_ssa_loop_done): Do not check whether current_loops == NULL. | |
4529 | * tree-ssa-pre.c (fini_pre): Do not take do_fre argument. Always | |
4530 | free loops if available. | |
4531 | (execute_pre): Do not pass do_fre to fini_pre. | |
4532 | ||
fe67caf6 TB |
4533 | 2007-05-27 Tobias Burnus <burnus@net-b.de> |
4534 | ||
4535 | PR middle-end/32083 | |
4536 | * real.c (mpfr_from_real): Fix sign of -Inf. | |
4537 | ||
8ff43db0 L |
4538 | 2007-05-27 H.J. Lu <hongjiu.lu@intel.com> |
4539 | ||
4540 | * tree-vect-transform.c (vectorizable_conversion): Initialize | |
4541 | tree_code variables to ERROR_MARK. | |
4542 | (vectorizable_type_demotion): Likewise. | |
4543 | (vectorizable_type_promotion): Likewise. | |
4544 | ||
72bd078f UB |
4545 | 2007-05-26 Uros Bizjak <ubizjak@gmail.com> |
4546 | ||
4547 | PR target/32065 | |
4548 | * config/i386/i386.md (movti): Handle push operands via | |
4549 | ix86_expand_push(). | |
4550 | ||
eb834193 KH |
4551 | 2007-05-26 Kazu Hirata <kazu@codesourcery.com> |
4552 | ||
4553 | * basic-block.h: Remove the prototype for merge_seq_blocks. | |
4554 | * cfgcleanup.c (merge_seq_blocks): Remove. | |
4555 | ||
5ef1348f KH |
4556 | * tree-flow.h: Remove the prototype for is_aliased_with. |
4557 | * tree-ssa-alias.c (is_aliased_with): Remove. | |
4558 | ||
e5ac0b9b L |
4559 | 2007-05-26 H.J. Lu <hongjiu.lu@intel.com> |
4560 | ||
4561 | * config/i386/i386-protos.h (ix86_expand_sse4_unpack): New. | |
4562 | ||
4563 | * config/i386/i386.c (ix86_expand_sse4_unpack): New. | |
4564 | ||
4565 | * config/i386/sse.md (vec_unpacku_hi_v16qi): Call | |
4566 | ix86_expand_sse4_unpack if SSE4.1 is enabled. | |
4567 | (vec_unpacks_hi_v16qi): Likewise. | |
4568 | (vec_unpacku_lo_v16qi): Likewise. | |
4569 | (vec_unpacks_lo_v16qi): Likewise. | |
4570 | (vec_unpacku_hi_v8hi): Likewise. | |
4571 | (vec_unpacks_hi_v8hi): Likewise. | |
4572 | (vec_unpacku_lo_v8hi): Likewise. | |
4573 | (vec_unpacks_lo_v8hi): Likewise. | |
4574 | (vec_unpacku_hi_v4si): Likewise. | |
4575 | (vec_unpacks_hi_v4si): Likewise. | |
4576 | (vec_unpacku_lo_v4si): Likewise. | |
4577 | (vec_unpacks_lo_v4si): Likewise. | |
4578 | ||
4dad0aca KH |
4579 | 2007-05-26 Kazu Hirata <kazu@codesourcery.com> |
4580 | ||
4581 | * c-typeck.c, config/arm/arm.c, config/darwin.c, | |
4582 | config/sh/symbian.c, gcc.c, ipa-cp.c, ipa-inline.c, loop-iv.c, | |
4583 | omega.c, tree-ssa-loop-niter.c, treestruct.def: Fix typos and | |
4584 | follow spelling conventions in various | |
4585 | warning/error/diagnostic messages. | |
4586 | ||
110abdbc KH |
4587 | * config/i386/i386.c, config/pa/pa.c, config/spu/spu.c, |
4588 | df-problems.c, df-scan.c, domwalk.c, ebitmap.c, ebitmap.h, | |
4589 | fold-const.c, gcc.c, ipa-type-escape.c, omega.c, omega.h, | |
4590 | tree-ssa-coalesce.c, tree-ssa-live.c, tree-ssa-structalias.c, | |
4591 | tree-vrp.c: Fix comment typos. Follow spelling conventions. | |
4592 | * doc/tm.texi: Follow spelling conventions. | |
4593 | ||
150594ba AP |
4594 | 2007-05-25 Andrew Pinski <andrew_pinski@playstation.sony.com> |
4595 | ||
4596 | PR tree-opt/32090 | |
4597 | * tree-ssa-forwprop.c | |
4598 | (forward_propagate_addr_into_variable_array_index): Remove | |
4599 | the lhs argument. Use the type of def_rhs instead of lhs. | |
4600 | (forward_propagate_addr_expr_1): Update use of | |
4601 | forward_propagate_addr_into_variable_array_index. | |
4602 | ||
cd3a59b3 SL |
4603 | 2007-05-25 Sandra Loosemore <sandra@codesourcery.com> |
4604 | Nigel Stephens <nigel@mips.com> | |
4605 | ||
4606 | * config/mips/mips.c (mips_attribute_table): Add "near" and "far" | |
4607 | function attributes, "far" being an alias for "long_call". | |
4608 | (TARGET_COMP_TYPE_ATTRIBUTES): Define as mips_comp_type_attributes. | |
4609 | (mips_near_type_p, mips_far_type_p): New. | |
4610 | (mips_comp_type_attributes): New function to check that attributes | |
4611 | attached to a function type are compatible. | |
4612 | (mips_output_mi_thunk): Test SYMBOL_REF_LONG_CALL_P() rather than | |
4613 | TARGET_LONG_CALLS when deciding whether we can do a direct sibcall | |
4614 | to the target function of the thunk. | |
4615 | (mips_encode_section_info): Check for "near" and "far" function | |
4616 | attributes, and always set the SYMBOL_FLAG_LONG_CALL bit explicitly. | |
4617 | ||
4618 | * config/mips/predicates.md (const_call_insn_operand): Test only | |
4619 | SYMBOL_REF_LONG_CALL_P() and not TARGET_LONG_CALLS. | |
4620 | ||
4621 | * doc/extend.texi (Function Attributes): Document MIPS "near" and | |
4622 | "far" attributes. | |
4623 | ||
4624 | * testsuite/gcc.target/mips/near-far-1.c: New test case. | |
4625 | * testsuite/gcc.target/mips/near-far-2.c: New test case. | |
4626 | * testsuite/gcc.target/mips/near-far-3.c: New test case. | |
4627 | * testsuite/gcc.target/mips/near-far-4.c: New test case. | |
4628 | ||
8536ebb5 EC |
4629 | 2007-05-25 Eric Christopher <echristo@apple.com> |
4630 | ||
4631 | * config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp | |
4632 | to x86-darwin configurations. | |
4633 | * config/i386/t-darwin: Add softfp support. | |
4634 | * config/i386/t-darwin64: Ditto. | |
4635 | * config/i386/sfp-machine.h: If mach then don't use | |
4636 | aliasing, emit a stub to call. | |
4637 | ||
c80b4100 KH |
4638 | 2007-05-25 Kazu Hirata <kazu@codesourcery.com> |
4639 | ||
4640 | * cfglayout.c, cgraphunit.c, config/avr/avr.c, fold-const.c, | |
4641 | haifa-sched.c, optabs.h, tree-affine.c, tree-data-ref.c, | |
4642 | tree-predcom.c, tree-ssa-alias-warnings.c, | |
4643 | tree-ssa-forwprop.c, tree-vect-analyze.c, tree-vrp.c: Fix | |
4644 | comment typos. Follow spelling conventions. | |
4645 | * doc/cpp.texi, doc/invoke.texi: Fix typos. | |
4646 | ||
4d2a42a1 UB |
4647 | 2007-05-26 Uros Bizjak <ubizjak@gmail.com> |
4648 | ||
4649 | PR target/32065 | |
4650 | * target/i386/i386.c (ix86_expand_vector_move): Force SUBREGs of | |
4651 | constants into memory. Expand unaligned memory references for | |
4652 | SSE modes via x86_expand_vector_move_misalign() function. | |
4653 | ||
5b98f74d UB |
4654 | 2007-05-25 Uros Bizjak <ubizjak@gmail.com> |
4655 | ||
4656 | * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate | |
4657 | "memory" attribute for "sseishft" type insn without operands[2]. | |
4658 | ||
51bc54a6 DM |
4659 | 2007-05-25 Dirk Mueller <dmueller@suse.de> |
4660 | Marcus Meissner <meissner@suse.de> | |
4661 | ||
4662 | * doc/extend.texi (alloc_size): New attribute. | |
4663 | * c-common.c (handle_alloc_size_attribute): New. | |
4664 | * tree-object-size.c (alloc_object_size): Use alloc_size | |
4665 | attribute, if available. | |
4666 | ||
fc6c9f75 L |
4667 | 2007-05-25 H.J. Lu <hongjiu.lu@intel.com> |
4668 | ||
4669 | * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it | |
4670 | with MASK_SSE2. | |
4671 | (__builtin_ia32_vec_ext_v2di): Likewise. | |
4672 | (__builtin_ia32_vec_ext_v4si): Likewise. | |
4673 | (__builtin_ia32_vec_ext_v8hi): Likewise. | |
4674 | (__builtin_ia32_vec_ext_v16qi): Likewise. | |
4675 | (__builtin_ia32_vec_set_v8hi): Likewise. | |
4676 | ||
77315816 L |
4677 | 2007-05-25 H.J. Lu <hongjiu.lu@intel.com> |
4678 | ||
4679 | * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift. | |
4680 | ||
25a65198 RS |
4681 | 2007-05-25 Richard Sandiford <richard@codesourcery.com> |
4682 | ||
4683 | * config/arm/arm-protos.h (arm_encode_call_attribute): Delete. | |
4684 | (arm_is_longcall_p): Rename to... | |
4685 | (arm_is_long_call_p): ...this. Take a single tree argument and | |
4686 | return a bool. | |
4687 | * config/arm/arm.h (CALL_SHORT, CALL_LONG, CALL_NORMAL): Delete. | |
4688 | (CUMULATIVE_ARGS): Remove call_cookie. | |
4689 | (SHORT_CALL_FLAG_CHAR, LONG_CALL_FLAG_CHAR, ENCODED_SHORT_CALL_ATTR_P) | |
4690 | (ENCODED_LONG_CALL_ATTR_P): Delete. | |
4691 | (ARM_NAME_ENCODING_LENGTHS): Remove SHORT_CALL_FLAG_CHAR and | |
4692 | LONG_CALL_FLAG_CHAR cases. | |
4693 | (ARM_DECLARE_FUNCTION_SIZE): Delete. | |
4694 | * config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Don't use | |
4695 | ARM_DECLARE_FUNCTION_SIZE. | |
4696 | * config/arm/arm.c (arm_init_cumulative_args): Don't set call_cookie. | |
4697 | (arm_function_arg): Return const0_rtx for VOIDmode arguments. | |
4698 | (arm_encode_call_attribute, current_file_function_operand): Delete. | |
4699 | (arm_function_in_section_p): New function. | |
4700 | (arm_is_longcall_p): Rename to... | |
4701 | (arm_is_long_call_p): ...this. Take the target function as a single | |
4702 | argument and return a bool. Do not rely on call cookies. Check | |
4703 | whether the target symbol is in the same section as the current | |
4704 | function, not just the same compilation unit. | |
4705 | (arm_function_ok_for_sibcall): Use arm_is_long_call_p. | |
4706 | (arm_encode_section_info): Don't encode a call type. | |
4707 | * config/arm/arm.md (call, call_value): Update calls to | |
4708 | arm_is_long(_)call_p. Simplify logic. | |
4709 | (*call_symbol, *call_value_symbol, *call_insn, *call_value_insn): | |
4710 | Update calls to arm_is_long(_)call_p. | |
4711 | ||
88efe45a RG |
4712 | 2007-05-25 Richard Guenther <rguenther@suse.de> |
4713 | ||
4714 | PR tree-optimization/31982 | |
4715 | * tree-ssa-forwprop.c | |
4716 | (forward_propagate_addr_into_variable_array_index): Handle arrays | |
4717 | with element size one. | |
4718 | ||
03fd30b1 AP |
4719 | 2007-05-24 Andrew Pinski <andrew_pinski@playstation.sony.com> |
4720 | ||
4721 | * config/spu/spu.md (smulsi3_highpart): Unshare the rtl chain. | |
4722 | (umulsi3_highpart): Likewise. | |
4723 | ||
88d1c2ad ILT |
4724 | 2007-05-24 Ian Lance Taylor <iant@google.com> |
4725 | ||
4726 | PR rtl-optimization/32069 | |
4727 | * regclass.c (regclass): Don't crash if the entry in regno_reg_rtx | |
4728 | is NULL. | |
4729 | ||
a702045a OW |
4730 | 2007-05-24 Ollie Wild <aaw@google.com> |
4731 | ||
4732 | * doc/cpp.texi (Common Predefined Macros): Add __COUNTER__ | |
4733 | description. | |
4734 | ||
5da20cfe RS |
4735 | 2007-05-24 Richard Sandiford <rsandifo@nildram.co.uk> |
4736 | ||
4737 | * postreload-gcse.c (reg_changed_after_insn_p): New function. | |
4738 | (oprs_unchanged_p): Use it to check all registers in a REG. | |
4739 | (record_opr_changes): Look for clobbers in CALL_INSN_FUNCTION_USAGE. | |
4740 | (reg_set_between_after_reload_p): Delete. | |
4741 | (reg_used_between_after_reload_p): Likewise. | |
4742 | (reg_set_or_used_since_bb_start): Likewise. | |
4743 | (eliminate_partially_redundant_load): Use reg_changed_after_insn_p | |
4744 | and reg_used_between_p instead of reg_set_or_used_since_bb_start. | |
4745 | Use reg_set_between_p instead of reg_set_between_after_reload_p. | |
4746 | * rtlanal.c (reg_set_p): Check whether REG overlaps | |
4747 | regs_invalidated_by_call, rather than just checking the | |
4748 | membership of REGNO (REG). | |
4749 | ||
bbc8a8dc ZD |
4750 | 2007-05-24 Zdenek Dvorak <dvorakz@suse.cz> |
4751 | ||
4752 | * doc/passes.texi: Document predictive commoning. | |
4753 | * doc/invoke.texi (-fpredictive-commoning): Document. | |
4754 | * opts.c (decode_options): Enable flag_predictive_commoning on -O3. | |
4755 | * tree-ssa-loop-im.c (get_lsm_tmp_name): Export. Allow | |
4756 | adding indices to the generated name. | |
4757 | (schedule_sm): Pass 0 to get_lsm_tmp_name. | |
4758 | * tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Export. | |
4759 | * tree-pretty-print.c (op_symbol_1): Renamed to ... | |
4760 | (op_symbol_code): ... and exported. | |
4761 | (dump_omp_clause, op_symbol): Use op_symbol_code | |
4762 | instead of op_symbol_1. | |
4763 | * tree-pass.h (pass_predcom): Declare. | |
4764 | * timevar.def (TV_PREDCOM): New timevar. | |
4765 | * tree-ssa-loop.c (run_tree_predictive_commoning, | |
4766 | gate_tree_predictive_commoning, pass_predcom): New. | |
4767 | * tree-data-ref.c (find_data_references_in_loop): Find the | |
4768 | references in dominance order. | |
4769 | (canonicalize_base_object_address): Ensure that the result has | |
4770 | pointer type. | |
4771 | (dr_analyze_innermost): Export. | |
4772 | (create_data_ref): Code to fail for references with invariant | |
4773 | address moved ... | |
4774 | (find_data_references_in_stmt): ... here. | |
4775 | * tree-data-ref.h (dr_analyze_innermost): Declare. | |
4776 | * tree-affine.c: Include tree-gimple.h and hashtab.h. | |
4777 | (aff_combination_find_elt, name_expansion_hash, | |
4778 | name_expansion_eq, tree_to_aff_combination_expand, | |
4779 | double_int_constant_multiple_p, aff_combination_constant_multiple_p): | |
4780 | New functions. | |
4781 | * tree-affine.h (aff_combination_constant_multiple_p, | |
4782 | tree_to_aff_combination_expand): Declare. | |
4783 | * tree-predcom.c: New file. | |
4784 | * common.opt (fpredictive-commoning): New option. | |
4785 | * tree-flow.h (op_symbol_code, tree_predictive_commoning, | |
4786 | stmt_dominates_stmt_p, get_lsm_tmp_name): Declare. | |
4787 | * Makefile.in (tree-predcom.o): Add. | |
4788 | (tree-affine.o): Add TREE_GIMPLE_H dependency. | |
4789 | * passes.c (init_optimization_passes): Add dceloop after | |
4790 | copy propagation in loop optimizer. Add predictive commoning | |
4791 | to loop optimizer passes. | |
4792 | ||
cb8b507b L |
4793 | 2007-05-24 H.J. Lu <hongjiu.lu@intel.com> |
4794 | ||
4795 | * target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Correct | |
4796 | default hook. | |
4797 | ||
9dbe7947 JH |
4798 | 2007-05-24 Jan Hubicka <jh@suse.cz> |
4799 | ||
956741d5 JH |
4800 | * gengenrtl.c (gendecl, gendef): Output the gens annotated for |
4801 | statistics. | |
4802 | (genheader): Include statistics.h. | |
4803 | ||
9dbe7947 JH |
4804 | * doc/invoke.texi (-fdump-unnumbered): Update docs when line number |
4805 | notes are gone. | |
4806 | * print-rtl.c (flag_dump_unnumbered): Update comments. | |
4807 | (print_rtl): Fix my previous change. | |
4808 | * emit-rtl.c (emit_note_before, emit_note_after): Clear out note | |
4809 | specific data. | |
4810 | ||
561e8a90 ZD |
4811 | 2007-05-24 Zdenek Dvorak <dvorakz@suse.cz> |
4812 | ||
4813 | PR middle-end/32018 | |
4814 | * tree-ssa-threadupdate.c (thread_through_loop_header): Use | |
4815 | set_loop_copy. | |
4816 | (thread_through_all_blocks): Call initialize_original_copy_tables | |
4817 | and free_original_copy_tables. | |
4818 | * cfgloopmanip.c (duplicate_loop, duplicate_loop_to_header_edge): | |
4819 | Use set_loop_copy. | |
4820 | * tree-cfg.c (tree_duplicate_sese_region): Ditto. | |
4821 | * cfghooks.c (duplicate_block): Use get_loop_copy. | |
4822 | * cfg.c: Include cfgloop.h. | |
4823 | (loop_copy): New hash table. | |
4824 | (initialize_original_copy_tables): Initialize loop_copy table. | |
4825 | (free_original_copy_tables): Free loop_copy table. | |
4826 | (copy_original_table_clear, copy_original_table_set, | |
4827 | set_loop_copy, get_loop_copy): New functions. | |
4828 | (set_bb_original, set_bb_copy): Use copy_original_table_set. | |
4829 | * cfgloop.h (struct loop): Remove copy field. | |
4830 | * Makefile.in (cfg.o): Add CFGLOOP_H dependency. | |
4831 | * basic-block.h (set_loop_copy, get_loop_copy): Declare. | |
4832 | ||
66da42bc L |
4833 | 2007-05-24 H.J. Lu <hongjiu.lu@intel.com> |
4834 | ||
4835 | * config/i386/i386.c (ix86_handle_option): Handle SSE4.1 for | |
4836 | -msse/-msse2/-msse3. | |
4837 | ||
5691b85a L |
4838 | 2007-05-24 H.J. Lu <hongjiu.lu@intel.com> |
4839 | ||
4840 | * config/i386/i386.c (ix86_init_mmx_sse_builtins): Mark | |
4841 | __builtin_ia32_vec_set_v2di with MASK_64BIT. | |
4842 | ||
5234b8f5 DS |
4843 | 2007-05-24 Danny Smith <dannysmith@users.sourceforge.net> |
4844 | ||
4845 | PR target/27067 | |
4846 | * doc/tm.texi (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Document. | |
4847 | * targhooks.h (default_mangle_decl_assembler_name): Declare | |
4848 | default hook. | |
4849 | * targhooks.c (default_mangle_decl_assembler_name): Define | |
4850 | default hook. | |
4851 | * target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) New. Set to | |
4852 | default hook. | |
4853 | * target.h (struct gcc_target): Add mangle_decl_assembler_name field. | |
4854 | * langhooks.c (lhd_set_decl_assembler_name): Call | |
4855 | targetm.mangle_decl_assembler_name for names with global scope. | |
4856 | ||
4857 | * config/i386/cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) Override | |
4858 | default. | |
4859 | (ASM_OUTPUT_DEF_FROM_DECLS): Simplify to use DECL_ASSEMBLER_NAME. | |
4860 | * config/i386/i386-protos.h (i386_pe_mangle_decl_assembler_name): | |
4861 | Declare. | |
4862 | * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name): | |
4863 | New. Factored out of i386_pe_encode_section_info. | |
4864 | (gen_stdcall_or_fastcall_suffix): Get name identifier as argument. | |
4865 | Move check for prior decoration of stdcall | |
4866 | symbols to i386_pe_encode_section_info. | |
4867 | (i386_pe_encode_section_info): Adjust call to | |
4868 | gen_stdcall_or_fastcall_suffix. Use | |
4869 | i386_pe_maybe_mangle_decl_assembler_name, if needed. | |
4870 | (i386_pe_mangle_decl_assembler_name): New. Wrap | |
4871 | i386_pe_maybe_mangle_decl_assembler_name. | |
4872 | ||
1e204133 RAE |
4873 | 2007-05-16 Rafael Avila de Espindola <espindola@google.com> |
4874 | ||
4875 | * c-common.c (c_common_signed_or_unsigned_type): Delay the check for | |
4876 | INTEGRAL_TYPE_P and TYPE_UNSIGNED. | |
4877 | * langhooks.c (get_signed_or_unsigned_type): Don't check for | |
4878 | INTEGRAL_TYPE_P or TYPE_UNSIGNED. | |
4879 | (lhd_signed_or_unsigned_type): Check for INTEGRAL_TYPE_P and | |
4880 | TYPE_UNSIGNED. | |
4881 | ||
a38e0142 SL |
4882 | 2007-05-23 Sandra Loosemore <sandra@codesourcery.com> |
4883 | Nigel Stephens <nigel@mips.com> | |
4884 | Richard Sandiford <richard@codesourcery.com> | |
4885 | ||
4886 | Fix up MIPS16 hard float and add support for complex. | |
4887 | ||
4888 | * config/mips/mips.h (TARGET_HARD_FLOAT_ABI): New. | |
4889 | (TARGET_SOFT_FLOAT_ABI): New. | |
4890 | (TARGET_CPU_CPP_BUILTINS): Define __mips_hard_float and | |
4891 | __mips_soft_float to reflect the ABI in use, not whether the | |
4892 | FPU is directly accessible (e.g., in MIPS16 mode). | |
4893 | (UNITS_PER_HWFPVALUE): Use TARGET_SOFT_FLOAT_ABI. | |
4894 | (UNITS_PER_FPVALUE): Likewise. | |
4895 | ||
4896 | * config/mips/mips.c (mips_expand_call): Remove redundant | |
4897 | TARGET_MIPS16 check. | |
4898 | (mips_arg_regno): New. | |
4899 | (function_arg_advance): When setting bits in cum->fp_code for | |
4900 | MIPS16, don't subtract 1 from cum->arg_number, since it is now | |
4901 | zero-based. | |
4902 | (function_arg): Use mips_arg_regno. | |
4903 | (mips_return_mode_in_fpr_p): New. | |
4904 | (mips16_call_stub_mode_suffix): New. | |
4905 | (mips16_cfun_returns_in_fpr_p): New. | |
4906 | (mips_save_reg_p): Use mips16_cfun_returns_in_fpr_p. | |
4907 | (mips_output_function_prologue): Test mips16_hard_float, not | |
4908 | !TARGET_SOFT_FLOAT, to decide when a function stub is required. | |
4909 | (mips_expand_epilogue): Call MIPS16 helper routines to copy | |
4910 | return value into a floating-point register. | |
4911 | (mips_can_use_return_insn): Use mips16_cfun_returns_in_fpr_p. | |
4912 | (mips_function_value): Rewrite to use mips_return_mode_in_fpr_p. | |
4913 | (mips16_fp_args): Handle MIPS32r2 ISA which supports | |
4914 | TARGET_FLOAT64, and use mfhc1/mthc1 to copy the most significant | |
4915 | word of double arguments from or to the high bits of 64-bit | |
4916 | floating point registers. | |
4917 | (build_mips16_function_stub): Fill in DECL_RESULT for stubdecl. | |
4918 | (mips16_fpret_double): New helper function. | |
4919 | (build_mips16_call_stub): Use mips16_return_mode_in_fpr_p. Add | |
4920 | support for complex modes. Fill in DECL_RESULT for stubdecl. | |
4921 | (mips_init_libfuncs): Remove redundant TARGET_MIPS16 check. | |
4922 | ||
8536ebb5 | 4923 | * config/mips/mips16.S |
a38e0142 SL |
4924 | (RET, ARG1, ARG2): New. |
4925 | (MERGE_GPRf, MERGE_GPRt): New. | |
4926 | (DELAYt, DELAYf): New. | |
4927 | (MOVE_SF_BYTE0, MOVE_SI_BYTE0): New. | |
4928 | (MOVE_SF_BYTE4, MOVE_SF_BYTE8): New. | |
4929 | (MOVE_DF_BYTE0, MOVE_DF_BYTE8): New. | |
4930 | (MOVE_SF_RET, MOVE_SC_RET, MOVE_DF_RET, MOVE_DC_RET, MOVE_SI_RET): New. | |
4931 | (SFOP): Renamed to... | |
4932 | (OPSF3): This, and macro-ified. Updated all uses. | |
4933 | (SFOP2): Renamed to... | |
4934 | (OPSF2): This, and macro-ified. Updated all uses. | |
4935 | (SFCMP): Renamed to... | |
4936 | (CMPSF): This, and macro-ified. Updated all uses. | |
4937 | (SFREVCMP): Renamed to... | |
4938 | (REVCMPSF): This, and macro-ified. Updated all uses. | |
4939 | (__mips16_floatsisf, __mips16_fix_truncsfsi): Macro-ified. | |
4940 | (LDDBL1, LDDBL2, RETDBL): Deleted. | |
4941 | (DFOP): Renamed to... | |
4942 | (OPDF3): This, and macro-ified. Updated all uses. | |
4943 | (DFOP2): Renamed to... | |
4944 | (OPDF2): This, and macro-ified. Updated all uses. | |
4945 | (__mips16_extendsfdf2, __mips16_truncdfsf2): Macro-ified. | |
4946 | (DFCMP): Renamed to... | |
4947 | (CMPDF): This, and macro-ified. Updated all uses. | |
4948 | (DFREVCMP): Renamed to... | |
4949 | (REVCMPDF): This, and macro-ified. Updated all uses. | |
4950 | (__mips16_floatsidf, __mips16_fix_truncdfsi): Macro-ified. | |
4951 | (RET_FUNCTION): New. | |
4952 | (__mips16_ret_sf, __mips16_ret_df): Macro-ified. | |
4953 | (__mips16_ret_sc, __mips16_ret_dc): New. | |
4954 | (STUB_ARGS_0, STUB_ARGS_1, STUB_ARGS_5, STUB_ARGS_9, STUB_ARGS_2, | |
4955 | STUB_ARGS_6, STUB_ARGS_10): New. | |
4956 | (CALL_STUB_NO_RET): New. | |
4957 | (__mips16_call_stub_1): Macro-ified. | |
4958 | (__mips16_call_stub_5): Macro-ified. | |
4959 | (__mips16_call_stub_2): Macro-ified. | |
4960 | (__mips16_call_stub_6): Macro-ified. | |
4961 | (__mips16_call_stub_9): Macro-ified. | |
4962 | (__mips16_call_stub_10): Macro-ified. | |
4963 | (CALL_STUB_RET): New. | |
4964 | (__mips16_call_stub_sf_0): Macro-ified. | |
4965 | (__mips16_call_stub_sf_1): Macro-ified. | |
4966 | (__mips16_call_stub_sf_5): Macro-ified. | |
4967 | (__mips16_call_stub_sf_2): Macro-ified. | |
4968 | (__mips16_call_stub_sf_6): Macro-ified. | |
4969 | (__mips16_call_stub_sf_9): Macro-ified. | |
4970 | (__mips16_call_stub_sf_10): Macro-ified. | |
4971 | (__mips16_call_stub_df_0): Macro-ified. | |
4972 | (__mips16_call_stub_df_1): Macro-ified. | |
4973 | (__mips16_call_stub_df_5): Macro-ified. | |
4974 | (__mips16_call_stub_df_2): Macro-ified. | |
4975 | (__mips16_call_stub_df_6): Macro-ified. | |
4976 | (__mips16_call_stub_df_9): Macro-ified. | |
4977 | (__mips16_call_stub_df_10): Macro-ified. | |
4978 | (__mips16_call_stub_sc_0): New. | |
4979 | (__mips16_call_stub_sc_1): New. | |
4980 | (__mips16_call_stub_sc_5): New. | |
4981 | (__mips16_call_stub_sc_2): New. | |
4982 | (__mips16_call_stub_sc_6): New. | |
4983 | (__mips16_call_stub_sc_9): New. | |
4984 | (__mips16_call_stub_sc_10): New. | |
4985 | (__mips16_call_stub_dc_0): New. | |
4986 | (__mips16_call_stub_dc_1): New. | |
4987 | (__mips16_call_stub_dc_5): New. | |
4988 | (__mips16_call_stub_dc_2): New. | |
4989 | (__mips16_call_stub_dc_6): New. | |
4990 | (__mips16_call_stub_dc_9): New. | |
4991 | (__mips16_call_stub_dc_10): New. | |
8536ebb5 | 4992 | |
a38e0142 SL |
4993 | * config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs. |
4994 | * config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise. | |
4995 | * config/mips/t-r2900 (LIB1ASMFUNCS): Likewise. | |
4996 | ||
70f57af1 ILT |
4997 | 2007-05-23 Ian Lance Taylor <iant@google.com> |
4998 | ||
4999 | * doc/invoke.texi (Invoking GCC): Document that the order of the | |
5000 | -l option matters. | |
5001 | ||
6d0ceb76 CL |
5002 | 2007-05-23 Chen Liqin <liqin@sunnorth.com.cn> |
5003 | ||
5004 | PR target/30987 | |
dc675301 UB |
5005 | * config/score/misc.md (bitclr_c, bitset_c, bittgl_c): Remove. |
5006 | * config/score/predicate.md (const_pow2, const_npow2): Remove. | |
5007 | * config/score/score.h (ASM_OUTPUT_EXTERNAL): Add ASM_OUTPUT_EXTERNAL | |
5008 | undef. | |
5009 | ||
6d0ceb76 | 5010 | PR target/30474 |
dc675301 UB |
5011 | * config/score/score.c (score_print_operand): Make sure that only |
5012 | lower bits are used. | |
8536ebb5 | 5013 | |
b80cca7b ILT |
5014 | 2007-05-22 Ian Lance Taylor <iant@google.com> |
5015 | ||
5016 | * tree-vrp.c (avoid_overflow_infinity): New static function, | |
5017 | broken out of set_value_range_to_value. | |
5018 | (set_value_range_to_value): Call avoid_overflow_infinity. | |
5019 | (extract_range_from_assert): Likewise. | |
5020 | ||
1809a520 AP |
5021 | 2007-05-22 Andrew Pinski <andrew_pinski@playstation.sony.com> |
5022 | ||
5023 | PR middle-end/31095 | |
5024 | * builtins.c (expand_builtin_memmove_args): Strip nops that don't | |
5025 | change the type before looking for a COMPOUND_EXPR. | |
5026 | ||
1570a704 ILT |
5027 | 2007-05-22 Ian Lance Taylor <iant@google.com> |
5028 | ||
5029 | * lower-subreg.c (decompose_multiword_subregs): If we change an | |
5030 | insn, call remove_retval_note on it. | |
5031 | ||
09e18274 RS |
5032 | 2007-05-22 Richard Sandiford <rsandifo@nildram.co.uk> |
5033 | ||
5034 | * regs.h (end_hard_regno): New function. | |
5035 | (END_HARD_REGNO, END_REGNO): New macros. | |
5036 | (add_to_hard_reg_set): New function. | |
5037 | (remove_from_hard_reg_set): Likewise. | |
5038 | (in_hard_reg_set_p): Likewise. | |
5039 | (overlaps_hard_reg_set_p): Likewise. | |
5040 | * bt-load.c (find_btr_reference): Use overlaps_hard_reg_set_p. | |
5041 | (note_btr_set): Use END_HARD_REGNO. | |
5042 | * caller-save.c (setup_save_areas): Use end_hard_regno. | |
5043 | (mark_set_regs): Use END_HARD_REGNO. | |
5044 | (add_stored_regs): Use end_hard_regno. | |
5045 | (mark_referenced_regs): Use add_to_hard_reg_set. | |
5046 | * combine.c (update_table_tick): Use END_REGNO. | |
5047 | (record_value_for_reg): Likewise. | |
5048 | (record_dead_and_set_regs): Likewise. | |
5049 | (get_last_value_validate): Likewise. | |
5050 | (use_crosses_set_p): Likewise. | |
5051 | (reg_dead_at_p_1): Likewise. | |
5052 | (reg_dead_at_p): Likewise. | |
5053 | (mark_used_regs_combine): Use add_to_hard_reg_set. | |
5054 | (move_deaths): Use END_HARD_REGNO. | |
5055 | (reg_bitfield_target_p): Use end_hard_regno. | |
5056 | (distribute_notes): Use END_HARD_REGNO. | |
5057 | * cse.c (mention_regs): Use END_REGNO. | |
5058 | (insert): Use add_to_hard_reg_set. | |
5059 | (invalidate): Use END_HARD_REGNO. | |
5060 | (invalidate_for_call): Likewise. | |
5061 | (exp_equiv_p): Use END_REGNO. | |
5062 | (cse_insn): Likewise. | |
5063 | * cselib.c (cselib_invalidate_regno): Use end_hard_regno. | |
5064 | * df-problems.c (df_urec_mark_reg_change): Use END_HARD_REGNO. | |
5065 | * df-scan.c (df_ref_record): Use END_HARD_REGNO. | |
5066 | * function.c (keep_stack_depressed): Use end_hard_regno. | |
5067 | * global.c (global_alloc): Use end_hard_regno. | |
5068 | (global_conflicts): Use add_to_hard_reg_set instead of | |
5069 | mark_reg_live_nc. | |
5070 | (find_reg): Likewise. | |
5071 | (mark_reg_store): Likewise. | |
5072 | (mark_reg_conflicts): Likewise. | |
5073 | (mark_reg_death): Use remove_from_hard_reg_set. | |
5074 | (mark_reg_live_nc): Delete. | |
5075 | (set_preference): Use end_hard_regno. | |
5076 | * local-alloc.c (mark_life): Use add_to_hard_reg_set and | |
5077 | remove_from_hard_reg_set. | |
5078 | (post_mark_life): Use add_to_hard_reg_set. | |
5079 | * mode-switching.c (reg_dies): Use remove_from_hard_reg_set. | |
5080 | (reg_becomes_live): Use add_to_hard_reg_set. | |
5081 | * recog.c (reg_fits_class_p): Use in_hard_reg_set_p. | |
5082 | (peep2_find_free_register): Use add_to_hard_reg_set. | |
5083 | * reg-stack.c (convert_regs_exit): Use END_HARD_REGNO. | |
5084 | * regclass.c (record_reg_classes): Use in_hard_reg_set_p. | |
5085 | * regrename.c (note_sets): Use add_to_hard_reg_set. | |
5086 | (clear_dead_regs): Use remove_from_hard_reg_set. | |
5087 | (regrename_optimize): Use add_to_hard_reg_set. | |
5088 | (find_oldest_value_reg): Use in_hard_reg_set_p. | |
5089 | * reload.c (push_reload): Use in_hard_reg_set_p and end_hard_regno. | |
5090 | (hard_reg_set_here_p): Use end_hard_regno. | |
5091 | (decompose): Likewise. | |
5092 | (reg_overlap_mentioned_for_reload_p): Use END_HARD_REGNO. | |
5093 | (find_equiv_reg): Use in_hard_reg_set_p and end_hard_regno. | |
5094 | * reload1.c (compute_use_by_pseudos): Use add_to_hard_reg_set. | |
5095 | (mark_home_live): Use end_hard_regno. | |
5096 | (spill_hard_reg): Likewise. | |
5097 | (clear_reload_reg_in_use): Likewise. | |
5098 | * reorg.c (delete_prior_computation): Use END_REGNO. | |
5099 | * resource.c (update_live_status): Use END_HARD_REGNO. | |
5100 | (mark_referenced_resources): Use add_to_hard_reg_set. | |
5101 | (mark_set_resources): Likewise. | |
5102 | (mark_target_live_regs): Likewise. Use remove_from_hard_reg_set. | |
5103 | * rtlanal.c (refers_to_regno_p): Use END_REGNO. | |
5104 | (reg_overlap_mentioned_p): Likewise. | |
5105 | (dead_or_set_p): Likewise. Use an exclusive upper loop bound. | |
5106 | (covers_regno_no_parallel_p): Use END_REGNO. | |
5107 | (find_regno_note): Likewise. | |
5108 | (find_reg_fusage): Use END_HARD_REGNO. | |
5109 | * stmt.c (decl_overlaps_hard_reg_set_p): Use overlaps_hard_reg_set_p. | |
5110 | * var-tracking.c (emit_note_insn_var_location): Use end_hard_regno. | |
5111 | ||
408bed3c RS |
5112 | 2007-05-22 Richard Sandiford <rsandifo@nildram.co.uk> |
5113 | ||
5114 | * mode-switching.c (reg_dies): Change type of second argument to | |
5115 | "HARD_REG_SET *". | |
5116 | (optimize_mode_switching): Update accordingly. | |
5117 | ||
56b138ae RS |
5118 | 2007-05-22 Richard Sandiford <richard@codesourcery.com> |
5119 | ||
5120 | * hard-reg-set.h (GO_IF_HARD_REG_SUBSET, GO_IF_HARD_REG_EQUAL): Delete | |
5121 | in favor of... | |
5122 | (hard_reg_subset_p, hard_reg_sets_equal_p, hard_reg_sets_intersect_p) | |
5123 | (hard_reg_set_empty_p): ...these new functions. | |
5124 | * bt-load.c (choose_btr): Use hard_reg_subset_p instead of | |
5125 | GO_IF_HARD_REG_SUBSET. | |
5126 | * cfgcleanup.c (old_insns_match_p): Use hard_reg_sets_equal_p | |
5127 | instead of GO_IF_HARD_REG_EQUAL. | |
5128 | * df-problems.c (df_urec_local_compute): Use hard_reg_set_empty_p | |
5129 | instead of GO_IF_HARD_REG_EQUAL. | |
5130 | * global.c (find_reg): Use hard_reg_set_empty_p instead of | |
5131 | GO_IF_HARD_REG_SUBSET. | |
5132 | (modify_reg_pav): Use hard_reg_set_empty_p instead of | |
5133 | GO_IF_HARD_REG_EQUAL. | |
5134 | * local-alloc.c (find_free_reg): Use hard_reg_subset_p instead | |
5135 | of GO_IF_HARD_REG_SUBSET. | |
5136 | * reg-stack.c (change_stack, convert_regs_1): Use hard_reg_sets_equal_p | |
5137 | instead of GO_IF_HARD_REG_EQUAL. | |
5138 | * regclass.c (init_reg_sets_1, reg_scan_mark_refs): Use | |
5139 | hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET. | |
5140 | (reg_classes_intersect_p): Use hard_reg_sets_intersect_p instead | |
5141 | of GO_IF_HARD_REG_SUBSET, | |
5142 | * reload1.c (finish_spills): Use hard_reg_subset_p instead of | |
5143 | GO_IF_HARD_REG_SUBSET. | |
5144 | * struct-equiv.c (death_notes_match_p): Use hard_reg_sets_equal_p | |
5145 | instead of GO_IF_HARD_REG_EQUAL. | |
5146 | * config/sh/sh.c (push_regs, calc_live_regs): Use | |
5147 | hard_reg_sets_intersect_p instead of hard_regs_intersect_p. | |
5148 | (hard_regs_intersect_p): Delete. | |
5149 | ||
ba2f32a9 JJ |
5150 | 2007-05-22 Janis Johnson <janis187@us.ibm.com> |
5151 | ||
5152 | * doc/sourcebuild.texi (Test Directives) Add dg-message. | |
5153 | ||
9a5cee02 L |
5154 | 2007-05-22 H.J. Lu <hongjiu.lu@intel.com> |
5155 | Richard Henderson <rth@redhat.com> | |
5156 | ||
5157 | * config.gcc (i[34567]86-*-*): Add smmintrin.h to | |
5158 | extra_headers. | |
5159 | (x86_64-*-*): Likewise. | |
5160 | ||
5161 | * i386/i386-modes.def (V2QI): New. | |
5162 | ||
5163 | * config/i386/i386.c (ix86_handle_option): Handle SSE4.1 and | |
5164 | SSE4A. | |
5165 | (override_options): Support SSE4.1. | |
5166 | (IX86_BUILTIN_BLENDPD): New for SSE4.1. | |
5167 | (IX86_BUILTIN_BLENDPS): Likewise. | |
5168 | (IX86_BUILTIN_BLENDVPD): Likewise. | |
5169 | (IX86_BUILTIN_BLENDVPS): Likewise. | |
5170 | (IX86_BUILTIN_PBLENDVB128): Likewise. | |
5171 | (IX86_BUILTIN_PBLENDW128): Likewise. | |
5172 | (IX86_BUILTIN_DPPD): Likewise. | |
5173 | (IX86_BUILTIN_DPPS): Likewise. | |
5174 | (IX86_BUILTIN_INSERTPS128): Likewise. | |
5175 | (IX86_BUILTIN_MOVNTDQA): Likewise. | |
5176 | (IX86_BUILTIN_MPSADBW128): Likewise. | |
5177 | (IX86_BUILTIN_PACKUSDW128): Likewise. | |
5178 | (IX86_BUILTIN_PCMPEQQ): Likewise. | |
5179 | (IX86_BUILTIN_PHMINPOSUW128): Likewise. | |
5180 | (IX86_BUILTIN_PMAXSB128): Likewise. | |
5181 | (IX86_BUILTIN_PMAXSD128): Likewise. | |
5182 | (IX86_BUILTIN_PMAXUD128): Likewise. | |
5183 | (IX86_BUILTIN_PMAXUW128): Likewise. | |
5184 | (IX86_BUILTIN_PMINSB128): Likewise. | |
5185 | (IX86_BUILTIN_PMINSD128): Likewise. | |
5186 | (IX86_BUILTIN_PMINUD128): Likewise. | |
5187 | (IX86_BUILTIN_PMINUW128): Likewise. | |
5188 | (IX86_BUILTIN_PMOVSXBW128): Likewise. | |
5189 | (IX86_BUILTIN_PMOVSXBD128): Likewise. | |
5190 | (IX86_BUILTIN_PMOVSXBQ128): Likewise. | |
5191 | (IX86_BUILTIN_PMOVSXWD128): Likewise. | |
5192 | (IX86_BUILTIN_PMOVSXWQ128): Likewise. | |
5193 | (IX86_BUILTIN_PMOVSXDQ128): Likewise. | |
5194 | (IX86_BUILTIN_PMOVZXBW128): Likewise. | |
5195 | (IX86_BUILTIN_PMOVZXBD128): Likewise. | |
5196 | (IX86_BUILTIN_PMOVZXBQ128): Likewise. | |
5197 | (IX86_BUILTIN_PMOVZXWD128): Likewise. | |
5198 | (IX86_BUILTIN_PMOVZXWQ128): Likewise. | |
5199 | (IX86_BUILTIN_PMOVZXDQ128): Likewise. | |
5200 | (IX86_BUILTIN_PMULDQ128): Likewise. | |
5201 | (IX86_BUILTIN_PMULLD128): Likewise. | |
5202 | (IX86_BUILTIN_ROUNDPD): Likewise. | |
5203 | (IX86_BUILTIN_ROUNDPS): Likewise. | |
5204 | (IX86_BUILTIN_ROUNDSD): Likewise. | |
5205 | (IX86_BUILTIN_ROUNDSS): Likewise. | |
5206 | (IX86_BUILTIN_PTESTZ): Likewise. | |
5207 | (IX86_BUILTIN_PTESTC): Likewise. | |
5208 | (IX86_BUILTIN_PTESTNZC): Likewise. | |
5209 | (IX86_BUILTIN_VEC_EXT_V16QI): Likewise. | |
5210 | (IX86_BUILTIN_VEC_SET_V2DI): Likewise. | |
5211 | (IX86_BUILTIN_VEC_SET_V4SF): Likewise. | |
5212 | (IX86_BUILTIN_VEC_SET_V4SI): Likewise. | |
5213 | (IX86_BUILTIN_VEC_SET_V16QI): Likewise. | |
5214 | (bdesc_ptest): New. | |
5215 | (bdesc_sse_3arg): Likewise. | |
5216 | (bdesc_2arg): Likewise. | |
5217 | (bdesc_1arg): Likewise. | |
5218 | (ix86_init_mmx_sse_builtins): Support SSE4.1. Handle SSE builtins | |
5219 | with 3 args. | |
5220 | (ix86_expand_sse_4_operands_builtin): New. | |
5221 | (ix86_expand_unop_builtin): Support 2 arg builtins with a constant | |
5222 | smaller than 8 bits as the 2nd arg. | |
5223 | (ix86_expand_sse_ptest): New. | |
5224 | (ix86_expand_builtin): Support SSE4.1. Support 3 arg SSE builtins. | |
5225 | (ix86_expand_vector_set): Support SSE4.1. | |
5226 | (ix86_expand_vector_extract): Likewise. | |
5227 | ||
5228 | * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define | |
5229 | __SSE4_1__ for -msse4.1. | |
5230 | ||
5231 | * config/i386/i386.md (UNSPEC_BLENDV): New for SSE4.1. | |
5232 | (UNSPEC_INSERTPS): Likewise. | |
5233 | (UNSPEC_DP): Likewise. | |
5234 | (UNSPEC_MOVNTDQA): Likewise. | |
5235 | (UNSPEC_MPSADBW): Likewise. | |
5236 | (UNSPEC_PHMINPOSUW): Likewise. | |
5237 | (UNSPEC_PTEST): Likewise. | |
5238 | (UNSPEC_ROUNDP): Likewise. | |
5239 | (UNSPEC_ROUNDS): Likewise. | |
5240 | ||
5241 | * config/i386/i386.opt (msse4.1): New for SSE4.1. | |
5242 | ||
5243 | * config/i386/predicates.md (const_pow2_1_to_2_operand): New. | |
5244 | (const_pow2_1_to_32768_operand): Likewise. | |
5245 | ||
5246 | * config/i386/smmintrin.h: New. The SSE4.1 intrinsic header | |
5247 | file. | |
5248 | ||
5249 | * config/i386/sse.md (*vec_setv4sf_sse4_1): New pattern for | |
5250 | SSE4.1. | |
5251 | (sse4_1_insertps): Likewise. | |
5252 | (*sse4_1_extractps): Likewise. | |
5253 | (sse4_1_ptest): Likewise. | |
5254 | (sse4_1_mulv2siv2di3): Likewise. | |
5255 | (*sse4_1_mulv4si3): Likewise. | |
5256 | (*sse4_1_smax<mode>3): Likewise. | |
5257 | (*sse4_1_umax<mode>3): Likewise. | |
5258 | (*sse4_1_smin<mode>3): Likewise. | |
5259 | (*sse4_1_umin<mode>3): Likewise. | |
5260 | (sse4_1_eqv2di3): Likewise. | |
5261 | (*sse4_1_pinsrb): Likewise. | |
5262 | (*sse4_1_pinsrd): Likewise. | |
5263 | (*sse4_1_pinsrq): Likewise. | |
5264 | (*sse4_1_pextrb): Likewise. | |
5265 | (*sse4_1_pextrb_memory): Likewise. | |
5266 | (*sse4_1_pextrw_memory): Likewise. | |
5267 | (*sse4_1_pextrq): Likewise. | |
5268 | (sse4_1_blendpd): Likewise. | |
5269 | (sse4_1_blendps): Likewise. | |
5270 | (sse4_1_blendvpd): Likewise. | |
5271 | (sse4_1_blendvps): Likewise. | |
5272 | (sse4_1_dppd): Likewise. | |
5273 | (sse4_1_dpps): Likewise. | |
5274 | (sse4_1_movntdqa): Likewise. | |
5275 | (sse4_1_mpsadbw): Likewise. | |
5276 | (sse4_1_packusdw): Likewise. | |
5277 | (sse4_1_pblendvb): Likewise. | |
5278 | (sse4_1_pblendw): Likewise. | |
5279 | (sse4_1_phminposuw): Likewise. | |
5280 | (sse4_1_extendv8qiv8hi2): Likewise. | |
5281 | (*sse4_1_extendv8qiv8hi2): Likewise. | |
5282 | (sse4_1_extendv4qiv4si2): Likewise. | |
5283 | (*sse4_1_extendv4qiv4si2): Likewise. | |
5284 | (sse4_1_extendv2qiv2di2): Likewise. | |
5285 | (*sse4_1_extendv2qiv2di2): Likewise. | |
5286 | (sse4_1_extendv4hiv4si2): Likewise. | |
5287 | (*sse4_1_extendv4hiv4si2): Likewise. | |
5288 | (sse4_1_extendv2hiv2di2): Likewise. | |
5289 | (*sse4_1_extendv2hiv2di2): Likewise. | |
5290 | (sse4_1_extendv2siv2di2): Likewise. | |
5291 | (*sse4_1_extendv2siv2di2): Likewise. | |
5292 | (sse4_1_zero_extendv8qiv8hi2): Likewise. | |
5293 | (*sse4_1_zero_extendv8qiv8hi2): Likewise. | |
5294 | (sse4_1_zero_extendv4qiv4si2): Likewise. | |
5295 | (*sse4_1_zero_extendv4qiv4si2): Likewise. | |
5296 | (sse4_1_zero_extendv2qiv2di2): Likewise. | |
5297 | (*sse4_1_zero_extendv2qiv2di2): Likewise. | |
5298 | (sse4_1_zero_extendv4hiv4si2): Likewise. | |
5299 | (*sse4_1_zero_extendv4hiv4si2): Likewise. | |
5300 | (sse4_1_zero_extendv2hiv2di2): Likewise. | |
5301 | (*sse4_1_zero_extendv2hiv2di2): Likewise. | |
5302 | (sse4_1_zero_extendv2siv2di2): Likewise. | |
5303 | (*sse4_1_zero_extendv2siv2di2): Likewise. | |
5304 | (sse4_1_roundpd): Likewise. | |
5305 | (sse4_1_roundps): Likewise. | |
5306 | (sse4_1_roundsd): Likewise. | |
5307 | (sse4_1_roundss): Likewise. | |
5308 | (mulv4si3): Don't expand for SSE4.1. | |
5309 | (smax<mode>3): Likewise. | |
5310 | (umaxv4si3): Likewise. | |
5311 | (uminv16qi3): Likewise. | |
5312 | (umin<mode>3): Likewise. | |
5313 | (umaxv8hi3): Rewrite. Only enabled for SSE4.1. | |
5314 | ||
5315 | * doc/extend.texi: Document SSE4.1 built-in functions. | |
5316 | ||
5317 | * doc/invoke.texi: Document -msse4.1. | |
5318 | ||
bebb3a98 NS |
5319 | 2007-05-22 Nathan Sidwell <nathan@codesourcery.com> |
5320 | ||
5321 | * config/m68k/linux.h (ASM_SPEC): Add asm_pcrel_spec. | |
5322 | * config/m68k/m68k-none.h (ASM_SPEC): Don't override here. | |
5323 | * config/m68k/m68k.h (ASM_PCREL_SPEC): New. | |
5324 | (ASM_SPEC): Add asm_pcrel_spec. | |
5325 | (EXTRA_SPECS): Add asm_pcrel_spec. | |
5326 | ||
c076e75f DD |
5327 | 2007-05-21 David Daney <ddaney@avtrex.com> |
5328 | ||
5329 | * doc/install.texi (Building a cross compiler): Add requirements | |
5330 | for Java cross compiler. | |
5331 | ||
a50411de AP |
5332 | 2007-05-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
5333 | ||
5334 | PR middle-end/31995 | |
5335 | * tree-chrec.c (evolution_function_is_affine_multivariate_p): | |
5336 | Add loopno argument. Use evolution_function_is_invariant_rec_p | |
5337 | instead of evolution_function_is_constant_p. | |
5338 | Update calls to evolution_function_is_affine_multivariate_p. | |
dc675301 | 5339 | * tree-chrec.h (evolution_function_is_affine_multivariate_p): |
a50411de AP |
5340 | Add loopno argument. |
5341 | * tree-scalar-evolution.c (gather_chrec_stats): Call | |
dc675301 | 5342 | evolution_function_is_affine_multivariate_p with a loop |
a50411de AP |
5343 | number of 0. |
5344 | * tree-data-ref.c (analyze_miv_subscript): Likewise. | |
5345 | (analyze_overlapping_iterations): Likewise. | |
dc675301 | 5346 | (access_functions_are_affine_or_constant_p): Likewise. |
a50411de AP |
5347 | (build_classic_dist_vector_1): If the access functions |
5348 | are equal, don't do anything. | |
5349 | ||
60c4429c | 5350 | 2007-05-21 Paolo Bonzini <bonzini@gnu.org> |
dc675301 | 5351 | Paolo Carlini <pcarlini@suse.de> |
60c4429c PB |
5352 | Uros Bizjak <ubizjak@gmail.com> |
5353 | ||
5354 | * c-cppbuiltin.c (c_cpp_builtins): Define | |
5355 | __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2, | |
5356 | __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8, | |
5357 | __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16, if appropriate. | |
5358 | * doc/cpp.texi ([Standard Predefined Macros]): Document. | |
5359 | ||
ccd3cc09 MS |
5360 | 2007-05-21 Mike Stump <mrs@apple.com> |
5361 | ||
0f17a91f | 5362 | * config/darwin.h (LINK_COMMAND_SPEC): Add .cxx/.cp for dsymutil |
ccd3cc09 MS |
5363 | handling as well. |
5364 | * config/darwin9.h (LINK_COMMAND_SPEC): Likewise. | |
5365 | ||
32fe15ec UB |
5366 | 2007-05-21 Uros Bizjak <ubizjak@gmail.com> |
5367 | ||
5368 | * config/i386/tmmintrin.h (_mm_alignr_epi8): Provide macro | |
5369 | implementation if __OPTIMIZE__ is not defined. | |
5370 | (_mm_alignr_pi8): Ditto. | |
5371 | * config/i386/ammintrin.h (_mm_extracti_si64): Ditto. | |
5372 | (_mm_inserti_si64): Ditto. | |
5373 | * config/i386/emmintrin.h (_mm_shuffle_pd): Ditto. | |
5374 | (_mm_slli_epi16): Ditto. | |
5375 | (_mm_slli_epi32): Ditto. | |
5376 | (_mm_slli_epi64): Ditto. | |
5377 | (_mm_srai_epi16): Ditto. | |
5378 | (_mm_srai_epi32): Ditto. | |
5379 | (_mm_srli_si128): Ditto. | |
5380 | (_mm_slli_si128): Ditto. | |
5381 | (_mm_srli_epi16): Ditto. | |
5382 | (_mm_srli_epi32): Ditto. | |
5383 | (_mm_srli_epi64): Ditto. | |
5384 | (_mm_extract_epi16): Ditto. | |
5385 | (_mm_insert_epi16): Ditto. | |
5386 | (_mm_shufflehi_epi16): Ditto. | |
5387 | (_mm_shufflelo_epi16): Ditto. | |
5388 | (_mm_shuffle_epi32): Ditto. | |
5389 | * config/i386/xmmintrin.h (_mm_extract_pi16): Ditto. | |
5390 | (_m_pextrw): Ditto. | |
5391 | (_mm_insert_pi16): Ditto. | |
5392 | (_m_pinsrw): Ditto. | |
5393 | (_mm_shuffle_pi16): Ditto. | |
5394 | (_m_pshufw): Ditto. | |
5395 | (_mm_shufle_ps): Ditto. | |
5396 | (_mm_prefetch): Ditto. | |
5397 | ||
4d8a8a0a AK |
5398 | 2007-05-21 Andreas Krebbel <krebbel1@de.ibm.com> |
5399 | ||
5400 | * defaults.h (IBM_FLOAT_FORMAT): Macro definition removed. | |
5401 | * doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed. | |
5402 | * real.c (encode_i370_single, decode_i370_single, | |
5403 | encode_i370_double, decode_i370_double): Functions removed. | |
5404 | (i370_single_format, i370_double_format): Initializations removed. | |
5405 | (real_maxval, round_for_format, exact_real_truncate, significand_size): | |
5406 | Consider the log2_b field to always be one. | |
5407 | (ieee_single_format, mips_single_format, coldfire_single_format, | |
5408 | ieee_double_format, mips_double_format, coldfire_double_format, | |
5409 | ieee_extended_motorola_format, ieee_extended_intel_96_format, | |
5410 | ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, | |
5411 | ibm_extended_format, mips_extended_format, ieee_quad_format, | |
5412 | mips_quad_format, vax_f_format, vax_d_format, vax_g_format, | |
5413 | decimal_single_format, decimal_double_format, decimal_quad_format, | |
5414 | c4x_single_format, c4x_extended_format, real_internal_format): Remove | |
5415 | initialization of log2_b. | |
7e08fa35 UB |
5416 | * real.h (i370_single_format, i370_double_format): Declarations |
5417 | removed. | |
4d8a8a0a AK |
5418 | * c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b |
5419 | field to always be one. | |
5420 | ||
740aeb38 AS |
5421 | 2007-05-21 Andreas Schwab <schwab@suse.de> |
5422 | ||
5423 | * config/ia64/ia64.c (emit_predicate_relation_info): Fix use of | |
5424 | NOTE_INSN_BASIC_BLOCK_P. | |
5425 | (process_for_unwind_directive): Likewise. | |
5426 | ||
ecaebb9e NS |
5427 | 2007-05-21 Nathan Sidwell <nathan@codesourcery.com> |
5428 | ||
5429 | * builtins.c (expand_builtin_setjmp_setup): Update comment. | |
5430 | * function.h (struct function): Move va_list_gpr_size, | |
5431 | va_list_fpr_size, function_frequency to front of bitfields. Add | |
5432 | calls_unwind_init. | |
5433 | (current_function_calls_unwind_init): New. | |
5434 | * except.c (expand_builtin_unwind_init): Set | |
5435 | current_function_calls_unwind_init not | |
5436 | current_function_has_nonlocal_label. | |
5437 | * reload1.c (has_nonexceptional_receiver): New. | |
5438 | (reload): Use it and current_function_calls_unwind_init to | |
5439 | determine whether call-saved regs must be saved. | |
5440 | ||
a38e7aa5 JH |
5441 | 2007-05-20 Jan Hubicka <jh@suse.cz> |
5442 | ||
5443 | * gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of | |
5444 | NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible. | |
5445 | * ddg.c (create_ddg): LIkewise. | |
7e08fa35 | 5446 | * final.c (final): Remove hunk moving line number notes around since |
a38e7aa5 JH |
5447 | they are no longer present at this stage. |
5448 | (final_scan_insn): Use NOTE_KIND instead of | |
5449 | NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible. | |
5450 | (output_asm_label): Likewise. | |
5451 | * reorg.c (dbr_schedule): Likewise. | |
5452 | * haifa-sched.c (unlink_other_notes): Likewise. | |
5453 | * mode-switching.c (optimize_mode_switching): Likewise. | |
5454 | * graph.c (start_bb): Likewise. | |
5455 | * rtl.def (NOTE): Update description. | |
5456 | * jump.c (squeeze_notes): Delete. | |
5457 | (mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use | |
5458 | NOTE_INSN_BASIC_BLOCK_P when possible. | |
5459 | * ifcvt.c (dead_or_predicable): Remove call of squeeze_notes. | |
5460 | * dwarf2out.c (gen_label_die): Use NOTE_KIND instead of | |
dc675301 | 5461 | NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible. |
a38e7aa5 JH |
5462 | (dwarf2out_var_location): Likewise. |
5463 | * cfgbuild.c (make_edges): Likewise. | |
5464 | (find_basic_blocks_1): Likewise. | |
5465 | * function.c (reorder_blocks_1): Likewise. | |
5466 | (epilogue_done): Likewise. | |
5467 | (reposition_prologue_and_epilogue_notes): Likewise. | |
7e08fa35 UB |
5468 | * print-rtl.c (print_rtx): Likewise; drop code for printing |
5469 | line number notes. | |
a38e7aa5 JH |
5470 | (print_rtl): Likewise. |
5471 | (print_rtl_single): Likewise. | |
5472 | * gcse.c (insert_insn_start_bb): Likewise. | |
5473 | * alias.c (init_alias_analysis): Likewise. | |
5474 | * calls.c (fixup_tail_calls): Likewise. | |
5475 | * except.c (sjlj_emit_function_enter): Likewise. | |
5476 | * emit-rtl.c (add_insn_after): Likeiwse. | |
5477 | (emit_label_before): Likewise. | |
5478 | (emit_label_after): Likewise. | |
5479 | (emit_note_before, emit_note_after, emit_note): Update | |
5480 | parameter to be enum insn_note; do not deal with source | |
5481 | files. | |
5482 | * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): | |
5483 | Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P | |
5484 | when possible. | |
5485 | (merge_blocks_move_successor_nojumps): Simplify now when | |
5486 | we don't have BLOCK notes. | |
5487 | (try_optimize_cfg): Likewise. | |
5488 | * cfglayout.c (skip_insns_after_block): Likewise. | |
5489 | (record_effective_endpoints): Likewise. | |
5490 | (duplicate_insn_chain): Likewise. | |
5491 | * varasm.c (output_constant_pool_1): Likewise. | |
5492 | * sched-deps.c (sched_analyze): Likewise. | |
5493 | * rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS): | |
5494 | Exterminate. | |
5495 | (note_insn_name): Simplify now when NOTE_INSN_BIAS is gone. | |
5496 | * rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate. | |
5497 | (SET_INSN_DELETED): Simplify. | |
5498 | (NOTE_LINE_NUMBER): Exterminate. | |
5499 | (NOTE_LINE_KIND): New. | |
5500 | (NOTE_INSN_BASIC_BLOCK_P): Update. | |
5501 | (enum insn_note): Simplify. | |
5502 | (GET_NOTE_INSN_NAME) Simplify. | |
5503 | (emit_note_before, emit_note_after, emit_note): Update prototype. | |
5504 | (squeeze_notes): Remove. | |
5505 | * sched-int.h (NOTE_NOT_BB_P): Update. | |
5506 | * resource.c (mark_target_live_regs): Update. | |
5507 | * sched-rgn.c (debug_dependencies): Update. | |
5508 | * sched-vis.c (print_insn): Update. | |
5509 | * config/alpha/alpha.c (alpha_handle_trap_shadows): Update. | |
5510 | * config/i386/i386.c (ix86_output_function_epilogue): Update. | |
5511 | * config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0. | |
5512 | (TARGET_ADJUST_UNROLL_MAX): Likewise. | |
5513 | (split_branches): Update. | |
5514 | (sh_optimize_target_register_callee_saved): Remove hunk dead since gcc | |
5515 | 4.0.0. | |
5516 | (sh_adjust_unroll_max): Exterminate. | |
5517 | * config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED. | |
5518 | * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise. | |
5519 | (m68hc11_reorg): Likewise. | |
5520 | * config/ia64/ia64.c (emit_insn_group_barriers): Update. | |
5521 | (emit_predicate_relation_info): Update. | |
5522 | (process_for_unwind_directive): Update. | |
5523 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update. | |
5524 | (output_call): Update. | |
5525 | * config/pa/pa.c (output_lbranch): Update. | |
5526 | (output_millicode_call): Update. | |
5527 | (output_call): Update. | |
5528 | (pa_combine_instructions): Update. | |
5529 | * config/mips/mips.c (mips16_gp_pseudo_reg): Update. | |
5530 | * config/bfin/bfin.c (gen_one_bundle): Update. | |
5531 | * cfgrtl.c (can_delete_note_p): Update. | |
5532 | (delete_insn): Update. | |
5533 | (rtl_merge_blocks): Update. | |
5534 | (commit_one_edge_insertion): Update. | |
5535 | (rtl_verify_flow_info): Update. | |
5536 | * stmt.c (expand_case): Do not call squeeze_notes. | |
5537 | ||
f6aa72dd | 5538 | 2007-05-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
8536ebb5 | 5539 | |
f6aa72dd MLI |
5540 | PR middle-end/7651 |
5541 | PR c++/11856 | |
5542 | PR c/12963 | |
5543 | PR c/23587 | |
5544 | PR other/29694 | |
5545 | * c.opt (Wtype-limits): New. | |
5546 | * doc/invoke.texi (Wtype-limits): Document it. | |
5547 | (Wextra): Enabled by -Wextra. | |
5548 | * c-opts.c (c_common_post_options): Enabled by -Wextra. | |
5549 | * c-common.c (shorten_compare): Warn with Wtype-limits. | |
5550 | ||
aac8bf80 | 5551 | 2007-05-20 Uros Bizjak <ubizjak@gmail.com> |
46fb8f6b UB |
5552 | |
5553 | * config/i386/tmmintrin.h (_mm_alignr_epi32): Implement as always | |
5554 | inlined function, not as a macro. | |
5555 | (_mm_alignr_pi8): Ditto. | |
5556 | * config/i386/ammintrin.h (_mm_extracti_si64): Ditto. | |
5557 | (_mm_inserti_si64): Ditto. | |
5558 | * config/i386/emmintrin.h (_mm_shuffle_pd): Ditto. | |
5559 | (_mm_extract_epi16): Ditto. | |
5560 | (_mm_insert_epi16): Ditto. | |
5561 | (_mm_shufflehi_epi16): Ditto. | |
5562 | (_mm_shufflelo_epi16): Ditto. | |
5563 | (_mm_shuffle_epi32): Ditto. | |
5564 | * config/i386/xmmintrin.h (_mm_set_ss): Use 0.0f for float constant. | |
5565 | * config/386/mm3dnow.h: Add __attribute__((__always_inline__)) to | |
5566 | all functions. | |
5567 | (_m_from_float): Add __extension__ to conversion. Use 0.0f for | |
5568 | float constant. | |
5569 | (_m_to_float): Use C89 compatible assignment. | |
5570 | ||
dde27bba MM |
5571 | 2007-04-20 Martin Michlmayr <tbm@cyrius.com> |
5572 | ||
5573 | PR target/32007 | |
5574 | * config/arm/lib1funcs.asm: Define __ARM_ARCH__ on v2/v3 machines. | |
5575 | ||
aac8bf80 | 5576 | 2007-05-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
ffd5f276 MLI |
5577 | |
5578 | PR middle-end/7651 | |
5579 | * doc/invoke.texi (Wreturn-type): Complete description. | |
5580 | (Wextra): Delete item about return-type warning. | |
5581 | * c-decl.c: Delete redundant Wextra warning. | |
8536ebb5 | 5582 | |
aac8bf80 | 5583 | 2007-05-20 Uros Bizjak <ubizjak@gmail.com> |
376a4c05 UB |
5584 | |
5585 | PR target/31585 | |
5586 | * config/i386/pmmintrin.h: Do not include xmmintrin.h | |
5587 | * config/i386/xmmintrin.h (_mm_extract_pi16): Implement as always | |
5588 | inlined function, not as a macro. | |
5589 | (_mm_prefetch): Ditto. | |
5590 | (_m_pextrw): Ditto. | |
5591 | (_mm_insert_pi16): Ditto. | |
5592 | (_m_pinsrw): Ditto. | |
5593 | (_mm_shuffle_pi16): Ditto. Add const to __N argument. | |
5594 | (_m_pshufw): Ditto. Add const to __N argument. | |
5595 | (_mm_shufle_ps): Ditto. Add const to __mask argument. | |
5596 | * config/i386/emmintrin.h (_mm_slli_epi16): Add const to __B argument. | |
5597 | (_mm_slli_epi32): Ditto. | |
7e08fa35 UB |
5598 | (_mm_srli_si128): Implement as always inlined function, not as a |
5599 | macro. Add __inline to function declaration. | |
376a4c05 UB |
5600 | (_mm_slli_si128): Ditto. |
5601 | ||
e9d41616 UB |
5602 | 2007-05-19 Uros Bizjak <ubizjak@gmail.com> |
5603 | ||
5604 | * config/i386/sfp-machine.h (FP_EX_INVALID, FP_EX_DENORM, | |
5605 | FP_EXP_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT): | |
5606 | New constants. | |
5607 | (struct fenv): New structure. | |
5608 | (FP_HANDLE_EXCEPTIONS): New define. | |
5609 | (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF): New constants. | |
5610 | (_FP_DECL_EXP): New define. | |
5611 | (FP_INIT_ROUNDMODE): New define. | |
5612 | (FP_ROUNDMODE): New define. | |
5613 | ||
7060db96 MLI |
5614 | 2007-05-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
5615 | ||
5616 | * doc/invoke.texi (Warning Options): Add -Wconversion-sign. | |
5617 | (Wconversion): Update description. | |
5618 | (Wconversion-sign): New. | |
5619 | * c.opt (Wconversion-sign): New. | |
5620 | * c-opts.c (c_common_post_options): Uninitialized Wconversion-sign | |
5621 | means disabled for C++. Otherwise, take the status of Wconversion. | |
5622 | * c-common.c (conversion_warning): Warn with either Wconversion or | |
5623 | Wconversion-sign. | |
5624 | (warnings_for_convert_and_check): Conditions are already checked by | |
5625 | conversion_warning. | |
5626 | (convert_and_check): Don't check warnings if the conversion failed. | |
5627 | ||
4fc2b4ff | 5628 | 2007-05-19 Andy Hutchinson <HutchinsonAndy@netscape.net> |
e9d41616 | 5629 | Anatoly Sokolov <aesok@dol.ru> |
4fc2b4ff | 5630 | |
8536ebb5 | 5631 | * config/avr/avr-protos.h (expand_prologue, expand_epilogue, |
4fc2b4ff AH |
5632 | avr_epilogue_uses) : Add declaration. |
5633 | * config/avr/predicates.md (avr_sp_immediate_operand): New predicate. | |
5634 | * config/avr/constraints.md (R): New constraint. | |
8536ebb5 | 5635 | config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI, |
4fc2b4ff AH |
5636 | UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants. |
5637 | (*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ... | |
5638 | (*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns. | |
8536ebb5 | 5639 | (*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt, |
4fc2b4ff | 5640 | call_prologue_saves, epilogue_restores, return_from_epilogue, |
8536ebb5 | 5641 | return_from_main_epilogue, return_from_interrupt_epilogue, |
4fc2b4ff AH |
5642 | return_from_naked_epilogue, prologue, epilogue): New patterns. |
5643 | (jump): Handle symbol reference. | |
8536ebb5 EC |
5644 | * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr, |
5645 | avr_output_function_prologue, avr_output_function_epilogue): Remove | |
4fc2b4ff | 5646 | functions. |
8536ebb5 EC |
5647 | (avr_init_machine_status, expand_prologue, expand_epilogue, |
5648 | avr_asm_function_end_prologue, avr_epilogue_uses, | |
4fc2b4ff | 5649 | avr_asm_function_begin_epilogue): New functions. |
8536ebb5 | 5650 | (prologue_size, epilogue_size, jump_tables_size): Remove global |
4fc2b4ff AH |
5651 | variables. |
5652 | (TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove. | |
5653 | (TARGET_ASM_FUNCTION_END_PROLOGUE): Define. | |
5654 | (TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): Define. | |
5655 | (avr_override_options): Initialise init_machine_status. | |
5656 | (output_movhi): Handle all stack pointer loads. | |
5657 | (out_movqi_r_mr, out_movqi_mr_r): Handle SREG_ADDR address. | |
5658 | (avr_output_addr_vec_elt): Do not use variable jump_tables_size. | |
5659 | * config/avr/avr.h (AVR_2_BYTE_PC, AVR_3_BYTE_PC): New. | |
5660 | (EPILOGUE_USES) Redefine. | |
5661 | (machine_function) Declare. | |
5662 | ||
6de36441 RS |
5663 | 2007-05-19 Richard Sandiford <richard@codesourcery.com> |
5664 | ||
5665 | * config/mips/mips.c (mips_offset_within_alignment_p): Tweak comment. | |
5666 | Use a single return statement. | |
5667 | ||
752b7d38 KG |
5668 | 2007-05-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
5669 | ||
5670 | PR middle-end/30250 | |
5671 | * builtins.c (do_mpfr_lgamma_r): New. | |
5672 | (fold_builtin_2): Handle builtin gamma_r/lgamma_r. | |
5673 | * tree.h (CASE_FLT_FN_REENT): New. | |
5674 | ||
ca0d5e02 GK |
5675 | 2007-05-18 Geoffrey Keating <geoffk@apple.com> |
5676 | ||
8d5b1b67 GK |
5677 | * dwarf2out.c (print_die): Use '%ld' not '%lu' to print a 'long'. |
5678 | (output_die): Use 'unsigned long' with %x. | |
5679 | * sched-vis.c (print_value): Use 'unsigned HOST_WIDE_INT' and | |
5680 | HOST_WIDE_INT_PRINT_HEX to print HOST_WIDE_INT. | |
5681 | * tree-dump.c (dump_pointer): Use 'unsigned long' for %lx. | |
5682 | ||
ca0d5e02 GK |
5683 | * unwind-dw2.c (uw_identify_context): Use the CFA, not the IP. |
5684 | ||
f8024378 L |
5685 | 2007-05-18 H.J. Lu <hongjiu.lu@intel.com> |
5686 | ||
5687 | PR target/31989 | |
5688 | PR target/31681 | |
5689 | PR target/31666 | |
5690 | * config/i386/i386.c (init_cumulative_args): Set maybe_vaarg to | |
5691 | true if function has no argument. | |
5692 | ||
8b5fb3a3 DD |
5693 | 2007-05-18 DJ Delorie <dj@redhat.com> |
5694 | ||
5695 | * config/mips/mips.c (mips_offset_within_alignment_p): New. | |
5696 | (mips_symbolic_constant_p): Call it for TPREL and DTPREL symbols. | |
5697 | ||
e7e0aaec UB |
5698 | 2007-05-18 Uros Bizjak <ubizjak@gmail.com> |
5699 | ||
5700 | * longlong.h (__x86_64__): Add definitions for add_ssaaaa, | |
5701 | sub_ddmmss, umul_ppmm, udiv_qrnnd, count_leading_zeros and | |
5702 | count_trailing_zeros. | |
5703 | (__i386__): Implement count_leading_zeros using __builtin_clz(). | |
5704 | Implement count_trailing_zeros usign __builtin_ctz(). | |
5705 | ||
10d7f5f3 RS |
5706 | 2007-05-18 Richard Sandiford <richard@codesourcery.com> |
5707 | ||
5708 | * config/i386/vxworks.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine. | |
5709 | ||
4bcc9de5 UB |
5710 | 2007-05-18 Uros Bizjak <ubizjak@gmail.com> |
5711 | ||
8ecaacaf | 5712 | PR middle-end/31344 |
4bcc9de5 UB |
5713 | * expr.c (emit_move_change_mode): Change mode of push operands here. |
5714 | ||
b60b4711 ILT |
5715 | 2007-05-17 Ian Lance Taylor <iant@google.com> |
5716 | ||
5717 | PR tree-optimization/31953 | |
5718 | * tree-vrp.c (set_value_range_to_value): Add equiv parameter. | |
5719 | Change all callers. | |
5720 | (set_value_range_to_null): Call set_value_range_to_value. | |
5721 | (extract_range_from_comparison): Likewise. | |
5722 | ||
550b3187 KG |
5723 | 2007-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
5724 | ||
0968bb3d KG |
5725 | * toplev.c (print_version): Output GMP/MPFR version info. |
5726 | ||
bf460eec KG |
5727 | * builtins.c (CASE_MATHFN_REENT): New macro. |
5728 | (mathfn_built_in): Use it. | |
5729 | * builtins.def (BUILT_IN_GAMMA_R, BUILT_IN_GAMMAF_R, | |
5730 | BUILT_IN_GAMMAL_R, BUILT_IN_LGAMMA_R, BUILT_IN_LGAMMAF_R, | |
5731 | BUILT_IN_LGAMMAL_R): New. | |
5732 | * doc/extend.texi: Document new builtins. | |
5733 | ||
ea91f957 KG |
5734 | PR middle-end/31796 |
5735 | * builtins.c (do_mpfr_remquo): New. | |
5736 | (fold_builtin_2): Handle BUILT_IN_DREM/BUILT_IN_REMAINDER. | |
5737 | (fold_builtin_3): Handle BUILT_IN_REMQUO. | |
5738 | ||
fd2ef596 KG |
5739 | PR middle-end/30251 |
5740 | * builtins.c (fold_builtin_1): Handle y0, y1. | |
5741 | (fold_builtin_2): Handle yn. | |
5742 | ||
550b3187 KG |
5743 | PR middle-end/30251 |
5744 | * builtins.c (do_mpfr_bessel_n): New. | |
5745 | (fold_builtin_1): Handle BUILT_IN_J0 and BUILT_IN_J1. | |
5746 | (fold_builtin_2): Handle BUILT_IN_JN. | |
5747 | ||
a7d0b2d8 DS |
5748 | 2007-05-17 Danny Smith <dannysmith@users.sourceforge.net> |
5749 | ||
5750 | PR target/31965 | |
5751 | * config/i386/mingw32.h (_INTEGRAL_MAX_BITS): Define builtin as | |
5752 | TYPE_PRECISION (intmax_type_node). | |
5753 | ||
0fa4cb7d SE |
5754 | 2007-05-17 Steve Ellcey <sje@cup.hp.com> |
5755 | ||
5756 | PR target/31850 | |
5757 | * reload.c (subst_reloads): Remove checking. | |
5758 | ||
4eff8045 EB |
5759 | 2007-05-17 Eric Botcazou <ebotcazou@libertysurf.fr> |
5760 | ||
5761 | PR rtl-optimization/31691 | |
5762 | * combine.c (simplify_set): Build a new src pattern instead of | |
5763 | substituting its operands in the COMPARE case. | |
5764 | ||
b02b9b53 ZD |
5765 | 2007-05-17 Zdenek Dvorak <dvorakz@suse.cz> |
5766 | ||
5767 | * tree-vrp.c (finalize_jump_threads): Do not care about dominance info. | |
5768 | (execute_vrp): Preserve loops through jump threading. | |
5769 | * tree-ssa-threadupdate.c (thread_single_edge, | |
5770 | dbds_continue_enumeration_p, determine_bb_domination_status, | |
5771 | thread_through_loop_header): New functions. | |
5772 | (create_edge_and_update_destination_phis, | |
5773 | create_edge_and_update_destination_phis): Set loops for the new blocks. | |
5774 | (prune_undesirable_thread_requests): Removed. | |
5775 | (redirect_edges): Do not pretend that redirect_edge_and_branch can | |
5776 | create new blocks. | |
5777 | (thread_block): Do not call prune_undesirable_thread_requests. | |
5778 | Update loops. | |
5779 | (mark_threaded_blocks): Select edges to thread here. | |
5780 | (thread_through_all_blocks): Take may_peel_loop_headers argument. | |
5781 | Thread edges through loop headers independently. | |
5782 | * cfgloopmanip.c (create_preheader, mfb_keep_just): Export. | |
5783 | * tree-pass.h (TODO_mark_first_instance): New. | |
5784 | (first_pass_instance): Declare. | |
5785 | * cfghooks.c (duplicate_block): Put the block to the original loop | |
5786 | if copy is not specified. | |
5787 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Preserve loops through | |
5788 | jump threading. Pass may_peel_loop_headers to | |
5789 | thread_through_all_blocks according to first_pass_instance. | |
5790 | * cfgloop.h (create_preheader): Declare. | |
5791 | * tree-flow.h (thread_through_all_blocks): Declaration changed. | |
5792 | * basic-block.h (mfb_keep_just, mfb_kj_edge): Declare. | |
5793 | * passes.c (first_pass_instance): New variable. | |
5794 | (next_pass_1): Set TODO_mark_first_instance. | |
5795 | (execute_todo): Set first_pass_instance. | |
5796 | ||
d9987fb4 UB |
5797 | 2007-05-17 Uros Bizjak <ubizjak@gmail.com> |
5798 | ||
5799 | PR tree-optimization/24659 | |
5800 | * optabs.h (enum optab_index): Add OTI_vec_unpacks_float_hi, | |
5801 | OTI_vec_unpacks_float_lo, OTI_vec_unpacku_float_hi, | |
5802 | OTI_vec_unpacku_float_lo, OTI_vec_pack_sfix_trunc and | |
5803 | OTI_vec_pack_ufix_trunc. | |
5804 | (vec_unpacks_float_hi_optab): Define new macro. | |
5805 | (vec_unpacks_float_lo_optab): Ditto. | |
5806 | (vec_unpacku_float_hi_optab): Ditto. | |
5807 | (vec_unpacku_float_lo_optab): Ditto. | |
5808 | (vec_pack_sfix_trunc_optab): Ditto. | |
5809 | (vec_pack_ufix_trunc_optab): Ditto. | |
5810 | * genopinit.c (optabs): Implement vec_unpack[s|u]_[hi|lo]_optab | |
5811 | and vec_pack_[s|u]fix_trunc_optab using | |
5812 | vec_unpack[s|u]_[hi\lo]_* and vec_pack_[u|s]fix_trunc_* patterns | |
5813 | * tree-vectorizer.c (supportable_widening_operation): Handle | |
5814 | FLOAT_EXPR and CONVERT_EXPR. Update comment. | |
5815 | (supportable_narrowing_operation): New function. | |
5816 | * tree-vectorizer.h (supportable_narrowing_operation): Prototype. | |
5817 | * tree-vect-transform.c (vectorizable_conversion): Handle | |
5818 | (nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases. | |
5819 | (vect_gen_widened_results_half): Move before vectorizable_conversion. | |
5820 | (vectorizable_type_demotion): Call supportable_narrowing_operation() | |
5821 | to check for target support. | |
5822 | * optabs.c (optab_for_tree_code) Return vec_unpack[s|u]_float_hi_optab | |
5823 | for VEC_UNPACK_FLOAT_HI_EXPR, vec_unpack[s|u]_float_lo_optab | |
5824 | for VEC_UNPACK_FLOAT_LO_EXPR and vec_pack_[u|s]fix_trunc_optab | |
5825 | for VEC_PACK_FIX_TRUNC_EXPR. | |
5826 | (expand_binop): Special case mode of the result for | |
5827 | vec_pack_[u|s]fix_trunc_optab. | |
5828 | (init_optabs): Initialize vec_unpack[s|u]_[hi|lo]_optab and | |
5829 | vec_pack_[u|s]fix_trunc_optab. | |
5830 | ||
5831 | * tree.def (VEC_UNPACK_FLOAT_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR, | |
5832 | VEC_PACK_FIX_TRUNC_EXPR): New tree codes. | |
5833 | * tree-pretty-print.c (dump_generic_node): Handle | |
5834 | VEC_UNPACK_FLOAT_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR and | |
5835 | VEC_PACK_FIX_TRUNC_EXPR. | |
5836 | (op_prio): Ditto. | |
5837 | * expr.c (expand_expr_real_1): Ditto. | |
5838 | * tree-inline.c (estimate_num_insns_1): Ditto. | |
5839 | * tree-vect-generic.c (expand_vector_operations_1): Ditto. | |
5840 | ||
5841 | * config/i386/sse.md (vec_unpacks_float_hi_v8hi): New expander. | |
5842 | (vec_unpacks_float_lo_v8hi): Ditto. | |
5843 | (vec_unpacku_float_hi_v8hi): Ditto. | |
5844 | (vec_unpacku_float_lo_v8hi): Ditto. | |
5845 | (vec_unpacks_float_hi_v4si): Ditto. | |
5846 | (vec_unpacks_float_lo_v4si): Ditto. | |
5847 | (vec_pack_sfix_trunc_v2df): Ditto. | |
5848 | ||
5849 | * doc/c-tree.texi (Expression trees) [VEC_UNPACK_FLOAT_HI_EXPR]: | |
5850 | Document. | |
5851 | [VEC_UNPACK_FLOAT_LO_EXPR]: Ditto. | |
5852 | [VEC_PACK_FIX_TRUNC_EXPR]: Ditto. | |
5853 | * doc/md.texi (Standard Names) [vec_pack_sfix_trunc]: Document. | |
5854 | [vec_pack_ufix_trunc]: Ditto. | |
5855 | [vec_unpacks_float_hi]: Ditto. | |
5856 | [vec_unpacks_float_lo]: Ditto. | |
5857 | [vec_unpacku_float_hi]: Ditto. | |
5858 | [vec_unpacku_float_lo]: Ditto. | |
5859 | ||
27735edb UB |
5860 | 2007-05-16 Uros Bizjak <ubizjak@gmail.com> |
5861 | ||
5862 | * soft-fp/README: Update for new files. | |
5863 | * soft-fp/floattisf.c: New file. | |
5864 | * soft-fp/floattidf.c: New file. | |
5865 | * soft-fp/floattitf.c: New file. | |
5866 | * soft-fp/floatuntisf.c: New file. | |
5867 | * soft-fp/floatuntidf.c: New file. | |
5868 | * soft-fp/floatuntitf.c: New file. | |
5869 | * soft-fp/fixsfti.c: New file. | |
5870 | * soft-fp/fixdfti.c: New file. | |
5871 | * soft-fp/fixtfti.c: New file. | |
5872 | * soft-fp/fixunssfti.c: New file. | |
5873 | * soft-fp/fixunsdfti.c: New file. | |
5874 | * soft-fp/fixunstfti.c: New file. | |
5875 | * soft-fp/extendxftf.c: New file. | |
5876 | * soft-fp/trunctfxf.c: New file. | |
5877 | ||
5878 | * libgcc-std.ver (__extendxftf2): Added to GCC_4.3.0 section. | |
5879 | (__trunctfxf2): Ditto. | |
5880 | ||
5881 | * config/i386/libgcc-x86_64-glibc.ver (__addtf3, __divtf3, __eqtf2, | |
5882 | __extenddftf2, __extendsftf2, __fixtfdi, __fixtfsi, __fixtfti, | |
5883 | __fixunstfdi, __fixunstfsi, __fixunstfti, __floatditf, __floatsitf, | |
5884 | __floattitf, __floatunditf, __floatunsitf, __floatuntitf, __getf2, | |
5885 | __letf2, __multf3, __negtf2, __subtf3, __trunctfdf2, __trunctfsf2, | |
5886 | __unordtf2): Exclude and add to GCC_4.3.0 section for x86_64 targets. | |
5887 | ||
5888 | * config/i386/t-fprules-softfp64: New file. | |
5889 | * config/i386/sfp-machine.h: New file. | |
5890 | * config.gcc (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, | |
5891 | x86_64-*-knetbsd*-gnu): Add i386/t-fprules-softfp64 | |
5892 | and soft-fp/t-softfp to tmake_file. | |
5893 | (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu, | |
5894 | i[34567]86-*-knetbsd*-gnu): Ditto for --enable-targets=all. | |
8536ebb5 | 5895 | |
27735edb UB |
5896 | * config/i386/t-linux64 (softfp_wrap_start): New. |
5897 | (softfp_wrap_end): New. | |
5898 | * config/i386/i386.c (ix86_scalar_mode_supported): TFmode is | |
5899 | supported for TARGET_64BIT. | |
5900 | ||
c74a03d2 RAE |
5901 | 2007-05-16 Rafael Avila de Espindola <espindola@google.com> |
5902 | ||
8536ebb5 | 5903 | * c-common.c (c_common_signed_or_unsigned_type): Emulate |
c74a03d2 RAE |
5904 | c_common_unsigned_type behavior. |
5905 | ||
2d79fde8 PB |
5906 | 2007-05-16 Paolo Bonzini <bonzini@gnu.org> |
5907 | ||
d9987fb4 UB |
5908 | * config/i386/i386.c (legitimize_tls_address): Mark __tls_get_addr |
5909 | calls as pure. | |
2d79fde8 | 5910 | |
2b2c2fe5 EC |
5911 | 2007-05-16 Eric Christopher <echristo@apple.com> |
5912 | ||
5913 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register | |
d9987fb4 UB |
5914 | saving after stack push. Set sp_offset whenever we push. |
5915 | (rs6000_emit_epilogue): Move altivec register restore before | |
5916 | stack push. | |
2b2c2fe5 | 5917 | |
748670c2 RS |
5918 | 2007-05-16 Richard Sandiford <richard@codesourcery.com> |
5919 | ||
5920 | * configure.ac: Allow sysroots to be relocated under $prefix as | |
5921 | well as $exec_prefix. | |
5922 | * configure: Regenerate. | |
5923 | ||
4ef2b6ed RS |
5924 | 2007-05-16 Richard Sandiford <richard@codesourcery.com> |
5925 | ||
5926 | Revert: | |
5927 | ||
5928 | 2007-05-12 Richard Sandiford <richard@codesourcery.com> | |
5929 | ||
5930 | * configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix). | |
5931 | (gcc_tooldir): Likewise. | |
5932 | * configure: Regenerate. | |
5933 | * Makefile.in (libsubdir_to_prefix): New variable, based on the | |
5934 | old configure.ac gcc_tooldir setting. | |
5935 | (prefix_to_exec_prefix): New variable. | |
5936 | (DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix) | |
5937 | rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX. | |
5938 | ||
3bf6bfcc JJ |
5939 | 2007-05-14 Janis Johnson <janis187@us.ibm.com> |
5940 | ||
5941 | * c-typeck.c (build_binary_op): Return early for error. | |
5942 | ||
9e2f83a5 ZD |
5943 | 2007-05-15 Zdenek Dvorak <dvorakz@suse.cz> |
5944 | ||
5945 | * tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate | |
5946 | struct nb_iter_bound. | |
5947 | (free_numbers_of_iterations_estimates_loop): Use ggc_free. | |
5948 | * gengtype.c (open_base_files): Add cfhloop.h to the list of includes. | |
5949 | * cfgloopmanip.c (place_new_loop): Vector larray is gc-allocated. | |
5950 | * tree-scalar-evolution.c: Include gt-tree-scalar-evolution.h. | |
5951 | (struct scev_info_str, scalar_evolution_info): Add GTY markers. | |
5952 | (new_scev_info_str): Use GGC_NEW to allocate struct scev_info_str. | |
5953 | (del_scev_info): Use ggc_free. | |
5954 | (scev_initialize): Allocate scalar_evolution_info in gc memory. | |
5955 | * loop-init.c: Include ggc.h. | |
5956 | (loop_optimizer_init): Use GGC_CNEW to allocate struct loops. | |
5957 | (loop_optimizer_finalize): Use ggc_free. | |
5958 | * tree-ssa-loop.c (pass_tree_unswitch, pass_vectorize, | |
5959 | pass_linear_transfom, pass_empty_loop, pass_complete_unroll, | |
5960 | pass_iv_optimize): Add TODO_ggc_collect. | |
7e08fa35 UB |
5961 | * function.h (struct function): Remove skip marker from |
5962 | x_current_loops. | |
9e2f83a5 ZD |
5963 | * cfgloop.c: Include ggc.h. |
5964 | (flow_loops_free, flow_loop_free): Free the loop descriptions in gc | |
5965 | memory. | |
5966 | (establish_preds): Vector superloops is gc allocated. | |
5967 | (alloc_loop): Allocate loop using GGC_CNEW. Allocate head of | |
5968 | loop->exits list. | |
5969 | (flow_loops_find): Vector larray is gc allocated. | |
5970 | (loop_exit_free): Use ggc_free. | |
5971 | (rescan_loop_exit): Use GGC_NEW to allocate struct loop_exit. Reflect | |
5972 | that head of exits list is now not a part of struct loop. | |
5973 | (record_loop_exits): Allocate exits table in gc memory. | |
7e08fa35 UB |
5974 | (get_loop_exit_edges, verify_loop_structure, single_exit): Reflect |
5975 | that head of exits list is now not a part of struct loop. | |
9e2f83a5 ZD |
5976 | * cfgloop.h (struct lpt_decision, struct nb_iter_bound, |
5977 | struct loop_exit): Add GTY marker. | |
5978 | (struct loop): Add GTY marker. Make superloops vector gc allocated. | |
5979 | Add skip marker to aux field. Make head of exits list a separate | |
5980 | object. | |
5981 | (struct loops): Add GTY marker. Make larray vector gc allocated. | |
5982 | Add param marker to exits table. | |
5983 | (get_loops): Type changed. | |
7e08fa35 UB |
5984 | * Makefile.in (tree-scalar-evolution.o): Add |
5985 | gt-tree-scalar-evolution.h dependency. | |
9e2f83a5 ZD |
5986 | (cfgloop.o, loop-init.o): Add ggc.h dependency. |
5987 | (GTFILES): Add cfgloop.h and tree-scalar-evolution.c. | |
5988 | * basic-block.h (struct basic_block_def): Remove skip marker from | |
5989 | loop_father field. | |
5990 | ||
49452c07 UB |
5991 | 2007-05-14 Uros Bizjak <ubizjak@gmail.com> |
5992 | ||
5993 | * builtins.c (expand_builtin_mathfn): Use EXPAND_NORMAL instead | |
5994 | of 0 in the call to expand_expr(). | |
5995 | (expand_builtin_mathfn_3): Ditto. | |
5996 | (expand_builtin_interclass_mathfn): Ditto. | |
5997 | (expand_builtin_cexpi): Ditto. | |
5998 | (expand_builtin_int_roundingfn): Ditto. | |
5999 | (expand_builtin_int_roundingfn_2): Ditto. | |
6000 | (expand_builtin_pow): Ditto. | |
6001 | (expand_builtin_powi): Ditto. | |
6002 | (expand_builtin_bswap): Ditto. | |
6003 | (expand_builtin_unop): Ditto. | |
6004 | (expand_builtin_fabs): Ditto. | |
6005 | (get_builtin_sync_mem): Use NULL_RTX instead of NULL in | |
6006 | the call to expand_expr(). | |
6007 | (expand_builtin_sync_operation): Ditto. | |
6008 | (expand_builtin_compare_and_swap): Ditto. | |
6009 | (expand_builtin_lock_test_and_set): Ditto. | |
6010 | * except.c (expand_builtin_eh_return_data_regno): Use EXPAND_NORMAL | |
6011 | instead of 0 in the call to expand_expr(). | |
6012 | (expand_builtin_extract_return_addr): Ditto. | |
6013 | (expand_builtin_eh_return): Ditto. | |
6014 | (expand_eh_return): Ditto. | |
6015 | * explow.c (expr_size): Ditto. | |
6016 | * expr.c (optimize_bitfield_assignment_op): Ditto. | |
6017 | (expand_assignement): Ditto. | |
6018 | (store_expr): Ditto. | |
6019 | (store_field): Ditto. | |
6020 | (expand_expr_addr_expr_1): Use NULL_RTX instead of NULL in | |
6021 | the call to expand_expr(). | |
6022 | (expand_expr_real_1) [COMPLEX_CST]: Use EXPAND_NORMAL instead of 0 | |
6023 | in the call to expand_expr(). | |
6024 | [CONSTRUCTOR, PLUS_EXPR, MINUS_EXPR, NEGATE_EXPR, ABS_EXPR, | |
6025 | BIT_NOT_EXPR, LSHIFT_EXPR, LT_EXPR, TRUTH_NOT_EXPR]: Ditto. | |
6026 | [VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO]: Use expand_normal() instead | |
6027 | of expand_expr(). | |
6028 | * optabs.c (expand_vec_shift_expr): Ditto. | |
6029 | (expand_vec_cond_expr): Ditto. | |
6030 | (vector_compare_rtx): Use EXPAND_STACK_PARM instead of 1 in the | |
6031 | call to expand_expr(). | |
6032 | * stmt.c (expand_return): Use EXPAND_NORMAL instead of 0 | |
6033 | in the call to expand_expr(). | |
6034 | ||
9c40feeb DK |
6035 | 2007-05-14 Dave Korn <dave.korn@artimi.com> |
6036 | ||
6037 | * genautomata.c (gen_regexp_el): Allocate correct size for regexp. | |
6038 | ||
ca5ba2a3 RAE |
6039 | 2007-05-14 Rafael Avila de Espindola <espindola@google.com> |
6040 | ||
6041 | * c-common.c (warnings_for_convert_and_check): Use unsigned_type_for | |
6042 | instead of c_common_unsigned_type. | |
6043 | (c_common_unsigned_type): Remove. | |
6044 | (shorten_compare): Use c_common_signed_or_unsigned_type instead of | |
6045 | c_common_unsigned_type. | |
6046 | (c_common_nodes_and_builtins): Use unsigned_type_for instead of | |
6047 | c_common_unsigned_type. | |
6048 | * c-common.h (c_common_unsigned_type): Remove. | |
6049 | * c-decl.c (grokdeclarator): Use unsigned_type_for instead of | |
6050 | c_common_unsigned_type. | |
6051 | * c-format.c (check_format_types): Use unsigned_type_for instead of | |
6052 | c_common_unsigned_type. | |
6053 | * c-objc-common.h (LANG_HOOKS_UNSIGNED_TYPE): Remove. | |
7e08fa35 UB |
6054 | * c-typeck.c (convert_for_assignment): Use unsigned_type_for instead |
6055 | of c_common_unsigned_type. | |
ca5ba2a3 RAE |
6056 | * convert.c (convert_to_integer): Use unsigned_type_for instead of |
6057 | lang_hooks.types.unsigned_type. | |
6058 | * expmed.c (make_tree): Use unsigned_type_for instead of | |
6059 | lang_hooks.types.unsigned_type. | |
6060 | * fold-const.c (fold_negate_expr): Use unsigned_type_for instead of | |
6061 | lang_hooks.types.unsigned_type. | |
6062 | (build_range_check): Likewise. | |
6063 | (fold_unary): Likewise. | |
6064 | (fold_binary): Likewise. | |
6065 | (fold_ternary): Likewise. | |
6066 | * langhooks-def.h (LANG_HOOKS_UNSIGNED_TYPE): Remove. | |
6067 | * langhooks.h (lang_hooks_for_types): Remove unsigned_type. | |
6068 | * tree.c (get_unsigned_type): New. | |
6069 | (unsigned_type_for): Use get_unsigned_type instead of | |
6070 | lang_hooks.types.unsigned_type. | |
6071 | ||
a4242737 KH |
6072 | 2007-05-14 Kazu Hirata <kazu@codesourcery.com> |
6073 | ||
6074 | * config/m68k/m68k-protos.h: Rename m68k_interrupt_function_p | |
6075 | to m68k_get_function_kind. Update its prototype. | |
6076 | * config/m68k/m68k.c (m68k_attribute_table): Add an entry for | |
6077 | interrupt_thread. | |
6078 | (m68k_interrupt_function_p): Return enum m68k_function_type | |
6079 | instead of bool. Rename to m68k_get_function_kind. | |
6080 | (m68k_handle_fndecl_attribute): Reject interrupt_thread if the | |
6081 | target is not fido. | |
6082 | (m68k_compute_frame_layout): Don't mark any register for save | |
6083 | if an interrupt_thread attribute is specified. | |
6084 | (m68k_hard_regno_rename_ok): Update a use of | |
6085 | m68k_interrupt_function_p. | |
6086 | * config/m68k/m68k.h (EPILOGUE_USES): Update a use of | |
6087 | m68k_interrupt_function_p. | |
6088 | (m68k_function_type): New. | |
6089 | * config/m68k/m68k.md (*return): Output a 'sleep' instruction | |
6090 | for a function with an interrupt_thread attribute. | |
6091 | * doc/extend.texi: Document the interrupt_thread attribute. | |
6092 | ||
4076455d DB |
6093 | 2007-05-13 Daniel Berlin <dberlin@dberlin.org> |
6094 | ||
6095 | Fix PR tree-optimization/31911 | |
6096 | * tree-ssa-pre.c (phi_translate): Make sure to cache results even | |
6097 | if they didn't change the expression. | |
6098 | ||
3cb960c7 ZD |
6099 | 2007-05-13 Zdenek Dvorak <dvorakz@suse.cz> |
6100 | ||
6101 | * tree-scalar-evolution.c (resolve_mixers): Exported. | |
6102 | * tree-scalar-evolution.h (resolve_mixers): Declare. | |
6103 | * tree-data-ref.c (object_analysis, ptr_decl_may_alias_p, | |
6104 | ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p, | |
6105 | record_record_differ_p, record_array_differ_p, array_ptr_differ_p, | |
6106 | base_object_differ_p, base_addr_differ_p, analyze_array_indexes, | |
6107 | init_array_ref, init_pointer_ref, analyze_indirect_ref, | |
6108 | strip_conversion, analyze_offset_expr, address_analysis, | |
6109 | object_analysis, analyze_offset): Removed. | |
6110 | (dr_analyze_innermost, dr_analyze_indices, dr_analyze_alias, | |
6111 | split_constant_offset, canonicalize_base_object_address, | |
6112 | object_address_invariant_in_loop_p, disjoint_objects_p, | |
6113 | dr_may_alias_p, dr_address_invariant_p): New functions. | |
6114 | (create_data_ref): Use dr_analyze_innermost, dr_analyze_indices | |
6115 | and dr_analyze_alias. | |
6116 | (initialize_data_dependence_relation): Use dr_may_alias_p | |
6117 | and object_address_invariant_in_loop_p. | |
7e08fa35 UB |
6118 | (compute_self_dependence): Handle the case when |
6119 | DDR_ARE_DEPENDENT (ddr) is chrec_dont_know. | |
6120 | (find_data_references_in_stmt): Restrict the analysis of data | |
6121 | references to the given loop nest. | |
3cb960c7 ZD |
6122 | (find_data_references_in_loop): Made static. Pass loop nest to |
6123 | find_data_references_in_stmt. | |
6124 | (compute_data_dependences_for_loop): Use DR_VOPS. | |
6125 | (free_data_ref): Free DR_VOPS. | |
6126 | * tree-data-ref.h (struct first_location_in_loop): Replaced by ... | |
6127 | (struct innermost_loop_behavior): ... new. | |
6128 | (struct base_object_info): Replaced by ... | |
6129 | (struct indices): ... new. | |
6130 | (struct dr_alias): New. | |
6131 | (enum data_ref_type): Removed. | |
6132 | (struct data_reference): Consist of struct innermost_loop_behavior, | |
6133 | struct indices and struct dr_alias. | |
6134 | (DR_SET_ACCESS_FNS, DR_FREE_ACCESS_FNS): Removed. | |
6135 | (DR_MEMTAG): Renamed to ... | |
6136 | (DR_SYMBOL_TAG): ... this. | |
6137 | (find_data_references_in_loop): Declaration removed. | |
6138 | * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use DR_INIT | |
6139 | instead of DR_OFFSET_MISALIGNMENT. DR_ALIGNED_TO is never NULL. | |
6140 | (vect_analyze_data_refs): Use DR_SYMBOL_TAG instead of DR_MEMTAG. | |
6141 | * tree-vect-transform.c (vect_create_data_ref_ptr): Ditto. | |
6142 | ||
8a8b05f4 RE |
6143 | 2007-05-13 Revital Eres <eres@il.ibm.com> |
6144 | ||
6145 | * tree-ssa-dse.c (get_use_of_stmt_lhs): New function | |
6146 | which walks virtual def-use chains to find redundant stores. | |
6147 | (dse_optimize_stmt): Call it. | |
6148 | ||
bae8b6b2 SB |
6149 | 2007-05-12 Steven Bosscher <steven@gcc.gnu.org> |
6150 | ||
6151 | * gcse.c (gcse_main): Do jump bypassing in CPROP2. | |
6152 | * passes.c (init_optimization_passes): Move pass_jump_bypass | |
6153 | after loop2. | |
6154 | ||
6155 | * basic-block.h (bb_has_eh_pred): Fix style issue. | |
6156 | ||
7f6055d0 SB |
6157 | 2007-05-12 Steven Bosscher <steven@gcc.gnu.org> |
6158 | ||
6159 | PR rtl-optimization/31848 | |
6160 | * loop-invariant.c (move_invariant_reg): If we move an insn | |
6161 | with a REG_EQUAL note, and that insn is not always executed, | |
6162 | remove the REG_EQUAL note. | |
6163 | ||
c4160806 RG |
6164 | 2007-05-12 Richard Guenther <rguenther@suse.de> |
6165 | ||
6166 | PR tree-optimization/31797 | |
6167 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not | |
6168 | propagate into a stmt that has volatile ops. | |
6169 | ||
a7471708 RS |
6170 | 2007-05-12 Richard Sandiford <richard@codesourcery.com> |
6171 | ||
6172 | * configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix). | |
6173 | (gcc_tooldir): Likewise. | |
6174 | * configure: Regenerate. | |
6175 | * Makefile.in (libsubdir_to_prefix): New variable, based on the | |
6176 | old configure.ac gcc_tooldir setting. | |
6177 | (prefix_to_exec_prefix): New variable. | |
6178 | (DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix) | |
6179 | rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX. | |
6180 | ||
79bedddc SR |
6181 | 2007-05-11 Silvius Rus <rus@google.com> |
6182 | ||
6183 | * Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o. | |
6184 | * c-common.c (strict_aliasing_warning): Modify -Wstrict-aliasing logic. | |
6185 | * c-common.h (strict_aliasing_warning): Change return type. | |
6186 | * c-opts.c (c_common_handle_option): Add call to set_Wstrict_aliasing. | |
6187 | * c-typeck.c (build_indirect_ref): Add call to strict_aliasing_warning. | |
6188 | (build_c_cast): Condition call to strict_aliasing_warning. | |
6189 | * doc/invoke.texi: Update description of -Wstrict-aliasing[=n]. | |
6190 | * flags.h (set_Wstrict_aliasing): Declare. | |
6191 | * opts.c (set_Wstrict_alising): Define, add call to. | |
6192 | * tree-flow.h (strict_aliasing_warning_backend): Declare. | |
6193 | * tree-ssa-alias-warnings.c: New file. | |
6194 | * tree-ssa-alias.c (compute_may_aliases): Add call to | |
2b2c2fe5 | 6195 | strict_aliasing_warning_backend. |
79bedddc | 6196 | |
9ba025a2 ZD |
6197 | 2007-05-11 Zdenek Dvorak <dvorakz@suse.cz> |
6198 | ||
6199 | * tree-loop-linear.c (gather_interchange_stats, try_interchange_loops): | |
6200 | Use loop_depth and loop_outer accessor functions. | |
6201 | * tree-ssa-loop-im.c (outermost_invariant_loop, set_level, | |
6202 | determine_invariantness_stmt, move_computations_stmt): Ditto. | |
6203 | * cfgloopmanip.c (fix_bb_placement, fix_loop_placement, remove_path, | |
6204 | add_loop, loopify, unloop, fix_loop_structure): Ditto. | |
6205 | * tree-ssa-loop-manip.c (find_uses_to_rename_use): Ditto. | |
6206 | * tree-scalar-evolution.c (interpret_loop_phi, | |
6207 | compute_scalar_evolution_in_loop, analyze_scalar_evolution_in_loop, | |
6208 | instantiate_parameters_1, scev_const_prop): Ditto. | |
6209 | * cfghooks.c (make_forwarder_block): Ditto. | |
6210 | * cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto. | |
6211 | * modulo-sched.c (loop_canon_p): Ditto. | |
6212 | * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg, | |
6213 | slpeel_can_duplicate_loop_p): Ditto. | |
6214 | * lambda-code.c (invariant_in_loop_and_outer_loops): Ditto. | |
6215 | * tree-cfg.c (tree_duplicate_sese_region): Ditto. | |
6216 | * cfgloop.c (flow_loop_dump, flow_loop_nodes_find, rescan_loop_exit, | |
6217 | cancel_loop, verify_loop_structure): Ditto. | |
6218 | (flow_loop_nested_p, superloop_at_depth, flow_loop_free, | |
6219 | add_bb_to_loop, remove_bb_from_loops, find_common_loop): Use the | |
6220 | superloops vector instead of "pred" array. | |
6221 | (establish_preds): Take father loop as an argument. Initialize the | |
6222 | superloops vector. | |
7e08fa35 UB |
6223 | (flow_loop_tree_node_add): Pass father loop to establish_preds. |
6224 | Do not initialize loop->outer. | |
9ba025a2 ZD |
6225 | (flow_loop_tree_node_remove): Truncate the superloops vector. |
6226 | * cfgloop.h (struct loop): Removed field "outer", fields "depth" and | |
6227 | "pred" merged to "superloops" vector. | |
6228 | (loop_depth, loop_outer): New. | |
6229 | (fel_init): Use loop_outer. | |
6230 | ||
7be82279 JH |
6231 | 2007-05-11 Jan Hubicka <jh@suse.cz> |
6232 | ||
6233 | * cgraphunit.c: Include gt-cgraphunit.h | |
6234 | (static_ctors, static_dtors): New static vars. | |
6235 | (record_cdtor_fn, build_cdtor, cgraph_build_cdtor_fns): New functions, | |
6236 | based on implementation in c-common.c | |
6237 | (cgraph_finalize_function): Call record_cdtor_fn. | |
6238 | (cgraph_optimize): Call cgraph_build_cdtor_fns. | |
6239 | * decl.c (finish_function): Do not call c_record_cdtor_fn. | |
6240 | (c_write_global_declarations): Do not call c_build_cdtor_fns. | |
6241 | * c-common.c (static_ctors, static_dtors, c_record_cdtor_fn, | |
6242 | build_cdtor, c_build_cdtor_fns): Remove. | |
6243 | * c-common.h (static_ctors, static_dtors, c_record_cdtor_fn, | |
6244 | c_build_cdtor_fns): Remove prototype. | |
6245 | ||
2a5fce6d PC |
6246 | 2007-05-11 Paolo Carlini <pcarlini@suse.de> |
6247 | ||
6248 | PR other/31852 | |
6249 | * builtin-types.def: Add BT_FN_PTR_CONST_PTR_INT_SIZE. | |
6250 | * builtins.def: Add BUILT_IN_MEMCHR, use the latter. | |
6251 | * builtins.c (fold_builtin_memchr): New. | |
6252 | (expand_builtin_memchr): Call the latter. | |
6253 | (expand_builtin, fold_builtin_3): Deal with BUILT_IN_MEMCHR. | |
6254 | * doc/extend.texi ([Other built-in functions provided by GCC]): | |
6255 | Document memchr. | |
6256 | ||
35dd9a0e AK |
6257 | 2007-05-11 Andreas Krebbel <krebbel1@de.ibm.com> |
6258 | ||
6259 | * config/s390/s390.md (GPR0_REGNUM, FPR0_REGNUM, FPR2_REGNUM, | |
6260 | PFPO_CONVERT, PFPO_OP_TYPE_SF, PFPO_OP_TYPE_DF, PFPO_OP_TYPE_TF, | |
6261 | PFPO_OP_TYPE_SD, PFPO_OP_TYPE_DD, PFPO_OP_TYPE_TD, PFPO_OP0_TYPE_SHIFT, | |
6262 | PFPO_OP1_TYPE_SHIFT): Constants added. | |
6263 | (DFP_ALL): Mode macro defined. | |
6264 | ("*trunc<BFP:mode><DFP_ALL:mode>2", "*trunc<DFP_ALL:mode><BFP:mode>2", | |
6265 | "*extend<BFP:mode><DFP_ALL:mode>2", "*extend<DFP_ALL:mode><BFP:mode>2"): | |
6266 | Insn definitions added. | |
6267 | ("trunc<BFP:mode><DFP_ALL:mode>2", "trunc<DFP_ALL:mode><BFP:mode>2", | |
6268 | "extend<BFP:mode><DFP_ALL:mode>2", "extend<DFP_ALL:mode><BFP:mode>2"): | |
6269 | Expanders added. | |
6270 | ||
e71d7f88 ZD |
6271 | 2007-05-10 Zdenek Dvorak <dvorakz@suse.cz> |
6272 | ||
6273 | PR tree-optimization/31885 | |
7e08fa35 UB |
6274 | * tree-chrec.c (chrec_contains_undetermined): Do not consider |
6275 | NULL_TREE to be undetermined. | |
e71d7f88 ZD |
6276 | (automatically_generated_chrec_p): Return false for NULL. |
6277 | ||
b548a9c2 BS |
6278 | 2007-05-08 Bernd Schmidt <bernd.schmidt@analog.com> |
6279 | ||
6280 | * config/bfin/bfin.h (MOVE_RATIO): Define. | |
6281 | ||
1910440e RS |
6282 | 2007-05-10 Richard Sandiford <richard@codesourcery.com> |
6283 | ||
6284 | * config.gcc (sparc-wrs-vxworks): New target. | |
6285 | * config/sparc/vxworks.h, config/sparc/t-vxworks: New files. | |
6286 | * config/sparc/sparc-protos.h (sparc_emit_call_insn): Declare. | |
6287 | * config/sparc/sparc.h: Include vxworks-dummy.h. | |
6288 | (PRINT_OPERAND_ADDRESS): Extend SYMBOL_REF handling to | |
6289 | include LABEL_REFs too. | |
6290 | * config/sparc/sparc.c (sparc_expand_move): Don't assume that | |
6291 | _GLOBAL_OFFSET_TABLE_ - label_ref is a link-time constant on | |
6292 | VxWorks. | |
6293 | (legitimize_pic_address): Handle LABEL_REFs like SYMBOL_REFs | |
6294 | on VxWorks. | |
6295 | (load_pic_register): Use gen_vxworks_load_got for VxWorks. | |
6296 | (sparc_emit_call_insn): New function. | |
6297 | (sparc_function_ok_for_sibcall): Restrict sibcalls to locally-binding | |
6298 | functions when generating VxWorks PIC. | |
6299 | * config/sparc/sparc.md (vxworks_load_got): New pattern. | |
6300 | (call, call_value): Use sparc_emit_call_insn instead of | |
6301 | emit_call_insn. | |
6302 | ||
4575a800 | 6303 | 2007-05-09 Bob Wilson <bob.wilson@acm.org> |
2b2c2fe5 | 6304 | |
4575a800 | 6305 | * config/xtensa/xtensa.c (xtensa_output_literal): Don't use #if. |
2b2c2fe5 | 6306 | |
74ed13f5 BW |
6307 | 2007-05-09 Bob Wilson <bob.wilson@acm.org> |
6308 | ||
6309 | * config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits | |
7e08fa35 UB |
6310 | for floating-point values if HOST_BITS_PER_LONG > 32. Use |
6311 | split_double instead of operand_subword. | |
74ed13f5 | 6312 | |
520c62ad BS |
6313 | 2007-05-08 Bernd Schmidt <bernd.schmidt@analog.com> |
6314 | ||
6315 | * config/bfin/bfin.h (LOCAL_ALIGNMENT): Define. | |
6316 | * config/bfin/bfin.c (bfin_local_alignment): New function. | |
6317 | * config/bfin/bfin-protos.h (bfin_local_alignment): Declare it. | |
6318 | ||
14661f36 CF |
6319 | 2007-05-08 Chao-ying Fu <fu@mips.com> |
6320 | ||
6321 | * doc/md.texi (msub@var{m}@var{n}4, usub@var{m}@var{n}4): Document. | |
6322 | * optabs.h (OTI_smsub_widen, OTI_umsub_widen): New optab_indexes. | |
6323 | (smsub_widen_optab, umsub_widen_optab): Define. | |
6324 | * optabs.c (init_optabs): Initialize smsub_widen_optab and | |
6325 | umsub_widen_optab. | |
6326 | * genopinit.c (optabs): Fill in smsub_widen_optab and | |
6327 | umsub_widen_optab. | |
6328 | * expr.c (expand_expr_real_1): Try to use smsub_widen_optab | |
6329 | and umsub_widen_optab to implement multiply-subtract sequences. | |
6330 | * config/mips/mips.md (*msac<u>_di): Rename to... | |
6331 | (<u>msubsidi4): ...this. Extend condition to include | |
6332 | GENERATE_MADD_MSUB and TARGET_DSPR2. Change the constraint | |
6333 | of operand 0 to "ka" and use the three-operand form of msub<u> | |
6334 | for TARGET_DSPR2. | |
6335 | * config/mips/mips-dspr2.md (mips_msub, mips_msubu): Convert | |
6336 | to define_expands. | |
6337 | ||
10050f74 KK |
6338 | 2007-05-08 Kaz Kojima <kkojima@gcc.gnu.org> |
6339 | ||
6340 | PR rtl-optimization/28011 | |
6341 | * reload.c (push_reload): Set dont_share if IN appears in OUT | |
6342 | also when IN is a PLUS rtx. | |
6343 | (reg_overlap_mentioned_for_reload_p): Return true if X and IN | |
6344 | are same PLUS rtx. | |
6345 | ||
b4aaa77b KH |
6346 | 2007-05-08 Kazu Hirata <kazu@codesourcery.com> |
6347 | ||
6348 | * emit-rtl.c (unshare_all_rtl_1): Don't copy DECL_RTL. Don't | |
6349 | call unshare_all_decls. | |
6350 | (unshare_all_rtl): Adjust the call to unshare_all_rtl_1. | |
6351 | (unshare_all_decls): Remove. | |
6352 | ||
bfa64d0e SM |
6353 | 2007-05-08 Simon Martin <simartin@users.sourceforge.net> |
6354 | ||
6355 | PR 31847 | |
6356 | * tree-dump.c (dump_options): Don't use TDF_DIAGNOSTIC in "*-all" tree | |
6357 | dumps. | |
6358 | ||
e8ab09c1 | 6359 | 2007-05-08 Sandra Loosemore <sandra@codesourcery.com> |
d9987fb4 | 6360 | Nigel Stephens <nigel@mips.com> |
e8ab09c1 SL |
6361 | |
6362 | * config/mips/mips.h (MAX_FPRS_PER_FMT): Renamed from FP_INC. | |
6363 | Update comments and all uses. | |
6364 | (MIN_FPRS_PER_FMT): Define. | |
6365 | * config/mips/mips.c (function_arg): Fix to correctly handle | |
6366 | the -mips32r2 -mfp64 -mabi=32 case. | |
6367 | (override_options): Enable use of odd-numbered registers for | |
6368 | SFmode values on MIPS32. | |
6369 | (mips_save_reg_p): Save whole floating-point register pair if | |
6370 | either half is used. | |
6371 | (compute_frame_size): Fix comment. | |
6372 | ||
1f9e4ca1 JZ |
6373 | 2007-05-08 Jie Zhang <jie.zhang@analog.com> |
6374 | ||
6375 | * config/bfin/bfin-protos.h (bfin_expand_epilogue): Add a third | |
6376 | argument of type bool. | |
6377 | * config/bfin/bfin.c (add_to_reg): Add epilogue_p as a fourth | |
6378 | argument. Safely select temporary P register according to it. | |
6379 | (do_link): Change call site of add_to_reg accordingly. | |
6380 | (do_unlink): Add epilogue_p as a fourth argument and pass it | |
6381 | to add_to_reg. | |
6382 | (expand_interrupt_handler_epilogue): Change call of do_unlink | |
6383 | accordingly. | |
6384 | (bfin_expand_prologue): Add a third argument sibcall_p. | |
6385 | * config/bfin/bfin.md (epilogue): Change call of | |
6386 | bfin_expand_epilogue accordingly. | |
6387 | (sibcall_epilogue): Likewise. | |
6388 | (eh_return_internal): Likewise. | |
2b2c2fe5 | 6389 | |
28f601ff JZ |
6390 | * config/bfin/bfin-protos.h (enum bfin_cpu): Add |
6391 | BFIN_CPU_BF534, BFIN_CPU_BF536 and BFIN_CPU_BF561. | |
6392 | * config/bfin/bfin.c (bfin_handle_option): Handle | |
6393 | -mcpu=bf534, -mcpu=bf536 and -mcpu=bf561. | |
6394 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): | |
6395 | Support bf534, bf536 and bf561. | |
6396 | * doc/invoke.texi (Blackfin Options): Document -mcpu and -msim. | |
6397 | ||
ac97d816 UB |
6398 | 2007-05-08 Uros Bizjak <ubizjak@gmail.com> |
6399 | ||
6400 | PR target/31854 | |
6401 | * config/i386/i386.c (ix86_function_regparm): Process local | |
6402 | functions only when TREE_CODE (decl) equals FUNCTION_DECL. | |
2b2c2fe5 | 6403 | |
841cc7da MS |
6404 | 2007-05-07 Mike Stump <mrs@apple.com> |
6405 | ||
6406 | * doc/invoke.texi (Warning Options): Document that -Wempty-body | |
6407 | also checks for and while statements in C++. | |
6408 | ||
2091ff66 NF |
6409 | 2007-05-07 Nathan Froyd <froydnj@codesourcery.com> |
6410 | ||
6411 | * gcc.c (at_file_supplied): New variable. | |
6412 | (main): Set it if we expanded argv. | |
6413 | (do_spec_1): Pass an @-file to the linker if we were called with | |
6414 | an @-file argument and HAVE_GNU_LD. | |
6415 | * collect2.c (at_file_supplied): New variable. | |
6416 | (response_file): New variable. | |
6417 | (collect_exit): Unlink response_file if necessary. | |
6418 | (handler): Likewise. | |
6419 | (do_wait): Likewise. | |
6420 | (main): Set at_file_supplied if we expanded argv. | |
6421 | (collect_execute): Pass an @-file to subprocesses if we were called | |
6422 | with an @-file argument. | |
6423 | * configure.ac: Add define for HAVE_GNU_LD. | |
6424 | * configure: Regenerate. | |
6425 | * config.in: Regenerate. | |
6426 | ||
d9987fb4 | 6427 | 2007-05-07 Naveen.H.S <naveen.hs@kpitcummins.com> |
44cfab35 N |
6428 | |
6429 | * config/m32c/muldiv.md (mulhisi3_c): Limit the mode of the 2nd | |
6430 | operand to HI mode. | |
6431 | (mulsi3): New. | |
6432 | (divsi3): New. | |
6433 | (udivsi3): New. | |
6434 | ||
5abd2125 JS |
6435 | 2007-05-07 Jayant Sonar <jayants@kpitcummins.com> |
6436 | ||
6437 | * config/m32c/m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define. | |
6438 | (TARGET_ENCODE_SECTION_INFO): Re-define. | |
6439 | (m32c_encode_section_info): New | |
6440 | (function_vector_handler): New | |
6441 | (current_function_special_page_vector): New | |
6442 | (m32c_special_page_vector_p): New. | |
2b2c2fe5 | 6443 | * config/m32c/m32c-protos.h (m32c_special_page_vector_p): |
5abd2125 | 6444 | Prototype. |
2b2c2fe5 | 6445 | * config/m32c/jump.md: Added instruction JSRS for functions |
5abd2125 | 6446 | with attribute "function_vector". |
2b2c2fe5 | 6447 | * doc/extend.texi (function_vector): Added description |
5abd2125 JS |
6448 | for M16C, M32C targets. |
6449 | ||
3eb5f26f DD |
6450 | 2007-05-07 DJ Delorie <dj@redhat.com> |
6451 | ||
6452 | PR 31794 | |
6453 | * config/m32c/shift.md (ashlpsi3_i, ashrpsi3_i, ashlpsi3, | |
6454 | ashrpsi3, lshrpsi3): Update shift count constraint. | |
6455 | ||
b187f5cd | 6456 | 2007-05-07 Danny Smith <dannysmith@users.sourceforge.net> |
2091ff66 | 6457 | Nathan Froyd <froydnj@codesourcery.com> |
b187f5cd DS |
6458 | |
6459 | PR 22133 | |
6460 | * c-incpath.c (add_path): Strip trailing path separators. | |
6461 | ||
8d9d6561 EB |
6462 | 2007-05-07 Eric Botcazou <ebotcazou@adacore.com> |
6463 | ||
6464 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Reset cfg_altered. | |
4be1caf9 | 6465 | Free dominance info before purging EH edges. |
8d9d6561 EB |
6466 | (eliminate_degenerate_phis): Likewise. |
6467 | (propagate_rhs_into_lhs): Set cfg_altered to true instead of 1. | |
6468 | ||
2cb7995f JH |
6469 | 2007-05-07 Jan Hubicka <jh@suse.cz> |
6470 | ||
6471 | * gimplify.c (gimplify_expr): Do not crash when folding | |
6472 | (void *)(int)&a + 4. | |
6473 | ||
2f8e3bd7 FXC |
6474 | 2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
6475 | ||
6476 | PR driver/31694 | |
6477 | * c-opts.c (lang_fortran): Make it non static. | |
6478 | * c-common.h (lang_fortran): New prototype. | |
6479 | * c-cppbuiltin.c (c_cpp_builtins): Create a __GFORTRAN__ if the | |
6480 | -lang-fortran option was passed by the driver. | |
6481 | ||
982533a5 EB |
6482 | 2007-05-06 Eric Botcazou <ebotcazou@adacore.com> |
6483 | ||
6484 | * timevar.c (timevar_print): Test ENABLE_ASSERT_CHECKING instead | |
6485 | of ASSERT_CHECKING. Tweak message. | |
6486 | ||
6487 | 2007-05-06 Revital Eres <eres@il.ibm.com> | |
290358f7 RE |
6488 | |
6489 | PR 30957 | |
6490 | * loop-unroll.c (insert_var_expansion_initialization): | |
6491 | Initialize the expansions with -zero instead of +zero. | |
6492 | ||
a758fa89 AJ |
6493 | 2007-05-05 Aurelien Jarno <aurelien@aurel32.net> |
6494 | ||
6495 | * config/pa/pa.md: Split tgd_load, tld_load and tie_load | |
2b2c2fe5 EC |
6496 | into pic and non-pic versions. Mark r19 as used for |
6497 | tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used | |
a758fa89 AJ |
6498 | for tgd_load, tld_load and tie_load . |
6499 | * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic | |
2b2c2fe5 | 6500 | version of tgd_load, tld_load and tie_load depending on the |
a758fa89 AJ |
6501 | value of flag_pic. |
6502 | ||
3fc95619 UD |
6503 | 2007-05-04 Ulrich Drepper <drepper@redhat.com> |
6504 | Jakub Jelinek <jakub@redhat.com> | |
6505 | ||
6506 | * crtstuff.c (HIDDEN_DTOR_LIST_END): New macro. | |
6507 | (__do_global_dtors_aux): Use more paranoid loop to run | |
6508 | destructors if HIDDEN_DTOR_LIST_END. | |
6509 | (__DTOR_END__): Export as a hidden symbol when HIDDEN_DTOR_LIST_END. | |
6510 | ||
52d53754 JJ |
6511 | 2007-05-04 Jakub Jelinek <jakub@redhat.com> |
6512 | ||
6513 | * varasm.c (align_variable): Don't increase alignment for | |
6514 | DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through | |
6515 | DATA_ALIGNMENT or CONSTANT_ALIGNMENT. | |
6516 | ||
2b28c07a JC |
6517 | 2007-05-04 Josh Conner <jconner@apple.com> |
6518 | ||
6519 | * basic-block.h (cdi_direction): Assign values to all enumeration | |
6520 | constants. | |
6521 | (dom_computed): Remove. | |
6522 | (dom_info_state): New. | |
6523 | (set_dom_info_availability): New. | |
6524 | * tree-ssa-loop-im.c (determine_invariantness): Initialize | |
6525 | walk_data.dom_direction. | |
6526 | * cfghooks.c (delete_basic_block): Use dom_info_available_p() | |
6527 | instead of dom_computed[]. | |
6528 | (split_edge): Likewise. | |
6529 | (create_basic_block): Likewise. | |
6530 | (merge_blocks): Likewise. | |
6531 | * ifcvt.c (find_if_header): Likewise. | |
6532 | * tree-cfgcleanup.c (cleanup_tree_cfg): Likewise. | |
6533 | * tree-ssa-dce.c (remove_dead_stmt): Likewise. | |
6534 | * tree-ssa.c (verify_ssa): Likewise. | |
6535 | * tree-cfg.c (tree_verify_flow_info): Likewise. | |
6536 | (remove_edge_and_dominated_blocks): Likewise. | |
6537 | * dominance.c (dom_computed): Make static. | |
6538 | (calc_dfs_tree_nonrec): Change third param to a bool. | |
6539 | (calc_dfs_tree): Change second param to a bool. | |
6540 | (calc_idioms): Change second param to a bool. Use | |
6541 | dom_convert_dir_to_idx. | |
6542 | (init_dom_info): Validate dir before using. | |
6543 | (dom_convert_dir_to_idx): New. | |
6544 | (calculate_dominance_info): Use dom_convert_dir_to_idx. New | |
6545 | variable 'reverse' used for calling calc_dfs_tree and calc_idoms. | |
6546 | (free_dominance_info): Use dom_convert_dir_to_idx. | |
6547 | (get_immediate_dominator): Likewise. | |
6548 | (set_immediate_dominator): Likewise. | |
6549 | (get_dominated_by): Likewise. | |
6550 | (redirect_immediate_dominators): Likewise. | |
6551 | (nearest_common_denominator): Likewise. | |
6552 | (dominated_by_p): Likewise. | |
6553 | (bb_dom_dfs_in): Likewise. | |
6554 | (bb_dom_dfs_out): Likewise. | |
6555 | (recount_dominator): Likewise. | |
6556 | (iterate_fix_dominators): Likewise. | |
6557 | (add_to_dominance_info): Likewise. | |
6558 | (delete_from_dominance_info): Likewise. | |
6559 | (first_dom_son): Likewise. | |
6560 | (next_dom_son): Likewise. | |
6561 | (dom_info_available_p): Likewise. | |
6562 | (dom_info_state): New. | |
6563 | (set_dom_info_availability): New. | |
6564 | ||
b60cb710 AK |
6565 | 2007-05-04 Andreas Krebbel <krebbel1@de.ibm.com> |
6566 | ||
6567 | * config/s390/s390.md ("fix_trunc<mode>di2", "fix_trunc<mode>si2"): | |
6568 | Expander removed. | |
6569 | ("fix_trunc<DSF:mode><GPR:mode>2"): Expander added. | |
6570 | ||
b86dee19 | 6571 | 2007-05-04 Bob Wilson <bob.wilson@acm.org> |
2b2c2fe5 | 6572 | |
b86dee19 BW |
6573 | * config/xtensa/xtensa.md (adddi3, adddi_carry): Delete. |
6574 | (subdi3, subdi_carry): Delete. | |
2b2c2fe5 | 6575 | |
06ea1b84 JH |
6576 | 2007-05-04 Jan Hubicka <jh@suse.cz> |
6577 | Richard Guenther <rguenther@suse.de> | |
6578 | ||
6579 | * opts.c (decode_options): Do not fiddle with inlining | |
6580 | parameters in case of optimizing for size. | |
6581 | * ipa-inline.c (cgraph_decide_recursive_inlining): When optimizing | |
6582 | for size do nothing. | |
6583 | (cgraph_decide_inlining_of_small_function): When optimizing for | |
6584 | size never inline functions increasing caller size. | |
6585 | (cgraph_early_inlining): Inline for size when optimizing for size. | |
6586 | ||
e4fae5f7 BS |
6587 | 2007-04-18 Bernd Schmidt <bernd.schmidt@analog.com> |
6588 | ||
6589 | * config/bfin/bfin.md (<optab>di3): Now a define_expand which expands | |
6590 | logical operations piecewise. | |
6591 | (<optab>di_zesidi_di, <optab>di_sesidi_di, negdi2, one_cmpldi2, | |
6592 | zero_extendsidi2, subdi_di_zesidi, subdi_zesidi_di, subdi_di_sesidi, | |
6593 | subdi_sesidi_di): Delete. | |
6594 | (add_with_carry): Produce carry in CC instead of a DREG to shorten | |
6595 | the generated sequence. Allow three-reg add in constraints. Rewrite | |
6596 | the rtl expression for carry to avoid zero_extend of a constant. | |
6597 | (sub_with_carry): New pattern. | |
6598 | (adddi3, subdi3): Change into define_expand. For subtract, generate a | |
6599 | different sequence not involving jumps. | |
6600 | (notbi): Now a named pattern. | |
6601 | ||
80b9cbc9 BL |
6602 | 2007-05-04 Bradley Lucier <lucier@math.purdue.edu> |
6603 | ||
6604 | * doc/invoke.texi (i386 and x86-64 Options) [-mpc32, -mpc64, -mpc80]: | |
6605 | Add the note about a significant loss of accuracy of some | |
6606 | mathematical routines when these options are used. | |
6607 | ||
916fa4f0 MK |
6608 | 2007-05-04 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
6609 | ||
6610 | * haifa-sched.c (rtx_vec_t): New typedef. | |
6611 | (contributes_to_priority_p): Extract piece of priority () into new | |
6612 | static function. | |
6613 | (priority): Use the function. Add assertion. | |
6614 | (rank_for_schedule, set_priorities): Add assertion to check that | |
6615 | insn's priority is initialized. | |
6616 | (clear_priorities, calc_priorities): Change signature. Make it update | |
6617 | all relevant insns. Update all callers ('add_to_speculative_block ()' | |
6618 | and 'create_block_check_twin ()'). | |
6619 | * sched-int.h (struct haifa_insn_data): Remove field 'priority_known'. | |
6620 | Add new field 'priority_status'. | |
6621 | (INSN_PRIORITY_STATUS): New macro. | |
6622 | (INSN_PRIORITY_KNOWN): Change to use INSN_PRIORITY_STATUS. | |
6623 | ||
b640bd8f MK |
6624 | 2007-05-04 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
6625 | ||
6626 | * sched-ebb.c (debug_ebb_dependencies): New static function. | |
6627 | (init_ready_list): Use it. | |
6628 | ||
6629 | * sched-rgn.c (debug_dependencies): Split into 'debug_dependencies ()' | |
6630 | with changed signature and 'debug_rgn_dependencies ()'. | |
6631 | (debug_rgn_dependencies): New static function. | |
6632 | (init_ready_list): Use it. | |
2b2c2fe5 | 6633 | |
b640bd8f MK |
6634 | * sched-int.h (debug_dependencies): Declare. |
6635 | ||
04749f41 AK |
6636 | 2007-05-04 Andreas Krebbel <krebbel1@de.ibm.com> |
6637 | ||
6638 | * libgcc-std.ver (__ffssi2): Added to GCC_4.3.0 section. | |
6639 | ||
820b51ae DM |
6640 | 2007-05-04 Dirk Mueller <dmueller@suse.de> |
6641 | ||
6642 | * c.opt(Wmain,ffreestanding): Enable for C++,ObjC++. | |
6643 | ||
ac5a28a6 JH |
6644 | 2007-05-03 Jan Hubicka <jh@suse.cz> |
6645 | ||
7e08fa35 UB |
6646 | * fold-const.c (fold_unary): Convert (T1)(X op Y) into |
6647 | ((T1)X op (T1)Y), for pointer type in more cases than before. | |
ac5a28a6 JH |
6648 | |
6649 | * gimplify.c (gimplify_expr): Fold (void *)&a + 4. | |
6650 | ||
6651 | * tree-object-size.c (plus_expr_object_size): When operand size is | |
6652 | unknown, return unknown. | |
6653 | ||
d347d4c7 DM |
6654 | 2007-05-03 Dirk Mueller <dmueller@suse.de> |
6655 | ||
6656 | * doc/invoke.texi (-m386,-m486,-mpentium,-mpentiumpro): Remove. | |
6657 | ||
6658 | * config/i386/i386.h (CC1_CPU_SPEC): Remove handling for deprecated | |
6659 | options. | |
6660 | ||
6661 | * config/i386/i386.opt (m386,m486,mpentium,mpentiumpro): Remove. | |
6662 | ||
ce396345 JJ |
6663 | 2007-05-03 Janis Johnson <janis187@us.ibm.com> |
6664 | ||
6665 | * doc/sourcebuild.texi (Test Directives) Clarify dg-excess-errors. | |
6666 | ||
13cc6d1b JM |
6667 | 2007-05-03 Joseph Myers <joseph@codesourcery.com> |
6668 | ||
6669 | * config/soft-fp/double.h, config/soft-fp/extended.h, | |
6670 | config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c, | |
6671 | config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c, | |
6672 | config/soft-fp/op-2.h, config/soft-fp/op-4.h, | |
6673 | config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from | |
6674 | glibc CVS. | |
6675 | ||
a45bce6e ILT |
6676 | 2007-05-03 Ian Lance Taylor <iant@google.com> |
6677 | ||
8fa013c3 | 6678 | * config/rs6000/rs6000.c (rs6000_override_options): Don't set |
a45bce6e ILT |
6679 | MASK_PPC_GFXOPT for 8540 or 8548. |
6680 | ||
98120f62 UB |
6681 | 2007-05-03 Uros Bizjak <ubizjak@gmail.com> |
6682 | ||
6683 | * tree-vect-transform.c (vect_update_inits_of_drs): Use | |
6684 | vect_print_dump_info() to output debug information. | |
6685 | ||
f3ba4235 UB |
6686 | 2007-05-03 Uros Bizjak <ubizjak@gmail.com> |
6687 | ||
6688 | PR target/31768 | |
6689 | * config/i386/i386.c (print_operand) ['z']: Output 'w' for | |
6690 | operands of size 2 when operand is not MEM_P. | |
6691 | ||
e604f56c ZD |
6692 | 2007-05-03 Zdenek Dvorak <dvorakz@suse.cz> |
6693 | ||
6694 | PR tree-optimization/30565 | |
6695 | * lambda-code.c (perfect_nestify): Fix updating of dominators. | |
6696 | ||
314f9913 BS |
6697 | 2007-05-03 Bernd Schmidt <bernd.schmidt@analog.com> |
6698 | ||
6699 | * config/bfin/bfin.md (addpdi3, us_truncpdisi2): New patterns. | |
6700 | (umulsi3_highpart): Use them. | |
6701 | * config/bfin/lib1funcs.asm (__umulsi3_highpart): Use unsigned move | |
6702 | for final accumulator to D regisster tranfser. | |
6703 | ||
cb9ed5d7 DN |
6704 | 2007-05-03 Dorit Nuzman <dorit@il.ibm.com> |
6705 | ||
6706 | PR tree-optimization/31699 | |
7e08fa35 UB |
6707 | * tree-vect-analyze.c (vect_update_misalignment_for_peel): Remove |
6708 | wrong code. | |
2b2c2fe5 EC |
6709 | (vect_enhance_data_refs_alignment): Compute peel amount using |
6710 | TYPE_VECTOR_SUBPARTS instead of vf. | |
cb9ed5d7 DN |
6711 | * tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Likewise. |
6712 | ||
df582833 BM |
6713 | 2007-05-02 Brooks Moses <brooks.moses@codesourcery.com> |
6714 | ||
6715 | PR bootstrap/31776 | |
6716 | * system.h: Remove inclusion of double-int.h | |
6717 | * tree.h: Include double-int.h | |
6718 | * gengtype.c: Likewise | |
6719 | * cfgloop.h: Likewise | |
6720 | * Makefile.in: Adjust dependencies on double-int.h | |
6721 | ||
ae077284 EC |
6722 | 2007-05-02 Eric Christopher <echristo@apple.com> |
6723 | ||
6724 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Translate | |
6725 | -shared to -Zdynamiclib. | |
6726 | ||
ba992967 SP |
6727 | 2007-05-02 Seongbae Park <seongbae.park@gmail.com> |
6728 | ||
6729 | PR c++/31663 | |
6730 | * c-common.c (strip_pointer_or_array_types): New function. | |
6731 | * c-common.h (strip_pointer_or_array_types): New function declaration. | |
6732 | ||
e0310afb ZD |
6733 | 2007-05-03 Zdenek Dvorak <dvorakz@suse.cz> |
6734 | ||
6735 | PR tree-optimization/31771 | |
6736 | * tree-cfg.c (move_block_to_fn): Assign bb to the correct index. | |
6737 | ||
ad1ec76f PB |
6738 | 2007-05-02 Paul Brook <paul@codesourcery.com> |
6739 | ||
6740 | * config/arm/bpabi.S (aeabi_lcmp): Fix result on overflow. | |
6741 | ||
0e3aa126 AP |
6742 | 2007-05-02 Andrew Pinski <andrew_pinski@playstation.sony.com> |
6743 | ||
c5b75e95 | 6744 | PR middle-end/29715 |
0e3aa126 AP |
6745 | * fold-const.c (fold_comparision): Remove the "foo++ == CONST" |
6746 | transformation. | |
6747 | ||
5271f9ba NC |
6748 | 2007-05-02 Nick Clifton <nickc@redhat.com> |
6749 | ||
6750 | * config/frv/predicates.md (symbolic_operand): Accept CONSTs. | |
6751 | ||
f6c5fefc RG |
6752 | 2007-05-02 Richard Guenther <rguenther@suse.de> |
6753 | ||
6754 | PR tree-optimization/31146 | |
6755 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New | |
6756 | argument, single_use_p. If we have a single use that is | |
6757 | a conversion to the definition rhs type, propagate that rhs. | |
6758 | (forward_propagate_addr_expr): Pass single_use_p argument | |
6759 | to forward_propagate_addr_expr_1. | |
6760 | ||
9a60b02d L |
6761 | 2007-05-01 H.J. Lu <hongjiu.lu@intel.com> |
6762 | ||
6763 | * config/i386/i386.c (ix86_expand_sse_comi): Remove unused | |
6764 | variable. | |
6765 | ||
d8f52b02 DR |
6766 | 2007-05-01 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
6767 | ||
ae077284 | 6768 | * doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of |
d8f52b02 | 6769 | 'AMD Family 10 core'. |
ae077284 | 6770 | |
9369ed95 DR |
6771 | 2007-05-01 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
6772 | ||
ae077284 EC |
6773 | * config/i386/i386.c (override_options): Accept k8-sse3, opteron-sse3 |
6774 | and athlon64-sse3 as improved versions of k8, opteron and athlon64 | |
9369ed95 DR |
6775 | with SSE3 instruction set support. |
6776 | * doc/invoke.texi: Likewise. | |
ae077284 | 6777 | |
2af6cb38 DR |
6778 | 2007-05-01 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
6779 | ||
6780 | * config/i386/i386.c (override_options): Tuning 32-byte loop | |
ae077284 | 6781 | alignment for amdfam10 architecture. Increasing the max loop |
2af6cb38 | 6782 | alignment to 24 bytes. |
ae077284 | 6783 | |
b38bab94 KH |
6784 | 2007-05-01 Kazu Hirata <kazu@codesourcery.com> |
6785 | ||
6786 | * config/m68k/constraints.md: New. | |
6787 | * config/m68k/m68k.h (REG_CLASS_FROM_LETTER, | |
6788 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, | |
6789 | EXTRA_CONSTRAINT): Remove. | |
6790 | * config/m68k/m68k.md: Include constraints.md. | |
6791 | * expr.c (expand_expr_real_1): Copy DECL_RTL before using it. | |
6792 | ||
e1f28918 ILT |
6793 | 2007-05-01 Ian Lance Taylor <iant@google.com> |
6794 | ||
6795 | PR tree-optimization/31739 | |
6796 | * tree-vrp.c (vrp_val_is_max): New static function. | |
6797 | (vrp_val_is_min): New static function. | |
6798 | (set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than | |
6799 | copying the node. | |
6800 | (set_value_range): Use vrp_val_is_{max,min}. | |
6801 | (extract_range_from_assert): Likewise. | |
6802 | (extract_range_from_binary_expr): Likewise. | |
6803 | (extract_range_from_unary_expr): Likewise. | |
6804 | (dump_value_range, vrp_meet): Likewise. | |
6805 | (vrp_visit_phi_node): Likewise. | |
6806 | * tree.c (build_distinct_type_copy): Revert change of 2007-04-27. | |
6807 | ||
1d87d70d MM |
6808 | 2007-05-01 Mark Mitchell <mark@codesourcery.com> |
6809 | ||
6810 | * config/i386/gmon-sol2.c (size_t): New type. | |
6811 | (intptr_t): Likewise. | |
6812 | (s_textsize): Declare as size_t. | |
6813 | (sbrk): Declare. | |
6814 | (monstartup): Use size_t for sizes. | |
6815 | (_mcount): Save and restore registers. | |
6816 | (internal_mcount): Pass 0 as the first argument to monstartup | |
6817 | in 64-bit mode. | |
6818 | (moncontrol): Convert pointer to appropriately sized integer | |
6819 | before passing to profil. | |
6820 | ||
b26941b4 JM |
6821 | 2007-05-01 Joseph Myers <joseph@codesourcery.com> |
6822 | ||
6823 | * config/rs6000/darwin-ldouble.c (__gcc_qunord): Define if | |
6824 | __NO_FPRS__, not just if _SOFT_DOUBLE. | |
6825 | * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qunord): Likewise. | |
6826 | * config/rs6000/rs6000.c (rs6000_init_libfuncs): Use __gcc_qunord | |
6827 | also for E500 double. | |
6828 | * config/rs6000/rs6000.md (buneq, bunge, bungt, bunle, bunlt, | |
6829 | suneq, sunge, sungt, sunle, sunlt): Disable for (TARGET_HARD_FLOAT | |
6830 | && !TARGET_FPRS). | |
6831 | ||
ae2cf11b RG |
6832 | 2007-05-01 Richard Guenther <rguenther@suse.de> |
6833 | ||
6834 | * tree-ssa-loop-manip.c (ip_normal_pos): Check if last stmt | |
6835 | is NULL. | |
6836 | ||
037ab18d JM |
6837 | 2007-05-01 Joseph Myers <joseph@codesourcery.com> |
6838 | ||
6839 | * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo. | |
6840 | ||
617428e9 JH |
6841 | 2007-05-01 Jan Hubicka <jh@suse.cz> |
6842 | ||
6843 | * tree-vectorize.c (vect_is_simple_use): gimple_min_invariant is | |
6844 | invariant. | |
6845 | ||
fe9821b8 JH |
6846 | 2007-05-01 Jan Hubicka <jh@suse.cz> |
6847 | ||
6848 | * tree.h (maybe_fold_offset_to_component_ref): Remove. | |
6849 | (maybe_fold_offset_to_reference): Declare. | |
6850 | * fold-const.c (fold_unary): Do not fold | |
6851 | (type *)&A into &A->field_of_type_and_offset_0 | |
6852 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): When base type | |
6853 | size is unknown, give up. | |
6854 | (maybe_fold_offset_to_component_ref): Ignore firelds with unknown | |
6855 | offsets. | |
6856 | (maybe_fold_offset_to_reference): New. | |
6857 | (maybe_fold_stmt_indirect): Use it. | |
6858 | (fold_stmt_r): Fold (type *)&A+offset into A->field_if_type_and_offset. | |
6859 | * gimplify.c (gimplify_conversion): Canonicalize conversions to | |
6860 | field references. | |
6861 | (gimplify_expr): Likewise for plus_expr. | |
6862 | ||
8b11009b ZD |
6863 | 2007-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
6864 | ||
6865 | * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Use | |
6866 | bsi_after_labels. Always insert statements before bsi. | |
6867 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto. | |
6868 | * predict.c (apply_return_prediction): Check for empty blocks. | |
6869 | * cfgexpand.c (lab_rtx_for_bb): New variable. | |
6870 | (label_rtx_for_bb): Do not create new tree labels. | |
6871 | (expand_gimple_basic_block): Add labels recorded in lab_rtx_for_bb. | |
6872 | (tree_expand_cfg): Initialize lab_rtx_for_bb. | |
6873 | * tree-cfg.c (build_tree_cfg): Call cleanup_dead_labels after | |
6874 | creating edges. | |
6875 | (label_for_bb): Add field used. | |
6876 | (update_eh_label, main_block_label): Mark the label used. | |
6877 | (cleanup_dead_labels): Remove unused labels. | |
6878 | ||
f5052e29 RG |
6879 | 2007-05-01 Richard Guenther <rguenther@suse.de> |
6880 | ||
6881 | * tree-vrp.c (set_value_range): Do not allocate equiv bitmap | |
6882 | if it is not about to be set. | |
6883 | (get_value_range): Do not pre-allocate equiv bitmap. | |
6884 | (update_value_range): No need to clear equiv field. | |
6885 | (add_equivalence): Change prototype to get bitmap pointer. | |
6886 | Allocate bitmap here if it is not already. | |
6887 | (extract_range_from_assert): Do not allocate bitmap here. | |
6888 | Update callers to add_equivalence. | |
6889 | (extract_range_from_ssa_name): Likewise. | |
6890 | (get_vr_for_comparison): New static helper. | |
6891 | (compare_name_with_value): Handle NULL equiv bitmap by | |
6892 | peeling the first iteration of the comparison loop. | |
6893 | Use get_vr_for_comparison. | |
6894 | (compare_names): Handle NULL equiv bitmaps by using fake | |
6895 | ones. Use get_vr_for_comparison. | |
6896 | ||
e4fd22c6 BM |
6897 | 2007-04-30 Brooks Moses <brooks.moses@codesourcery.com> |
6898 | ||
6899 | * double-int.c (mpz_set_double_int): Moved from | |
6900 | tree-ssa-loop-niter.c. | |
6901 | (mpz_get_double_int): Likewise; also, add option to wrap | |
6902 | out-of-range integers. | |
6903 | * double-int.h: New prototypes for above. | |
6904 | * tree.c (get_static_type_bounds): Moved from | |
6905 | tree-ssa-loop-niter.c; now returns TYPE_MIN_VALUE and | |
6906 | TYPE_MAX_VALUE if they exist.. | |
6907 | * tree.h: New prototype for above. | |
6908 | * tree-ssa-loop-niter.c: Adjust mpz_to_double_int and | |
6909 | get_type_bounds calls. | |
6910 | (mpz_set_double_int): Move to double-int.c. | |
6911 | (get_type_bounds): Move to tree.c, rename to | |
6912 | get_static_type_bounds. | |
6913 | (mpz_to_double_int): Move to double-int.c, rename to | |
6914 | mpz_get_double_int. | |
6915 | ||
0a21c1d2 BW |
6916 | 2007-04-30 Bob Wilson <bob.wilson@acm.org> |
6917 | ||
6918 | * config/xtensa/lib1funcs.asm (__umodsi3, __modsi3): Rearrange so that | |
6919 | DIV0 exception can fall through to a normal return. | |
ae077284 | 6920 | |
143569a8 AO |
6921 | 2007-04-30 Alexandre Oliva <aoliva@redhat.com> |
6922 | ||
6923 | PR middle-end/22156 | |
6924 | Temporarily revert: | |
6925 | 2007-04-06 Andreas Tobler <a.tobler@schweiz.org> | |
d9987fb4 | 6926 | * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. |
143569a8 AO |
6927 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
6928 | * tree-sra.c (try_instantiate_multiple_fields): Needlessly | |
6929 | initialize align to silence bogus warning. | |
6930 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> | |
6931 | * tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove | |
6932 | all_no_warning. | |
6933 | (struct sra_walk_fns): Remove use_all parameter from use. | |
6934 | (sra_hash_tree): Handle BIT_FIELD_REFs. | |
6935 | (sra_elt_hash): Don't hash bitfld blocks. | |
6936 | (sra_elt_eq): Skip them in parent compares as well. Handle | |
6937 | BIT_FIELD_REFs. | |
6938 | (sra_walk_expr): Don't maintain or pass down use_all_p. | |
6939 | (scan_use): Remove use_all parameter. | |
6940 | (scalarize_use): Likewise. Re-expand assignment to | |
6941 | BIT_FIELD_REF of gimple_reg. De-scalarize before input or | |
6942 | output, and re-scalarize after output. Don't mark anything | |
6943 | for no warning. | |
6944 | (scalarize_ldst): Adjust. | |
6945 | (scalarize_walk_gimple_modify_statement): Likewise. | |
6946 | (build_element_name_1): Handle BIT_FIELD_REFs. | |
6947 | (instantiate_element): Don't warn for any element whose parent | |
6948 | is used as a whole. | |
6949 | (instantiate_missing_elements_1): Return the sra_elt. | |
6950 | (canon_type_for_field): New. | |
6951 | (try_instantiate_multiple_fields): New. | |
6952 | (instantiate_missing_elemnts): Use them. | |
6953 | (mark_no_warning): Removed. | |
6954 | (generate_one_element_ref): Handle BIT_FIELD_REFs. | |
6955 | (REPLDUP, sra_build_elt_assignment): New. | |
6956 | (generate_copy_inout): Use them. | |
6957 | (generate_element_copy): Likewise. Handle bitfld differences. | |
6958 | (generate_element_zero): Don't recurse for blocks. Use | |
6959 | sra_build_elt_assignment. | |
6960 | (generate_one_element_int): Take elt instead of var. Use | |
6961 | sra_build_elt_assignment. | |
6962 | (generate_element_init_1): Adjust. | |
6963 | (scalarize_use, scalarize_copy): Use REPLDUP. | |
6964 | (scalarize_ldst): Move assert before dereference. | |
6965 | (dump_sra_elt_name): Handle BIT_FIELD_REFs. | |
6966 | ||
ab44f281 AP |
6967 | 2007-04-30 Andrew Pinski <andrew_pinski@playstation.sony.com> |
6968 | ||
6969 | PR C++/31721 | |
6970 | * tree.c (reconstruct_complex_type): Reconstruct a reference | |
6971 | correctly. | |
6972 | Also use the same mode for the pointer as the old pointer type. | |
6973 | ||
a19632d4 FXC |
6974 | 2007-04-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> |
6975 | ||
6976 | * doc/trouble.texi (Interoperation): Remove note about Ultrix | |
6977 | Fortran compiler. | |
6978 | ||
268886f3 ZD |
6979 | 2007-04-29 Zdenek Dvorak <dvorakz@suse.cz> |
6980 | ||
8d6e09d9 | 6981 | PR rtl-optimization/31676 |
268886f3 ZD |
6982 | * df-scan.c (record_nonlocal_goto_receiver_defs): New function. |
6983 | (df_refs_record): Call it. | |
6984 | ||
26c5953d BS |
6985 | 2007-04-29 Bernd Schmidt <bernd.schmidt@analog.com> |
6986 | ||
6987 | * rtl.def (SS_ABS): New code. | |
6988 | * config/bfin/bfin.c (print_operand): New modifier 'v'. | |
6989 | (enum bfin_builtins): Add BFIN_BUILTIN_SUM_2X16, BFIN_BUILTIN_ABS_1x32, | |
6990 | BFIN_BUILTIN_ROUND_1x32, BFIN_BUILTIN_MULT_1x32x32, | |
6991 | BFIN_BUILTIN_MULT_1x32x32NS, BFIN_BUILTIN_SSASHIFT_1x32. | |
6992 | (bfin_init_builtins): Define them. | |
6993 | (bdesc_1arg, bdesc_2arg): Add some of them here, ... | |
6994 | (bfin_expand_builtin): ... and handle the others here. | |
6995 | * config/bfin/bfin.md (ssabssi2, ssroundsi2, ssashiftsi3, | |
6996 | flag_mul_macv2hi_parts_acconly_andcc0): New patterns. | |
6997 | (ss_absv2hi2): Renamed from absv2hi; use ss_abs code. | |
6998 | (ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3): Shift count | |
6999 | operand is only HImode. | |
7000 | ||
88250695 SB |
7001 | 2007-04-29 Steven Bosscher <steven@gcc.gnu.org> |
7002 | ||
7003 | * regclass.c (scan_one_insn): Remove splitting of | |
7004 | two address insns. | |
7005 | ||
64e7e238 SL |
7006 | 2007-04-28 Sandra Loosemore <sandra@codesourcery.com> |
7007 | Nigel Stephens <nigel@mips.com> | |
7008 | ||
7009 | * config/mips/mips.h (SLOW_BYTE_ACCESS): Turn off for MIPS16. | |
7010 | ||
55e092c4 JH |
7011 | 2007-04-28 Jan Hubicka <jh@suse.cz> |
7012 | ||
7013 | * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Use | |
7014 | insn_locators_alloc instead of insn_locators_initialize; | |
7015 | call reset_block_changes. | |
7016 | * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. | |
7017 | * config/sh/sh.c (sparc_output_mi_thunk): Likewise. | |
7018 | * config/is64/ia64.c (ia64_output_mi_thunk): Likewise. | |
7019 | * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. | |
7020 | * config/score/score.c (th_output_mi_thunk): Likewise. | |
7021 | * config/mips/mips.c (mips_output_mi_thunk): Likewise. | |
7022 | * cfglyaout.c (set_curr_insn_source_location, set_curr_insn_block): | |
7023 | tolerate uninitialized locator info. | |
7024 | ||
7025 | Re-apply: | |
7026 | * function.c (init_function_start): Don't init line number info. | |
7027 | (expand_function_end): Update. | |
7028 | (reset_block_changes, record_block_change, finalize_block_changes, | |
7029 | check_block_change, free_block_changes): Kill. | |
7030 | * function.h (reset_block_changes, record_block_change, | |
7e08fa35 UB |
7031 | finalize_block_changes, check_block_change, free_block_changes): |
7032 | Remove prototypes. | |
55e092c4 JH |
7033 | (struct function): Remove ib_boundaries_block. |
7034 | * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw): | |
7035 | Use curr_insn_locator to initialize locator. | |
7036 | (emit_line_note): Remove. | |
7037 | * cfgexpand.c (expand_gimple_cond_expr): Update. | |
7038 | (construct_exit_block): Likewise. | |
7039 | (tree_expand_cfg): Initialize/finalize locators. | |
7040 | * expr.c (expand_expr_real): Update. | |
7041 | * cfglayout.c (line_locators_locs, line_locators_lines, | |
7042 | file_locators_locs, file_locators_files): Remove. | |
7043 | (set_block_levels): Move to cfgexpand.c. | |
7044 | (insn_locators_initialize): Remove. | |
7045 | (pass_insn_locators_initialize): Remove. | |
7046 | (locations_locators_locs, locations_locators_vals): New static vars. | |
7047 | (curr_location, last_location, curr_block, last_block, curr_rtl_loc): | |
7048 | Likewise. | |
7049 | (insn_locators_alloc, insn_locators_finalize, | |
7050 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
7051 | New functions. | |
7052 | (locator_location): New. | |
7053 | (locator_line, locator_file): Rewrite. | |
7054 | * rtl.h (emit_line_note): Kill. | |
7055 | (insn_locators_alloc, insn_locators_finalize, | |
7056 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
7057 | Declare. | |
7058 | * tree-inline.c (initialize_cfun): Do not initialize | |
7059 | ib_boundaries_block. | |
7060 | * passes.c (pass_insn_locators_initialize): Remove. | |
7061 | ||
3722506a ZD |
7062 | 2007-04-28 Zdenek Dvorak <dvorakz@suse.cz> |
7063 | ||
7064 | * tree-cfg.c (move_block_to_fn): Release bb from dominance | |
7065 | info. Update last_basic_block correctly. | |
7066 | ||
eb996a4a KK |
7067 | 2007-04-27 Kaz Kojima <kkojima@gcc.gnu.org> |
7068 | ||
7069 | PR target/31701 | |
7070 | * config/sh/sh.c (output_stack_adjust): Avoid using the frame | |
7071 | register itself to hold the offset constant. Tell flow the use | |
7072 | of r4 and r5 when they are used. | |
7073 | ||
113ab41c RG |
7074 | 2007-04-27 Richard Guenther <rguenther@suse.de> |
7075 | ||
7076 | * tree-ssa-forwprop.c (forward_propagate_into_cond): Keep track | |
7077 | if we simplified anything. | |
7078 | (tree_ssa_forward_propagate_single_use_vars): Defer overflow | |
7079 | warnings until we did a simplification and the stmt was not | |
7080 | marked as TREE_NO_WARNING. | |
7081 | ||
bfa45564 MS |
7082 | 2007-04-27 Mike Stump <mrs@apple.com> |
7083 | ||
7084 | * config/rs6000/darwin.h (ALWAYS_PUSH_CONSTS_USING_REGS_P): Remove. | |
7085 | ||
093b203b ILT |
7086 | 2007-04-27 Ian Lance Taylor <iant@google.com> |
7087 | ||
7088 | PR middle-end/31710 | |
7089 | * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or | |
7090 | TYPE_MAX_VALUE exist, convert them to the new type. | |
7091 | ||
30251f7a ZD |
7092 | 2007-04-27 Zdenek Dvorak <dvorakz@suse.cz> |
7093 | ||
7094 | * tree-cfgcleanup.c (cleanup_tree_cfg): Verify dominance info | |
7095 | if it claims to be available. | |
7096 | * tree-ssa-dce.c (remove_dead_stmt): Mark cfg as altered when | |
7097 | edge is redirected. | |
7098 | (perform_tree_ssa_dce): Always free postdominators. | |
7099 | ||
48f46219 RH |
7100 | 2007-04-27 Richard Henderson <rth@redhat.com> |
7101 | ||
7102 | * config/alpha/predicates.md (aligned_memory_operand): Mark | |
7103 | as define_special_predicate. | |
7104 | (unaligned_memory_operand, normal_memory_operand): Likewise. | |
7105 | (reg_or_unaligned_mem_operand): Remove. | |
7106 | (any_memory_operand): Match the documentation and check for | |
7107 | non-renumbered pseudos during reload. | |
7108 | * config/alpha/alpha.c (alpha_secondary_reload): Rename from | |
7109 | alpha_secondary_reload_class, update to new interface, make static. | |
7110 | Handle CQImode like HImode. Remove FP subreg check. | |
7111 | (alpha_expand_mov): Use replace_equiv_address. | |
7112 | (alpha_expand_mov_nobwx): Use any_memory_operand. | |
7113 | (TARGET_SECONDARY_RELOAD): New. | |
7114 | * config/alpha/alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Remove. | |
7115 | (SECONDARY_OUTPUT_RELOAD_CLASS): Remove. | |
7116 | * config/alpha/sync.md (I12MODE, I48MODE, modesuffix): Move ... | |
7117 | * config/alpha/alpha.md: ... here. | |
7118 | (RELOAD12, reloadmode): New. | |
7119 | (movcqi): New. | |
7120 | (reload_in<RELOAD12>): Macro-ize from reload_inqi, reload_inhi. | |
7121 | Don't handle the aligned case here. | |
7122 | (reload_out<RELOAD12>): Macro-ize from reload_outqi, reload_outhi. | |
7123 | (reload_in<I12MODE>_aligned): Macro-ize from reload_inqi_help, | |
7124 | reload_inhi_help. Don't expect a scratch register. | |
7125 | (reload_out<I12MODE>_aligned): Macro-ize from reload_outqi_help, | |
7126 | reload_outhi_help. | |
7127 | * config/alpha/alpha-protos.h (alpha_secondary_reload_class): Remove. | |
7128 | ||
64e8a9f0 RG |
7129 | 2007-04-27 Richard Guenther <rguenther@suse.de> |
7130 | ||
7131 | * tree-ssa-forwprop.c (get_prop_dest_stmt): Fix comment typo. | |
7132 | ||
3aef2dbd RG |
7133 | 2007-04-27 Richard Guenther <rguenther@suse.de> |
7134 | ||
7135 | PR tree-optimization/30965 | |
7136 | PR tree-optimization/30978 | |
7137 | * Makefile.in (tree-ssa-forwprop.o): Depend on $(FLAGS_H). | |
d9987fb4 UB |
7138 | * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove. |
7139 | (find_equivalent_equality_comparison): Likewise. | |
7140 | (simplify_cond): Likewise. | |
7141 | (get_prop_source_stmt): New helper. | |
7142 | (get_prop_dest_stmt): Likewise. | |
3aef2dbd RG |
7143 | (can_propagate_from): Likewise. |
7144 | (remove_prop_source_from_use): Likewise. | |
d9987fb4 UB |
7145 | (combine_cond_expr_cond): Likewise. |
7146 | (forward_propagate_comparison): New function. | |
7147 | (forward_propagate_into_cond): Rewrite to use fold for | |
7148 | tree combining. | |
3aef2dbd RG |
7149 | (tree_ssa_forward_propagate_single_use_vars): Call |
7150 | forward_propagate_comparison to propagate comparisons. | |
7151 | ||
891fc5e9 RG |
7152 | 2007-04-27 Richard Guenther <rguenther@suse.de> |
7153 | ||
7154 | PR tree-optimization/31715 | |
7155 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make | |
7156 | sure to do computation on the offset in an appropriate | |
7157 | signed type. | |
7158 | ||
8c74fb06 RS |
7159 | 2007-04-27 Richard Sandiford <richard@codesourcery.com> |
7160 | ||
7161 | * reload.h (elimination_target_reg_p): Declare. | |
7162 | * reload.c (find_reloads): Don't apply the reg_rtx move | |
7163 | optimization if the SET_DEST satisfies elimination_target_reg_p. | |
7164 | * reload1.c (elimination_target_reg_p): New function. | |
7165 | (gen_reload): In the move/add2 fallback, make sure that op0 | |
7166 | does not overlap the destination register. | |
7167 | ||
a9b77cd1 ZD |
7168 | 2007-04-27 Zdenek Dvorak <dvorakz@suse.cz> |
7169 | ||
7170 | * tree-ssa-loop-im.c (determine_invariantness_stmt): Attempt to | |
7171 | transform only GIMPLE_MODIFY_STMTs. | |
7172 | * tree-complex.c (expand_complex_operations_1): Ditto. | |
7173 | (expand_complex_div_wide): Do not create gotos in COND_EXPR branches. | |
7174 | * tree-ssa-loop-manip.c (build_if_stmt): Removed. | |
7175 | (tree_transform_and_unroll_loop): Do not create gotos in COND_EXPR | |
7176 | branches. | |
7177 | * value-prof.c (tree_divmod_fixed_value, tree_mod_pow2, | |
7178 | tree_mod_subtract, tree_ic, tree_stringop_fixed_value): Ditto. | |
7179 | * omp-low.c (expand_parallel_call, expand_omp_for_generic, | |
7180 | expand_omp_for_static_chunk, expand_omp_for_static_nochunk): Ditto. | |
7181 | * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes, | |
7182 | slpeel_add_loop_guard): Ditto. | |
7183 | * tree-mudflap.c (mf_build_check_statement_for): Ditto. | |
7184 | * lambda-code.c (perfect_nestify): Ditto. | |
7185 | * tree-iterator.c (tsi_split_statement_list_before): Fix splitting | |
7186 | before the first statement. | |
7187 | * tree-optimize.c (execute_free_datastructures): Fix comments. | |
7188 | (execute_free_cfg_annotations): Do not call disband_implicit_edges. | |
7189 | * tree-flow.h (disband_implicit_edges): Declaration removed. | |
7190 | * tree-cfg.c (make_cond_expr_edges): Remove gotos from COND_EXPR | |
7191 | branches. | |
7e08fa35 UB |
7192 | (cleanup_dead_labels, tree_redirect_edge_and_branch): Handle |
7193 | COND_EXPRs without gotos. | |
a9b77cd1 ZD |
7194 | (disband_implicit_edges, has_label_p): Removed. |
7195 | (tree_verify_flow_info): Verify that COND_EXPR branches are empty. | |
7196 | (tree_lv_add_condition_to_bb): Do not create gotos in COND_EXPR | |
7197 | branches. | |
7198 | * tree.c (build3_stat): Mark COND_EXPRs used as statements as having | |
7199 | side effects. | |
7200 | * tree-pretty-print.c (dump_implicit_edges): Dump implicit edges | |
7201 | also for COND_EXPRs. | |
7202 | * cfgexpand.c (label_rtx_for_bb): New function. | |
7203 | (expand_gimple_cond_expr): Do not expect gotos in COND_EXPR branches. | |
7204 | Use label_rtx_for_bb to find the labels. | |
7205 | (expand_gimple_basic_block): Remove RETURN_EXPR at the end of the | |
7206 | last block. Detect fallthru edges. | |
7207 | ||
f5c3dc96 ILT |
7208 | 2007-04-26 Ian Lance Taylor <iant@google.com> |
7209 | ||
7210 | PR target/28675 | |
7211 | * reload.c (find_reloads_subreg_address): If the address was valid | |
7212 | in the original mode but not in the new mode, reload the whole | |
7213 | address. | |
7214 | ||
672987e8 ZD |
7215 | 2007-04-27 Zdenek Dvorak <dvorakz@suse.cz> |
7216 | ||
7217 | * tree-cfgcleanup.c (cfgcleanup_altered_bbs): New global variable. | |
7218 | (remove_fallthru_edge): Use remove_edge_and_dominated_blocks. | |
7219 | (cleanup_control_expr_graph): Do not invalidate dominance info. | |
7220 | Record altered blocks. | |
7221 | (cleanup_control_flow, cleanup_forwarder_blocks): Removed. | |
7222 | (cleanup_control_flow_bb, split_bbs_on_noreturn_calls, | |
7223 | cleanup_tree_cfg_bb): New functions. | |
7224 | (remove_forwarder_block): Do not maintain the worklist of blocks. | |
7225 | Record altered blocks. | |
7226 | (cleanup_tree_cfg_1): Iterate over cfgcleanup_altered_bbs, | |
7227 | not over whole cfg. | |
7228 | (cleanup_tree_cfg): Do not iterate cleanup_tree_cfg_1. Only call | |
7229 | delete_unreachable_blocks if dominators are not available. | |
7230 | * tree-inline.c (optimize_inline_calls): Free dominance information | |
7231 | earlier. | |
7232 | * tree-flow.h (remove_edge_and_dominated_blocks, | |
7233 | cfgcleanup_altered_bbs): Altered. | |
7234 | * tree-cfg.c (replace_uses_by, tree_merge_blocks): Record altered | |
7235 | blocks. | |
7236 | (get_all_dominated_blocks, remove_edge_and_dominated_blocks): New | |
7237 | functions. | |
7238 | (tree_purge_dead_eh_edges): Use remove_edge_and_dominated_blocks, | |
7239 | do not invalidate dominators. | |
7240 | ||
dd3b6c09 AS |
7241 | 2007-04-26 Anatoly Sokolov <aesok@post.ru> |
7242 | ||
ae077284 | 7243 | * config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and |
dd3b6c09 AS |
7244 | ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture. |
7245 | * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). | |
7246 | * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). | |
7247 | ||
6107a6ae SE |
7248 | 2007-04-26 Steve Ellcey <sje@cup.hp.com> |
7249 | ||
7250 | * config/ia64/ia64.md (ip_value): Fix itanium_class attribute. | |
7251 | ||
5c7ec4f0 RG |
7252 | 2007-04-26 Richard Guenther <rguenther@suse.de> |
7253 | ||
7254 | PR tree-optimization/31703 | |
7255 | * tree-ssa-loop-im.c (rewrite_bittest): Make sure to use | |
7256 | the right type for the target of the bittest. | |
7257 | ||
02cba8df RS |
7258 | 2007-04-26 Richard Sandiford <richard@codesourcery.com> |
7259 | ||
7260 | * config/i386/vx-common.h (RETURN_IN_MEMORY): Use | |
7261 | ix86_sol10_return_in_memory. | |
7262 | ||
e797f7e1 RS |
7263 | 2007-04-26 Richard Sandiford <richard@codesourcery.com> |
7264 | ||
7265 | * config/i386/i386.c (ix86_sol10_return_in_memory): Remove unused | |
7266 | variables. | |
7267 | ||
e0eb05ea JJ |
7268 | 2007-04-26 Jakub Jelinek <jakub@redhat.com> |
7269 | ||
6f719560 JJ |
7270 | PR c++/31598 |
7271 | * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE. | |
7272 | ||
e0eb05ea JJ |
7273 | PR tree-optimization/30558 |
7274 | * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW | |
7275 | clear this_state.prev_try. | |
7276 | ||
29173496 RS |
7277 | 2007-04-26 Richard Sandiford <richard@codesourcery.com> |
7278 | Mark Mitchell <mark@codesourcery.com> | |
7279 | ||
7280 | * config/i386/i386-protos.h (ix86_sol10_return_in_memory): Declare. | |
7281 | * config/i386/i386.c (ix86_sol10_return_in_memory): New function. | |
7282 | * config/i386/sol2-10.h (RETURN_IN_MEMORY): Use it. | |
7283 | ||
a0f87454 RS |
7284 | 2007-04-26 Richard Sandiford <richard@codesourcery.com> |
7285 | ||
7286 | PR driver/31107 | |
7287 | * doc/invoke.texi (%:print-asm-header): Document. | |
7288 | * gcc.c (asm_options): Use %:print-asm-header() for --target-help | |
7289 | and -ftarget-help. | |
7290 | (static_spec_functions): Add print-asm-header. | |
7291 | (main): Print a banner before the --target-help linker options. | |
7292 | (print_asm_header_spec_function): New function. | |
7293 | ||
6b2eeb54 KK |
7294 | 2007-04-25 Kaz Kojima <kkojima@gcc.gnu.org> |
7295 | ||
7296 | PR target/31403 | |
7297 | * config/sh/sh.md (movsi_ie): Fix length for TARGET_SH2A. | |
7298 | (movsf_ie): Likewise. | |
7299 | ||
b29441ec PC |
7300 | 2007-04-25 Paolo Carlini <pcarlini@suse.de> |
7301 | ||
7302 | * doc/extend.texi ([Type Traits]): Adjust per N2255. | |
7303 | ||
a2c2290b BW |
7304 | 2007-04-25 Bob Wilson <bob.wilson@acm.org> |
7305 | ||
7e08fa35 UB |
7306 | * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Throw an |
7307 | exception for divide-by-zero. | |
a2c2290b BW |
7308 | (__umodsi3, __modsi3): Likewise. |
7309 | ||
253a697e DM |
7310 | 2007-04-25 Dirk Mueller <dmueller@suse.de> |
7311 | ||
7312 | * c-typeck.c (build_compound_expr): Annotate warning() | |
7313 | call with OPT_Wunused_value. | |
aa86a51b DM |
7314 | * tree-ssa.c (warn_uninit): Annotate warning with |
7315 | OPT_Wunintialized. | |
7316 | * c-common.c (handle_sentinel_attribute): Annotate warning | |
7317 | call with OPT_Wattributes. | |
253a697e | 7318 | |
500fc425 TS |
7319 | 2007-04-25 Thiemo Seufer <ths@mips.com> |
7320 | ||
7321 | * config/mips/mips.opt (mdmx, mmt, mno-mdmx): New options. | |
7322 | (mips16): Fix typo. | |
7323 | * config/mips/mips.h (ASM_SPEC): Pass -mmt/-mno-mt and -mdmx/-mno-mdmx | |
7324 | on to the assembler. Improve handling of -mno-mips16. Add handling | |
7325 | of -mno-mips3d, -mno-dsp, -mno-dspr2. | |
7326 | * doc/invoke.texi (MIPS Options): Whitespace cleanup. Fix wrong use | |
7327 | of @itemx. Document -mno-dsp, -mno-dspr2, -mno-paired-single, -mdmx, | |
7328 | -mno-mdmx, -mno-mips3d, -mmt and -mno-mt. | |
7329 | ||
4b07e9f7 DS |
7330 | 2007-04-25 Danny Smith <dannysmith.users.sourceforge.net> |
7331 | ||
7332 | PR target/31680 | |
7333 | * config/i386/winnt.c (i386_pe_file_end): Strip only | |
7334 | USER_LABEL_PREFIX when writing export name. | |
7335 | ||
f5c7290e RS |
7336 | 2007-04-25 Richard Sandiford <richard@codesourcery.com> |
7337 | ||
7338 | * config.gcc (sh-wrs-vxworks): Don't include dbxelf.h. Include | |
7339 | sh/elf.h, vx-common.h and vxworks.h. | |
7340 | * config/sh/sh.h: Include config/vxworks-dummy.h. | |
7341 | (SUBTARGET_OVERRIDE_OPTIONS): Define. | |
7342 | (OVERRIDE_OPTIONS): Use it. | |
7343 | * config/sh/sh.md (GOTaddr2picreg): Add suport for VxWorks RTPs. | |
7344 | (vxworks_picreg): New pattern. | |
7345 | * config/sh/vxworks.h (TARGET_OS_CPP_BUILTINS): Use | |
7346 | VXWORKS_OS_CPP_BUILTINS. | |
7347 | (LIB_SPEC, LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine | |
7348 | to their VXWORKS_* equivalents. | |
7349 | (SUBTARGET_OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define. | |
7350 | (SUBTARGET_LINK_EMUL_SUFFIX, FUNCTION_PROFILER): Define. | |
7351 | * config/sh/lib1funcs.asm (NO_FPSCR_VALUES): Define for VxWorks PIC. | |
7352 | (set_fpscr, ic_invalidate): Add VxWorks PIC sequences. | |
7353 | * config/sh/t-vxworks (MULTILIB_OPTIONS): Add m4a, -mrtp and | |
7354 | -mrtp/-fPIC multilibs. | |
7355 | (MULTILIB_EXCEPTIONS): Generalize globs accordingly. | |
7356 | (MULTILIB_MATCHES, EXTRA_MULTILIB_PARTS): Define. | |
7357 | (MULTILIB_OSDIRNAMES): Delete. | |
7358 | ||
5178d50a AS |
7359 | 2007-04-25 Anatoly Sokolov <aesok@post.ru> |
7360 | ||
7361 | PR target/18989 | |
7362 | * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine. | |
7363 | ||
205a4d09 BM |
7364 | 2007-04-24 Brooks Moses <brooks.moses@codesourcery.com> |
7365 | ||
7366 | * real.c (mpfr_from_real): Handle Inf and NaN, and allow the | |
7367 | rounding mode to be specified by the caller. | |
7368 | (real_to_mpfr) Likewise. | |
7369 | * real.h: Update mpfr_from_real, mpfr_to_real prototypes to | |
7370 | include new arguments. | |
7371 | * builtins.c: Update mpfr_from_real, mpfr_to_real calls. | |
7372 | ||
8cf781f0 ILT |
7373 | 2007-04-24 Ian Lance Taylor <iant@google.com> |
7374 | ||
7375 | PR tree-optimization/31605 | |
7376 | * tree-vrp.c (set_value_range): Check that min and max are not | |
7377 | both overflow infinities. | |
7378 | (set_value_range_to_value): New static function. | |
7379 | (extract_range_from_binary_expr): Call set_value_range_to_value. | |
7380 | (extract_range_from_cond_expr): Likewise. | |
7381 | (extract_range_from_expr): Likewise. | |
7382 | (extract_range_from_unary_expr): Likewise. Don't create a range | |
7383 | which overflows on both sides. | |
7384 | (vrp_meet): Check for a useless range. | |
7385 | (vrp_visit_phi_node): If we see a constant which looks like an | |
7386 | overflow infinity, turn off the TREE_OVERFLOW flag. | |
7387 | ||
1965dd3a ILT |
7388 | 2007-04-24 Ian Lance Taylor <iant@google.com> |
7389 | ||
7390 | * flow.c (elim_reg_cond): Handle a comparison of a subreg. | |
7391 | ||
438d798f SM |
7392 | 2007-04-24 Simon Martin <simartin@users.sourceforge.net> |
7393 | ||
7394 | PR diagnostic/25923 | |
7395 | * tree-pass.h (TDF_DIAGNOSTIC): New dump control to specify that a | |
7396 | diagnostic message is being built. | |
1965dd3a ILT |
7397 | * tree-pretty-print.c (dump_generic_node): Only write the |
7398 | formatted text into BUFFER's stream if we are not building a | |
7399 | diagnostic message. | |
438d798f SM |
7400 | * toplev.c (default_tree_printer): Pass TDF_DIAGNOSTIC to |
7401 | dump_generic_node. | |
7402 | * Makefile.in (toplev.o): Depend on tree-pass.h. | |
7403 | ||
4df28528 ILT |
7404 | 2007-04-24 Ian Lance Taylor <iant@google.com> |
7405 | ||
7406 | PR tree-optimization/31602 | |
7407 | * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for | |
7408 | conditionals in the copied loop header. | |
7409 | * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow | |
7410 | warnings if TREE_NO_WARNING is set. | |
7411 | * doc/invoke.texi (Warning Options): Clarify that | |
7412 | -Wstrict-overflow does not warn about loops. | |
7413 | ||
2d83f070 JJ |
7414 | 2007-04-24 Janis Johnson <janis187@us.ibm.com> |
7415 | ||
7416 | * config/rs6000/rs6000.c (function_arg_advance): For 32-bit ELF ABI, | |
7417 | expand on the comment about _Decimal128 arguments and check the | |
7418 | integer result of the modulus operation; for 64-bit ELF ABI, ensure | |
7419 | that _Decimal128 argument uses even/odd register pair. | |
7420 | (function_arg): Ditto. | |
7421 | ||
b883ab57 HMC |
7422 | 2007-04-24 Hui-May Chang <hm.chang@apple.com> |
7423 | ||
7424 | * reload1.c (merge_assigned_reloads) : Do not merge a RELOAD_OTHER | |
7425 | instruction with a RELOAD_FOR_OPERAND_ADDRESS instruction. | |
7426 | ||
81737468 OG |
7427 | 2007-04-24 Richard Guenther <rguenther@suse.de> |
7428 | Olga Golovanevsky <olga@il.ibm.com> | |
7429 | ||
ae077284 EC |
7430 | * fold-const.c (multiple_of_p): Check for bottom |
7431 | to be zero. | |
81737468 | 7432 | |
5fb54b91 RH |
7433 | 2007-04-24 Richard Henderson <rth@redhat.com> |
7434 | ||
ae077284 | 7435 | * libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from |
5fb54b91 RH |
7436 | IS_IBM_EXTENDED. Also define in terms of WIDEST_HARDWARE_FP_SIZE. |
7437 | * libgcc2.c (__floatdisf): Avoid double-word arithmetic when | |
7438 | looking for non-zero bits shifted out. Avoid a recursive call | |
7439 | when constructing the scalar. | |
7440 | (__floatundisf): Likewise. | |
7441 | ||
cd0a10dd NF |
7442 | 2007-04-24 Nathan Froyd <froydnj@codesourcery.com> |
7443 | ||
7444 | * dwarf2out.c (field_byte_offset): Move the existing logic | |
7445 | under the control of PCC_BITFIELD_TYPE_MATTERS and just use | |
7446 | the bit offset of the field if !PCC_BITFIELD_TYPE_MATTERS. | |
7447 | ||
c9f59991 AK |
7448 | 2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com> |
7449 | ||
7450 | PR target/31641 | |
7e08fa35 UB |
7451 | * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant |
7452 | length argument of 0 for memset. | |
c9f59991 AK |
7453 | (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use |
7454 | unsigned shift instead of the signed variant. | |
7455 | ||
142cd70f AK |
7456 | 2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com> |
7457 | ||
7458 | * config/s390/s390.md ("*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs_ibm", | |
7459 | "fix_trunc<BFP:mode><GPR:mode>2_ieee", "fix_truncdfsi2_ibm", | |
7460 | "floatsidf2_ibm", "floatsisf2", "truncdfsf2_ieee", "truncdfsf2_ibm", | |
7461 | "*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", | |
7462 | "*trunctfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm", | |
7463 | "*extenddftf2_ieee", "*extenddftf2_ibm", "*extendsftf2_ieee", | |
7464 | "*extendsftf2_ibm", "*add<mode>3", "*add<mode>3_ibm", "*sub<mode>3_ibm", | |
7465 | "*mul<mode>3", "*mul<mode>3_ibm", "*div<mode>3", "*div<mode>3_ibm", | |
7466 | "*neg<mode>2_ibm", "*abs<mode>2_ibm"): Insn definitions removed. | |
7467 | ("fix_trunc<BFP:mode><GPR:mode>2_bfp", "floatsi<mode>2", | |
7468 | "truncdfsf2", "trunctf<mode>2", "add<mode>3", "sub<mode>3", | |
7469 | "mul<mode>3", "div<mode>3"): Insn definitions added. | |
7470 | ("fixuns_trunc<BFP:mode><GPR:mode>2", "fix_trunc<mode>di2", | |
7471 | "fix_trunc<mode>si2"): gen_fix_trunc<BFP:mode><GPR:mode>2_ieee renamed | |
7472 | to gen_fix_trunc<BFP:mode><GPR:mode>2_bfp. | |
7473 | ("fix_truncdfsi2", "floatsitf2", "truncdfsf2", "trunctfdf2", | |
7474 | "trunctfsf2", "extendsfdf2", "extenddftf2", "extendsftf2", "add<mode>3", | |
7475 | "sub<mode>3", "mul<mode>3", "div<mode>3"): Expander removed. | |
7476 | ("fix_trunc<mode>si2", "extend<DSF:mode><BFP:mode>2"): Expander added. | |
7477 | * config/s390/s390.h (TARGET_IBM_FLOAT, TARGET_IEEE_FLOAT, | |
7478 | TARGET_FLOAT_FORMAT): Macro definitions removed. | |
7479 | (FP_REGNO_P): No special case for !TARGET_IEEE_FLOAT anymore. | |
7480 | * config/s390/s390.c (struct processor_costs, z900_cost, z990_cost, | |
7481 | z9_109_cost): Remove fields for hexfloat instructions: dxr, ddr and der. | |
7482 | (s390_rtx_costs): Remove !TARGET_IEEE_FLOAT special branches. | |
7483 | (s390_gen_rtx_const_DI): Function removed. | |
7484 | * config/s390/s390-protos.h (s390_gen_rtx_const_DI): Prototype removed. | |
7485 | ||
aeed4133 RS |
7486 | 2007-04-24 Richard Sandiford <richard@codesourcery.com> |
7487 | ||
7488 | * optabs.c (set_conv_libfunc): Prefer libgcc2's __ffsMM2 functions | |
7489 | over an external ffs function. | |
7490 | ||
7f9844ca RS |
7491 | 2007-04-24 Chao-ying Fu <fu@mips.com> |
7492 | Richard Sandiford <richard@nildram.co.uk> | |
7493 | ||
7494 | * doc/md.texi (madd@var{m}@var{n}4, umadd@var{m}@var{n}4): Document. | |
7495 | * optabs.h (OTI_smadd_widen, OTI_umadd_widen): New optab_indexes. | |
7496 | (smadd_widen_optab, umadd_widen_optab): Define. | |
7497 | * optabs.c (init_optabs): Initialize smadd_widen_optab and | |
7498 | umadd_widen_optab. | |
7499 | * genopinit.c (optabs): Fill in smadd_widen_optab and | |
7500 | umadd_widen_optab. | |
7501 | * expr.c (expand_expr_real_1): Try to use smadd_widen_optab | |
7502 | and umadd_widen_optab to implement multiply-add sequences. | |
7503 | * config/mips/mips.md (*<su>mul_acc_di): Rename to... | |
7504 | (<u>maddsidi4): ...this. Extend condition to include | |
7505 | GENERATE_MADD_MSUB and TARGET_DSPR2. Change the constraint | |
7506 | of operand 0 to "ka" and use the three-operand form of madd<u> | |
7507 | for TARGET_DSPR2. | |
7508 | * config/mips/mips-dspr2.md (mips_madd, mips_maddu): Convert | |
7509 | to define_expands. | |
7510 | * config/mips/constraints.md (ka): New register constraint. | |
7511 | ||
ec9ac2bc JH |
7512 | 2007-04-24 Jan Hubicka <j@suse.cz> |
7513 | ||
7514 | Revert: | |
7515 | ||
7516 | 2007-04-23 Jan Hubicka <jh@suse.cz> | |
7517 | * function.c (init_function_start): Don't init line number info. | |
7518 | (expand_function_end): Update. | |
7519 | (reset_block_changes, record_block_change, finalize_block_changes, | |
7520 | check_block_change, free_block_changes): Kill. | |
7521 | * function.h (reset_block_changes, record_block_change, | |
7e08fa35 UB |
7522 | finalize_block_changes, check_block_change, free_block_changes): |
7523 | Remove prototypes. | |
ec9ac2bc JH |
7524 | (struct function): Remove ib_boundaries_block. |
7525 | * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw): | |
7526 | Use curr_insn_locator to initialize locator. | |
7527 | (emit_line_note): Remove. | |
7528 | * cfgexpand.c (expand_gimple_cond_expr): Update. | |
7529 | (construct_exit_block): Likewise. | |
7530 | (tree_expand_cfg): Initialize/finalize locators. | |
7531 | * expr.c (expand_expr_real): Update. | |
7532 | * cfglayout.c (line_locators_locs, line_locators_lines, | |
7533 | file_locators_locs, file_locators_files): Remove. | |
7534 | (set_block_levels): Move to cfgexpand.c. | |
7535 | (insn_locators_initialize): Remove. | |
7536 | (pass_insn_locators_initialize): Remove. | |
7537 | (locations_locators_locs, locations_locators_vals): New static vars. | |
7538 | (curr_location, last_location, curr_block, last_block, curr_rtl_loc): | |
7539 | Likewise. | |
7540 | (insn_locators_alloc, insn_locators_finalize, | |
7541 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
7542 | New functions. | |
7543 | (locator_location): New. | |
7544 | (locator_line, locator_file): Rewrite. | |
7545 | * rtl.h (emit_line_note): Kill. | |
7546 | (insn_locators_alloc, insn_locators_finalize, | |
7547 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
7548 | Declare. | |
7549 | * tree-inline.c (initialize_cfun): Do not initialize | |
7550 | ib_boundaries_block. | |
7551 | * passes.c (pass_insn_locators_initialize): Remove. | |
7552 | ||
edc5f63b DF |
7553 | 2007-04-24 Daniel Franke <franke.daniel@gmail.com> |
7554 | ||
7555 | * doc/invoke.texi: Removed leading '-' from option index entries. | |
7556 | ||
7506e1cb ZD |
7557 | 2007-04-23 Zdenek Dvorak <dvorakz@suse.cz> |
7558 | ||
7559 | * tree-phinodes.c (reserve_phi_args_for_new_edge, remove_phi_node): | |
7560 | Use phi_nodes_ptr. | |
7561 | (create_phi_node): Use set_phi_nodes. | |
7562 | * omp-low.c (expand_omp_parallel): Use bb_stmt_list. | |
7563 | * tree-if-conv.c (process_phi_nodes): Use set_phi_nodes. | |
7564 | (combine_blocks): Use bb_stmt_list and set_bb_stmt_list. | |
7565 | * tree-flow-inline.h (phi_nodes, set_phi_nodes, | |
7566 | (bsi_start, bsi_last): Use bb_stmt_list. | |
7567 | (phi_nodes_ptr, bb_stmt_list, set_bb_stmt_list): New functions. | |
7568 | * cfgexpand.c (expand_gimple_basic_block): Use bb_stmt_list. | |
7569 | Traverse the statements using tsi iterator. | |
7570 | * basic-block.h (struct basic_block_def): Fields stmt_list | |
7571 | and phi_nodes moved to ... | |
7572 | (struct tree_bb_info): ... new structure. | |
7573 | * tree-cfg.c (create_bb): Allocate il.tree. Use set_bb_stmt_list. | |
7574 | (tree_merge_blocks): Use bb_stmt_list and set_bb_stmt_list. | |
7575 | (remove_bb): Handle blocks with NULL stmt list. Clear il.tree field. | |
7576 | (tree_verify_flow_info): Verify that il.tree is not set for | |
7577 | entry and exit block. | |
7578 | (tree_split_block): Use set_bb_stmt_list. | |
7579 | ||
933e4fe7 MS |
7580 | 2007-04-23 Mike Stump <mrs@apple.com> |
7581 | ||
7582 | * config/i386/i386.c (ix86_tune_features | |
7583 | [X86_TUNE_DEEP_BRANCH_PREDICTION]: Prefer call over thunks on | |
7584 | nocona and core2. | |
7585 | ||
10e4d956 L |
7586 | 2007-04-23 H.J. Lu <hongjiu.lu@intel.com> |
7587 | ||
7588 | * config/i386/i386.md (prefix_extra): New attribute. | |
7589 | (length): Add prefix_extra. | |
7590 | ||
7591 | * onfig/i386/sse.md (sse2_movdqu): Set prefix_data16. | |
7592 | (sse2_movntv2di): Likewise. | |
7593 | (sse2_cvtps2dq): Likewise. | |
7594 | (sse2_cvtpd2pi): Likewise. | |
7595 | (sse2_cvttpd2pi): Likewise. | |
7596 | (*sse2_cvtpd2ps): Likewise. | |
7597 | (*add<mode>3): Likewise. | |
7598 | (sse2_ssadd<mode>3): Likewise. | |
7599 | (sse2_usadd<mode>3): Likewise. | |
7600 | (*sub<mode>3): Likewise. | |
7601 | (sse2_sssub<mode>3): Likewise. | |
7602 | (sse2_ussub<mode>3): Likewise. | |
7603 | (*mulv8hi3): Likewise. | |
7604 | (*smulv8hi3_highpart): Likewise. | |
7605 | (*umulv8hi3_highpart): Likewise. | |
7606 | (sse2_umulv2siv2di3): Likewise. | |
7607 | (sse2_pmaddwd): Likewise. | |
7608 | (ashr<mode>3): Likewise. | |
7609 | (lshr<mode>3): Likewise. | |
7610 | (ashl<mode>3): Likewise. | |
7611 | (sse2_ashlti3): Likewise. | |
7612 | (sse2_lshrti3): Likewise. | |
7613 | (*umaxv16qi3): Likewise. | |
7614 | (*smaxv8hi3): Likewise. | |
7615 | (*uminv16qi3): Likewise. | |
7616 | (*sminv8hi3): Likewise. | |
7617 | (sse2_eq<mode>3): Likewise. | |
7618 | (sse2_gt<mode>3): Likewise. | |
7619 | (*and<mode>3): Likewise. | |
7620 | (sse2_nand<mode>3): Likewise. | |
7621 | (*ior<mode>3): Likewise. | |
7622 | (*xor<mode>3): Likewise. | |
7623 | (sse2_packsswb): Likewise. | |
7624 | (sse2_packssdw): Likewise. | |
7625 | (sse2_packuswb): Likewise. | |
7626 | (sse2_punpckhbw): Likewise. | |
7627 | (sse2_punpcklbw): Likewise. | |
7628 | (sse2_punpckhwd): Likewise. | |
7629 | (sse2_punpcklwd): Likewise. | |
7630 | (sse2_punpckhdq): Likewise. | |
7631 | (sse2_punpckldq): Likewise. | |
7632 | (sse2_punpckhqdq): Likewise. | |
7633 | (sse2_punpcklqdq): Likewise. | |
7634 | (*sse2_pinsrw): Likewise. | |
7635 | (*sse2_pextrw): Likewise. | |
7636 | (sse2_pshufd_1): Likewise. | |
7637 | (sse2_uavgv16qi3): Likewise. | |
7638 | (sse2_uavgv8hi3): Likewise. | |
7639 | (sse2_psadbw): Likewise. | |
7640 | (sse2_pmovmskb): Likewise. | |
7641 | (*sse2_maskmovdqu): Likewise. | |
7642 | (*sse2_maskmovdqu_rex64): Likewise. | |
7643 | (sse4a_extrqi): Likewise. | |
7644 | (sse4a_extrq): Likewise. | |
7645 | (sse3_lddqu): Set prefix_rep. | |
7646 | (sse3_addsubv4sf3): Likewise. | |
7647 | (sse3_haddv4sf3): Likewise. | |
7648 | (sse3_hsubv4sf3): Likewise. | |
7649 | (sse_cvtss2si): Likewise. | |
7650 | (sse_cvtss2si_2): Likewise. | |
7651 | (sse_cvtss2siq): Likewise. | |
7652 | (sse_cvtss2siq_2): Likewise. | |
7653 | (sse_cvttss2si): Likewise. | |
7654 | (sse_cvttss2siq): Likewise. | |
7655 | (sse2_cvttps2dq): Likewise. | |
7656 | (sse3_movshdup): Likewise. | |
7657 | (sse3_movsldup): Likewise. | |
7658 | (sse2_cvtsd2si): Likewise. | |
7659 | (sse2_cvtsd2si_2): Likewise. | |
7660 | (sse2_cvtsd2siq): Likewise. | |
7661 | (sse2_cvtsd2siq_2): Likewise. | |
7662 | (sse2_cvttsd2si): Likewise. | |
7663 | (sse2_cvttsd2siq): Likewise. | |
7664 | (*sse2_cvtpd2dq): Likewise. | |
7665 | (*sse2_cvttpd2dq): Likewise. | |
7666 | (sse2_pshuflw_1): Likewise. | |
7667 | (sse2_pshufhw_1): Likewise. | |
7668 | (sse4a_insertqi): Likewise. | |
7669 | (sse4a_insertq): Likewise. | |
7670 | (ssse3_phaddwv8hi3): Set prefix_data16 and prefix_extra. | |
7671 | (ssse3_phadddv4si3): Likewise. | |
7672 | (ssse3_phaddswv8hi3): Likewise. | |
7673 | (ssse3_phsubwv8hi3): Likewise. | |
7674 | (ssse3_phsubdv4si3): Likewise. | |
7675 | (ssse3_phsubswv8hi3): Likewise. | |
7676 | (ssse3_pmaddubswv8hi3): Likewise. | |
7677 | (ssse3_pmulhrswv8hi3): Likewise. | |
7678 | (ssse3_pshufbv16qi3): Likewise. | |
7679 | (ssse3_psign<mode>3): Likewise. | |
7680 | (ssse3_palignrti): Likewise. | |
7681 | (abs<mode>2): Likewise. | |
7682 | (ssse3_phaddwv4hi3): Set prefix_extra. | |
7683 | (ssse3_phadddv2si3): Likewise. | |
7684 | (ssse3_phaddswv4hi3): Likewise. | |
7685 | (ssse3_phsubwv4hi3): Likewise. | |
7686 | (ssse3_phsubdv2si3): Likewise. | |
7687 | (ssse3_phsubswv4hi3): Likewise. | |
7688 | (ssse3_pmaddubswv4hi3): Likewise. | |
7689 | (ssse3_pmulhrswv4hi3): Likewise. | |
7690 | (ssse3_pshufbv8qi3): Likewise. | |
7691 | (ssse3_psign<mode>3): Likewise. | |
7692 | (ssse3_palignrdi): Likewise. | |
7693 | (abs<mode>2): Likewise. | |
7694 | (sse2_cvtdq2ps): Set mode to V4SF instead of V2DF. | |
7695 | (*vec_dupv2df): Set mode to V2DF instead of V4SF. | |
7696 | (sse2_pmovmskb): Set mode to SI instead of V2DF. | |
7697 | ||
f4b4a3e2 NC |
7698 | 2007-04-23 Nick Clifton <nickc@redhat.com> |
7699 | ||
7700 | * params.def: Fix formatting of emacs local variables. | |
7701 | ||
9a072eb6 L |
7702 | 2007-04-23 H.J. Lu <hongjiu.lu@intel.com> |
7703 | ||
7704 | * config/i386/sse.md (sse2_stored): Don't split to inter-unit | |
7705 | move if inter-unit move isn't allowed. | |
7706 | Don't split moving the first element of V2DI to DI to inter-unit | |
7707 | move if inter-unit move isn't allowed. | |
7708 | ||
3b5ee6a4 RG |
7709 | 2007-04-23 Richard Guenther <rguenther@suse.de> |
7710 | ||
7711 | * tree-ssa-sink.c (execute_sink_code): Calculate CDI_DOMINATORS | |
7712 | and CDI_POST_DOMINATORS separately. | |
7713 | ||
6d16b6e7 NC |
7714 | 2007-04-23 Nick Clifton <nickc@redhat.com> |
7715 | ||
7716 | * c.opt (Wformat-contains-nul): Add warning attribute. | |
7717 | ||
c90533c6 JH |
7718 | 2007-04-23 Jan Hubicka <jh@suse.cz> |
7719 | ||
7720 | * function.c (init_function_start): Don't init line number info. | |
7721 | (expand_function_end): Update. | |
7722 | (reset_block_changes, record_block_change, finalize_block_changes, | |
7723 | check_block_change, free_block_changes): Kill. | |
7724 | * function.h (reset_block_changes, record_block_change, | |
7e08fa35 UB |
7725 | finalize_block_changes, check_block_change, free_block_changes): |
7726 | Remove prototypes. | |
c90533c6 JH |
7727 | (struct function): Remove ib_boundaries_block. |
7728 | * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw): | |
7729 | Use curr_insn_locator to initialize locator. | |
7730 | (emit_line_note): Remove. | |
7731 | * cfgexpand.c (expand_gimple_cond_expr): Update. | |
7732 | (construct_exit_block): Likewise. | |
7733 | (tree_expand_cfg): Initialize/finalize locators. | |
7734 | * expr.c (expand_expr_real): Update. | |
7735 | * cfglayout.c (line_locators_locs, line_locators_lines, | |
7736 | file_locators_locs, file_locators_files): Remove. | |
7737 | (set_block_levels): Move to cfgexpand.c. | |
7738 | (insn_locators_initialize): Remove. | |
7739 | (pass_insn_locators_initialize): Remove. | |
7740 | (locations_locators_locs, locations_locators_vals): New static vars. | |
7741 | (curr_location, last_location, curr_block, last_block, curr_rtl_loc): | |
7742 | Likewise. | |
7743 | (insn_locators_alloc, insn_locators_finalize, | |
7744 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
7745 | New functions. | |
7746 | (locator_location): New. | |
7747 | (locator_line, locator_file): Rewrite. | |
7748 | * rtl.h (emit_line_note): Kill. | |
7749 | (insn_locators_alloc, insn_locators_finalize, | |
7750 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
7751 | Declare. | |
7752 | * tree-inline.c (initialize_cfun): Do not initialize | |
7753 | ib_boundaries_block. | |
7754 | * passes.c (pass_insn_locators_initialize): Remove. | |
7755 | ||
1f2ad84c AP |
7756 | 2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com> |
7757 | ||
7758 | PR middle-end/31448 | |
7759 | * expr.c (reduce_to_bit_field_precision): Handle | |
7760 | CONST_INT rtx's. | |
7761 | ||
8115817b UB |
7762 | 2007-04-22 Uros Bizjak <ubizjak@gmail.com> |
7763 | ||
7764 | PR tree-optimization/24659 | |
7765 | * optabs.h (enum optab_index) [OTI_vec_unpacks_hi, | |
7766 | OTI_vec_unpacks_lo]: Update comment to mention floating point operands. | |
7767 | (vec_pack_trunc_optab): Rename from vec_pack_mod_optab. | |
7768 | * genopinit.c (optabs): Rename vec_pack_mod_optab | |
7769 | to vec_pack_trunc_optab. | |
7770 | * tree-vect-transform.c (vectorizable_type_demotion): Do not fail | |
7771 | early for scalar floating point operands for NOP_EXPR. | |
7772 | (vectorizable_type_promotion): Ditto. | |
7773 | * optabs.c (optab_for_tree_code) [VEC_PACK_TRUNC_EXPR]: Return | |
7774 | vec_pack_trunc_optab. | |
7775 | (expand_binop): Rename vec_float_trunc_optab to vec_pack_mod_optab. | |
7776 | ||
7777 | * tree.def (VEC_PACK_TRUNC_EXPR): Rename from VEC_PACK_MOD_EXPR. | |
7778 | * tree-pretty-print.c (dump_generic_node) [VEC_PACK_TRUNC_EXPR]: | |
7779 | Rename from VEC_PACK_MOD_EXPR. | |
7780 | (op_prio) [VEC_PACK_TRUNC_EXPR]: Ditto. | |
7781 | * expr.c (expand_expr_real_1): Ditto. | |
7782 | * tree-inline.c (estimate_num_insns_1): Ditto. | |
7783 | * tree-vect-generic.c (expand_vector_operations_1): Ditto. | |
7784 | ||
7785 | * config/i386/sse.md (vec_unpacks_hi_v4sf): New expander. | |
7786 | (vec_unpacks_lo_v4sf): Ditto. | |
7787 | (vec_pack_trunc_v2df): Ditto. | |
7788 | (vec_pack_trunc_v8hi): Rename from vec_pack_mod_v8hi. | |
7789 | (vec_pack_trunc_v4si): Rename from vec_pack_mod_v4si. | |
7790 | (vec_pack_trunc_v2di): Rename from vec_pack_mod_v2di. | |
7791 | ||
7792 | * config/rs6000/altivec.md (vec_pack_trunc_v8hi): Rename from | |
7793 | vec_pack_mod_v8hi. | |
7794 | (vec_pack_trunc_v4si): Rename from vec_pack_mod_v4si. | |
7795 | ||
7796 | * doc/c-tree.texi (Expression trees) [VEC_PACK_TRUNC_EXPR]: | |
7797 | Rename from VEC_PACK_MOD_EXPR. This expression also represent | |
7798 | packing of floating point operands. | |
7799 | [VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR]: These expression also | |
7800 | represent unpacking of floating point operands. | |
7801 | * doc/md.texi (Standard Names) [vec_pack_trunc]: Update documentation. | |
7802 | [vec_unpacks_hi]: Ditto. | |
7803 | [vec_unpacks_lo]: Ditto. | |
7804 | ||
395a40e0 JH |
7805 | 2007-04-22 Jan Hubicka <jh@suse.cz> |
7806 | ||
7807 | * final.c (rest_of_handle_final): Call | |
7808 | targetm.asm_out.constructor/targetm.asm_out.destructor | |
7809 | * cgraphunit.c (cgraph_build_static_cdtor): Don't do it here; set | |
7810 | proper priority via decl_*_priority_insert. | |
7811 | * c-common.c (c_expand_body): Likewise. | |
7812 | ||
e0a60731 RG |
7813 | 2007-04-22 Richard Guenther <rguenther@suse.de> |
7814 | ||
7815 | PR tree-optimization/29789 | |
7816 | * tree-ssa-loop-im.c (stmt_cost): Adjust cost of shifts. | |
7817 | (rewrite_reciprocal): New helper split out from | |
7818 | determine_invariantness_stmt. | |
7819 | (rewrite_bittest): Likewise. | |
7820 | (determine_invariantness_stmt): Rewrite (A >> B) & 1 to | |
7821 | A & (1 << B) if (1 << B) is loop invariant but (A >> B) | |
7822 | is not. | |
7823 | ||
76fd2caa RE |
7824 | 2007-04-22 Revital Eres <eres@il.ibm.com> |
7825 | ||
b7716a8e ZD |
7826 | * loop-unroll.c (var_to_expand): New field to support also |
7827 | insns of the form x = something + x. | |
7828 | (analyze_insn_to_expand_var): Use it. | |
7829 | (expand_var_during_unrolling): Likewise. | |
76fd2caa | 7830 | |
f06b0a10 ZD |
7831 | 2007-04-21 Zdenek Dvorak <dvorakz@suse.cz> |
7832 | ||
7833 | * predict.c: Include pointer-set.h. | |
7834 | (bb_predictions): New variable. | |
7835 | (tree_predicted_by_p, tree_predict_edge, | |
7836 | remove_predictions_associated_with_edge): Use bb_predictions map | |
7837 | instead of bb->predictions. | |
7838 | (clear_bb_predictions, assert_is_empty): New functions. | |
7839 | (combine_predictions_for_bb): Use bb_predictions map. Call | |
7840 | clear_bb_predictions. | |
7841 | (tree_estimate_probability): Create and free bb_predictions map. | |
7842 | * Makefile.in (predict.o): Add pointer-set.h dependency. | |
7843 | * basic-block.h (struct basic_block_def): Remove predictions | |
7844 | field. | |
7845 | * cfgrtl.c (rtl_verify_flow_info_1): Do not check bb->predictions. | |
7846 | ||
e919dfe2 KK |
7847 | 2007-04-21 Kaz Kojima <kkojima@gcc.gnu.org> |
7848 | ||
7849 | PR target/31480 | |
7850 | * config/sh/sh.md (length): Check if prev_nonnote_insn (insn) | |
7851 | is null. | |
7852 | ||
7be97ac7 AP |
7853 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
7854 | ||
7855 | * timevar.c (timevar_print): Change reference of --disable-checking to | |
7856 | --enable-checking=release. Also warn if assert checking is disabled. | |
7857 | ||
c8a0a219 AP |
7858 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
7859 | ||
7860 | PR C/30265 | |
7861 | * c-gimplifier.c (gimplify_compound_literal_expr): Mark the | |
7862 | decl as addressable if the compound literal was marked as | |
7863 | addressable. | |
7864 | Mark the decl as a gimple register if it is a complex or | |
7865 | vector decl and does not live in memory. | |
7866 | ||
3d95caa4 AP |
7867 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
7868 | ||
7869 | * tree.h (GIMPLE_TUPLE_P): Also true for PHI_NODEs. | |
7870 | (GENERIC_NEXT): New function macro. | |
7871 | (PHI_CHAIN): Use phi_node's new chain variable. | |
7872 | (tree_phi_node): Change tree_common to tree_base | |
7873 | and add the chain field. | |
7874 | * tree-phinodes.c (make_phi_node): Don't set | |
7875 | TREE_TYPE on the new node. | |
7876 | * c-decl.c (lang_tree_node): Use GENERIC_NEXT | |
7877 | instead of checking GIMPLE_TUPLE_P in chain_next. | |
7878 | * tree-vect-transform.c | |
7879 | (get_initial_def_for_induction): Look at | |
7880 | PHI_RESULT_TREE for the type of the phi node. | |
7881 | (update_vuses_to_preheader): Use PHI_CHAIN | |
7882 | instead of TREE_CHAIN on the phi node. | |
7883 | * tree-ssa-structalias.c (compute_points_to_sets): | |
7884 | Likewise. | |
7885 | (ipa_pta_execute): Likewise. | |
7886 | ||
84ece8ef RG |
7887 | 2007-04-21 Richard Guenther <rguenther@suse.de> |
7888 | ||
7889 | PR middle-end/31136 | |
7890 | * fold-const.c (fold_unary): Call fold_convert_const on the | |
7891 | original tree. | |
7892 | ||
1071bcbd AO |
7893 | 2007-04-21 Alexandre Oliva <aoliva@redhat.com> |
7894 | ||
7895 | * gcse.c (store_killed_in_insn): Handle PARALLELs. | |
7896 | (store_killed_in_pat): New. | |
7897 | ||
c7a2139b RH |
7898 | 2007-04-20 Richard Henderson <rth@redhat.com> |
7899 | ||
7900 | PR target/31628 | |
7901 | * config/i386/i386.c (type_has_variadic_args_p): Look for any | |
7902 | TREE_LIST with a void_type_node value, not void_list_node exactly. | |
7903 | ||
fda0adca DG |
7904 | 2007-04-21 Douglas Gregor <doug.gregor@gmail.com> |
7905 | ||
7906 | * doc/standards.texi: Re-arrange into language-specific | |
7907 | subsections. Add a C++ section, documenting which standards we | |
7908 | support. | |
7909 | ||
285463b5 ZD |
7910 | 2007-04-21 Zdenek Dvorak <dvorakz@suse.cz> |
7911 | ||
7912 | * tree-ssa-structalias.c (delete_points_to_sets): Free graph->complex. | |
7913 | * tree-ssa-operands.c (finalize_ssa_vuse_ops): Free new_ops. | |
7914 | ||
860532df DJ |
7915 | 2007-04-20 Daniel Jacobowitz <dan@codesourcery.com> |
7916 | ||
7917 | * config/rs6000/sysv4.h (STARTFILE_DEFAULT_SPEC): Include | |
7918 | ecrti.o and crtbegin.o. | |
7919 | (LIB_DEFAULT_SPEC): Include -lc. | |
7920 | (ENDFILE_DEFAULT_SPEC): Include crtend.o and ecrtn.o. | |
7921 | ||
60e93525 RH |
7922 | 2007-04-20 Richard Henderson <rth@redhat.com> |
7923 | ||
7924 | PR target/28623 | |
7925 | * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset | |
7926 | argument; update all callers. | |
7927 | (get_unaligned_offset): New. | |
7928 | * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use | |
7929 | get_unaligned_address, just pass on the address directly. | |
7930 | (unaligned_extendqidi): Use gen_lowpart instead of open-coding | |
7931 | the subreg in the helper patterns. | |
7932 | (unaligned_extendqidi_le): Use get_unaligned_offset. | |
7933 | (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise. | |
7934 | (unaligned_extendhidi_be): Likewise. | |
7935 | (unaligned_extendhidi): Tidy. | |
7936 | * config/alpha/alpha-protos.h: Update. | |
7937 | ||
f326fd7a RH |
7938 | 2007-04-20 Richard Henderson <rth@redhat.com> |
7939 | ||
7940 | * config/alpha/alpha.h (CPP_SPEC, CPP_SUBTARGET_SPEC): Remove. | |
7941 | (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove. | |
7942 | * config/alpha/linux.h (CPP_SPEC): Undef before redefine. | |
7943 | * config/alpha/linux-elf.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
7944 | * config/alpha/freebsd.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
7945 | (CPP_SPEC): Don't include %(cpp_subtarget). | |
7946 | * config/alpha/netbsd.h (CPP_SPEC): Rename CPP_SUBTARGET_SPEC. | |
7947 | (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
7948 | * config/alpha/osf.h (CPP_SPEC, EXTRA_SPECS): Similarly. | |
7949 | ||
86122f72 JJ |
7950 | 2007-04-20 Jakub Jelinek <jakub@redhat.com> |
7951 | ||
a5b9afd1 JJ |
7952 | * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED |
7953 | for __builtin_ia32_cmpordss. | |
7954 | ||
86122f72 JJ |
7955 | PR tree-optimization/31632 |
7956 | * fold-const.c (fold_binary): Use op0 and op1 instead of arg0 | |
7957 | and arg1 for optimizations of comparison against min/max values. | |
7958 | Fold arg0 to arg1's type for optimizations of comparison against | |
7959 | min+1 and max-1 values. | |
7960 | ||
c1673e1b BS |
7961 | 2007-04-19 Bernd Schmidt <bernd.schmidt@analog.com> |
7962 | ||
7963 | * reload.c (combine_reloads): When trying to use a dying register, | |
7964 | check whether it's uninitialized and don't use if so. | |
7965 | ||
db136335 BM |
7966 | 2007-04-19 Brooks Moses <brooks.moses@codesourcery.com> |
7967 | ||
7968 | * fold-const.c: Remove prototypes for native_encode_expr and | |
7969 | native_interpret_expr. | |
7970 | (native_encode_expr): Make non-static. | |
7971 | (native_interpret_expr): Likewise. | |
7972 | * tree.h: Add prototypes for the above. | |
7973 | ||
b6fda43f JM |
7974 | 2007-04-19 Joseph Myers <joseph@codesourcery.com> |
7975 | ||
b6fda43f JM |
7976 | * config/rs6000/spe.md (*frob_tf_ti, *frob_ti_tf, *frob_ti_tf_2, |
7977 | *mov_si<mode>_e500_subreg0, *mov_si<mode>_e500_subreg0_2, | |
7978 | *mov_sitf_e500_subreg8, *mov_sitf_e500_subreg8_2, spe_extenddftf2, | |
7979 | spe_fix_trunctfsi2_internal, spe_negtf2_internal, cmptfeq_gpr, | |
7980 | tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gpr): | |
7981 | Add length attributes. | |
7982 | ||
589dd995 JJ |
7983 | 2007-04-19 Janis Johnson <janis187@us.ibm.com> |
7984 | ||
93167356 JJ |
7985 | * ginclude/float.h: Check that __STDC_WANT_DEC_FP__ is defined, |
7986 | not that it is 1. | |
7987 | ||
589dd995 JJ |
7988 | * c-cppbuiltin.c (c_cpp_builtins): Remove definition of |
7989 | __STDC_WANT_DEC_FP__. | |
7990 | ||
f7cc5390 JM |
7991 | 2007-04-19 Joseph Myers <joseph@codesourcery.com> |
7992 | ||
7993 | * configure.ac: Allow both powerpc*-*-linux* and powerpc*-*-gnu* | |
7994 | for long double compatibility. | |
7995 | * configure: Regenerate. | |
7996 | ||
d47a8b83 EB |
7997 | 2007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr> |
7998 | ||
7999 | PR rtl-optimization/29841 | |
8000 | * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional | |
8001 | trap instructions. | |
8002 | * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions | |
8003 | that may cause control flow transfer from being moved. | |
8004 | ||
8d5d5865 JH |
8005 | 2007-04-18 Jan Hubicka <jh@suse.cz> |
8006 | ||
8007 | * fold-const.c (div_if_zero_remainder): Do signed divide for pointer | |
8008 | types. | |
8009 | ||
316fbf19 | 8010 | 2007-04-18 Eric Christopher <echristo@apple.com> |
5083912d | 8011 | |
316fbf19 EC |
8012 | * config/rs6000/darwin.md (load_macho_picbase): Use link register |
8013 | only. Update operands. | |
8014 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Update caller. | |
8015 | * config/rs6000/rs6000.md (builtin_setjmp_receiver): Ditto. Move from | |
8016 | link register to pic register. | |
5083912d | 8017 | |
05fb69e4 DM |
8018 | 2007-04-18 Dirk Mueller <dmueller@suse.de> |
8019 | ||
8020 | PR diagnostic/31227 | |
8021 | * tree-vrp.c (search_for_addr_array): New. | |
8022 | (check_array_bounds): Suppress warning about | |
8023 | address taken of array refs if its not de-referenced. | |
8024 | ||
28e44f4f DN |
8025 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
8026 | ||
8027 | * tree-vectorizer.c (destroy_loop_vec_info): Set loop->aux to NULL. | |
8028 | * tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux. | |
8029 | ||
8030 | * tree-vectorizer.h (NITERS_KNOWN_P): New. | |
316fbf19 | 8031 | * tree-vect-analyze.c (vect_analyze_loop_form): Call NITERS_KNOWN_P |
28e44f4f DN |
8032 | instead of LOOP_VINFO_INT_NITERS to avoid having to geneate loop_info. |
8033 | ||
316fbf19 | 8034 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Add |
28e44f4f DN |
8035 | dump print. |
8036 | (vect_analyze_operations): Fix indenetation. Fix a comment. Fix a | |
8037 | print message. | |
8038 | (vect_analyze_scalar_cycles): Fix indentation. | |
8039 | (vect_enhance_data_refs_alignment): Fix check in case of peeling. | |
8040 | (vect_mark_relevant): Include phis in relevance analysis. | |
8041 | ||
8042 | * tree-vect-transform.c (vect_transform_loop): Add an assert. | |
8043 | ||
3639b3fa AS |
8044 | 2007-04-18 Anatoly Sokolov <aesok@post.ru> |
8045 | ||
8046 | * config/avr/avr.c (ptrreg_to_str): Replace error() with | |
8047 | output_operand_lossage(). | |
8048 | ||
f7c1d73d DN |
8049 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
8050 | ||
8051 | * tree-vect-transform.c (get_initial_def_for_reduction): Clean away | |
8052 | the unused code for reduction without adjust-in-epilog to simplify the | |
8053 | function. | |
8054 | ||
638e37c2 WG |
8055 | 2007-04-18 Wolfgang Gellerich <gellerich@de.ibm.com> |
8056 | ||
8057 | * config/s390/s390.h (S390_TDC_POSITIVE_ZERO): New constant. | |
8058 | (S390_TDC_NEGATIVE_ZERO): New constant. | |
8059 | (S390_TDC_POSITIVE_NORMALIZED_NUMBER): New constant. | |
8060 | (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): New constant. | |
8061 | (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): New constant. | |
8062 | (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): New constant. | |
8063 | (S390_TDC_POSITIVE_INFINITY): New constant. | |
8064 | (S390_TDC_NEGATIVE_INFINITY): New constant. | |
8065 | (S390_TDC_POSITIVE_QUIET_NAN): New constant. | |
8066 | (S390_TDC_NEGATIVE_QUIET_NAN): New constant. | |
8067 | (S390_TDC_POSITIVE_SIGNALING_NAN): New constant. | |
8068 | (S390_TDC_NEGATIVE_SIGNALING_NAN): New constant. | |
8069 | (S390_TDC_INFINITY): New constant. | |
8070 | * config/s390/s390.c (s390_canonicalize_comparison): Renamed | |
8071 | UNSPEC_CMPINT to UNSPEC_CCU_TO_INT, added a UNSPEC_CCU_TO_INT-like | |
8072 | optimization for UNSPEC_CCZ_TO_INT. | |
8073 | * config/s390/s390.md ("*TDC_insn_<mode>"): New insn. | |
8074 | ("*ccz_to_int"): New insn. | |
8075 | ("isinf<mode>2"): New insn. | |
8076 | (UNSPEC_CMPINT): Renamed to UNSPEC_CCU_TO_INT. | |
8077 | (UNSPEC_CCU_TO_INT): New constant, replaces UNSPEC_CMPINT. | |
8078 | (UNSPEC_CCZ_TO_INT): New constant. | |
8079 | ||
3b48ccbc RG |
8080 | 2007-04-18 Richard Guenther <rguenther@suse.de> |
8081 | ||
8082 | PR tree-optimization/19431 | |
8083 | PR tree-optimization/21463 | |
8084 | * tree-pass.h (pass_phiprop): Declare. | |
8085 | * passes.c (init_optimization_passes): New phiprop pass. | |
8086 | * tree-ssa-forwprop.c (struct phiprop_d): New structure. | |
8087 | (phivn_valid_p): New helper function. | |
8088 | (phiprop_insert_phi): Likewise. | |
8089 | (propagate_with_phi): Likewise. | |
8090 | (tree_ssa_phiprop): New propagator propagating loads | |
8091 | through phi nodes if profitable. | |
8092 | ||
8cf81ddf DN |
8093 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
8094 | ||
8095 | * tree-vect-analyze.c (process_use): New function. | |
8096 | (vect_mark_stmts_to_be_vectorized): Factor out code to process_use. | |
8097 | Check phis in all bbs. | |
8098 | * tree-vectorizer.c (vect_is_simple_use): Remove a no longer relavant | |
8099 | assert. | |
8100 | ||
7c11b28c BS |
8101 | 2007-04-18 Bernd Schmidt <bernd.schmidt@analog.com> |
8102 | ||
8103 | * reload1.c (eliminte_regs_in_insn): Use REG_EQUIV notes the same way | |
8104 | we use REG_EQUAL. | |
8105 | ||
5594a6c8 AS |
8106 | 2007-04-17 Anatoly Sokolov <aesok@post.ru> |
8107 | ||
8108 | PR target/30483 | |
8109 | * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with | |
8110 | error(). | |
8111 | ||
ce217d75 L |
8112 | 2007-04-17 H.J. Lu <hongjiu.lu@intel.com> |
8113 | ||
8114 | * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand | |
8115 | on "0". | |
8116 | (sse_vmmulv4sf3): Likewise. | |
8117 | (sse2_vmaddv2df3): Likewise. | |
8118 | (sse2_vmmulv2df3): Likewise. | |
8119 | ||
a154b43a ZD |
8120 | 2007-04-17 Zdenek Dvorak <dvorakz@suse.cz> |
8121 | ||
8122 | PR rtl-optimization/31360 | |
8123 | * cfgloopanal.c (target_small_cost, target_pres_cost): Removed. | |
8124 | (target_reg_cost): New. | |
8125 | (init_set_costs): Initialize target_reg_cost. Add comments | |
8126 | regarding the rationale of the costs. | |
8127 | (global_cost_for_size): Renamed to... | |
8128 | (estimate_reg_pressure_cost): ... and simplify. Decrease importance | |
8129 | of register pressure. | |
8130 | * tree-ssa-loop-ivopts.c (ivopts_global_cost_for_size): Use | |
8131 | estimate_reg_pressure_cost. Add number of ivs. | |
8132 | (determine_set_costs): Dump target_reg_cost. | |
8133 | * loop-invariant.c (gain_for_invariant): Use | |
8134 | estimate_reg_pressure_cost. Removed n_inv_uses argument. | |
8135 | (best_gain_for_invariant, find_invariants_to_move): Remove | |
8136 | n_inv_uses. | |
8137 | * cfgloop.h (target_small_cost, target_pres_cost): Removed. | |
8138 | (target_reg_cost): Declare. | |
8139 | (global_cost_for_size): Declaration removed. | |
8140 | (estimate_reg_pressure_cost): Declare. | |
8141 | ||
c092b045 PB |
8142 | 2007-04-17 Peter Bergner <bergner@vnet.ibm.com> |
8143 | ||
8144 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Force TDmode | |
8145 | regnos into even/odd register pairs. | |
8146 | * config/rs6000/rs6000.h [SLOW_UNALIGNED_ACCESS]: Treat DDmode and | |
8147 | TDmode similar to the other floating point modes. | |
8148 | [SECONDARY_MEMORY_NEEDED]: Treat DDmode similar to DFmode. | |
8149 | * config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): New | |
8150 | define_expand's. | |
8151 | (negdd2_fpr, absdd2_fpr, nabsdd2_fpr, negtd2_fpr, abstd2_fpr, | |
8152 | nabstd2_fpr, movdd_hardfloat64_mfpgpr): New define_insn's. | |
8153 | (movdd_hardfloat64): Use TARGET_MFPGPR. | |
8154 | ||
f2eb49dc BS |
8155 | 2007-04-17 Bernd Schmidt <bernd.schmidt@analog.com> |
8156 | ||
8157 | * reload1.c (delete_output_reload): Don't count output in n_inherited. | |
8158 | ||
8159 | Revert | |
8160 | 2005-01-05 Richard Henderson <rth@redhat.com> | |
8161 | PR rtl-opt/10692 | |
8162 | * reload1.c (do_input_reload): Restrict the optimization deleteing | |
8163 | a previous output reload to RELOAD_FOR_INPUT. | |
8164 | ||
cd38ca7f DN |
8165 | 2007-04-17 Dorit Nuzman <dorit@il.ibm.com> |
8166 | ||
8167 | * tree-vectorizer.h (stmt_vec_info_type): Add enum value | |
8168 | induc_vec_info_type. | |
8169 | (vectorizable_induction): New function declaration. | |
8170 | * tree-vect-transform.c (get_initial_def_for_induction): No need to | |
8171 | check if already vectorized. Find first place in BB where new stmts | |
8172 | can be inserted. Takes only one argument. | |
8173 | (vectorizable_induction): New function. | |
8174 | (vect_transform_stmt): Add case for induc_vec_info_type to call | |
8175 | vectorizable_induction. | |
8176 | (vect_transform_loop): Consider phis for vectorization. | |
8177 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify | |
8178 | condition. | |
316fbf19 | 8179 | (analyze_operations): Call vectorizable_induction when analyzing phis. |
cd38ca7f DN |
8180 | Fix comment. |
8181 | (vect_mark_stmts_to_be_vectorized): Remove redundant checks. | |
8182 | (vect_mark_relevant): Include phis in relevance analysis. | |
8183 | (vect_mark_stmts_to_be_vectorize): Likewise. | |
8184 | * tree-vect-patterns.c (widened_name_p): Remove obsolete asserts. | |
8185 | ||
39ef6592 LC |
8186 | 2007-04-16 Lawrence Crowl <crowl@google.com> |
8187 | ||
8188 | * doc/invoke.texi (Debugging Options): Add documentation for the | |
8189 | -femit-struct-debug options -femit-struct-debug-baseonly, | |
8190 | -femit-struct-debug-reduced, and | |
8191 | -femit-struct-debug-detailed[=...]. | |
8192 | ||
8193 | * c-opts.c (c_common_handle_option): Add | |
8194 | OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced, | |
8195 | and OPT_femit_struct_debug_detailed_. | |
8196 | * c.opt: Add specifications for | |
8197 | -femit-struct-debug-baseonly, -femit-struct-debug-reduced, | |
8198 | and -femit-struct-debug-detailed[=...]. | |
8199 | * opts.c (set_struct_debug_option): Parse the | |
8200 | -femit-struct-debug-... options. | |
8201 | * opts.c (matches_main_base, main_input_basename, | |
8202 | main_input_baselength, base_of_path, matches_main_base): Add | |
8203 | variables and functions to compare header base name to compilation | |
8204 | unit base name. | |
8205 | * opts.c (should_emit_struct_debug): Add to determine to emit a | |
8206 | structure based on the option. | |
8207 | (dump_struct_debug) Also disabled function to debug this | |
8208 | function. | |
8209 | * opts.c (handle_options): Save the base name of the | |
8210 | compilation unit. | |
8211 | ||
8212 | * langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define. | |
c7a2139b | 8213 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add. |
39ef6592 LC |
8214 | This hook indicates if a type is generic. Set it by default |
8215 | to "never generic". | |
8216 | * langhooks.h (struct lang_hooks_for_types): Add a new hook | |
8217 | to determine if a struct type is generic or not. | |
8218 | * cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook. | |
8219 | * cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook. | |
8220 | * cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook | |
8221 | with live C++ hook. | |
8222 | ||
8223 | * flags.h (enum debug_info_usage): Add an enumeration to describe | |
8224 | a program's use of a structure type. | |
8225 | * dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter | |
8226 | to indicate the program's usage of the type. Filter structs based | |
8227 | on the -femit-struct-debug-... specification. | |
8228 | (gen_type_die): Split into two routines, gen_type_die and | |
8229 | gen_type_die_with_usage. gen_type_die is now a wrapper | |
8230 | that assumes direct usage. | |
8231 | (gen_type_die_with_usage): Replace calls to gen_type_die | |
8232 | with gen_type_die_with_usage adding the program usage of | |
8233 | the referenced type. | |
8234 | (dwarf2out_imported_module_or_decl): Suppress struct debug | |
8235 | information using should_emit_struct_debug when appropriate. | |
8236 | ||
5a0ed003 ILT |
8237 | 2007-04-16 Ian Lance Taylor <iant@google.com> |
8238 | ||
fc6827fe ILT |
8239 | PR tree-optimization/31522 |
8240 | * tree-vrp.c (vr_phi_edge_counts): New static variable. | |
8241 | (vrp_initialize): Allocate vr_phi_edge_counts. | |
8242 | (vrp_visit_phi_node): Don't push to infinity if we saw a new | |
8243 | executable edge. Drop test for all constants. | |
8244 | (vrp_finalize): Free vrp_phi_edge_counts. | |
8245 | ||
4075e231 ILT |
8246 | * doc/cpp.texi (Common Predefined Macros): Clarify description of |
8247 | __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__. | |
8248 | ||
5a0ed003 ILT |
8249 | * tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer |
8250 | predecessors at head rather than tail. | |
8251 | ||
bdede2ac MK |
8252 | 2007-04-16 Matthias Klose <doko@debian.org> |
8253 | ||
86122f72 JJ |
8254 | * config/alpha/linux.h (CPP_SPEC): Define. |
8255 | * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend. | |
bdede2ac | 8256 | |
52d412e7 AH |
8257 | 2007-04-16 Aldy Hernandez <aldyh@redhat.com> |
8258 | ||
c7a2139b | 8259 | * function.h: Remove sequence_stack extern declaration. |
52d412e7 | 8260 | |
72120463 KH |
8261 | 2007-04-16 Kazu Hirata <kazu@codesourcery.com> |
8262 | ||
8263 | * config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Change to 64 on | |
8264 | TARGET_FIDOA. | |
8265 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Change to 64 if __mfido__ is | |
8266 | defined. | |
8267 | ||
14683174 AS |
8268 | 2007-04-16 Anatoly Sokolov <aesok@post.ru> |
8269 | ||
8270 | * config/avr/avr.c (avr_arch_types): Rearranging array. | |
8271 | (enum avr_arch): Add. | |
316fbf19 | 8272 | (avr_mcu_types): Use avr_arch enumeration constants instead of |
14683174 AS |
8273 | numbers. |
8274 | * config/avr/avr.h (LINK_SPEC): Simplify. | |
8275 | ||
8d989403 KH |
8276 | 2007-04-16 Kazu Hirata <kazu@codesourcery.com> |
8277 | ||
8278 | * config/m68k/m68k.c (m68k_libcall_value, | |
8279 | m68k_function_value): Use macros for register names more. | |
8280 | ||
de41203b KH |
8281 | * config/m68k/m68k.h (FRAME_POINTER_REGNUM): Use A6_REG |
8282 | instead. | |
8283 | (M68K_REGNAME): Use A6_REG. | |
8284 | * config/m68k/m68k.md (FP_REG): Rename to A6_REG. | |
8285 | ||
bdbf40a5 MK |
8286 | 2007-04-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
8287 | ||
8288 | PR middle-end/28071 | |
8289 | * sched-int.h (struct deps): Split field 'pending_lists_length' into | |
8290 | 'pending_read_list_length' and 'pending_write_list_length'. Update | |
8291 | comment. | |
8292 | * sched-deps.c (add_insn_mem_dependence): Change signature. Update | |
8293 | to handle two length counters instead of one. Update all uses. | |
8294 | (flush_pending_lists, sched_analyze_1, init_deps): Update to handle | |
8295 | two length counters instead of one. | |
8296 | * sched-rgn.c (propagate_deps): Update to handle two length counters | |
8297 | instead of one. | |
8298 | ||
7bb4a6be L |
8299 | 2007-04-16 H.J. Lu <hongjiu.lu@intel.com> |
8300 | ||
8301 | PR target/31582 | |
8302 | * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a | |
8303 | copy of source, pass it to ix86_expand_vector_set and return | |
8304 | it as target. | |
8305 | ||
8dd58f01 | 8306 | 2007-04-16 David Ung <davidu@mips.com> |
7bb4a6be | 8307 | Joseph Myers <joseph@codesourcery.com> |
8dd58f01 DU |
8308 | |
8309 | * config/mips/mips.h (PROCESSOR_74KC, PROCESSOR_74KF, | |
8310 | PROCESSOR_74KX, TUNE_74K, GENERATE_MADD_MSUB): Define. | |
8311 | * config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data): | |
8312 | Add 74K processor information. | |
8313 | * config/mips/mips.md: Include 74k.md. | |
8314 | (cpu): Add 74kc,74kf,74kx. | |
8315 | (ISA_HAS_MADD_MSUB): Change to GENERATE_MADD_MSUB throughout. | |
8316 | * config/mips/74k.md: New. | |
8317 | * doc/invoke.texi (MIPS Options): Document 74K support. | |
8318 | ||
60555ced DN |
8319 | 2007-04-16 Dorit Nuzman <dorit@il.ibm.com> |
8320 | ||
8321 | * tree-vect-analyze.c (vect_analyze_operations): Reorganize calls to | |
8322 | vectorizable_* functions. | |
8323 | * tree-vect-transform.c (vectorizable_call): Add check for | |
8324 | STMT_VINFO_RELEVANT_P, STMT_VINFO_DEF_TYPE and STMT_VINFO_LIVE_P. | |
8325 | (vectorizable_store): likewise. | |
8326 | (vectorizable_conversion): Add check for STMT_VINFO_DEF_TYPE. | |
8327 | Add comments. | |
8328 | (vectorizable_operation, vectorizable_type_demotion): Likewise. | |
8329 | (vectorizable_type_promotion, vectorizable_load): Likewise. | |
8330 | (vectorizable_live_operation, vectorizable_condition): Likewise. | |
8331 | (vectorizable_assignment): Add check for STMT_VINFO_DEF_TYPE and | |
8332 | STMT_VINFO_LIVE_P. | |
8333 | (vect_transform_stmt): Reorganize calls to vectorizable_* functions. | |
8334 | ||
3bfe36dc KH |
8335 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
8336 | ||
8337 | * config/m68k/linux.h (FUNCTION_VALUE_REGNO_P): Use macros for | |
8338 | register numbers more. | |
8339 | * config/m68k/m68k.h (STACK_POINTER_REGNUM, | |
8340 | FRAME_POINTER_REGNUM, STATIC_CHAIN_REGNUM, | |
8341 | M68K_STRUCT_VALUE_REGNUM, FUNCTION_VALUE, LIBCALL_VALUE, | |
8342 | FUNCTION_VALUE_REGNO_P): Likewise. | |
8343 | * config/m68k/m68kelf.h (M68K_STRUCT_VALUE_REGNUM, | |
8344 | STATIC_CHAIN_REGNUM): Likewise. | |
8345 | * config/m68k/m68kemb.h (FUNCTION_VALUE_REGNO_P): Likewise. | |
8346 | * config/m68k/netbsd-elf.h (M68K_STRUCT_VALUE_REGNUM, | |
8347 | STATIC_CHAIN_REGNUM, FUNCTION_VALUE_REGNO_P): Likewise. | |
8348 | * config/m68k/m68k.md (FP_REG): New. | |
8349 | ||
e3e093ec KH |
8350 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
8351 | ||
8352 | * config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Prefer 32-bit | |
8353 | alignment on fido. | |
8354 | ||
7fa7289d KH |
8355 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
8356 | ||
8357 | * config/i386/i386.c, config/s390/s390.c, config/s390/s390.md, | |
8358 | tree-ssa-loop-niter.c, tree-ssa-structalias.c, tree-vrp.c: Fix | |
8359 | comment typos. | |
8360 | ||
2732d767 ZD |
8361 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
8362 | ||
8363 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Ignore | |
8364 | cold loops. | |
8365 | ||
aa24028d AP |
8366 | 2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com> |
8367 | ||
8368 | PR c/31520 | |
c7a2139b | 8369 | * c-decl.c (finish_decl): Grab the type of the decl after the call |
aa24028d AP |
8370 | to store_init_value. |
8371 | ||
2ca2b607 SB |
8372 | 2007-04-14 Steven Bosscher <steven@gcc.gnu.org> |
8373 | ||
8374 | * common.opt (fforward-propagate): Fix "Optimization" annotation. | |
8375 | ||
b1483e87 JJ |
8376 | 2007-04-14 Jakub Jelinek <jakub@redhat.com> |
8377 | ||
8378 | PR c++/25874 | |
7e08fa35 UB |
8379 | * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free |
8380 | dominators, post dominators and cleanup cfg before returning. | |
b1483e87 | 8381 | |
4d4f2837 BS |
8382 | 2007-04-14 Bernd Schmidt <bernd.schmidt@analog.com> |
8383 | ||
8384 | * config/bfin/bfin.h (MODES_TIEABLE_P): Allow more modes to be tied. | |
8385 | * config/bfin/bfin.md (movsi_insn): Delete two unused alternatives. | |
8386 | ||
7d33c31d KH |
8387 | 2007-04-14 Kazu Hirata <kazu@codesourcery.com> |
8388 | ||
8389 | * config.gcc: Recognize fido. | |
8390 | * config/m68k/m68k-devices.def (fidoa): New. | |
8391 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define | |
8392 | __mfido__. | |
8393 | (FL_FIDOA, TARGET_FIDOA): New. | |
8394 | * config/m68k/m68k.opt (mfidoa): New. | |
8395 | ||
2a6acff7 JDA |
8396 | 2007-04-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
8397 | ||
8398 | PR middle-end/31322 | |
8399 | * dwarf2out.c (output_call_frame_info): Call assemble_external_libcall | |
8400 | when a personality function is used. | |
8401 | ||
ec3643e8 BW |
8402 | 2007-04-13 Bob Wilson <bob.wilson@acm.org> |
8403 | ||
8404 | * config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN. | |
8405 | ||
c40ce8f3 MS |
8406 | 2007-04-13 Mike Stump <mrs@apple.com> |
8407 | ||
8408 | * config/darwin-c.c (handle_c_option): Handle -fapple-kext here so | |
8409 | we can... | |
8410 | * config/darwin.opt (fapple-kext): Make C++ only. | |
8411 | * config/darwin.c (darwin_override_options): Remove code to ensure | |
8412 | -fapple-kext is given for C++ only. | |
8413 | ||
d1138d8e RS |
8414 | 2007-04-13 Richard Sandiford <richard@codesourcery.com> |
8415 | ||
8416 | * config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define. | |
8417 | * config/mips/mips.c (override_options): Call | |
8418 | SUBTARGET_OVERRIDE_OPTIONS, if defined. | |
8419 | ||
c33104d6 L |
8420 | 2007-04-13 H.J. Lu <hongjiu.lu@intel.com> |
8421 | ||
8422 | * config/i386/i386.opt (msvr3-shlib): Removed. | |
8423 | ||
8424 | * doc/invoke.texi: Remove -msvr3-shlib. | |
8425 | ||
b194a08c L |
8426 | 2007-04-13 H.J. Lu <hongjiu.lu@intel.com> |
8427 | ||
8428 | * config/i386/i386.opt (mpopcnt): Replace "popcount" instruction | |
8429 | with "popcnt" instruction. | |
8430 | ||
9bb6aa43 RG |
8431 | 2007-04-13 Richard Guenther <rguenther@suse.de> |
8432 | ||
8433 | PR tree-optimization/21258 | |
8434 | * tree-vrp.c (compare_case_labels): New helper. | |
8435 | (find_switch_asserts): New function. | |
8436 | (find_assert_locations): Call it for SWITCH_EXPRs. | |
8437 | ||
27ac40e2 UB |
8438 | 2007-04-13 Uros Bizjak <ubizjak@gmail.com> |
8439 | ||
8440 | * config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387. | |
8441 | * config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this | |
8442 | check is now implied in X87_FLOAT_MODE_P. | |
8443 | (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto. | |
8444 | (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto. | |
8445 | (fix_trunc<mode>_i386_fisttp): Ditto. | |
8446 | (fix_trunc<mode>_i387_fisttp_with_temp): Ditto. | |
8447 | (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto. | |
8448 | (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto. | |
8449 | (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto. | |
8450 | (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. | |
8451 | (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto. | |
8452 | (unnamed_splitters): Ditto. | |
8453 | * config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG | |
8454 | for X87_FLOAT_MODE_P mode. Override FIRST_FLOAT_REG with | |
8455 | FIRST_SSE_REG for local functions when SSE math is enabled or | |
8456 | for functions with sseregparm attribute. | |
8457 | (standard_80387_constant_p): Return -1 if mode is not | |
8458 | X87_FLOAT_MODE_P. | |
8459 | (ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P. | |
8460 | (ix86_expand_compare): Ditto. | |
8461 | (ix86_expand_carry_flag_compare): Ditto. | |
8462 | (ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead | |
8463 | of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not | |
8464 | DECIMAL_FLOAT_MODE_P. | |
8465 | (ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead | |
8466 | of SCALAR_FLOAT_MODE_P. | |
8467 | (ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ... | |
8468 | [MINUS]: ... here. Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P | |
8469 | checks before FLOAT_MODE_P. | |
8470 | [MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks | |
8471 | before FLOAT_MODE_P. | |
8472 | [DIV]: Ditto. | |
8473 | [NEG]: Ditto. | |
8474 | [ABS]: Ditto. | |
8475 | [SQRT]: Ditto. | |
8476 | [FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P. | |
8477 | ||
be0fe523 | 8478 | 2007-04-12 Paolo Bonzini <bonzini@gnu.org> |
c7a2139b | 8479 | Charles Wilson <libtool@cwilson.fastmail.fm> |
be0fe523 PB |
8480 | |
8481 | * Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove. | |
8482 | (libgcc.mvars): Don't depend on them. | |
8483 | * configure.ac (as, collect-ld, nm): Create from exec-tool.in. | |
8484 | * exec-tool.in: New. | |
8485 | ||
06a97569 BM |
8486 | 2007-04-12 Brooks Moses <brooks.moses@codesourcery.com> |
8487 | ||
8488 | * doc/invoke.text (--help): Document --help=common. | |
8489 | ||
4557bf49 TN |
8490 | 2007-04-12 Thomas Neumann <tneumann@users.sourceforge.net> |
8491 | ||
8492 | * stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords. | |
8493 | ||
8cb6400c RS |
8494 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
8495 | ||
8496 | * Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H). | |
8497 | * genemit.c (main): Emit #include "integrate.h". | |
8498 | * config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type. | |
8499 | (LOADGP_RTP): New mips_loadgp_style. | |
8500 | * config/mips/mips.h: Include config/vxworks-dummy.h. | |
8501 | (TARGET_RTP_PIC): New macro. | |
8502 | (TARGET_USE_GOT): Return true for TARGET_RTP_PIC. | |
8503 | (TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP. | |
8504 | (ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables | |
8505 | for TARGET_RTP_PIC. | |
8506 | * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define. Pass down | |
8507 | -mvxworks-pic when using -mrtp and a PIC option. | |
8508 | * config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP | |
8509 | for RTP PIC. | |
8510 | (mips_symbolic_constant_p, mips_symbolic_address_p) | |
8511 | (mips_symbol_insns): Handle SYMBOL_HALF. | |
8512 | (override_options): Warn about -G and -mrtp being used together. | |
8513 | Initialize mips_lo_relocs[SYMBOL_HALF]. | |
8514 | (mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC. | |
8515 | (mips_emit_loadgp): Handle LOADGP_RTP. | |
8516 | (mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP. | |
8517 | * config/mips/mips.md (loadgp_rtp): New insn and splitter. | |
8518 | (tablejump): Handle function-relative case table entries if | |
8519 | TARGET_RTP_PIC. | |
8520 | * config/mips/predicates.md (symbol_ref_operand): New predicate. | |
8521 | ||
f28d8062 RS |
8522 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
8523 | ||
8524 | * config/mips/mips.md (load_call<mode>): Allow any general register. | |
8525 | destination. | |
8526 | (sibcall_value_internal, sibcall_value_multiple_internal) | |
8527 | (call_value_internal, call_value_split, call_value_multiple_internal) | |
8528 | (call_value_multiple_split): Remove constraints from operand 0. | |
8529 | ||
dc7750b1 RS |
8530 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
8531 | ||
8532 | * config/mips/mips-protos.h: In comments, refer to loadgp_absolute | |
8533 | rather than loadgp_noshared. | |
8534 | * config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute | |
8535 | instead of gen_loadgp_noshared. Use gen_loadgp_newabi instead of | |
8536 | gen_loadgp. | |
8537 | * config/mips/mips.md (loadgp): Rename to... | |
8538 | (loadgp_newabi): ...this. | |
8539 | (loadgp_noshared): Rename to... | |
8540 | (loadgp_absolute): ...this. | |
8541 | ||
006257dc RS |
8542 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
8543 | ||
8544 | * config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return | |
8545 | false for locally-binding symbols. | |
8546 | (mips_dangerous_for_la25_p): Check mips_global_symbol_p. | |
8547 | ||
08e7ceb3 RS |
8548 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
8549 | ||
8550 | * config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to... | |
8551 | (SYMBOL_GOT_PAGE_OFST): ...this. | |
8552 | (SYMBOL_GOT_GLOBAL): Rename to... | |
8553 | (SYMBOL_GOT_DISP): ...this. | |
8554 | (SYMBOL_GOTOFF_GLOBAL): Rename to... | |
8555 | (SYMBOL_GOTOFF_DISP): ...this. Update comments accordingly. | |
8556 | * config/mips/mips.c (mips_global_symbol_p): New function. | |
8557 | (mips_symbol_binds_local_p): Likewise. | |
8558 | (mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP | |
7e08fa35 UB |
8559 | and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST. Use |
8560 | mips_global_symbol_p and mips_symbol_binds_local_p. | |
08e7ceb3 RS |
8561 | (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns) |
8562 | (override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP, | |
8563 | SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to | |
8564 | SYMBOL_GOTOFF_DISP. | |
8565 | (mips_ok_for_lazy_binding_p): New function. | |
8566 | (mips_load_call_address, mips_expand_call): Use it. | |
8567 | (mips_dangerous_for_la25_p): Likewise. | |
8568 | * config/mips/mips.md (*xgot_hi<mode>, *xgot_lo<mode>) | |
8569 | (*got_disp<mode>): Use got_disp_operand instead of | |
8570 | global_got_operand. Use SYMBOL_GOTOFF_DISP instead of | |
8571 | SYMBOL_GOTOFF_GLOBAL. | |
8572 | (*got_page<mode>): Use got_page_ofst_operand instead of | |
8573 | local_got_operand. | |
8574 | * config/mips/predicates.md (const_call_insn_operand): Use | |
8575 | SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL. | |
8576 | (global_got_operand): Rename to... | |
8577 | (got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of | |
8578 | SYMBOL_GOT_GLOBAL. | |
8579 | (local_got_operand): Rename to... | |
8580 | (got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead | |
8581 | of SYMBOL_GOT_LOCAL. | |
8582 | ||
14976818 RS |
8583 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
8584 | ||
8585 | * config/mips/mips.h (TARGET_SPLIT_CALLS): Check | |
8586 | TARGET_CALL_CLOBBERED_GP. | |
8587 | (TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
8588 | (TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros. | |
8589 | (TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise. | |
8590 | (STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead | |
8591 | of TARGET_ABICALLS && !TARGET_NEWABI. | |
8592 | (MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
8593 | * config/mips/mips.c (mips_load_call_address): Check | |
8594 | TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. | |
8595 | (mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
8596 | Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. | |
8597 | (mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of | |
8598 | TARGET_ABICALLS && TARGET_NEWABI. | |
8599 | (mips_current_loadgp_style): Check TARGET_USE_GOT instead of | |
8600 | TARGET_ABICALLS. | |
8601 | (mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI. | |
8602 | (mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of | |
8603 | TARGET_ABICALLS && TARGET_NEWABI. | |
8604 | (mips_output_mi_thunk): Check TARGET_USE_GOT instead of | |
8605 | TARGET_ABICALLS. Check TARGET_CALL_SAVED_GP instead of | |
8606 | TARGET_NEWABI. Use TARGET_USE_PIC_FN_ADDR_REG to decide | |
8607 | whether indirect calls must use $25. | |
8608 | (mips_extra_live_on_entry): Check TARGET_GOT instead of | |
8609 | TARGET_ABICALLS. | |
8610 | * config/mips/mips.md (jal_macro): Check flag_pic and | |
8611 | TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI. | |
8612 | (builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT | |
8613 | instead of TARGET_ABICALLS. | |
8614 | (exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of | |
8615 | TARGET_ABICALLS && TARGET_OLDABI. | |
8616 | (load_call<mode>): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
8617 | (sibcall): In the comment above the define_insn, mention | |
8618 | TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS. | |
8619 | * config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG | |
8620 | instead of TARGET_ABICALLS. | |
8621 | ||
3efd5670 BS |
8622 | 2007-04-12 Bernd Schmidt <bernd.schmidt@analog.com> |
8623 | ||
8624 | * doc/md.texi (Blackfin family constraints): Document PA and PB. | |
8625 | * config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB. | |
8626 | (MACFLAGS_MATCH_P): New macro. | |
8627 | * config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M. | |
8628 | (bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS. | |
8629 | * config/bfin/bfin.md (MACFLAG_IS_M): New constant. Renumber some of | |
8630 | the other MACFLAG constants. | |
8631 | (sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns. | |
8632 | (flag_machi): Tighten constraints. Renumber some of the operands. | |
8633 | (flag_machi_acconly): Tighten constraints. Correct operand numbers in | |
8634 | output template. | |
8635 | (flag_machi_parts_acconly): New pattern. | |
8636 | (flag_macinithi): Tighten constraints. Allow any accumulator to be | |
8637 | used. | |
8638 | (flag_macinit1hi): Tighten constraints. | |
8639 | (flag_mul_macv2hi_parts_acconly): New pattern. | |
8640 | ||
3fbee523 BS |
8641 | * config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart): |
8642 | Use a more efficient implementation. | |
8643 | * config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit | |
8644 | inline sequences when not optimizing for size. | |
8645 | ||
2d3649b2 BS |
8646 | * config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low, |
8647 | movhi_high2low): Delete, merge functionality into... | |
8648 | (packv2hi): ... this pattern. | |
8649 | ||
9d3f9aa3 BS |
8650 | 2007-02-11 Jie Zhang <jie.zhang@analog.com> |
8651 | * config/bfin/bfin.opt (msim): New option. | |
8652 | (mcpu=): New option. | |
8653 | * config/bfin/bfin-protos.h (enum bfin_cpu): New. | |
8654 | (bfin_cpu_t): Typedef of enum bfin_cpu. | |
8655 | (bfin_cpu_type): New declaration. | |
8656 | * config/bfin/elf.h (STARTFILE_SPEC): Add support for | |
8657 | -msim and -mcpu= options. | |
8658 | (LIB_SPEC): Likewise. | |
8659 | * config/bfin/bfin.c (bfin_cpu_type): Define. | |
8660 | (bfin_handle_option): Handle -mcpu= option. | |
8661 | * config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532. | |
8662 | (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__, | |
8663 | __ADSPBF533__ or __ADSPBF537__ according to the cpu type. | |
8664 | ||
f4de8ba6 RS |
8665 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
8666 | ||
8667 | * config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza. | |
8668 | (arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks) | |
8669 | (powerpc-wrs-vxworksae): Use ${tm_file}. | |
8670 | (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h | |
8671 | after elfos.h. Remove i386/sysv4.h and add i386/vx-common.h. | |
8672 | * config/i386/vx-common.h: New file. | |
8673 | ||
b83b15da RS |
8674 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
8675 | ||
8676 | * config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead | |
8677 | of crt0.o%s. | |
8678 | ||
bf259a77 AK |
8679 | 2007-04-12 Andreas Krebbel <krebbel1@de.ibm.com> |
8680 | ||
8681 | * config/s390/s390.md ("trunctddd2"): Use TDmode for the target of | |
8682 | ldxtr. | |
8683 | ||
95764818 DG |
8684 | 2007-04-12 Douglas Gregor <doug.gregor@gmail.com> |
8685 | ||
8686 | PR c++/31078 | |
8687 | PR c++/31103 | |
8688 | * c-common.c (c_build_qualified_type): Set canonical type | |
316fbf19 | 8689 | appropriately. |
95764818 | 8690 | |
a670437d RG |
8691 | 2007-04-12 Richard Guenther <rguenther@suse.de> |
8692 | ||
8693 | * tree-pretty-print.c (dump_generic_node): Print ARRAY_REF | |
8694 | lower bound and element size if lower bound is not zero | |
8695 | or either of the ARRAY_REF operands is set. | |
8696 | ||
5852948c RG |
8697 | 2007-04-12 Richard Guenther <rguenther@suse.de> |
8698 | ||
8699 | PR tree-optimization/24689 | |
8700 | PR tree-optimization/31307 | |
8701 | * fold-const.c (operand_equal_p): Compare INTEGER_CST array | |
8702 | indices by value. | |
8703 | * gimplify.c (canonicalize_addr_expr): To be consistent with | |
8704 | gimplify_compound_lval only set operands two and three of | |
8705 | ARRAY_REFs if they are not gimple_min_invariant. This makes | |
8706 | it never at this place. | |
8707 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. | |
8708 | ||
8c5e065b JDA |
8709 | 2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
8710 | ||
8711 | * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not | |
8712 | null before emitting a .nsubspa directive. | |
8713 | ||
0de107cf DN |
8714 | 2007-04-11 Diego Novillo <dnovillo@redhat.com> |
8715 | ||
8716 | * tree-ssa-alias.c (dump_mem_ref_stats): Do not call | |
8717 | need_to_partition_p if there are no memory statements in the | |
8718 | function. | |
8719 | ||
55a700ac ZD |
8720 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
8721 | ||
8722 | * tree-data-ref.c (chrec_steps_divide_constant_p): Removed. | |
8723 | (gcd_of_steps_may_divide_p): New function. | |
8724 | (analyze_miv_subscript): Use gcd_of_steps_may_divide_p. | |
8725 | ||
0f4b25a3 BS |
8726 | 2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> |
8727 | ||
8728 | * reload.c (find_reloads_toplev, find_reloads_address, | |
8729 | find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p, | |
8730 | not a pointer equality test, to decide if we need to call | |
8731 | push_reg_equiv_alt_mem. | |
8732 | ||
1baf2906 SP |
8733 | 2007-04-11 Sebastian Pop <sebastian.pop@inria.fr> |
8734 | ||
8735 | * tree-data-ref.c (affine_function_zero_p, constant_access_functions, | |
7e08fa35 UB |
8736 | insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): |
8737 | New. | |
1baf2906 SP |
8738 | (build_classic_dist_vector): Call add_distance_for_zero_overlaps. |
8739 | ||
55a700ac | 8740 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
0ca2faee ZD |
8741 | |
8742 | * tree-data-ref.c (add_multivariate_self_dist): Force the distance | |
8743 | vector to be positive. | |
8744 | ||
e9e0aa2c DN |
8745 | 2007-04-11 Diego Novillo <dnovillo@redhat.com> |
8746 | ||
8747 | PR 30735 | |
8748 | PR 31090 | |
8749 | * doc/invoke.texi: Document --params max-aliased-vops and | |
8750 | avg-aliased-vops. | |
8751 | * tree-ssa-operands.h (get_mpt_for, dump_memory_partitions, | |
8752 | debug_memory_partitions): Move to tree-flow.h | |
8753 | * params.h (AVG_ALIASED_VOPS): Define. | |
8754 | * tree-ssa-alias.c (struct mp_info_def): Remove. Update all | |
8755 | users. | |
8756 | (mp_info_t): Likewise. | |
8757 | (get_mem_sym_stats_for): New. | |
8758 | (set_memory_partition): Move from tree-flow-inline.h. | |
8759 | (mark_non_addressable): Only clear the set of symbols for the | |
8760 | partition if it exists. | |
8761 | (dump_memory_partitions): Move from tree-ssa-operands.c | |
8762 | (debug_memory_partitions): Likewise. | |
8763 | (need_to_partition_p): New. | |
8764 | (dump_mem_ref_stats): New. | |
8765 | (debug_mem_ref_stats): New. | |
8766 | (dump_mem_sym_stats): New. | |
8767 | (debug_mem_sym_stats): New. | |
8768 | (update_mem_sym_stats_from_stmt): New. | |
8769 | (compare_mp_info_entries): New. | |
8770 | (mp_info_cmp): Call it. | |
8771 | (sort_mp_info): Change argument to a list of mem_sym_stats_t | |
8772 | objects. | |
8773 | (get_mpt_for): Move from tree-ssa-operands.c. | |
8774 | (find_partition_for): New. | |
8775 | (create_partition_for): Remove. | |
8776 | (estimate_vop_reduction): New. | |
8777 | (update_reference_counts): New. | |
8778 | (build_mp_info): New. | |
8779 | (compute_memory_partitions): Refactor. | |
8780 | Document new heuristic. | |
8781 | Call build_mp_info, update_reference_counts, | |
8782 | find_partition_for and estimate_vop_reduction. | |
8783 | (compute_may_aliases): Populate virtual operands before | |
8784 | calling debugging dumps. | |
8785 | (delete_mem_sym_stats): New. | |
8786 | (delete_mem_ref_stats): New. | |
8787 | (init_mem_ref_stats): New. | |
8788 | (init_alias_info): Call it. | |
8789 | (maybe_create_global_var): Remove alias_info argument. | |
8790 | Get number of call sites and number of pure/const call sites | |
8791 | from gimple_mem_ref_stats(). | |
8792 | (dump_alias_info): Call dump_memory_partitions first. | |
8793 | (dump_points_to_info_for): Show how many times a pointer has | |
8794 | been dereferenced. | |
8795 | * opts.c (decode_options): For -O2 set --param | |
8796 | max-aliased-vops to 500. | |
8797 | For -O3 set --param max-aliased-vops to 1000 and --param | |
8798 | avg-aliased-vops to 3. | |
8799 | * fortran/options.c (gfc_init_options): Remove assignment to | |
8800 | MAX_ALIASED_VOPS. | |
8801 | * tree-flow-inline.h (gimple_mem_ref_stats): New. | |
8802 | * tree-dfa.c (dump_variable): Dump memory reference | |
8803 | statistics. | |
8804 | Dump NO_ALIAS* settings. | |
8805 | (referenced_var_lookup): Tidy. | |
8806 | (mem_sym_stats): New. | |
8807 | * tree-ssa-copy.c (may_propagate_copy): Return true if DEST | |
8808 | and ORIG are different SSA names for a memory partition. | |
8809 | * tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats. | |
8810 | * tree-flow.h (struct mem_sym_stats_d): Define. | |
8811 | (mem_sym_stats_t): Define. | |
8812 | (struct mem_ref_stats_d): Define. | |
8813 | (struct gimple_df): Add field mem_ref_stats. | |
8814 | (enum noalias_state): Define. | |
8815 | (struct var_ann_d): Add bitfield noalias_state. | |
8816 | (mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats, | |
8817 | debug_mem_ref_stats, debug_memory_partitions, | |
8818 | debug_mem_sym_stats): Declare. | |
8819 | * tree-ssa-structalias.c (update_alias_info): Update call | |
8820 | sites, pure/const call sites and asm sites in structure | |
8821 | returned by gimple_mem_ref_stats. | |
8822 | Remove local variable IS_POTENTIAL_DEREF. | |
8823 | Increase NUM_DEREFS if the memory expression is a potential | |
8824 | dereference. | |
8825 | Call update_mem_sym_stats_from_stmt. | |
8826 | If the memory references memory, call | |
8827 | update_mem_sym_stats_from_stmt for all the direct memory | |
8828 | symbol references found. | |
8829 | (intra_create_variable_infos): Set noalias_state field for | |
8830 | pointer arguments according to the value of | |
8831 | flag_argument_noalias. | |
8832 | * tree-ssa-structalias.h (struct alias_info): Remove fields | |
8833 | num_calls_found and num_pure_const_calls_found. | |
8834 | (update_mem_sym_stats_from_stmt): Declare. | |
8835 | * params.def (PARAM_MAX_ALIASED_VOPS): Change description. | |
8836 | Set default value to 100. | |
8837 | (PARAM_AVG_ALIASED_VOPS): Define. | |
8838 | ||
4bf371ea RG |
8839 | 2007-04-11 Richard Guenther <rguenther@suse.de> |
8840 | ||
8841 | PR middle-end/31530 | |
8842 | * simplify-rtx.c (simplify_binary_operation_1): Do not simplify | |
8843 | a * -b + c as c - a * b if we honor sign dependent rounding. | |
8844 | ||
266d11d8 BS |
8845 | 2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> |
8846 | ||
8847 | * config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from | |
8848 | bfin_expand_strmov. | |
8849 | * config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address, | |
8850 | bfin_function_ok_for_sibcall, split_load_immediate): Remove unused | |
8851 | variables. | |
8852 | (initialize_trampoline): Don't use old-style function definition. | |
8853 | (bfin_secondary_reload): Mark IN_P argument as unused. | |
8854 | ||
e9793dae SP |
8855 | 2007-04-10 Sebastian Pop <sebastian.pop@inria.fr> |
8856 | ||
8857 | PR tree-optimization/31343 | |
8858 | * tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec. | |
8859 | (build_polynomial_chrec): Return a scalar when the evolution is zero. | |
8860 | * testsuite/gcc.dg/vect/pr31343.c: New. | |
8861 | ||
54a88090 EC |
8862 | 2007-04-10 Eric Christopher <echristo@apple.com> |
8863 | ||
8864 | * config/i386/i386.h (X87_FLOAT_MODE_P): New. | |
8865 | * config/i386/i386.md (*cmpfp0): Use. | |
8866 | (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto. | |
8867 | (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto. | |
8868 | (fix_trunc<mode>_i386_fisttp): Ditto. | |
8869 | (fix_trunc<mode>_i387_fisttp_with_temp): Ditto. | |
8870 | (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto. | |
8871 | (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto. | |
8872 | (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto. | |
8873 | (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. | |
8874 | (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto. | |
8875 | (unnamed_splitters): Ditto. | |
8876 | * config/i386/i386.c (output_fix_trunc): Assert that | |
8877 | we're not being passed a TFmode operand. | |
8878 | ||
7c57be85 ZD |
8879 | 2007-04-10 Zdenek Dvorak <dvorakz@suse.cz> |
8880 | ||
8881 | PR tree-optimization/31526 | |
8882 | * tree-inline.c (copy_cfg_body): Use last_basic_block instead of | |
8883 | n_basic_blocks to find newly added blocks. | |
8884 | ||
0218c012 UB |
8885 | 2007-04-10 Uros Bizjak <ubizjak@gmail.com> |
8886 | ||
8887 | * config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm" | |
8888 | alternative. | |
8889 | (fix_trunc<mode>si_sse): Ditto. | |
8890 | (*floatsisf2_mixed, *floatsisf2_sse): Ditto. | |
8891 | (*floatsidf2_mixed, *floatsidf2_sse): Ditto. | |
8892 | (*floatdisf2_mixed, *floatdisf2_sse): Ditto. | |
8893 | (*floatdidf2_mixed, *floatdidf2_sse): Ditto. | |
8894 | (floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize | |
8895 | expander using SSEMODEF mode macro. | |
8896 | (floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize | |
8897 | expander using SSEMODEF mode macro. | |
8898 | (*floathi<mode>2_i387): Rename from *floathisf2_i387 and | |
8899 | *floathidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
8900 | (*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and | |
8901 | *floatsidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
8902 | (*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and | |
8903 | *floatdidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
8904 | (float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2. | |
8905 | Macroize insn using X87MODEF mode macro. | |
8906 | ||
3117d1b5 L |
8907 | 2007-04-09 H.J. Lu <hongjiu.lu@intel.com> |
8908 | ||
8909 | * config/i386/sse.md (sse2_pinsrw): Removed. | |
8910 | (sse2_pextrw): Renamed to ... | |
8911 | (*sse2_pextrw): This. | |
8912 | ||
c141e499 JH |
8913 | 2007-04-09 Jan Hubicka <jh@suse.cz> |
8914 | ||
8915 | PR target/27869 | |
8916 | * config/i386/sse.md | |
8917 | (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. | |
8918 | (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. | |
8919 | (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. | |
8920 | (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. | |
8921 | ||
6e6e19cb JH |
8922 | 2007-04-09 Jan Hubicka <jh@suse.cz> |
8923 | ||
8924 | * tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into | |
8925 | multiple fields of union. | |
8926 | ||
c7b852c8 ZD |
8927 | 2007-04-09 Zdenek Dvorak <dvorakz@suse.cz> |
8928 | ||
8929 | * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge. | |
8930 | (create_preheaders): Check that loops are available. | |
8931 | (fix_loop_structure): Clean up, improve comments. | |
8932 | * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): | |
8933 | Check that loops are available. Set LOOP_CLOSED_SSA to the loops | |
8934 | state flags. | |
8935 | * tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info. | |
8936 | * predict.c (tree_estimate_probability): Do not call | |
8937 | calculate_dominance_info. Call create_preheaders. | |
8938 | * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call | |
8939 | rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state | |
8940 | flags. | |
8941 | * cfgloop.c (loop_preheader_edge): Assert that loops have preheaders. | |
8942 | * cfgloop.h (LOOP_CLOSED_SSA): New constant. | |
8943 | * tree-cfg.c (tree_split_edge): Make an assert more precise. | |
8944 | * tree-ssa-threadedge.c (thread_across_edge): Comment the function | |
8945 | arguments. | |
8946 | ||
c586d32a JH |
8947 | 2007-04-08 Jan Hubicka <jh@suse.cz> |
8948 | ||
8949 | * tree.h (maybe_fold_offset_to_component_ref): Declare. | |
8950 | * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export. | |
8951 | * fold-const.c (fold_unary): Use it. | |
8952 | ||
136cdb22 AP |
8953 | 2007-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com> |
8954 | ||
8955 | * varasm.c (assemble_variable): Remove call to | |
8956 | lang_hooks.decls.prepare_assemble_variable. | |
8957 | * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill. | |
8958 | (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE. | |
8959 | * langhooks.h (lang_hooks_for_decls): Remove | |
8960 | prepare_assemble_variable. | |
8961 | ||
77c1632f MS |
8962 | 2007-04-08 Mike Stump <mrs@apple.com> |
8963 | ||
8964 | * config/i386/i386.c: Use inc/dec on Core2. | |
8965 | ||
cb9c159d SB |
8966 | 2007-04-08 Steven Bosscher <steven@gcc.gnu.org> |
8967 | ||
8968 | * langhooks.c (lhd_tree_inlining_add_pending_fn_decls, | |
8969 | lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, | |
8970 | lhd_tree_inlining_end_inlining): Remove. | |
8971 | * langhooks.h (struct lang_hooks_for_tree_inlining): Remove then | |
8972 | add_pending_fn_decls, anon_aggr_type_p, start_inlining, and | |
8973 | end_inlining hooks. | |
8974 | * langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls, | |
8975 | lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, | |
8976 | lhd_tree_inlining_end_inlining): Remove prototypes. | |
8977 | (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS, | |
8978 | LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, | |
8979 | LANG_HOOKS_TREE_INLINING_START_INLINING, | |
8980 | LANG_HOOKS_TREE_INLINING_END_INLINING): Remove. | |
8981 | ||
8982 | * c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do | |
8983 | not set it. | |
8984 | ||
d8a1f0fb AS |
8985 | 2007-04-08 Anatoly Sokolov <aesok@post.ru> |
8986 | ||
8987 | PR target/29932 | |
8988 | * config/avr/predicates.md (io_address_operand): Delete predicate. | |
8989 | (low_io_address_operand): Don't use 'mode' argument. | |
8990 | (higth_io_address_operand): Rename ... | |
8991 | (high_io_address_operand): ... to this. Don't use 'mode' argument. | |
8992 | * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust | |
8993 | for above change. | |
8994 | ||
270c60bb DB |
8995 | 2007-04-07 Daniel Berlin <dberlin@dberlin.org> |
8996 | ||
8997 | Revert change removing staticp. | |
8998 | ||
ee57a661 AS |
8999 | 2007-04-07 Anatoly Sokolov <aesok@post.ru> |
9000 | ||
9001 | PR target/30289 | |
54a88090 | 9002 | * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as |
ee57a661 AS |
9003 | earlyclobber. |
9004 | ||
ca178f85 BK |
9005 | 2007-04-07 Bruce Korb <bkorb@gnu.org> |
9006 | ||
9007 | * c.opt: Add -Wformat-contains-nul. | |
9008 | * c-format.c (set_Wformat): Set warn_format_contains_nul to the | |
9009 | -Wformat setting. | |
9010 | (check_format_info_main): Check OPT_Wformat_contains_nul before emitting | |
9011 | the NUL byte warning. | |
9012 | ||
594dc048 L |
9013 | 2007-04-07 H.J. Lu <hongjiu.lu@intel.com> |
9014 | ||
9015 | * config/i386/i386.c (ix86_handle_option): Handle SSSE3. | |
9016 | ||
1df918ac DB |
9017 | 2007-04-06 Daniel Berlin <dberlin@dberlin.org> |
9018 | ||
9019 | * tree.c (staticp): No longer use staticp langhook. | |
9020 | * langhooks.c (lhd_staticp): Removed. | |
9021 | * langhooks.h (struct lang_hooks): Remove staticp. | |
9022 | * c-common.c (c_staticp): Remove. | |
9023 | * c-common.h (c_staticp): Ditto. | |
9024 | * langhooks-defs.h (lhd_staticp): Ditto. | |
9025 | (LHD_HOOKS_STATICP): Ditto | |
9026 | * tree.h (gcc_assert_lowered): New macro. | |
9027 | ||
ac84e05e ZD |
9028 | 2007-04-06 Zdenek Dvorak <dvorakz@suse.cz> |
9029 | ||
9030 | * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use | |
9031 | argument "reliable". | |
9032 | (infer_loop_bounds_from_ref, infer_loop_bounds_from_array): | |
9033 | Add argument "reliable". Propagate it through calls. | |
9034 | (infer_loop_bounds_from_undefined): Derive number of iterations | |
9035 | estimates from references in blocks that do not dominate loop latch. | |
9036 | (gcov_type_to_double_int): New function. | |
9037 | (estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int | |
9038 | and expected_loop_iterations_unbounded. | |
9039 | * cfgloopanal.c (expected_loop_iterations_unbounded): New function. | |
9040 | (expected_loop_iterations): Use expected_loop_iterations_unbounded. | |
9041 | * tree-data-ref.c (estimated_loop_iterations): Export. | |
9042 | (get_references_in_stmt): Fix -- do not return addresses of local | |
9043 | objects. | |
9044 | * cfgloop.h (expected_loop_iterations_unbounded, | |
9045 | estimated_loop_iterations): Declare. | |
9046 | ||
4de5c5d3 AT |
9047 | 2007-04-06 Andreas Tobler <a.tobler@schweiz.org> |
9048 | ||
9049 | * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. | |
9050 | ||
a344e3cb UB |
9051 | 2007-04-06 Uros Bizjak <ubizjak@gmail.com> |
9052 | ||
9053 | * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2 | |
9054 | and extenddfxf2. Macroize expander using X87MODEF12 mode macro. | |
9055 | (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1): | |
9056 | Use output_387_reg_move(). | |
9057 | (*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize | |
9058 | expander using X87MODEF12 mode macro. | |
9059 | (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when | |
9060 | choosing register preferences. Use output_387_reg_move(). | |
9061 | (*truncxfdf2_mixed): Combine alternatives, use "r" alternative | |
9062 | instead of "x". Use output_387_reg_move(). | |
9063 | (*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and | |
9064 | *truncxfdf2_i387_noop. Macroize insn using X87MODEF12 mode macro. | |
9065 | (*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and | |
9066 | *truncxfdf2_i387. Macroize insn using X87MODEF12 mode macro. | |
9067 | Use output_387_reg_move(). | |
9068 | (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12 | |
9069 | mode macro. | |
9070 | (*truncxf?f_i387 splitter): Ditto. | |
9071 | ||
9c269bf8 DB |
9072 | 2007-04-06 Daniel Berlin <dberlin@dberlin.org> |
9073 | ||
9074 | * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove | |
9075 | LANG_HOOKS_SAFE_FROM_P. | |
9076 | * expr.c (safe_from_p): Remove langhook call. | |
9077 | * langhooks.h (lang_hooks): Remove safe_from_p. | |
9078 | (lhd_safe_from_p): Remove prototype. | |
9079 | * langhooks.c (lhd_safe_from_p): Remove. | |
54a88090 | 9080 | |
b521dcbe JH |
9081 | 2007-04-06 Jan Hubicka <jh@suse.cz> |
9082 | ||
9083 | * cgraphunit.c (decide_is_function_needed): Do not keep always_inline | |
9084 | functions. | |
9085 | ||
d869c351 UB |
9086 | 2007-04-06 Uros Bizjak <ubizjak@gmail.com> |
9087 | ||
9088 | * config/i386/i386.c (output_387_reg_move): Handle memory operand[0]. | |
9089 | * config/i386/i386.md (*movsf_1, *movdf_nointeger, | |
9090 | *movdf_integer_rex64, *movdf_integer, *movxf_nointeger, | |
9091 | *movxf_integer): Use output_387_reg_move() for x87 reg->mem | |
9092 | alternative. | |
9093 | (*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387, | |
9094 | *extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto. | |
9095 | ||
e4bec638 RH |
9096 | 2007-04-05 Richard Henderson <rth@redhat.com> |
9097 | ||
9098 | * config/alpha/alpha.c (print_operand) [+]: Remove. | |
9099 | (alpha_end_function): Print nop if call at end of function. | |
9100 | * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +. | |
9101 | * config/alpha/alpha.md (UNSPEC_LDGP1): New. | |
9102 | (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New. | |
9103 | (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New. | |
9104 | (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into | |
9105 | the call pattern. Update peepholes to match. | |
9106 | ||
44aea9ac JJ |
9107 | 2007-04-05 Janis Johnson <janis187@us.ibm.com> |
9108 | ||
9109 | * doc/extend.texi (Other Builtins): Add decimal float variants | |
9110 | of signbit. | |
9111 | * builtins.def: Ditto. | |
9112 | * builtins.c (expand_builtin): Ditto. | |
9113 | ||
27120a59 UB |
9114 | 2007-04-05 Uros Bizjak <ubizjak@gmail.com> |
9115 | H.J. Lu <hongjiu.lu@intel.com> | |
9116 | ||
9117 | PR target/31478 | |
9118 | * config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead | |
9119 | of V8HImode when calling ix86_binary_operator_ok. | |
9120 | (sse2_pmaddwd): Call ix86_binary_operator_ok. | |
9121 | (sdot_prodv8hi): Operands 1 and 2 must be register. | |
9122 | ||
fa574e51 AO |
9123 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
9124 | ||
9125 | * tree-sra.c (try_instantiate_multiple_fields): Needlessly | |
9126 | initialize align to silence bogus warning. | |
9127 | ||
dc808df6 AO |
9128 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
9129 | ||
9130 | PR middle-end/22156 | |
9131 | * tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove | |
9132 | all_no_warning. | |
9133 | (struct sra_walk_fns): Remove use_all parameter from use. | |
9134 | (sra_hash_tree): Handle BIT_FIELD_REFs. | |
9135 | (sra_elt_hash): Don't hash bitfld blocks. | |
9136 | (sra_elt_eq): Skip them in parent compares as well. Handle | |
9137 | BIT_FIELD_REFs. | |
9138 | (sra_walk_expr): Don't maintain or pass down use_all_p. | |
9139 | (scan_use): Remove use_all parameter. | |
9140 | (scalarize_use): Likewise. Re-expand assignment to | |
9141 | BIT_FIELD_REF of gimple_reg. De-scalarize before input or | |
9142 | output, and re-scalarize after output. Don't mark anything | |
9143 | for no warning. | |
9144 | (scalarize_ldst): Adjust. | |
9145 | (scalarize_walk_gimple_modify_statement): Likewise. | |
9146 | (build_element_name_1): Handle BIT_FIELD_REFs. | |
9147 | (instantiate_element): Don't warn for any element whose parent | |
9148 | is used as a whole. | |
9149 | (instantiate_missing_elements_1): Return the sra_elt. | |
9150 | (canon_type_for_field): New. | |
9151 | (try_instantiate_multiple_fields): New. | |
9152 | (instantiate_missing_elemnts): Use them. | |
9153 | (mark_no_warning): Removed. | |
9154 | (generate_one_element_ref): Handle BIT_FIELD_REFs. | |
9155 | (REPLDUP, sra_build_elt_assignment): New. | |
9156 | (generate_copy_inout): Use them. | |
9157 | (generate_element_copy): Likewise. Handle bitfld differences. | |
9158 | (generate_element_zero): Don't recurse for blocks. Use | |
9159 | sra_build_elt_assignment. | |
9160 | (generate_one_element_int): Take elt instead of var. Use | |
9161 | sra_build_elt_assignment. | |
9162 | (generate_element_init_1): Adjust. | |
9163 | (scalarize_use, scalarize_copy): Use REPLDUP. | |
9164 | (scalarize_ldst): Move assert before dereference. | |
9165 | (dump_sra_elt_name): Handle BIT_FIELD_REFs. | |
9166 | ||
21f7aaa4 SB |
9167 | 2007-04-05 Steven Bosscher <steven@gcc.gnu.org> |
9168 | ||
9169 | * regmove.c: Fix unused variable warnings due to previous commit. | |
9170 | ||
a78f3e71 SB |
9171 | 2007-04-05 Steven Bosscher <steven@gcc.gnu.org> |
9172 | ||
9173 | * regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize. | |
9174 | (regmove_bb_head): Remove. | |
9175 | (copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD. | |
9176 | (regmove_optimize): Don't do unnecessary CFG fixes for non-existing | |
9177 | problems with fixup_match_1. | |
9178 | Don't initialize/free regmove_bb_head. | |
9179 | ||
9180 | (reg_is_remote_constant_p): If an insn is in the same basic block | |
9181 | but not before INSN, consider it remote, too. | |
9182 | ||
f9ca0dee AS |
9183 | 2007-04-05 Anatoly Sokolov <aesok@post.ru> |
9184 | ||
9185 | PR target/25448 | |
54a88090 | 9186 | * config/avr/avr.c (avr_handle_fndecl_attribute): Use the |
f9ca0dee AS |
9187 | DECL_ASSEMBLER_NAME, not the DECL_NAME. |
9188 | ||
7706ca5d L |
9189 | 2007-04-05 H.J. Lu <hongjiu.lu@intel.com> |
9190 | ||
9191 | * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat. | |
9192 | (CONDITIONAL_REGISTER_USAGE): Likewise. | |
9193 | ||
51a6c5b3 RH |
9194 | 2007-04-04 Richard Henderson <rth@redhat.com> |
9195 | ||
9196 | * config/alpha/lib1funcs.asm: Remove unused file. | |
9197 | ||
b5456e04 BM |
9198 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
9199 | ||
9200 | PR other/31356 | |
9201 | * opts.c (print_specific_help): Fix --help=<language> | |
9202 | header line. | |
9203 | (common_handle_option): Support --help=common. | |
9204 | ||
2c4c82dd BM |
9205 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
9206 | ||
9207 | PR other/31353 | |
9208 | * gcc.c (main): Do not run the linker if | |
9209 | print_subprocess_help indicates that it shouldn't be | |
9210 | run. | |
9211 | ||
5bb43e6d BM |
9212 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
9213 | ||
9214 | PR doc/31355 | |
9215 | * doc/invoke.texi (--help=): Document <languages> value, fix | |
9216 | formatting in tables of values. | |
9217 | ||
6acd8838 DS |
9218 | 2007-04-04 Danny Smith <dannysmith.users.sourceforge.net> |
9219 | ||
9220 | * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore | |
9221 | dllimport attribute of virtual methods. | |
9222 | ||
c6681463 CL |
9223 | 2007-04-04 Chen Liqin <liqin@sunnorth.com.cn> |
9224 | ||
c7a2139b RH |
9225 | * config/score/crti.asm: Change _bss_start to __bss_start. |
9226 | * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. | |
9227 | (OUTGOING_REG_PARM_STACK_SPACE) update. | |
9228 | * config/score/score.opt: add options to make backend support | |
9229 | score5, score5u, score7 and score7d. | |
9230 | * config/score/score.md: Likewise. | |
9231 | * config/score/misc.md: Likewise. | |
9232 | * config/score/mac.md: Likewise. | |
9233 | * doc/invoke.texi: Likewise. | |
9234 | * doc/md.texi: update constraints define. | |
c6681463 | 9235 | |
fdd84500 RH |
9236 | 2007-04-03 Richard Henderson <rth@redhat.com> |
9237 | ||
9238 | * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield | |
9239 | an appropriate type, use the mode instead. | |
9240 | ||
9200d6c8 RS |
9241 | 2007-04-03 Richard Sandiford <richard@codesourcery.com> |
9242 | ||
9243 | * config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file. | |
9244 | Set the default --with-arch setting to mips2. | |
9245 | * config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES) | |
9246 | (MULTILIB_EXCEPTIONS): Redefine with new multilibs. | |
9247 | (MULTILIB_OSDIRNAMES): Delete. | |
9248 | (MULTILIB_DIRNAMES): Define. | |
9249 | * config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC. | |
9250 | (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define. | |
9251 | (TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC | |
9252 | definitions, except for _WRS_R3K_EXC_SUPPORT. Call | |
9253 | VXWORKS_OS_CPP_BUILTINS. | |
9254 | (SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC. | |
9255 | (MIPS_DEBUGGING_INFO): Undefine. | |
9256 | (FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER. | |
9257 | ||
0a9430a8 JJ |
9258 | 2007-04-03 Jakub Jelinek <jakub@redhat.com> |
9259 | ||
9260 | PR middle-end/30704 | |
9261 | * fold-const.c (native_encode_real): Encode real.c provided longs | |
9262 | as a series of 32-bit native integers. | |
9263 | (native_interpret_real): Interpret buffer as a series of 32-bit | |
9264 | native integers. | |
9265 | ||
5be527d0 RG |
9266 | 2007-04-03 Richard Guenther <rguenther@suse.de> |
9267 | ||
9268 | * genpreds.c (write_insn_constraint_len): Write function | |
9269 | optimized for CONSTRAINT_LEN implementation. | |
9270 | (write_tm_preds_h): Output insn_constraint_len inline and | |
9271 | use it for CONSTRAINT_LEN. | |
9272 | (write_insn_preds_c): Don't output insn_constraint_len. | |
9273 | * doc/md.texi (define_register_constraint): Document multi-letter | |
9274 | constraints shall have the same length if they start with the same | |
9275 | letter. | |
9276 | ||
81e864cb UB |
9277 | 2007-04-03 Uros Bizjak <ubizjak@gmail.com> |
9278 | ||
9279 | PR target/31175 | |
9280 | * config/i386/i386.md (isinf<mode>2): Expand only when | |
9281 | TARGET_C99_FUNCTIONS is set. | |
9282 | ||
577565f9 UB |
9283 | 2007-04-03 Uros Bizjak <ubizjak@gmail.com> |
9284 | ||
9285 | * config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file. | |
9286 | (x86_64-*-linux*): Ditto. | |
9287 | * config/i386/i386.opt (mpc): New option. | |
9288 | * config/i386/i386.c (overrride_options): Handle | |
9289 | ix87_precision_string. | |
9290 | * config/i386/crtprec.c: New file. | |
9291 | * config/i386/t-crtpc: Ditto. | |
9292 | * config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64 | |
9293 | and -mpc80 options. | |
9294 | * config/i386/linux64.h (ENDFILE_SPEC): Ditto. | |
9295 | * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add | |
9296 | crtprec32.o, crtprec64.o and crtprec80.o. | |
9297 | ||
9298 | * doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64 | |
9299 | and -mpc80 options. | |
9300 | (i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options. | |
9301 | ||
cb7ad97b EC |
9302 | 2007-04-02 Eric Christopher <echristo@apple.com> |
9303 | ||
9304 | * doc/invoke.texi (i386 and x86-64 Options): Document -m64 | |
9305 | limitations on darwin. | |
9306 | ||
c8bbabf2 AS |
9307 | 2007-04-02 Anatoly Sokolov <aesok@post.ru> |
9308 | ||
9309 | PR target/31137 | |
9310 | * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. | |
9311 | ||
f71e957e DK |
9312 | 2007-04-02 Dave Korn <dave.korn@artimi.com> |
9313 | ||
ae65d512 | 9314 | * doc/tm.texi (FUNCTION_MODE): Update and extend documentation. |
cb7ad97b | 9315 | |
c82476bf DK |
9316 | 2007-04-02 Dave Korn <dave.korn@artimi.com> |
9317 | ||
ae65d512 DK |
9318 | * libgcc2.h (exception_descriptor): Don't forward-declare. |
9319 | (__get_eh_table_language, __get_eh_table_version): Delete | |
c82476bf DK |
9320 | prototypes of long-dead functions. |
9321 | ||
53a853de DB |
9322 | 2007-04-01 Daniel Berlin <dberlin@dberlin.org> |
9323 | ||
9324 | * ebitmap.h: New file | |
9325 | * ebitmap.c: New file | |
9326 | * Makefile.in (ebitmap.o): New target. | |
9327 | ||
26cb3993 JH |
9328 | 2007-04-01 Jan Hubicka <jh@suse.cz> |
9329 | ||
9330 | * emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit | |
9331 | before very first instruction. | |
9332 | ||
9333 | 2007-04-01 Jan Hubicka <jh@suse.cz> | |
9334 | ||
9335 | * ggc-page.c (ggc_print_statistics): Fix formatting string to avoid | |
9336 | waring on 64bit hosts. | |
9337 | * bitmap.h: Fix typo in bitmap_head_def. | |
9338 | ||
5b52976b SB |
9339 | 2007-04-01 Steven Bosscher <steven@gcc.gnu.org> |
9340 | ||
9341 | PR rtl-optimization/31391 | |
9342 | * cfgcleanup.c (try_optimize_cfg): If a removed label is turned | |
9343 | into a DELETED_LABEL note, and the label is in an empty basic | |
9344 | block, update BB_END as well as BB_HEAD. | |
9345 | ||
af33044f RH |
9346 | 2007-04-01 Richard Henderson <rth@redhat.com> |
9347 | ||
9348 | PR tree-optimization/31169 | |
9349 | * tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop | |
9350 | to varying if the range is outside [0, prec-1]. | |
9351 | ||
1732457d RS |
9352 | 2007-04-01 Richard Sandiford <richard@codesourcery.com> |
9353 | ||
9354 | PR target/31388 | |
9355 | * config/mips/mips.md (load_const_gp): New insn. | |
9356 | * config/mips/mips.c (mips_split_symbol): Avoid using or creating | |
9357 | the MIPS16 GP pseudo register if no_new_pseudos. | |
9358 | (mips16_gp_pseudo_reg): Use gen_load_const_gp. | |
9359 | ||
ee05ef56 AP |
9360 | 2007-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com> |
9361 | ||
9362 | PR target/31364 | |
9363 | * config/rs6000/rs6000.md (call): Convert to LR hard reg for | |
9364 | secureplt. | |
9365 | (call_value): Likewise. | |
9366 | ||
c9516c38 | 9367 | 2007-03-31 Wolfgang Bangerth <bangerth@dealii.org> |
577565f9 | 9368 | Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
c9516c38 WB |
9369 | |
9370 | PR 14737 | |
9371 | * doc/invoke.texi: (optimization options): Reword description | |
9372 | of -ffast-math. Document its primary purpose. | |
cb7ad97b | 9373 | |
6be42dd4 RG |
9374 | 2007-03-31 Richard Guenther <rguenther@suse.de> |
9375 | ||
9376 | * omp-low.c (splay-tree.h): Include. | |
9377 | (lookup_decl): Replace splay-tree usage by pointer-map. | |
9378 | (maybe_lookup_decl): Likewise. | |
9379 | (new_omp_context): Likewise. | |
9380 | (delete_omp_context): Likewise. | |
9381 | * gimplify.c (splay-tree.h): Include. | |
9382 | * tree-inline.c (insert_decl_map): Replace splay-tree usage by | |
9383 | pointer-map. | |
9384 | (remap_ssa_name): Likewise. | |
9385 | (remap_decl): Likewise. | |
9386 | (remap_type_1): Likewise. | |
9387 | (remap_type): Likewise. | |
9388 | (copy_body_r): Likewise. | |
9389 | (expand_call_inline): Likewise. | |
9390 | (clone_body): Likewise. | |
9391 | (copy_tree_r): Likewise. | |
9392 | (remap_save_expr): Likewise. | |
9393 | (unsave_r): Likewise. | |
9394 | (unsave_expr_now): Likewise. | |
9395 | (tree_function_versioning): Likewise. | |
9396 | (build_duplicate_type): Likewise. | |
9397 | * tree-inline.h (pointer-set.h): Include instead of splay-tree.h. | |
9398 | (struct copy_body_data): Replace splay-tree by pointer-map. | |
9399 | * Makefile.in (TREE_INLINE_H): Depend on pointer-map.h, | |
9400 | not $(SPLAY_TREE_H). | |
9401 | (gimplify.o): Depend on $(SPLAY_TREE_H). | |
9402 | (omp-low.p): Likewise. | |
9403 | ||
d54a92b5 AS |
9404 | 2007-03-31 Anatoly Sokolov <aesok@post.ru> |
9405 | ||
cb7ad97b | 9406 | * config/avr/predicates.md (even_register_operand, |
d54a92b5 AS |
9407 | odd_register_operand): New predicates. |
9408 | * config/avr/avr.md (movw peephole2): New. | |
9409 | (movw_r peephole2): New. | |
9410 | ||
47ecd38d RAE |
9411 | 2007-03-30 Rafael Avila de Espindola <espindola@google.com> |
9412 | ||
9413 | * tree.h (get_signed_or_unsigned_type): New. | |
9414 | * fold-const.c (operand_equal_for_comparison_p): Use | |
9415 | get_signed_or_unsigned_type instead of | |
9416 | lang_hooks.types.signed_or_unsigned_type. | |
9417 | * expr.c (store_expr): Ditto. | |
9418 | * langhooks.c (get_signed_or_unsigned_type): New. | |
9419 | (lhd_signed_or_unsigned_type): New. | |
9420 | * langhooks.h (lhd_signed_or_unsigned_type): New. | |
9421 | * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define. | |
9422 | ||
ccf8e764 RH |
9423 | 2007-03-30 Richard Henderson <rth@redhat.com> |
9424 | ||
9425 | * tree-ssa-loop-ivopts.c: Include target.h. | |
9426 | (produce_memory_decl_rtl): Pass the rtx through encode_section_info. | |
9427 | (get_address_cost): Force SYMBOL_FLAG_LOCAL set. | |
9428 | (force_expr_to_var_cost): Use produce_memory_decl_rtl. | |
9429 | * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H. | |
9430 | ||
9431 | 2007-03-30 Richard Henderson <rth@redhat.com> | |
9432 | Kai Tietz <kai.tietz@onevision.com> | |
9433 | ||
9434 | * config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by | |
9435 | default for 64-bit. | |
9436 | (PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit. | |
9437 | (TARGET_64BIT_MS_ABI): New. | |
9438 | (DBX_REGISTER_NUMBER): Handle 64-bit. | |
9439 | (SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit. | |
9440 | (LONG_TYPE_SIZE): Force to 32. | |
9441 | (REG_PARM_STACK_SPACE): New. | |
9442 | (OUTGOING_REG_PARM_STACK_SPACE): New. | |
9443 | (REGPARM_MAX, SSE_REGPARM_MAX): New. | |
9444 | (HANDLE_PRAGMA_PUSH_POP_MACRO): New. | |
9445 | (STACK_BOUNDARY): Use 128 for 64-bit. | |
9446 | * config/i386/cygwin.asm: Use push/ret to preserve call stack. | |
9447 | Add 64-bit implementation. | |
9448 | * config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor | |
9449 | argument unused. | |
9450 | * config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New. | |
9451 | (override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI. | |
9452 | Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm | |
9453 | for 64-bit; use TARGET_SUBTARGET64_DEFAULT. | |
9454 | (ix86_handle_cconv_attribute): Don't warn when ignoring if | |
9455 | TARGET_64BIT_MS_ABI. | |
9456 | (ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI. | |
9457 | (ix86_pass_by_reference): Likewise. | |
9458 | (ix86_function_value_regno_p): Likewise. | |
9459 | (ix86_build_builtin_va_list): Likewise. | |
9460 | (ix86_va_start, ix86_gimplify_va_arg): Likewise. | |
9461 | (function_arg_advance_ms_64): New. | |
9462 | (function_arg_advance): Call it. | |
9463 | (function_arg_ms_64): New. | |
9464 | (function_arg): Call it. | |
9465 | (function_value_ms_64): New. | |
9466 | (ix86_function_value_1): Call it. | |
9467 | (return_in_memory_ms_64): New. | |
9468 | (ix86_return_in_memory): Call it. | |
9469 | (setup_incoming_varargs_ms_64): New. | |
9470 | (ix86_setup_incoming_varargs): Call it. | |
9471 | (ix86_expand_prologue): Handle 64-bit stack probing. | |
9472 | (legitimize_pic_address): Handle TARGET_64BIT_MS_ABI. | |
9473 | (output_pic_addr_const): Likewise. | |
9474 | (x86_this_parameter): Likewise. | |
9475 | (x86_output_mi_thunk): Likewise. | |
9476 | (x86_function_profiler): Likewise. | |
9477 | (TARGET_STRICT_ARGUMENT_NAMING): New. | |
9478 | * config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New. | |
9479 | (TARGET_64BIT_MS_ABI): New. | |
9480 | (CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI. | |
9481 | * config/i386/i386.md (allocate_stack_worker): Remove. | |
9482 | (allocate_stack_worker_32): Rename from allocate_stack_worker_1; | |
9483 | describe the clobber of eax without a match_scratch. | |
9484 | (allocate_stack_worker_postreload): Remove. | |
9485 | (allocate_stack_worker_64): Rename from allocate_stack_worker_rex64; | |
9486 | describe the clobbers of rax, r10, r11 properly; use __chkstk symbol. | |
9487 | (allocate_stack_worker_rex64_postreload): Remove. | |
9488 | (allocate_stack): Handle 64-bit. | |
9489 | * config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove. | |
9490 | * config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit. | |
9491 | (EXTRA_OS_CPP_BUILTINS): Handle 64-bit. | |
9492 | (STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT. | |
9493 | (STANDARD_STARTFILE_PREFIX_1): Likewise. | |
9494 | * config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New. | |
9495 | * config.build (x86_64-*-mingw*): New host. | |
9496 | * config.host (x86_64-*-mingw*): New host. | |
9497 | * config.gcc (x86_64-*-mingw*): New target. | |
9498 | * gthr-win32.h (__gthread_key_create): Mark dtor unused. | |
9499 | ||
121de39f RH |
9500 | 2007-03-30 Richard Henderson <rth@redhat.com> |
9501 | Kai Tietz <kai.tietz@onevision.com> | |
9502 | ||
9503 | * c-pragma.c (struct def_pragma_macro_value): New. | |
9504 | (struct def_pragma_macro): New. | |
9505 | (pushed_macro_table): New. | |
9506 | (dpm_hash, dpm_eq): New. | |
9507 | (handle_pragma_push_macro, handle_pragma_pop_macro): New. | |
9508 | (init_pragma): Install them. | |
9509 | * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New. | |
9510 | ||
6c7ac15d AS |
9511 | 2007-03-30 Anatoly Sokolov <aesok@post.ru> |
9512 | ||
cb7ad97b | 9513 | * config/avr/avr.c (avr_override_options): Clear |
6c7ac15d AS |
9514 | 'flag_delete_null_pointer_checks'. |
9515 | ||
cb68ec50 PC |
9516 | 2007-03-30 Paolo Carlini <pcarlini@suse.de> |
9517 | ||
9518 | PR c++/26099 | |
9519 | * c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN, | |
9520 | RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY, | |
9521 | RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR, | |
9522 | RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR, | |
9523 | RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF, | |
9524 | RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM, | |
9525 | RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as | |
9526 | C++ extensions. | |
9527 | * doc/extend.texi (Extensions to the C++ Language): Add Type Traits. | |
9528 | ||
c7a0240a SB |
9529 | 2007-03-30 Steven Bosscher <steven@gcc.gnu.org> |
9530 | ||
9531 | * regmove.c: Move all of pass_stack_adjustments from here... | |
9532 | * combine-stack-adj.c: ...to this new file. | |
9533 | * Makefile.in: Add rules for combine-stack-adj.o. | |
9534 | ||
f86289d5 ZD |
9535 | 2007-03-30 Zdenek Dvorak <dvorakz@suse.cz> |
9536 | ||
9537 | PR tree-optimization/31383 | |
7e08fa35 UB |
9538 | * tree-data-ref.c (affine_function_equal_p): Do not require the |
9539 | vectors to have the same length. | |
f86289d5 | 9540 | |
4f40bddf JH |
9541 | 2007-03-30 Jan Hubicka <jh@suse.cz> |
9542 | ||
59af4391 | 9543 | PR middle-end/30700 |
cb7ad97b | 9544 | * dwarf2out.c (reference_to_unused): Ask cgraph for functions |
4f40bddf JH |
9545 | availablility; add more sanity checking; ask varpool only about |
9546 | VAR_DECL. | |
9547 | ||
58c11467 RH |
9548 | 2007-03-29 Richard Henderson <rth@redhat.com> |
9549 | ||
9550 | * unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG | |
9551 | to decide, but __SIZEOF_LONG_LONG__. | |
9552 | ||
5b77de89 RH |
9553 | 2007-03-29 Richard Henderson <rth@redhat.com> |
9554 | ||
9555 | * emutls.c (struct __emutls_array): New. | |
9556 | (emutls_destroy): Use it instead of casting element 0 from void*. | |
9557 | (__emutls_get_address): Likewise. | |
9558 | ||
da489f73 RH |
9559 | 2007-03-29 Richard Henderson <rth@redhat.com> |
9560 | ||
9561 | * varasm.c (initializer_constant_valid_p): Don't deny | |
9562 | DECL_DLLIMPORT_P on functions. | |
9563 | ||
9564 | * config/i386/cygming.h: Remove function declarations. | |
9565 | (SUBTARGET_ENCODE_SECTION_INFO): Don't undef first. | |
9566 | (ASM_OUTPUT_LABELREF): Remove. | |
9567 | (COMMON_ASM_OP): Remove. | |
9568 | (ASM_OUTPUT_COMMON): Remove. | |
9569 | (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. | |
9570 | (ASM_DECLARE_OBJECT_NAME): Use i386_pe_maybe_record_exported_symbol. | |
9571 | (ASM_DECLARE_FUNCTION_NAME): Likewise. | |
9572 | * config/i386/i386-interix.h (SUBTARGET_ENCODE_SECTION_INFO): | |
9573 | Rename from TARGET_ENCODE_SECTION_INFO. | |
9574 | * config/i386/netware.h: Likewise. | |
9575 | * config/i386/i386-protos.h: Update. | |
9576 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Turn ifdef | |
9577 | of TARGET_DLLIMPORT_DECL_ATTRIBUTES into straight if. | |
9578 | (legitimate_constant_p): Reject dllimports. | |
9579 | (dllimport_map, get_dllimport_decl): New. | |
9580 | (legitimize_dllimport_symbol): New. | |
9581 | (legitimize_address, ix86_expand_move): Use it. | |
9582 | (TARGET_BINDS_LOCAL_P): Redefine for TARGET_DLLIMPORT_DECL_ATTRIBUTES. | |
9583 | * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Remove. | |
9584 | (SYMBOL_FLAG_DLLIMPORT, SYMBOL_REF_DLLIMPORT_P): New. | |
9585 | (SYMBOL_FLAG_DLLEXPORT, SYMBOL_REF_DLLEXPORT_P): New. | |
9586 | * config/i386/predicates.md (constant_call_address_operand): Only | |
9587 | accept symbols; reject dllimport_p symbols. | |
9588 | * config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Use | |
9589 | i386_pe_maybe_record_exported_symbol. | |
9590 | * config/i386/winnt.c (DLL_IMPORT_PREFIX, DLL_EXPORT_PREFIX): Remove. | |
9591 | (i386_pe_determine_dllexport_p): Rename from i386_pe_dllexport_p. | |
9592 | (i386_pe_determine_dllimport_p): Rename from i386_pe_dllimport_p; | |
9593 | trust the setting of DECL_DLLIMPORT_P. | |
9594 | (i386_pe_dllexport_name_p, i386_pe_dllimport_name_p): Remove. | |
9595 | (i386_pe_mark_dllexport, i386_pe_mark_dllimport): Remove. | |
9596 | (gen_stdcall_or_fastcall_suffix): Return NULL if no change required; | |
9597 | tidy the argument scanning loop. | |
9598 | (i386_pe_encode_section_info): Set SYMBOL_FLAG_DLLIMPORT and | |
9599 | SYMBOL_FLAG_DLLEXPORT in SYMBOL_REF_FLAGS. | |
9600 | (i386_pe_strip_name_encoding): Remove. | |
9601 | (i386_pe_binds_local_p): New. | |
9602 | (i386_pe_strip_name_encoding_full): Use default_strip_name_encoding. | |
9603 | (i386_pe_output_labelref): Remove. | |
9604 | (i386_pe_asm_output_aligned_decl_common): New. | |
9605 | (i386_pe_maybe_record_exported_symbol): Rename from | |
9606 | i386_pe_record_exported_symbol; check for dllexported symbols. | |
9607 | ||
311e3ff0 ZW |
9608 | 2007-03-29 Zack Weinberg <zack@mrtock.ucsd.edu> |
9609 | ||
9610 | * gengtype.c (oprintf): Mostly revert changes from 2007-03-26; | |
9611 | add comment explaining why vsnprintf cannot be used. | |
9612 | ||
e89886a0 DG |
9613 | 2007-03-29 Douglas Gregor <doug.gregor@gmail.com> |
9614 | ||
9615 | PR tree-optimization/30666 | |
9616 | * tree.c (build_complex_type): When creating type names for DWARF2 | |
9617 | debug info, create TYPE_DECLs for TYPE_NAME instead of | |
9618 | IDENTIFIER_NODEs. | |
9619 | (build_common_tree_nodes_2): Use build_complex_type when building | |
9620 | predefined complex types, to preserve canonical types. | |
9621 | ||
cab6e771 SB |
9622 | 2007-03-29 Steven Bosscher <steven@gcc.gnu.org> |
9623 | ||
9624 | * ifcvt.c (struct noce_if_info): Add then_else_reversed field. | |
9625 | (noce_get_alt_condition): Look at it to determine whether to | |
9626 | reverse the condition or not. | |
9627 | (noce_get_condition): Substitute the truth for lies. | |
9628 | (noce_find_if_block): Set the then_else_reversed field. | |
9629 | ||
ed31d14c LP |
9630 | 2007-03-29 Lars Poeschel <larsi@wh2.tu-dresden.de> |
9631 | ||
9632 | * config/fr30/fr30.md (movdi): Do not accept immediates as the | |
9633 | destination of this insn. | |
9634 | * config/fr30/fr30.c (fr30_move_double): Use emit_move_insn rather | |
9635 | than calling gen_rtx_SET directly. Use r0 to hold the value of | |
9636 | 'address + 4' rather than a stack based temporary which can be | |
9637 | mis-optimized away. | |
cb7ad97b | 9638 | |
833cd70a AK |
9639 | 2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
9640 | ||
9641 | * config/s390/s390.c (s390_secondary_input_reload_class, | |
9642 | s390_secondary_output_reload_class): Functions removed. | |
9643 | (s390_secondary_reload): New function. | |
9644 | (TARGET_SECONDARY_RELOAD): Target macro defined. | |
9645 | * config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS, | |
9646 | SECONDARY_OUTPUT_RELOAD_CLASS): Macro definitions removed. | |
9647 | * config/s390/s390.md ("reload_outti", "reload_outdi", | |
9648 | "reload_indi", "reload_insi", "reload_out<mode>", "reload_in<mode>", | |
9649 | "reload_out<mode>"): Expanders removed. | |
9650 | ("reload<mode>_plus", "reload<mode>_nonoffmem_in", | |
9651 | "reload<mode>_nonoffmem_out"): Expanders added. | |
9652 | ||
040f69eb AK |
9653 | 2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
9654 | ||
7e08fa35 UB |
9655 | * regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair |
9656 | action if SRC->DEST replacement failed anyway. | |
040f69eb | 9657 | |
4beb5c4b MS |
9658 | 2007-03-28 Mike Stump <mrs@apple.com> |
9659 | ||
9660 | * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. | |
9661 | * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. | |
ab1da110 | 9662 | * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef. |
4beb5c4b | 9663 | |
aafc814c DR |
9664 | 2007-03-28 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
9665 | ||
9666 | * config.gcc: Accept barcelona as a variant of amdfam10. | |
9667 | * config/i386/i386.c (override_options): Likewise. | |
9668 | * doc/invoke.texi: Likewise. | |
cb7ad97b | 9669 | |
8975ae22 EB |
9670 | 2007-03-28 Eric Botcazou <ebotcazou@adacore.com> |
9671 | ||
9672 | * tree-dfa.c (get_ref_base_and_extent): Do not expect positive | |
9673 | offsets for BIT_FIELD_REF and COMPONENT_REF. | |
9674 | ||
1c2e50d8 RG |
9675 | 2007-03-28 Richard Guenther <rguenther@suse.de> |
9676 | ||
9677 | * tree.c (is_global_var): Move ... | |
9678 | * tree-flow-inline.h (is_global_var): ... here. | |
9679 | * tree.h (is_global_var): Remove declaration. | |
9680 | ||
a646aded UB |
9681 | 2007-03-28 Uros Bizjak <ubizjak@gmail.com> |
9682 | ||
9683 | * config/i386/i386.h (X86_TUNE_PROMOTE_HIMODE_IMUL): New tuning | |
9684 | option. | |
9685 | (TARGET_TUNE_PROMOTE_HIMODE_IMUL): New define. Use new tuning option. | |
9686 | * config/i386/i386.c (ix86_tune_features): Initialize new | |
9687 | tuning option. | |
9688 | * config/i386/predicates.md (promotable_binary_operator): Use | |
9689 | TARGET_TUNE_PROMOTE_HIMODE_IMUL. | |
9690 | ||
e701c05c GZ |
9691 | 2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> |
9692 | ||
9693 | PR target/31380 | |
9694 | * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX. | |
9695 | ||
446347f9 | 9696 | 2007-03-28 Lars Poeschel <larsi@wh2.tu-dresden.de> |
08937250 LP |
9697 | |
9698 | * config/fr30/fr30.md (movsi_internal): Change destination | |
cb7ad97b | 9699 | constraint from m to V and add m to the end. |
08937250 | 9700 | |
52618376 CB |
9701 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
9702 | ||
9703 | * config/sh/sh.md (movsi_i): Fix type attribute. | |
9704 | ||
446347f9 | 9705 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
bbccf908 CB |
9706 | |
9707 | * config/sh/sh.md (movsi_ie): Fix memory constraints attribute length. | |
9708 | (movsf_ie): Likewise. | |
9709 | ||
27a0ce7d CB |
9710 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
9711 | ||
9712 | * config.gcc: Add sh4-300 to multilib. | |
9713 | * config/sh/t-mlib-sh4-300: New file. | |
9714 | ||
99cd7dd0 AK |
9715 | 2007-03-28 Andreas Krebbel <krebbel1@de.ibm.com> |
9716 | ||
9717 | * config/s390/s390.md ("fix_trunc<mode>di2"): New expander. | |
9718 | ("fix_trunc<DFP:mode>di2_dfp"): New insn definition renamed from | |
9719 | fix_trunc<mode>di2. | |
cb7ad97b | 9720 | ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use |
99cd7dd0 AK |
9721 | fix_trunc<DFP:mode>di2_dfp instead of fix_trunc<mode>di2. |
9722 | ("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2", | |
9723 | "fixuns_trunctddi2"): Whitespace fix. | |
9724 | ||
e318fc8f KK |
9725 | 2007-03-28 Kaz Kojima <kkojima@gcc.gnu.org> |
9726 | ||
9727 | * config/sh/sh.h (CALL_COOKIE_RET_TRAMP_SHIFT): Move after | |
9728 | the definition of struct sh_args. | |
9729 | (CALL_COOKIE_RET_TRAMP, CALL_COOKIE_STACKSEQ_SHIFT, | |
9730 | CALL_COOKIE_INT_REG_GET): Likewise. | |
9731 | ||
96647293 SB |
9732 | 2007-03-28 Steven Bosscher <steven@gcc.gnu.org> |
9733 | ||
9734 | * ifcvt.c (cond_exec_find_if_block): Return FALSE if no | |
9735 | transformations are applied successfully. | |
9736 | ||
00ffc97c DG |
9737 | 2007-03-27 Douglas Gregor <doug.gregor@gmail.com> |
9738 | ||
9739 | * tree.c (tree_contains_struct): Permit 512 tree codes. | |
9740 | * tree.h (tree_contains_struct): Ditto. | |
9741 | (MAX_TREE_CODES): Ditto. | |
9742 | (struct tree_base): Make CODE 16 bits, instead of 8 bits. Add | |
9743 | SPARE member to store remaining padding bits. | |
9744 | ||
39418b53 AS |
9745 | 2007-03-27 Anatoly Sokolov <aesok@post.ru> |
9746 | ||
cb7ad97b | 9747 | * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' |
39418b53 AS |
9748 | architecture. |
9749 | ||
a3bba767 JJ |
9750 | 2007-03-27 Janis Johnson <janis187@us.ibm.com> |
9751 | ||
0d74c0ee JJ |
9752 | * configure.ac: Fix assembler test for powerpc*-linux decimal float. |
9753 | * configure: Regenerate. | |
9754 | ||
a3bba767 JJ |
9755 | * configure: Regenerate using the correct version of autoconf. |
9756 | ||
9757 | 2007-03-27 Anatoly Sokolov <aesok@post.ru> | |
2cd11105 AS |
9758 | |
9759 | * config/avr/avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack | |
9760 | pointer regs. | |
9761 | * config/avr/avr.h (REGISTER_NAMES): Rename "__SPL__" and "__SPH__" | |
9762 | regs to "__SP_L__" and "__SP_H__". | |
9763 | ||
c21c775a RG |
9764 | 2007-03-27 Richard Guenther <rguenther@suse.de> |
9765 | ||
9766 | * tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and | |
cb7ad97b | 9767 | computations with it with a HOST_WIDE_INT variable. |
c21c775a | 9768 | |
6b692a83 MS |
9769 | 2007-03-26 Mike Stump <mrs@apple.com> |
9770 | ||
9771 | * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Add | |
9772 | objective-c-header, objective-c++-header and objc++-cpp-output | |
9773 | support. | |
9774 | * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Likewise. | |
9775 | ||
24bfafbc RH |
9776 | 2007-03-26 Richard Henderson <rth@redhat.com> |
9777 | ||
a646aded UB |
9778 | PR target/31361 |
9779 | * config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128, | |
9780 | IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128, | |
9781 | IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128, | |
9782 | IX86_BUILTIN_PSRLQ128): New. | |
9783 | (ix86_init_mmx_sse_builtins): Add them. | |
9784 | (ix86_expand_builtin): Expand them. | |
9785 | * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make | |
9786 | operand 2 be TImode. | |
9787 | * config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16, | |
9788 | _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32, | |
9789 | _mm_srli_epi64): Mark __B const. | |
9790 | (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. | |
9791 | (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, | |
cb7ad97b | 9792 | _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use |
a646aded | 9793 | new two-vector shift builtins. |
24bfafbc | 9794 | |
fa633851 ILT |
9795 | 2007-03-26 Ian Lance Taylor <iant@google.com> |
9796 | ||
9797 | PR tree-optimization/31345 | |
9798 | * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like | |
9799 | [+INF, +INF(OVF)] into VARYING. | |
9800 | ||
cff4720f ZW |
9801 | 2007-03-26 Zack Weinberg <zackw@panix.com> |
9802 | ||
01d419ae ZW |
9803 | * gengtype-parse.c: New file. |
9804 | * gengtype-yacc.y: Delete. | |
9805 | * gengtype-lex.l: Don't include gengtype-yacc.h. | |
9806 | Define YY_DECL and yyterminate appropriately for recursive | |
9807 | descent parser. yylval is now a string out-parameter to yylex. | |
9808 | (HWS, EOID): New shorthand. | |
9809 | (IWORD): Add a couple more types. | |
9810 | (yylex): Add a setup stanza. Remove the complex rules for | |
9811 | detecting GTY'ed types and typedefs; replace with simple | |
9812 | keyword detectors. Adjust everything for the changed | |
9813 | definition of yylval. Ignore all pp-directives, not just #define. | |
9814 | (yyerror): Delete. | |
9815 | (parse_file): Rename yybegin; do not call yyparse. | |
9816 | (yyend): New. | |
9817 | * gengtype.c (xasprintf): Export again. | |
9818 | (this_file): New. Use everywhere __FILE__ was being used. | |
9819 | (get_lang_bitmap): Special case types defined in gengtype.c. | |
9820 | (do_typedef, new_structure): Suppress definition of certain types. | |
9821 | (new_structure): Improve diagnostics of duplicate definitions. | |
9822 | Make sure location_s is associated with input.h. | |
9823 | (nreverse_pairs, define_location_structures): New functions. | |
9824 | (main): Improve tagging of kludge types. Remove old kludges | |
9825 | for input.h types; use define_location_structures. | |
9826 | * gengtype.h: Update prototypes. Define token codes here. | |
9827 | * Makefile.in: Remove all references to gengtype-yacc. | |
9828 | Add rules for gengtype-parse.o. Adjust rules for gengtype-lex.o | |
9829 | and gengtype. | |
9830 | * bitmap.h (struct bitmap_head_def): Coalesce definitions, | |
9831 | add GTY((skip)) to the field that's only conditionally there. | |
9832 | * doc/install.texi: Document that Bison is no longer required | |
9833 | unless building treelang. | |
9834 | ||
11a67599 ZW |
9835 | * gengtype.c: Don't include gtyp-gen.h. |
9836 | (srcdir): Declare here. | |
9837 | (base_files, lang_dir_names): Allocate dynamically. | |
9838 | (gt_files, num_gt_files, num_lang_dirs): New globals. | |
9839 | (measure_input_list, read_input_line, read_input_list) | |
9840 | (set_lang_bitmap): New functions. | |
9841 | (get_base_file_bitmap): Rename get_lang_bitmap and drastically | |
9842 | simplify, relying on read_input_list to set up the bitmaps. | |
9843 | (main): Arguments are no longer unused. Check for correct number | |
9844 | of command line arguments, set srcdir and srcdir_len, then call | |
9845 | read_input_list, before doing anything else. No need to worry | |
9846 | about duplicates in main loop. | |
9847 | * configure.ac: Simplify the calculation of all_gtfiles. | |
9848 | Put language tags in there. Don't set or substitute | |
9849 | all_gtfiles_files_langs or all_gtfiles_files_frags. | |
9850 | * Makefile.in: Revamp the way gengtype is invoked, now that it | |
9851 | takes a file on its command line with a much simpler format. | |
9852 | Remove or replace with gtyp-input.list all references to gtyp-gen.h. | |
9853 | (GTFILES): Remove duplicates and C source files. | |
9854 | * c-config-lang.in, cp/config-lang.in, objc/config-lang.in | |
9855 | * objcp/config-lang.in: Add c-pragma.h to gtfiles. | |
9856 | * configure: Regenerate. | |
9857 | ||
065ae611 ZW |
9858 | * gengtype.h: Remove all type definitions to gengtype.c; leave |
9859 | only definitions of options_p, type_p, and pair_p as opaque | |
9860 | pointers. Update prototypes. | |
9861 | * gengtype.c: Many type definitions moved here from gengtype.h. | |
9862 | Consolidate type definitions at the top of the file. | |
9863 | (xvasprintf): Delete. | |
9864 | (xasprintf): Make static. | |
9865 | (create_nested_pointer_option): Add 'next' parameter. | |
9866 | (create_field_all, create_field_at): New functions. | |
9867 | (create_field): Now a thin wrapper around create_field_all. | |
9868 | (create_optional_field): Rename create_optional_field_ and add | |
9869 | line argument. Original name is now a macro which supplies | |
9870 | __LINE__. | |
9871 | (oprintf): Use vsnprintf directly. | |
9872 | (close_output_files): Use fatal rather than perror/exit. | |
9873 | (note_def_vec, note_def_vec_alloc): Use create_field_at. | |
9874 | (main): Set progname. Don't use exit. | |
9875 | * gengtype-yacc.y (struct_fields): Use create_field_at. | |
9876 | (option, optionseqopt): Delete. | |
9877 | (optionseq): Consolidate productions from option here so we | |
9878 | can use the first argument to create_option. | |
9879 | ||
17defa6a ZW |
9880 | * gengtype-lex.l: Distinguish unions from structures in the |
9881 | token type. Don't call find_structure; return the tag as a string. | |
7e08fa35 UB |
9882 | * gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and |
9883 | ENT_UNION. Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is | |
9884 | string. Reorganize typedef_struct production accordingly. | |
17defa6a ZW |
9885 | Use create_nested_ptr_option. |
9886 | * gengtype.c (create_nested_ptr_option): New function. | |
9887 | * gengtype.h: Declare it. | |
9888 | ||
95161faf ZW |
9889 | * gengtype.h (struct type): Replace 'sc' with boolean, scalar_is_char. |
9890 | (string_type): Don't declare. | |
9891 | (do_scalar_typedef): Declare. | |
9892 | (create_scalar_type): Update prototype. | |
9893 | * gengtype.c (string_type): Make static. | |
9894 | (scalar_nonchar, scalar_char): New. | |
9895 | (do_scalar_typedef): Export. Always use scalar_nonchar for the type. | |
9896 | (resolve_typedef): Use scalar_nonchar for error recovery. | |
9897 | (create_scalar_type): Remove name_len field. Return scalar_char | |
9898 | or scalar_nonchar as appropriate. | |
9899 | (adjust_field_type): Look at scalar_is_char boolean to decide whether | |
9900 | to use string_type. | |
7e08fa35 UB |
9901 | (throughout): Use scalar_nonchar instead of calling |
9902 | create_scalar_type, whenever possible. | |
95161faf ZW |
9903 | (main): Initialize scalar_char and scalar_nonchar before calling |
9904 | gen_rtx_next. | |
9905 | * gengtype-lex.l: Adjust for removal of second argument to | |
9906 | create_scalar_type. Use yylval.s instead of yylval.t when | |
9907 | returning SCALAR. | |
9908 | * gengtype-yacc.y: Type of SCALAR is string. Call | |
9909 | create_scalar_type from type:SCALAR rule. Adjust for removal of | |
9910 | second argument to create_scalar_type. | |
9911 | ||
4a399aef ZW |
9912 | * vec.h: Remove all #if IN_GENGTYPE blocks. |
9913 | Add comment saying that changes may require adjustments to gengtype. | |
9914 | * gengtype.c: Don't include coretypes.h or tm.h. | |
9915 | Add comment to inclusion of errors.h. | |
9916 | (note_def_vec, note_def_vec_alloc): New functions. | |
9917 | * gengtype.h: Declare new functions. | |
9918 | * gengtype-lex.l: Don't include coretypes.h. | |
9919 | (YY_INPUT, macro_input, push_macro_expansion, mangle_macro_name): | |
9920 | Delete. | |
9921 | (update_lineno): Remove unnecessary prototype. | |
9922 | (DEF_VEC_* rules): Simplify using note_def_vec / note_def_vec_alloc. | |
9923 | (VEC rule): Just return VEC_TOKEN. | |
9924 | * gengtype-yacc.y (VEC_TOKEN): New token type. | |
9925 | (type): Add a production for VEC(a,b). | |
9926 | * Makefile.in: Update dependencies. | |
9927 | ||
d287ace6 ZW |
9928 | * gengtype-lex.l: Remove rules for parsing pointer-to-function |
9929 | typedefs that use the old PARAMS macro. | |
9930 | ||
cff4720f ZW |
9931 | * gengtype-lex.l: Remove all rules and states relating to yacc |
9932 | input files. | |
9933 | * gengtype-yacc.y: Similarly. | |
9934 | * gengtype.c (note_yacc_type): Delete function. | |
9935 | * gengtype.h: Update prototypes. | |
9936 | ||
71175bf3 JM |
9937 | 2007-03-26 Joseph Myers <joseph@codesourcery.com> |
9938 | ||
9939 | * tree-pretty-print.c (dump_generic_node): Report precision of | |
9940 | unnamed integer types. | |
9941 | ||
93242b9c SB |
9942 | 2007-03-26 Steven Bosscher <steven@gcc.gnu.org> |
9943 | ||
9944 | * ifcvt.c (noce_try_store_flag_constants): Don't check | |
9945 | no_new_pseudos here. | |
9946 | (noce_try_store_flag_constants): Don't check no_new_pseudos. | |
9947 | (noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove_arith, | |
9948 | noce_try_cmove_arith, noce_try_minmax, noce_try_abs, | |
9949 | noce_try_sign_mask): Likewise. | |
9950 | (if_convert): Check no_new_pseudos here. | |
9951 | ||
9952 | (cond_exec_process_if_block, noce_process_if_block, find_if_block): | |
9953 | Remove prototypes. | |
9954 | (struct noce_if_info): Add then_bb, else_bb, join_bb members. | |
9955 | (noce_get_condition): Handle new then_else_reversed argument. | |
9956 | (noce_init_if_info): Remove, fold into noce_find_if_block. | |
9957 | (noce_process_if_block): Take a struct noce_if_info as the | |
9958 | argument. Don't set up one based on ce_if_info. Update pointer | |
9959 | references accordingly. | |
9960 | (cond_move_process_if_block): Likewise. | |
9961 | (process_if_block): Removed. | |
9962 | (find_if_block): Removed. Move functionality two new functions, | |
9963 | noce_find_if_block and cond_exec_find_if_block. | |
9964 | (noce_find_if_block): New function. Be aware of IF-THEN-JOIN | |
9965 | blocks and the symmetric IF-ELSE-JOIN case. | |
9966 | (cond_exec_find_if_block): Also new function mostly based on old | |
9967 | find_if_block and process_if_block. | |
9968 | (find_if_header): Replace find_if_block call with separately | |
9969 | guarded calls to noce_find_if_block and cond_exec_find_if_block. | |
9970 | (find_cond_trap): Update noce_get_condition call. | |
9971 | (dead_or_predicable): Likewise. | |
9972 | ||
85acef0e JJ |
9973 | 2007-03-26 Jakub Jelinek <jakub@redhat.com> |
9974 | ||
9975 | * config/i386/i386.c (IX86_BUILTIN_CMPNEPD, IX86_BUILTIN_CMPNESD): | |
9976 | Remove. | |
9977 | (IX86_BUILTIN_PSLLW128, IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, | |
9978 | IX86_BUILTIN_PSRAW128, IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, | |
9979 | IX86_BUILTIN_PSRLD128, IX86_BUILTIN_PSRLQ128): Remove. | |
9980 | (ix86_init_mmx_sse_builtins): Remove v8hi_ftype_v8hi_v2di and | |
a646aded | 9981 | v4si_ftype_v4si_v2di. Remove __builtin_ia32_psllw128, |
85acef0e JJ |
9982 | __builtin_ia32_pslld128, __builtin_ia32_psllq128, |
9983 | __builtin_ia32_psrlw128, __builtin_ia32_psrld128, | |
9984 | __builtin_ia32_psrlq128, __builtin_ia32_psraw128 and | |
9985 | __builtin_ia32_psrad128 builtins. | |
9986 | ||
8dde5924 UB |
9987 | 2007-03-26 Uros Bizjak <ubizjak@gmail.com> |
9988 | ||
9989 | * reg-stack.c (replace_reg): Use IN_RANGE macro in gcc_assert(). | |
9990 | * config/i386/constraints.md | |
9991 | (define_constraint "I"): Use IN_RANGE macro. | |
9992 | (define_constraint "J"): Ditto. | |
9993 | (define_constraint "K"): Ditto. | |
9994 | (define_constraint "M"): Ditto. | |
9995 | (define_constraint "N"): Ditto. | |
9996 | (define_constraint "O"): Ditto. | |
9997 | * config/i386/predicates.md | |
9998 | (define_predicate "register_no_elim_operand"): Use IN_RANGE macro. | |
9999 | (define_predicate "const_0_to_3_operand"): Ditto. | |
10000 | (define_predicate "const_0_to_7_operand"): Ditto. | |
10001 | (define_predicate "const_0_to_15_operand"): Ditto. | |
10002 | (define_predicate "const_0_to_63_operand"): Ditto. | |
10003 | (define_predicate "const_0_to_255_operand"): Ditto. | |
10004 | (define_predicate "const_1_to_31_operand"): Ditto. | |
10005 | (define_predicate "const_2_to_3_operand"): Ditto. | |
10006 | (define_predicate "const_4_to_7_operand"): Ditto. | |
10007 | ||
a5ad2017 DE |
10008 | 2007-03-25 David Edelsohn <edelsohn@gnu.org> |
10009 | ||
10010 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Always clobber LR | |
10011 | in SImode for save_world. | |
10012 | * config/rs6000/altivec.md (save_world, restore_world): Convert to | |
10013 | LR hard reg. | |
10014 | ||
5773afc5 DN |
10015 | 2007-03-25 Dorit Nuzman <dorit@il.ibm.com> |
10016 | ||
10017 | PR tree-optimization/30784 | |
10018 | * fold-const.c (fold_ternary): Handle CONSTRUCTOR in case | |
10019 | BIT_FIELD_REF. | |
10020 | ||
3ece6cc2 RE |
10021 | 2007-03-25 Revital Eres <eres@il.ibm.com> |
10022 | ||
cff4720f ZW |
10023 | * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): |
10024 | Fold movement_possibility function into it. | |
3ece6cc2 | 10025 | |
e65a3857 DE |
10026 | 2007-03-25 David Edelsohn <edelsohn@gnu.org> |
10027 | ||
10028 | * config/rs6000/darwin.md (load_macho_picbase): Ignore operand 0. | |
10029 | (load_macho_picbase_{si,di}): Convert to LR hard reg. | |
10030 | (call_indirect_nonlocal_darwin64): Same. | |
10031 | (call_nonlocal_darwin64): Same. | |
10032 | (call_value_indirect_nonlocal_darwin64): Same. | |
10033 | (call_value_nonlocal_darwin64): Same. | |
10034 | (sibcall_nonlocal_darwin64): Same. | |
10035 | (sibcall_value_nonlocal_darwin64): Same. | |
10036 | (sibcall_symbolic_64): Same. | |
10037 | (sibcall_value_symbolic_64): Same. | |
10038 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove | |
10039 | LR pseudo. | |
10040 | (rs6000_emit_load_toc_table): Same. | |
10041 | * config/rs6000/altivec.md (restore_world): Convert to LR hard reg. | |
10042 | * config/rs6000/rs6000.md (mulh_call): Convert to LR hard reg. | |
10043 | (mull_call): Same. | |
10044 | (divss_call): Same. | |
10045 | (divus_call): Same. | |
10046 | (quoss_call): Same. | |
10047 | (quous_call): Same. | |
10048 | (load_toc_v4_pic_si): Same | |
10049 | (load_toc_v4_PIC_1): Same. | |
10050 | (load_toc_v4_PIC_1b): Same. | |
10051 | (call_indirect_aix{32,64}): Same. | |
10052 | (call_value_indirect_aix{32,64}): Same. | |
10053 | (call): Same. | |
10054 | (call_value): Same. | |
10055 | (call_local{32,64}): Same. | |
10056 | (call_value_local{32,64}): Same. | |
10057 | (call_indirect_nonlocal_aix{32,64}): Same. | |
10058 | (call_nonlocal_aix{32,64}): Same. | |
10059 | (call_value_indirect_nonlocal_aix{32,64}): Same. | |
10060 | (call_value_nonlocal_aix{32,64}): Same. | |
10061 | (call_indirect_nonlocal_sysv<mode>): Same. | |
10062 | (call_nonlocal_sysv<mode>): Same. | |
10063 | (call_value_indirect_nonlocal_sysv<mode>): Same. | |
10064 | (call_value_nonlocal_sysv<mode>): Same. | |
10065 | (sibcall): Same. | |
10066 | (sibcall_local{32,64}): Same. | |
10067 | (sibcall_value_local{32,64}): Same. | |
10068 | (sibcall_nonlocal_aix{32,64}): Same. | |
10069 | (sibcall_value_nonlocal_aix{32,64}): Same. | |
10070 | (sibcall_nonlocal_sysv<mode>): Same. | |
10071 | (sibcall_value): Same. | |
10072 | (sibcall_value_nonlocal_sysv<mode>): Same. | |
10073 | ||
3303be15 PB |
10074 | 2007-03-24 Paul Brook <paul@codesourcery.com> |
10075 | ||
10076 | * config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push. | |
10077 | * config/arm/linux-eabi.h: Remove legacy syscall hack. | |
10078 | ||
13f70342 RH |
10079 | 2007-03-24 Richard Henderson <rth@redhat.com> |
10080 | ||
10081 | * config/ia64/constraints.md: New file. | |
10082 | * config/ia64/predicates.md: Replace CONST_OK_FOR_? with | |
10083 | satisfies_constraint_?. | |
10084 | * config/ia64/ia64.c (ia64_move_ok, ia64_legitimate_constant_p, | |
10085 | ia64_reload_gp, spill_restore_mem, ia64_expand_prologue, | |
10086 | ia64_expand_epilogue, ia64_split_return_addr_rtx, ia64_rtx_costs, | |
10087 | ia64_output_mi_thunk): Likewise. | |
10088 | (ia64_const_ok_for_letter_p): Remove. | |
10089 | (ia64_const_double_ok_for_letter_p): Remove. | |
10090 | (ia64_extra_constraint): Remove. | |
10091 | * config/ia64/ia64.h (REG_CLASS_FROM_LETTER): Remove. | |
10092 | (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L, | |
10093 | CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O, CONST_OK_FOR_P, | |
10094 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_G, | |
10095 | CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT, | |
10096 | EXTRA_MEMORY_CONSTRAINT): Remove. | |
10097 | * config/ia64/ia64.md: Include constriants.md. Replace | |
10098 | CONST_OK_FOR_? with satisfies_constraint_?. | |
10099 | ||
79b87c74 MM |
10100 | 2007-03-23 Michael Meissner <michael.meissner@amd.com> |
10101 | H.J. Lu <hongjiu.lu@intel.com> | |
10102 | ||
10103 | * config/dfp-bit.h (DPD_BID_NAME): New macro to give either the | |
10104 | DPD or BID name. | |
10105 | (name macros): Use DPD_BID_NAME to convert names properly. | |
10106 | ||
10107 | * optabs.c (DECIMAL_PREFIX): Prefix string to use for the current | |
10108 | decimal floating point format. | |
10109 | (init_floating_libfuncs): Change decimal functions so that they | |
10110 | have a "bid_" prefix if the decimal system uses the BID format, | |
10111 | and "dpd_" prefix if the decimal system uses the DPD format. | |
10112 | (init_interclass_conv_libfuncs): Ditto. | |
10113 | (init_intraclass_conv_libfuncs): Ditto. | |
10114 | ||
10115 | * config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are | |
10116 | using the BID format. | |
10117 | ||
10118 | * configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say | |
10119 | whether we are using the BID decimal format. | |
10120 | * configure: Regenerate. | |
10121 | ||
10122 | * c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if | |
10123 | the compiler has decimal floating point enabled. Define | |
10124 | __DECIMAL_BID_FORMAT__ if BID decimal floating point is used | |
10125 | instead of DPD. | |
10126 | ||
10127 | * config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are | |
10128 | using the BID format. | |
10129 | ||
10130 | * configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say | |
10131 | whether we are using the BID decimal format. | |
10132 | * configure: Regenerate. | |
10133 | ||
10134 | * c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if | |
10135 | the compiler has decimal floating point enabled. Define | |
10136 | __DECIMAL_BID_FORMAT__ if BID decimal floating point is used | |
10137 | instead of DPD. | |
10138 | ||
10139 | * doc/install.texi (--enable-decimal-float): Document BID and DPD | |
10140 | options, and that it is enabled for i386/x86_64 systems. | |
10141 | ||
10142 | * Makefile.in (enable_decimal_float): New. | |
10143 | (DECNUMFMT): New. | |
10144 | (DECNUMINC): Add -I$(DECNUMFMT). | |
10145 | (DECNUM_H): Mov decimal32.h, decimal64.h and decimal128.h | |
10146 | to $(DECNUMFMT) from $(DECNUM). | |
10147 | ||
10148 | * configure.ac: Support * --enable-decimal-float={no,yes,bid,dpd}. | |
10149 | Substitute enable_decimal_float. | |
10150 | * configure: Regenerated. | |
10151 | ||
10152 | PR other/30529 | |
10153 | * config/dfp-bit.c (__dec_byte_swap): Use uint32_t instead of | |
10154 | unsigned long. | |
10155 | ||
10156 | * configure.ac: Enable decimal float for x86_64-*-linux*. | |
10157 | * configure: Regenerated. | |
10158 | ||
10159 | PR other/30530 | |
10160 | * dfp.c (decimal_real_arithmetic): Use decimal128FlipSign and | |
10161 | decimal128ClearSign to flip and clear the sign bit in decimal128. | |
10162 | (decimal_real_maxval): Set decimal128SetSign to set the sign | |
10163 | bit in decimal128. | |
10164 | ||
f870ab63 ILT |
10165 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
10166 | ||
10167 | * fold-const.c (fold_binary): Correct warning for X - c >= X. | |
10168 | ||
ed3d212b ILT |
10169 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
10170 | ||
10171 | * tree-dump.c (dump_files): Correct comment. | |
10172 | ||
c8539275 ILT |
10173 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
10174 | ||
10175 | * tree-vrp.c (operand_less_p): Ignore fold overflow warnings. | |
10176 | ||
ad21dab7 SB |
10177 | 2007-03-23 Steven Bosscher <steven@gcc.gnu.org> |
10178 | ||
10179 | * tracer.c (tracer): Don't take FLAGS argument. Assert we are | |
10180 | in cfglayout mode. Don't go into and out of cfglayout mode. | |
10181 | Link the blocks in the order of the constructed traces. | |
10182 | (rest_of_handle_tracer): Adjust call to tracer. | |
10183 | * loop-init.c (rtl_loop_init): Assert we are in cfglayout mode. | |
10184 | Don't go into cfglayout mode. | |
10185 | (rtl_loop_done): Don't go out of cfglayout mode. | |
10186 | * cfglayout.c (relink_block_chain): New function, split out from... | |
10187 | (fixup_reorder_chain): ...here. Remove redundant checking. | |
10188 | (cfg_layout_finalize): Don't clear the header, footer, and aux | |
10189 | fields here, move the code to do so to relink_block_chain. Likewise | |
10190 | for free_original_copy_tables. | |
10191 | * rtl.h (tracer): Update prototype. | |
10192 | * bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument. | |
10193 | Assert we are in cfglayout mode. Don't go into and out of cfglayout | |
10194 | mode. Use relink_block_chain to serialize the CFG according to the | |
10195 | new basic block order. Move targetm.cannot_modify_jumps_p check from | |
10196 | here... | |
10197 | (gate_handle_reorder_blocks): ...to here. | |
10198 | (duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check | |
10199 | from here... | |
10200 | (gate_duplicate_computed_gotos): ...to here. | |
10201 | (rest_of_handle_reorder_blocks): Don't see if anything has changed, | |
10202 | something always changes when going into and out of cfglayout mode. | |
10203 | Perform an expensive cfg cleanup while going into cfglayout mode. | |
10204 | Always update liveness information on HAVE_conditional_execution | |
10205 | targets. Reserialize the basic blocks and go out of cfglayout mode. | |
10206 | * reg-stack.c: Include cfglayout.h. | |
10207 | (rest_of_handle_stack_regs): Go into and out of cfglayout mode around | |
10208 | the call to reorder_basic_blocks. | |
10209 | * basic-block.h (reorder_basic_blocks): Update prototype. | |
10210 | (relink_block_chain): New prototype. | |
10211 | * passes.c (pass_outof_cfg_layout_mode): Move after cse2. | |
10212 | ||
00f9e1ca JM |
10213 | 2007-03-23 Joseph Myers <joseph@codesourcery.com> |
10214 | ||
10215 | * config/mips/mips.md (type, hazard, *movdi_32bit, | |
10216 | *movdi_gp32_fp64, *movdi_64bit, *movsi_internal, movcc, | |
10217 | *movhi_internal, *movqi_internal, *movsf_hardfloat, | |
10218 | *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, *movdf_softfloat, | |
10219 | movv2sf_hardfloat_64bit, load_df_low, load_df_high, store_df_high, | |
10220 | mthc1, mfhc1): Change xfer instruction type to mfc and mtc, as | |
10221 | applicable. | |
10222 | (movcc): Change first xfer to multi. | |
10223 | * config/mips/24k.md, config/mips/4100.md, config/mips/4300.md, | |
10224 | config/mips/5000.md, config/mips/5400.md, config/mips/5500.md, | |
10225 | config/mips/5k.md, config/mips/7000.md, config/mips/9000.md, | |
10226 | config/mips/generic.md: Change reservations using "xfer" to use | |
10227 | "mfc,mtc". | |
10228 | * config/mips/sb1.md (ir_sb1_mtxfer): Use "mtc" instead of | |
10229 | using match_operand. | |
10230 | (ir_sb1_mfxfer): Use "mfc" instead of using match_operand. | |
10231 | * config/mips/sr71k.md (ir_sr70_xfer_from): Use "mfc" instead of | |
10232 | examining mode. | |
10233 | (ir_sr70_xfer_to): Use "mtc" instead of examining mode. | |
10234 | ||
2ed941ec RH |
10235 | 2007-03-22 Richard Henderson <rth@redhat.com> |
10236 | ||
10237 | * config/i386/i386.c: Remove unnecessary function declarations. | |
10238 | Move targetm definition, and all related macros, to the end of | |
10239 | the file. Resort some functions to put definitions before uses. | |
10240 | (ix86_attribute_table): Make static. Move to end of file. | |
10241 | (ix86_gimplify_va_arg): Make static. | |
10242 | ||
ee2f65b4 RH |
10243 | 2007-03-22 Richard Henderson <rth@redhat.com> |
10244 | ||
10245 | * config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit; | |
10246 | don't increase local_regparm with force_align_arg_pointer check. | |
10247 | (ix86_function_sseregparm): Assert 32-bit. | |
10248 | (type_has_variadic_args_p): New. | |
10249 | (ix86_return_pops_args): Early exit for 64-bit. Reindent; use | |
10250 | type_has_variadic_args_p. | |
10251 | (ix86_function_arg_regno_p): Use == 0 instead of ! test for eax. | |
10252 | (init_cumulative_args): Remove TARGET_DEBUG_ARG. Remove zero_cum; | |
10253 | use memset instead. Do maybe_vaarg check first; skip attribute | |
10254 | tests if true; skip attribute tests for 64-bit. | |
10255 | (construct_container): Remove TARGET_DEBUG_ARG. | |
10256 | (function_arg_advance_32, function_arg_advance_64): Split out ... | |
10257 | (function_arg_advance): ... from here. | |
10258 | (function_arg_32, function_arg_64): Split out ... | |
10259 | (function_arg): ... from here. | |
10260 | (ix86_pass_by_reference): Tidy. | |
10261 | (ix86_function_value_regno_p): Rearrange w/ switch on regno. | |
10262 | (function_value_32): New, from parts of ix86_function_value | |
10263 | and ix86_value_regno. | |
10264 | (function_value_64): New, from parts of ix86_function_value | |
10265 | and ix86_libcall_value. | |
10266 | (ix86_function_value_1): New. | |
10267 | (ix86_function_value, ix86_libcall_value): Use it. | |
10268 | (return_in_memory_32, return_in_memory_64): Split out ... | |
10269 | (ix86_return_in_memory): ... from here. | |
10270 | (ix86_struct_value_rtx): Skip for 64-bit. | |
10271 | (ix86_libcall_value, ix86_value_regno): Remove. | |
10272 | (setup_incoming_varargs_64): Split out ... | |
10273 | (ix86_setup_incoming_varargs): ... from here. | |
10274 | (ix86_va_start): Remove TARGET_DEBUG_ARG. | |
10275 | (legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR. | |
10276 | * config/i386/i386-protos.h (ix86_function_value): Remove. | |
10277 | * config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove. | |
10278 | ||
92ef5cf9 MLI |
10279 | 2007-03-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
10280 | ||
10281 | PR other/23572 | |
10282 | * c-lex.c (interpret_float): On overflow, emit pedantic warning if | |
10283 | infinities not supported, otherwise emit warning if -Woverflow. On | |
10284 | underflow, emit warning if -Woverflow. | |
10285 | * real.c (real_from_string): Return -1 if underflow, +1 if overflow | |
10286 | and 0 otherwise. | |
10287 | * real.h (real_from_string): Update declaration | |
cff4720f | 10288 | |
ac294f0b KT |
10289 | 2007-03-22 Kai Tietz <kai.tietz@onevision.com> |
10290 | Richard Henderson <rth@redhat.com> | |
10291 | ||
10292 | * defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default. | |
10293 | * calls.c (compute_argument_block_size, expand_call, | |
10294 | emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE. | |
10295 | * expr.c (block_move_libcall_safe_for_call_parm): Likewise. | |
10296 | * function.c (STACK_DYNAMIC_OFFSET): Likewise. | |
10297 | * doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update. | |
10298 | * config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h, | |
10299 | config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h, | |
10300 | config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h, | |
10301 | config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE): | |
10302 | Set to 1. | |
10303 | ||
9a200623 JM |
10304 | 2007-03-22 Joseph Myers <joseph@codesourcery.com> |
10305 | ||
10306 | * c-incpath.c (add_sysroot_to_chain): New. | |
10307 | (merge_include_chains): Add sysroot argument. Call | |
10308 | add_sysroot_to_chain if sysrooted. | |
10309 | (register_include_chains): Update call to merge_include_chains. | |
10310 | * doc/cppopts.texi: Document use of '=' in include directory | |
10311 | arguments. | |
10312 | ||
8766652c UB |
10313 | 2007-03-22 Uros Bizjak <ubizjak@gmail.com> |
10314 | ||
10315 | * config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf. | |
10316 | Macroize expander using SSEMODEF mode macro. Use SSE_FLOAT_MODE_P. | |
10317 | (*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize | |
10318 | insn pattern using X87MODEF12 mode macro. | |
cff4720f | 10319 | |
1e4c6dc5 SP |
10320 | 2007-03-21 Seongbae Park <seongbae.park@gmail.com> |
10321 | ||
10322 | * regmove.c (regmove_optimize): Use reg_mentioned_p | |
10323 | instead of reg_overlap_mentioned_p for DST. | |
10324 | ||
2cbac420 MS |
10325 | 2007-03-21 Mike Stump <mrs@apple.com> |
10326 | ||
10327 | * c.opt: Fixup for Objective-C/C++. | |
10328 | ||
8766652c | 10329 | 2007-03-21 Steve Ellcey <sje@cup.hp.com> |
17939c98 SE |
10330 | |
10331 | * explow.c (convert_memory_address): Fold memory reference when | |
10332 | POINTERS_EXTEND_UNSIGNED < 0 | |
10333 | ||
b5cf27d7 RH |
10334 | 2007-03-21 Richard Henderson <rth@redhat.com> |
10335 | ||
10336 | PR target/31245 | |
10337 | * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias. | |
10338 | * config/i386/mmintrin.h (__m64): Likewise. | |
10339 | * config/i386/xmmintrin.h (__m128): Likewise. | |
10340 | ||
cb717c40 RS |
10341 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
10342 | ||
10343 | * config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options. | |
10344 | (VXWORKS_OS_CPP_BUILTINS): Define. | |
10345 | * config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into... | |
10346 | (TARGET_OS_CPP_BUILTINS): ...here. Use VXWORKS_OS_CPP_BUILTINS. | |
10347 | ||
2a450639 RS |
10348 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
10349 | ||
10350 | * rtl.h (constant_pool_reference_p): Delete. | |
10351 | (find_constant_src): Declare. | |
10352 | * rtlanal.c (find_constant_src): New function. | |
10353 | * simplify-rtx.c (constant_pool_reference_p): Delete. | |
10354 | * config/i386/i386.md: Use find_constant_src instead of | |
10355 | constant_pool_reference_p/avoid_constant_pool_reference pairs. | |
10356 | ||
7c0ffd09 RS |
10357 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
10358 | ||
10359 | * doc/invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__. | |
10360 | * c-cppbuiltin.c (c_cpp_builtins): Define them. | |
10361 | ||
9f296620 MM |
10362 | 2007-03-20 Mark Mitchell <mark@codesourcery.com> |
10363 | ||
10364 | * config/arm/elf.h (TARGET_ASM_DESTRUCTOR): Define. | |
10365 | * config/arm/arm.c (arm_elf_asm_cdtor): New function. | |
10366 | (arm_elf_asm_constructor): Use it. | |
10367 | (arm_elf_asm_destructor): New function. | |
10368 | ||
5dab4eb7 BS |
10369 | 2007-03-20 Bernd Schmidt <bernd.schmidt@analog.com> |
10370 | ||
10371 | * jump.c (mark_jump_label): Treat SEQUENCE specially. | |
10372 | ||
caaf5345 NS |
10373 | 2007-03-20 Nathan Sidwell <nathan@codesourcery.com> |
10374 | ||
10375 | * config/vxlib.c (tls_delete_hook): Use TCB for kernel tasks. | |
10376 | ||
2b312005 AH |
10377 | 2007-03-19 Andrew Haley <aph@redhat.com> |
10378 | ||
10379 | PR tree-optimization/31264 | |
10380 | * tree-vrp.c (register_edge_assert_for_1): Don't look though | |
10381 | VIEW_CONVERT_EXPRs. | |
10382 | ||
fb406162 PB |
10383 | 2007-03-19 Paolo Bonzini <bonzini@gnu.org> |
10384 | ||
10385 | PR rtl-optimization/30907 | |
10386 | * fwprop.c (forward_propagate_into): Never propagate inside a loop. | |
10387 | (fwprop_init): Always call loop_optimizer_initialize. | |
10388 | (fwprop_done): Always call loop_optimizer_finalize. | |
10389 | (fwprop): We always have loop info now. | |
10390 | (gate_fwprop_addr): Remove. | |
10391 | (pass_fwprop_addr): Use gate_fwprop as gate. | |
10392 | ||
10393 | PR rtl-optimization/30841 | |
10394 | * df-problems.c (df_ru_local_compute, df_rd_local_compute, | |
10395 | df_chain_alloc): Call df_reorganize_refs unconditionally. | |
10396 | * df-scan.c (df_rescan_blocks, df_reorganize_refs): Change | |
10397 | refs_organized to refs_organized_size. | |
10398 | (df_ref_create_structure): Use refs_organized_size instead of | |
10399 | bitmap_size if refs had been organized, and keep refs_organized_size | |
10400 | up-to-date. | |
10401 | * df.h (struct df_ref_info): Change refs_organized to | |
10402 | refs_organized_size. | |
10403 | (DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of | |
10404 | bitmap_size. | |
10405 | ||
0a85ec2e MM |
10406 | 2007-03-19 Mark Mitchell <mark@codesourcery.com> |
10407 | ||
10408 | * except.c (output_function_exception_table): Do not reference the | |
10409 | EH personality routine for functions that do not require an | |
10410 | exception table. | |
10411 | ||
5d8a5434 JJ |
10412 | 2007-03-20 Jakub Jelinek <jakub@redhat.com> |
10413 | ||
79077aea JJ |
10414 | PR c/30762 |
10415 | * c-typeck.c (convert_for_assignment): Call comptypes for | |
10416 | RECORD_TYPE or UNION_TYPE. | |
10417 | ||
5d8a5434 JJ |
10418 | PR inline-asm/30505 |
10419 | * reload1.c (reload): Do invalid ASM checking after | |
10420 | cleanup_subreg_operands. | |
10421 | ||
1799efef JL |
10422 | 2007-03-19 Jeff Law <law@redhat.com> |
10423 | ||
10424 | * tree-cfg.c (find_taken_edge): Tighten conditions for | |
10425 | optimizing computed gotos. | |
10426 | ||
1e395249 MM |
10427 | 2007-03-19 Michael Matz <matz@suse.de> |
10428 | ||
10429 | * builtins.c (expand_builtin_sync_operation, | |
10430 | expand_builtin_compare_and_swap, | |
10431 | expand_builtin_lock_test_and_set): Care for extending CONST_INTs | |
10432 | correctly. | |
10433 | ||
10434 | * config/i386/sync.md (sync_double_compare_and_swapdi_pic, | |
10435 | sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint | |
10436 | for operand 3. | |
10437 | ||
17f6dbbf AK |
10438 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
10439 | ||
10440 | * doc/tm.texi: Add brackets around the return type of | |
10441 | TARGET_SECONDARY_RELOAD. | |
10442 | ||
60e0af94 AP |
10443 | 2007-03-19 Andrew Pinski <andrew_pinski@playstation.sony.com> |
10444 | Richard Guenther <rguenther@suse.de> | |
10445 | ||
10446 | PR tree-optimization/31254 | |
10447 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): | |
10448 | Use handled_component_p () where appropriate. Continue | |
10449 | propagating into the rhs if we propagated into an INDIRECT_REF | |
10450 | on the lhs. | |
10451 | ||
609e7e80 AK |
10452 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
10453 | ||
10454 | * config/s390/s390.md (op_type attribute): RRR instruction type added. | |
10455 | (FP, DFP, SD_SF, DD_DF, TD_TF): New mode macros. | |
10456 | (xde, xdee): Mode attributes adjusted to support DFP modes. | |
10457 | (RRer, f0, op1, Rf, bt, bfp, HALF_TMODE): New mode attributes added. | |
10458 | ("cmp<mode>", "*cmp<mode>_css_0", "*cmp<mode>_ccs", TF move splitters, | |
cff4720f | 10459 | DF move splitters, "floatdi<mode>2", "add<mode>3", "*add<mode>3", |
609e7e80 AK |
10460 | "*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3", "*sub<mode>3", |
10461 | "*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3", "*mul<mode>3", | |
10462 | "div<mode>3", "*div<mode>3", "*neg<mode>2_nocc", "*abs<mode>2_nocc", | |
cff4720f | 10463 | "*negabs<mode>2_nocc", "copysign<mode>3"): Adjusted to support DFP |
609e7e80 AK |
10464 | numbers. |
10465 | ("*movtf_64", "*movtf_31", "*movdf_64dfp", "*movdf_64", "*movdf_31", | |
10466 | "movsf"): Insn definitions removed. | |
10467 | ("*mov<mode>_64", "*mov<mode>_31", "mov<mode>", "*mov<mode>_64dfp", | |
10468 | "*mov<mode>_64", "*mov<mode>_31", "fix_trunc<DFP:mode>di2", | |
10469 | "trunctddd2", "truncddsd2", "extendddtd2", "extendsddd2"): Insn | |
10470 | definitions added. | |
10471 | ("fixuns_truncdddi2", "fixuns_trunctddi2", "mov<mode>", | |
10472 | "reload_in<mode>", "reload_out<mode>"): Expander added. | |
10473 | ("movtf", "movdf", "reload_outtf", "reload_outdf", "reload_intf"): | |
10474 | Expander removed. | |
10475 | ||
7b6baae1 AK |
10476 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
10477 | ||
10478 | * config/s390/s390.md: Only non-functional changes. Renamed | |
10479 | FPR mode macro to BFP all over the file. | |
10480 | ||
85dae55a AK |
10481 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
10482 | ||
10483 | * config/s390/s390.md (UNSPEC_COPYSIGN): New constant. | |
10484 | (op_type attribute): RRF instruction type added. | |
10485 | (fT0): New mode attribute. | |
10486 | ("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc", | |
10487 | "*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added. | |
7e08fa35 UB |
10488 | * config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new |
10489 | instruction no secondary memory is needed when moving DFmode values | |
10490 | between GPRs and FPRs. | |
85dae55a | 10491 | |
3443392a AK |
10492 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
10493 | ||
10494 | * config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value | |
10495 | inverted and documentation adjusted. | |
10496 | ("mhard-dfp", "msoft-dfp"): New options. | |
10497 | * config/s390/s390.c (s390_handle_arch_option): New architecture | |
10498 | switch: z9-ec. | |
10499 | (override_options): Sanity checks for the new options added. | |
10500 | * config.gcc: New architecture switch: z9-ec. | |
10501 | * config/s390/s390.h (processor_flags): PF_DFP added. | |
10502 | (TARGET_CPU_DFP, TARGET_DFP): Macro definitions added. | |
10503 | (TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled | |
10504 | when the bit is NOT set so remove it from the defaults. | |
10505 | ||
c413e1b5 AK |
10506 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
10507 | ||
10508 | * genemit.c (main): Print include statement for dfp.h. | |
10509 | * dfp.h (decimal_real_arithmetic): Hide prototype if tree_code enum | |
10510 | is not available. | |
10511 | ||
1375006a HPN |
10512 | 2007-03-19 Hans-Peter Nilsson <hp@axis.com> |
10513 | ||
10514 | * config/cris/t-elfmulti (EXTRA_MULTILIB_PARTS): Do not define here. | |
10515 | ||
c6ac6e82 KK |
10516 | 2007-03-19 Kaz Kojima <kkojima@gcc.gnu.org> |
10517 | ||
10518 | PR target/31022 | |
10519 | * config/sh/sh.c (sh_adjust_cost): Use the result of single_set | |
10520 | instead of PATTERN. | |
10521 | ||
ecc418c4 JDA |
10522 | 2007-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
10523 | ||
10524 | * pa.c (output_deferred_plabels, output_bb, output_millicode_call, | |
10525 | attr_length_call, output_call, output_indirect_call): Cleanup | |
10526 | formatting of targetm calls. | |
10527 | ||
c3271cd2 HPN |
10528 | 2007-03-19 Hans-Peter Nilsson <hp@axis.com> |
10529 | ||
10530 | * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1. | |
10531 | ||
d4f2728a JDA |
10532 | 2007-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
10533 | ||
10534 | * pa.md: Add fpstore_load and store_fpload instruction types. Provide | |
7e08fa35 UB |
10535 | reservation, bypass and anti-bypass descriptions for these |
10536 | instructions. Update move patterns. | |
d4f2728a JDA |
10537 | * pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and |
10538 | TYPE_FPSTORE. | |
cff4720f | 10539 | |
f58e9734 DN |
10540 | 2007-03-18 Dorit Nuzman <dorit@il.ibm.com> |
10541 | ||
10542 | * tree-vect-transform.c (get_initial_def_for_induction): Replace | |
10543 | GET_MODE_NUNITS with TYPE_VECTOR_SUBPARTS. | |
10544 | (get_initial_def_for_reduction): Likewise. | |
10545 | ||
1e4816bc DB |
10546 | 2007-03-16 Daniel Berlin <dberlin@dberlin.org> |
10547 | ||
10548 | Fix PR tree-optimization/29922 | |
10549 | * tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members. | |
10550 | (get_representative): Removed. | |
10551 | (value_dies_in_block_x): Update for rvuse removal. | |
10552 | (valid_in_sets): Update for renaming of vuses_dies_in_block_x. | |
10553 | (compute_antic_aux): Handle when PHI nodes appear in | |
cff4720f | 10554 | non-single-successors. |
1e4816bc DB |
10555 | (dump_bitmap_of_names): Removed. |
10556 | (compute_antic_safe): Renamed and removed rvuse calculation. | |
10557 | Calculate only antic safe. | |
10558 | (insert_into_preds_of_block): Remove assert. | |
10559 | (execute_pre): Update for renamed functions. | |
10560 | (defer_or_phi_translate_block): New function. | |
cff4720f | 10561 | |
44c7bd63 KH |
10562 | 2007-03-17 Kazu Hirata <kazu@codesourcery.com> |
10563 | ||
10564 | * config/arm/arm.c, config/arm/thumb2.md, config/m68k/m68k.c, | |
10565 | config/spu/spu.c, omega.h, passes.c, predict.c: Fix comment | |
10566 | typos. | |
10567 | * doc/cpp.texi, doc/extend.texi, doc/invoke.texi: Fix typos. | |
10568 | Follow spelling conventions. | |
10569 | ||
79b8aae8 KH |
10570 | * tree-data-ref.h: Remove the prototype for analyze_array. |
10571 | ||
c492dc9a DN |
10572 | 2007-03-17 Dorit Nuzman <dorit@il.ibm.com> |
10573 | ||
10574 | PR tree-optimization/31041 | |
10575 | * tree-vect-transform.c (get_initial_def_for_induction): Call | |
10576 | force_gimple_operand. | |
cff4720f | 10577 | |
44d974b5 | 10578 | 2007-03-17 Olga Golovanevsky <olga@il.ibm.com> |
cff4720f | 10579 | |
44d974b5 OG |
10580 | * ipa-type-escape.c (look_for_casts) : Revert code to use |
10581 | handled_component_p due to ada test a-numaux.adb. | |
10582 | ||
604e4ce3 KH |
10583 | 2007-03-17 Kazu Hirata <kazu@codesourcery.com> |
10584 | ||
10585 | * final.c (final_scan_insn): Alter the condition of a | |
10586 | conditional trap if we have nonstandard CC. | |
10587 | ||
cf0eb7a1 AO |
10588 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
10589 | ||
10590 | * configure.ac: Remove excess quoting from asm line 0 test. | |
10591 | * configure: Rebuilt. | |
10592 | ||
07231d4f MLI |
10593 | 2007-03-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
10594 | ||
10595 | * doc/invoke.texi (-Wconversion): Document warnings specific to C++. | |
10596 | * c-common.c (convert_and_check): Move warning logic to... | |
10597 | (warnings_for_convert_and_check): ...here. Define. | |
10598 | * c-common.h (warnings_for_convert_and_check): Declare. | |
cff4720f | 10599 | |
aefd2606 JDA |
10600 | 2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
10601 | ||
10602 | * pa.c (attr_length_call): Partially revert change of 2007-03-09. | |
10603 | (output_call): Likewise. | |
10604 | ||
ad8577fd RS |
10605 | 2007-03-16 Richard Sandiford <richard@codesourcery.com> |
10606 | ||
10607 | * config/vxworks.h (SUPPORTS_INIT_PRIORITY): Define. | |
10608 | ||
d95d45fd RS |
10609 | 2007-03-16 Richard Sandiford <richard@codesourcery.com> |
10610 | ||
10611 | * config/vx-common.h (WINT_TYPE, WINT_TYPE_SIZE): Define. | |
10612 | ||
0935e091 UB |
10613 | 2007-03-16 Uros Bizjak <ubizjak@gmail.com> |
10614 | ||
10615 | * config/i386/i386.c (override_options): Add PTA_NO_SAHF to k8, | |
10616 | opteron, athlon-64 and athlon-fx processor_alias_table entries. | |
10617 | ||
a9549792 SP |
10618 | 2007-03-16 Sebastian Pop <sebastian.pop@inria.fr> |
10619 | ||
10620 | PR tree-optimization/31183 | |
cff4720f | 10621 | * tree-loop-linear.c (gather_interchange_stats, try_interchange_loops): |
a9549792 SP |
10622 | Use double_int instead of unsigned int for representing access_strides. |
10623 | * testsuite/gcc.dg/tree-ssa/pr31183.c: New. | |
10624 | ||
7b1737d0 RG |
10625 | 2007-03-16 Richard Guenther <rguenther@suse.de> |
10626 | ||
10627 | PR tree-optimization/31146 | |
10628 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure | |
10629 | to allow recursion of forward_propagate_addr_expr. | |
10630 | (forward_propagate_addr_into_variable_array_index): Likewise. | |
10631 | (forward_propagate_addr_expr): Likewise. | |
10632 | (tree_ssa_forward_propagate_single_use_vars): Likewise. | |
10633 | (forward_propagate_addr_expr_1): Recurse on simple copies | |
10634 | instead of propagating into them. Do so for useless conversions | |
10635 | as well. | |
10636 | (forward_propagate_addr_expr): Clean up unused statements after | |
10637 | recursion. | |
10638 | ||
4c8a652e RG |
10639 | 2007-03-16 Richard Guenther <rguenther@suse.de> |
10640 | ||
10641 | * builtins.c (expand_builtin_cexpi): Use the right argument | |
10642 | for the expansion via cexp. | |
10643 | ||
43bc306a AO |
10644 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
10645 | ||
10646 | * configure.ac: Don't require ELF binutils to tolerate # 0 "". | |
10647 | * configure: Rebuilt. | |
10648 | ||
8857ae1c AO |
10649 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
10650 | ||
10651 | PR debug/29906 | |
10652 | * dwarf2out.c (force_type_die): Adjust comment. | |
10653 | (dwarf2out_imported_module_or_decl): Handle base AT_import types. | |
10654 | ||
ba502ad6 DD |
10655 | 2007-03-15 DJ Delorie <dj@redhat.com> |
10656 | ||
10657 | * config/frv/predicates.md (minmax_operator): Don't check operands | |
10658 | here. | |
10659 | ||
9bdb685e ZD |
10660 | 2007-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
10661 | ||
10662 | * tree-ssa-loop-niter.c (record_estimate): Add "upper" argument. | |
10663 | Update constant estimates of number of iterations. | |
10664 | (record_nonwrapping_iv): Add "upper" argument. "data_size_bounds_p" | |
10665 | argument renamed to "realistic". | |
10666 | (compute_estimated_nb_iterations): Removed. | |
10667 | (record_niter_bound): New function. | |
10668 | (idx_infer_loop_bounds): For possible but unlikely tail arrays, | |
10669 | call record_nonwrapping_iv with upper = false. | |
10670 | (infer_loop_bounds_from_signedness): Pass upper argument to | |
10671 | record_nonwrapping_iv. | |
10672 | (estimate_numbers_of_iterations_loop): Do not call | |
10673 | compute_estimated_nb_iterations. Record estimate based on profile | |
10674 | information. Initialize the constant estimates of number of | |
10675 | iterations. | |
10676 | * tree-data-ref.c (estimated_loop_iterations): Return the recorded | |
10677 | estimates. | |
10678 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Add dump when | |
10679 | number of iterations is too small. | |
10680 | * cfgloop.h (struct nb_iter_bound): Remove "realistic" field. | |
10681 | (EST_NOT_AVAILABLE): Removed. | |
10682 | (struct loop): Replace estimated_nb_iterations by any_upper_bound, | |
10683 | nb_iterations_upper_bound, any_estimate and nb_iterations_estimate | |
10684 | fields. | |
10685 | ||
17b236ed ZD |
10686 | 2007-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
10687 | ||
10688 | * tree-ssa-loop-niter.c (refine_bounds_using_guard, bound_difference): | |
10689 | Handle NE_EXPR guards. | |
10690 | ||
9b439fe1 MLI |
10691 | 2007-03-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
10692 | ||
10693 | PR c++/24924 | |
10694 | * c-opts.c (c_common_post_options): Handle C++ post-processing here. | |
10695 | Set also -pedantic-errors by default for the preprocessor unless | |
10696 | -fpermissive is given. | |
cff4720f | 10697 | |
34a24c11 RG |
10698 | 2007-03-15 Richard Guenther <rguenther@suse.de> |
10699 | ||
10700 | PR middle-end/29719 | |
10701 | PR middle-end/31161 | |
10702 | * builtins.c (expand_builtin_cexpi): As a fallback if we | |
10703 | don't have builtins for sincos or cexp create a function | |
10704 | declaration for cexp and expand to a call to that. | |
10705 | (expand_builtin_int_roundingfn): Always fall | |
10706 | back to floor/ceil and its variants even if they may be | |
10707 | not available. | |
10708 | ||
49ea3702 SB |
10709 | 2007-03-15 Steven Bosscher <steven@gcc.gnu.org> |
10710 | ||
10711 | PR middle-end/31159 | |
10712 | * cfglayout.c (fixup_reorder_chain): Postpone deleting dead | |
10713 | jump tables, move the call to delete_dead_jumptables from here... | |
10714 | (cfg_layout_finalize): ...to here. But rebuild jump labels first. | |
10715 | * cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing, | |
10716 | don't allow merging of blocks that try_redirect_by_replacing_jump | |
10717 | also does not handle when not optimizing. | |
10718 | ||
419452fe UB |
10719 | 2007-03-15 Uros Bizjak <ubizjak@gmail.com> |
10720 | Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
10721 | ||
10722 | * config/i386/i386.md (x86_sahf_1): Correctly handle | |
10723 | HAVE_AS_IX86_SAHF. | |
10724 | ||
68b8830a UB |
10725 | 2007-03-15 Uros Bizjak <ubizjak@gmail.com> |
10726 | ||
10727 | PR target/31167 | |
10728 | * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use | |
10729 | x86_64_general_operand as operand[2] predicate. Remove "iF" | |
10730 | from operand constraints and use "e" constraint instead. | |
10731 | (*subti3_1, *subti3_1 splitter): Ditto. | |
10732 | (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as | |
10733 | operand[1] predicate. | |
10734 | ||
c4d8f83b SP |
10735 | 2007-03-14 Sebastian Pop <sebastian.pop@inria.fr> |
10736 | ||
10737 | * tree-loop-linear.c (gather_interchange_stats): For multidimensional | |
10738 | arrays, multiply the access strides by the size of the sub-array. | |
10739 | * testsuite/gcc.dg/tree-ssa/ltrans-5.c: New. | |
10740 | ||
38ca3765 UB |
10741 | 2007-03-14 Uros Bizjak <ubizjak@gmail.com> |
10742 | ||
10743 | * configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether | |
10744 | the configured assembler supports the sahf mnemonic. | |
10745 | * configure: Regenerate. | |
10746 | * config.in: Regenerate. | |
10747 | ||
10748 | * config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF, | |
10749 | emit "sahf" or ".byte\t0x9e" as asm template. | |
10750 | ||
e9f64629 MM |
10751 | 2007-03-14 Michael Meissner <michael.meissner@amd.com> |
10752 | ||
10753 | PR 31018 | |
10754 | * config/i386/i386.h (X86_TUNE_SHORTEN_X87_SSE): New tuning | |
10755 | option to replace hard coded TARGET_xxx in md file. | |
10756 | (X86_TUNE_AVOID_VECTOR_DECODE): Ditto. | |
10757 | (X86_TUNE_SLOW_IMUL_IMM32_MEM): Ditto. | |
10758 | (X86_TUNE_SLOW_IMUL_IMM8): Ditto. | |
10759 | (X86_TUNE_MOVE_M1_VIA_OR): Ditto. | |
10760 | (X86_TUNE_NOT_UNPAIRABLE): Ditto. | |
10761 | (X86_TUNE_NOT_VECTORMODE): Ditto. | |
10762 | (TUNE_SHORTEN_X87_SSE): Use new tuning option. | |
10763 | (TUNE_AVOID_VECTOR_DECODE): Ditto. | |
10764 | (TUNE_SLOW_IMUL_IMM32_MEM): Ditto. | |
10765 | (TUNE_SLOW_IMUL_IMM8): Ditto. | |
10766 | (TUNE_MOVE_M1_VIA_OR): Ditto. | |
10767 | (TUNE_NOT_UNPAIRABLE): Ditto. | |
10768 | (TUNE_NOT_VECTORMODE): Ditto. | |
cff4720f | 10769 | |
e9f64629 MM |
10770 | * config/i386/i386.c (ix86_tune_features): Fill in new tuning |
10771 | options. | |
10772 | ||
10773 | * config/i386/i386.md (fix_trunc?f?1_sse peephole2): Use new | |
10774 | tuning options instead of hard coded TARGET_xxx. | |
10775 | (fix ssemode peephole2's): Ditto. | |
10776 | (imul peephole2's): Ditto. | |
10777 | (movsi_or): Ditto. | |
10778 | (movdi_or_rex64): Ditto. | |
10779 | (move peephole2): Ditto. | |
10780 | (not peephole2's): Ditto. | |
10781 | ||
62e00e94 DM |
10782 | 2007-03-14 Dirk Mueller <dmueller@suse.de> |
10783 | ||
10784 | * c-common.h (empty_body_warning): Rename to empty_if_body_warning. | |
10785 | * c-common.c (empty_if_body_warning): Rephrase diagnostic message. | |
10786 | * c-parser.c (c_parser_if_body): Always add an empty statement in case | |
10787 | of empty body. | |
10788 | * c-parser.c (c_parser_do_statement): Warn about empty body in | |
10789 | do/while statement. | |
10790 | * c-typeck (c_finish_if_stmt): Call empty_if_body_warning. | |
10791 | * doc/invoke.texi (-Wempty-body): Update documentation. | |
10792 | ||
2e9cb75e MLI |
10793 | 2007-03-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
10794 | ||
10795 | PR c/21438 | |
10796 | * c-common.h (warn_for_div_by_zero): Declare. | |
10797 | * c-common.c (warn_for_div_by_zero): Define. | |
10798 | * c-typeck.c (build_binary_op): Call warn_for_div_zero instead of | |
10799 | warning. | |
10800 | ||
925af765 RS |
10801 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
10802 | ||
10803 | * Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators | |
10804 | to PREFIX and STANDARD_PREFIX. | |
10805 | ||
ac0d72f6 RS |
10806 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
10807 | Phil Edwards <phil@codesourcery.com> | |
10808 | ||
10809 | * gthr-vxworks.h: Add an extern "C" wrapper for C++. | |
10810 | (__gthread_once_t): Remove busy field for RTPs. | |
10811 | (__GTHREAD_ONCE_INIT): Update accordingly. | |
10812 | ||
cd773ac4 RS |
10813 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
10814 | ||
10815 | * doc/invoke.texi: Document VxWorks options. | |
10816 | ||
8c5fd59f UB |
10817 | 2007-03-14 Uros Bizjak <ubizjak@gmail.com> |
10818 | ||
10819 | * doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option. | |
10820 | ||
e31657e8 SP |
10821 | 2007-03-13 Seongbae Park <seongbae.park@gmail.com> |
10822 | ||
10823 | PR tree-optimization/30590 | |
10824 | * tree-nrv.c (tree_nrv): Check for the partial update of the | |
10825 | return value. | |
10826 | ||
403d4851 AO |
10827 | 2007-03-13 Alexandre Oliva <aoliva@redhat.com> |
10828 | ||
10829 | * flags.h (flag_random_seed): Remove declaration, in favor of... | |
10830 | * toplev.h (get_random_seed, set_random_seed): ... these. | |
10831 | * tree.c (get_file_function_name): Use the former. | |
10832 | * opts.c (common_handle_option): Use the latter. | |
10833 | * toplev.c | |
10834 | ||
481e0a49 AO |
10835 | 2007-03-13 Steven Bosscher <steven@gcc.gnu.org> |
10836 | ||
10837 | PR middle-end/31127 | |
10838 | * cse.c (cse_find_path): Do not bail out if a basic block that | |
10839 | we already visited now becomes part of a path that starts at a | |
10840 | different basic block. Just disallow this, to make sure we | |
10841 | visit each basic block at most once. | |
10842 | ||
4cdb798f JH |
10843 | 2007-03-13 Jan Hubicka <jh@suse.cz> |
10844 | ||
7e08fa35 UB |
10845 | * ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold |
10846 | attributes, when profile esitmate is present, calls with very low | |
10847 | frequency are cold. | |
4cdb798f | 10848 | |
b3ce5b6e ZD |
10849 | 2007-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
10850 | ||
10851 | PR tree-optimization/30730 | |
10852 | PR tree-optimization/26900 | |
10853 | * tree-ssa-loop-niter.c: Include gmp.h. | |
10854 | (bounds): New type. | |
10855 | (mpz_set_double_int, get_type_bounds, mpz_to_double_int, | |
10856 | split_to_var_and_offset, determine_value_range, | |
10857 | bound_difference_of_offsetted_base, refine_bounds_using_guard, | |
10858 | bound_difference, bounds_add, bounds_negate, | |
10859 | number_of_iterations_ne_max, dump_affine_iv): New functions. | |
10860 | (number_of_iterations_ne, number_of_iterations_lt_to_ne, | |
10861 | assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the | |
10862 | difference of initial and final value of control iv to validate | |
10863 | results. | |
10864 | (number_of_iterations_cond): Add loop parameter. Determine bounds | |
10865 | on the difference of the extremes of the control iv. Add dumps. | |
10866 | (expand_simple_operations): Handle phi nodes. | |
10867 | (simplify_using_initial_conditions): Do not record used conditions. | |
10868 | (number_of_iterations_exit): Pass loop to number_of_iterations_cond. | |
10869 | Do not set additional_info. | |
10870 | (implies_nonnegative_p, implies_ge_p): Removed. | |
10871 | (derive_constant_upper_bound): Do not use parameter `additional'. | |
10872 | (record_estimate): Parameter `additional' removed. Parameter | |
10873 | `i_bound' added. Do not call derive_constant_upper_bound. | |
10874 | (record_nonwrapping_iv): Use derive_constant_upper_bound to | |
10875 | bound the number of iterations estimate. | |
10876 | (estimate_numbers_of_iterations_loop): Pass the estimate from | |
10877 | the number of iterations analysis to record_estimate. | |
10878 | * tree.h (multiple_of_p): Declare. | |
10879 | * tree-scalar-evolution.c (expression_expensive_p): Removed. | |
10880 | (scev_const_prop): Do not check expression_expensive_p. | |
10881 | * fold-const.c (multiple_of_p): Exported. | |
10882 | * double-int.c (double_int_mask): Exported. | |
10883 | * double-int.h (double_int_mask): Declare. | |
10884 | * tree-flow.h (struct tree_niter_desc): Removed additional_info | |
10885 | field. Added max field. | |
10886 | ||
3dfe046f DT |
10887 | 2007-03-13 David Taylor <taylor@candd.org> |
10888 | ||
10889 | PR driver/12448: | |
10890 | * gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass | |
10891 | default -MQ. | |
10892 | ||
de94a581 JDA |
10893 | 2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
10894 | ||
dc92acbc | 10895 | PR target/31123 |
de94a581 JDA |
10896 | * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for |
10897 | two unamed patterns. | |
cff4720f | 10898 | |
5be6cb59 UB |
10899 | 2007-03-13 Uros Bizjak <ubizjak@gmail.com> |
10900 | ||
10901 | * config/i386/i386.opt (mcx16, msahf): New options. | |
10902 | * config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove. | |
10903 | (ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC. | |
10904 | ||
10905 | * config/i386/driver-i386.c (bit_LAHF_LM): New define. | |
10906 | (host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits. | |
10907 | Output -mcx16 and -msahf options when corresponding bit is set. | |
10908 | ||
10909 | * doc/invoke.texi (i386 and x86-64 Options): Document -mcx16 | |
10910 | and -msahf options. | |
10911 | ||
03943c05 AO |
10912 | 2007-03-13 Alexandre Oliva <aoliva@redhat.com> |
10913 | ||
10914 | * configure.ac: Test for assembler tolerance to # 0 "". | |
10915 | * configure, config.in: Rebuilt. | |
10916 | * final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO. | |
10917 | ||
98312a9b GK |
10918 | 2007-03-13 Geoffrey Keating <geoffk@apple.com> |
10919 | ||
10920 | * doc/invoke.texi (Spec Files): Update for '%{,' spec. | |
49522de2 GK |
10921 | |
10922 | * config/rs6000/darwin-fallback.c: Compile file only on powerpc. | |
10923 | (handle_syscall): Handle direct system calls. | |
10924 | * config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete. | |
10925 | ||
7d07e4ea BM |
10926 | 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> |
10927 | ||
10928 | * doc/invoke.texi: Fix cpp.info cross-reference. | |
10929 | * doc/passes.texi: Fix gcc.info cross-reference. | |
10930 | ||
fbb0d4f8 ZD |
10931 | 2007-03-12 Zdenek Dvorak <dvorakz@suse.cz> |
10932 | ||
10933 | PR tree-optimization/30835 | |
10934 | * lambda-code.c (can_convert_to_perfect_nest): Check whether | |
10935 | bb_for_stmt is not NULL before accessing it. | |
10936 | ||
dc5bbad3 JM |
10937 | 2007-03-12 Joseph Myers <joseph@codesourcery.com> |
10938 | ||
10939 | * gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for | |
10940 | some multilibs. | |
10941 | ||
80ca80e9 BM |
10942 | 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> |
10943 | ||
10944 | PR 30635 | |
10945 | * doc/install.texi: Document --enable-stage1-languages | |
10946 | ||
dacb3cda SB |
10947 | 2007-03-12 Steven Bosscher <steven@gcc.gnu.org> |
10948 | ||
10949 | * tree-pass.h (pass_into_cfg_layout_mode, | |
10950 | pass_outof_cfg_layout_mode): Declare. | |
10951 | * cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode, | |
10952 | pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New. | |
10953 | * passes.c (pass_into_cfg_layout_mode): Schedule before jump2. | |
10954 | (pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt. | |
10955 | ||
50d50fc7 SP |
10956 | 2007-03-12 Seongbae Park <seongbae.park@gmail.com> |
10957 | ||
10958 | * c-decl.c (warn_variable_length_array): New function. | |
10959 | Refactored from grokdeclarator to handle warn_vla | |
10960 | and handle unnamed array case. | |
10961 | (grokdeclarator): Refactored VLA warning case. | |
10962 | * c.opt (Wvla): New flag. | |
6da4bc4e | 10963 | * doc/invoke.texi (Wvla): New warning. |
50d50fc7 | 10964 | |
ae069803 RH |
10965 | 2007-03-12 Richard Henderson <rth@redhat.com> |
10966 | ||
10967 | * config/alpha/alpha.c (alpha_elf_section_type_flags): New. | |
10968 | (TARGET_SECTION_TYPE_FLAGS): New. | |
10969 | ||
24c78b3a RH |
10970 | 2007-03-12 Richard Henderson <rth@redhat.com> |
10971 | ||
fbb0d4f8 ZD |
10972 | * config/darwin.c (machopic_reloc_rw_mask): New. |
10973 | * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. | |
10974 | * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. | |
24c78b3a | 10975 | |
6d4817e3 MM |
10976 | 2007-03-12 Mark Mitchell <mark@codesourcery.com> |
10977 | ||
10978 | * cppdefault.c (cpp_EXEC_PREFIX): New variable. | |
10979 | * cppdefault.h (cpp_PREFIX): Document. | |
10980 | (cpp_PREFIX_len): Likewise. | |
10981 | (cpp_EXEC_PREFIX): New variable. | |
10982 | * Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX. | |
10983 | * c-incpath.c (add_standard_paths): Correct logic for relocating | |
10984 | paths within prefix. | |
10985 | ||
d8e3118a UB |
10986 | 2007-03-12 Uros Bizjak <ubizjak@gmail.com> |
10987 | ||
10988 | * config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from | |
10989 | fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF | |
10990 | mode macro. | |
10991 | (fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and | |
10992 | fix_truncdfdi_sse using SSEMODEF mode macro. | |
10993 | (fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and | |
10994 | fix_truncdfsi_sse using SSEMODEF mode macro. | |
10995 | (fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro. | |
10996 | (fix_trunc?f?i_sse K8 peephole2): Fix register constraint. | |
10997 | ||
8906bbc0 RS |
10998 | 2007-03-12 Richard Sandiford <richard@codesourcery.com> |
10999 | ||
11000 | * config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add | |
11001 | elfos.h to tm_file. | |
11002 | ||
d4e70294 | 11003 | 2007-03-12 Olga Golovanevsky <olga@il.ibm.com> |
cff4720f | 11004 | |
d4e70294 | 11005 | * tree.h : Add multiple_of_p declaration. |
cff4720f | 11006 | * fold-const.c (multiple_of_p): Make multiple_of_p public. |
d4e70294 OG |
11007 | * ipa-type-escape.c (results_of_malloc): Redundant. |
11008 | (visited_stmts): New. Visited stmt for walk_use_def_chains. | |
11009 | (cast_type): Extended with new members. | |
11010 | (check_cast): Returns cast_type. | |
11011 | (cast): New structure for data of walk_use_def_chains. | |
11012 | (is_malloc_result, is_cast_from_non_pointer_1, | |
cff4720f | 11013 | is_cast_from_non_pointer, |
d4e70294 OG |
11014 | is_array_access_through_pointer_and_index): New functions. |
11015 | (look_for_casts): Returns cast types. | |
11016 | (check_call): Returns void. | |
11017 | (okay_pointer_operation): Use support of pointer plus index, | |
11018 | pointer plus constant and allow all multiplications. | |
cff4720f | 11019 | |
13338552 RG |
11020 | 2007-03-11 Richard Guenther <rguenther@suse.de> |
11021 | ||
11022 | PR tree-optimization/31115 | |
11023 | * tree-vrp.c (extract_range_from_binary_expr): Make sure | |
11024 | the shift count is positive and non-anti-range for RSHIFT_EXPR. | |
11025 | A shift count of zero is not special as with *_DIV_EXPR. | |
11026 | (vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow | |
11027 | direction. | |
11028 | ||
d7419dec ILT |
11029 | 2007-03-11 Ian Lance Taylor <iant@google.com> |
11030 | ||
11031 | * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and | |
11032 | the *_DIV_EXPR codes correctly with overflow infinities. | |
11033 | ||
e838422b IR |
11034 | 2007-03-11 Ira Rosen <irar@il.ibm.com> |
11035 | ||
cff4720f | 11036 | * tree-data-ref.c (analyze_offset): Add a return value (bool) to |
e838422b IR |
11037 | indicate success/failure of the analysis. Add negation to subtrahend |
11038 | in case of subtraction. Fail if both operands contain constants. | |
11039 | (create_data_ref): Fail if analyze_offset fails. | |
11040 | ||
acaaf0c6 UB |
11041 | 2007-03-11 Uros Bizjak <ubizjak@gmail.com> |
11042 | ||
11043 | * config/i386/i386.md (frndintxf2): Rename to ... | |
11044 | (rintxf2): ... this. Remove expander having same name. | |
11045 | (rintsf2, rintdf2): Implement using SSEMODEF macro. | |
11046 | (roundsf2, rounddf2): Ditto. | |
11047 | (lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro. | |
11048 | (lround<mode>di2, lround<mode>si2): Ditto. | |
11049 | ||
7984c787 SB |
11050 | 2007-03-11 Steven Bosscher <steven@gcc.gnu.org> |
11051 | ||
11052 | * lower-subreg.c: Include except.h. | |
11053 | (decompose_multiword_subregs): Verify that the only control flow | |
11054 | insns we can split are loads to multi-words pseudos. | |
11055 | Handle breaking such blocks after splitting, instead of calling | |
11056 | find_many_sub_basic_blocks. | |
11057 | ||
11058 | * loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK | |
11059 | on the new basic block. Add a lengthy comment explaining why we | |
11060 | thought this was necessary. | |
11061 | * cfglayout.c (cfg_layout_finalize): Don't break superblocks. | |
11062 | ||
222725d0 MM |
11063 | 2007-03-10 Mark Mitchell <mark@codesourcery.com> |
11064 | ||
ed574fe9 | 11065 | PR c++/30924 |
222725d0 MM |
11066 | * tree.c (walk_type_fields): Recurse into the element type of |
11067 | ARRAY_TYPEs if there is a pointer set. | |
11068 | ||
89132ebc DM |
11069 | 2007-03-10 Dirk Mueller <dmueller@suse.de> |
11070 | ||
11071 | * c-common.c (warn_logical_operator): Fix condition. | |
11072 | ||
ae50c0cb | 11073 | 2007-03-10 Tobias Schl�ter <tobi@gcc.gnu.org> |
4f648002 TS |
11074 | |
11075 | * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing | |
11076 | quotation mark. | |
df990293 TS |
11077 | * config/darwin.c (machopic_select_section): Remove superfluous |
11078 | argument in call to categorize_decl_for_section. Remove unused | |
11079 | variable shlib. | |
4f648002 | 11080 | |
c9ecbf86 JM |
11081 | 2007-03-10 Joseph Myers <joseph@codesourcery.com> |
11082 | ||
11083 | * configure.ac (glibc_header_dir): Set using with_build_sysroot if | |
11084 | defined. | |
11085 | * configure: Regenerate. | |
11086 | ||
79cd820a UB |
11087 | 2007-03-10 Uros Bizjak <ubizjak@gmail.com> |
11088 | ||
11089 | PR target/31101 | |
11090 | * config/i386/i386.md (UNSPEC_C2_FLAG): New constant. | |
11091 | (fpremxf4_i387, fprem1xf4_i387): Use UNSPEC_C2_FLAG. | |
11092 | (fmodxf3, fmod<mode>3, remainderxf3, remainder<mode>3): | |
acaaf0c6 | 11093 | Add LABEL_NUSES to emitted label. |
79cd820a | 11094 | * config/i386/i386.c (ix86_emit_fp_unordered_jump): Add |
acaaf0c6 | 11095 | branch probability value to emitted jump insn. |
79cd820a UB |
11096 | * reg-stack.c (subst_stack_regs_pat)[UNSPEC]: Handle UNSPEC_C2_FLAG. |
11097 | Do not check life information and do not re-arrange input operands | |
11098 | for UNSPEC_FSCALE_EXP, UNSPEC_FPREM_U and UNSPEC_FPREM1_U. | |
11099 | ||
343d66ad KK |
11100 | 2007-03-10 Kaz Kojima <kkojima@gcc.gnu.org> |
11101 | ||
11102 | * config/sh/sh.c (sh_insn_length_adjustment): Adjust for | |
11103 | the change of decode_asm_operands. | |
11104 | ||
07288ab0 KK |
11105 | 2007-03-10 Kaz Kojima <kkojima@gcc.gnu.org> |
11106 | ||
11107 | * mode-switching.c (create_pre_exit): Skip blockage insn. | |
11108 | ||
706ca88e DN |
11109 | 2007-03-09 Diego Novillo <dnovillo@redhat.com> |
11110 | ||
11111 | * tree-pass.h (TODO_update_smt_usage): Remove. | |
11112 | Update all users. | |
11113 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove | |
11114 | argument SOME. | |
11115 | Update all users. | |
11116 | ||
751d9855 JDA |
11117 | 2007-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
11118 | ||
7e08fa35 UB |
11119 | * pa.c (attr_length_call): Revise condition for long |
11120 | pc-relative branch. | |
11121 | (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long | |
11122 | local calls on the SOM target. Don't use "LONG_PIC_PCREL" call | |
11123 | sequence on SOM target. | |
751d9855 | 11124 | |
48137d59 GK |
11125 | 2007-03-09 Geoffrey Keating <geoffk@apple.com> |
11126 | ||
11127 | * gcc.c: Document %{, in big comment at top. | |
11128 | (input_suffix_matches): Remove special handling for .s and | |
11129 | .S. | |
11130 | (input_spec_matches): New. | |
11131 | (handle_braces): Handle %{,. | |
11132 | (validate_switches): ',' indicates a value which is not a switch. | |
11133 | * config/alpha/osf.h (ASM_FINAL_SPEC): Use %{, rather than %{. | |
11134 | to detect assembler input. | |
11135 | * config/i386/sol2.h (CPP_SPEC): Likewise. | |
11136 | * config/rs6000/sysv4.h (ASM_SPEC): Likewise. | |
11137 | * config/rs6000/vxworks.h (ASM_SPEC): Likewise. | |
11138 | * config/rs6000/lynx.h (ASM_SPEC): Likewise. | |
11139 | * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise. | |
11140 | * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Objective-C plus | |
11141 | -m64 causes deployment target to default to 10.5. | |
11142 | * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Likewise. | |
11143 | ||
9b580a0b RH |
11144 | 2007-03-09 Richard Henderson <rth@redhat.com> |
11145 | ||
11146 | PR target/26090 | |
11147 | * target.h (targetm.asm.out.reloc_rw_mask): New. | |
11148 | * target-def.h (TARGET_ASM_RELOC_RW_MASK): New. | |
11149 | (TARGET_ASM_OUT): Use it. | |
11150 | * targhooks.c, targhooks.h (default_reloc_rw_mask): New. | |
11151 | * varasm.c (categorize_decl_for_section): Remove shlib argument; | |
11152 | use the new reloc_rw_mask target hook instead. | |
11153 | (default_section_type_flags_1): Merge into... | |
11154 | (default_section_type_flags): ... here. | |
11155 | (decl_readonly_section_1): Merge into... | |
11156 | (decl_readonly_section): ... here. | |
11157 | (default_elf_select_section_1): Merge into... | |
11158 | (default_elf_select_section): ... here. | |
11159 | (default_unique_section_1): Merge into... | |
11160 | (default_unique_section): ... here. | |
11161 | (compute_reloc_for_rtx_1, compute_reloc_for_rtx): New. | |
11162 | (default_select_rtx_section): Use it. | |
11163 | (default_elf_select_rtx_section): Likewise. | |
11164 | * output.h: Update to match. | |
11165 | * doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New. | |
11166 | * config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New. | |
11167 | (TARGET_ASM_RELOC_RW_MASK): New. | |
11168 | * config/i386/i386.c (x86_64_elf_select_section): Adjust call | |
11169 | to categorize_decl_for_section. | |
11170 | (x86_64_elf_unique_section): Likewise. | |
11171 | * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION, | |
11172 | TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove. | |
11173 | (TARGET_ASM_RELOC_RW_MASK): New. | |
11174 | * config/ia64/ia64.c (ia64_rwreloc_select_section, | |
11175 | ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove. | |
11176 | (ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New. | |
11177 | (TARGET_RWRELOC): Remove. | |
11178 | (ia64_section_type_flags): Adjust call to default_section_type_flags. | |
11179 | * config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New. | |
11180 | * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove. | |
11181 | (rs6000_elf_select_section, rs6000_elf_unique_section): Remove. | |
11182 | (rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New. | |
11183 | (rs6000_xcoff_select_section): Use decl_readonly_section. | |
11184 | (rs6000_xcoff_section_type_flags): Use default_section_type_flags. | |
11185 | * config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New. | |
11186 | (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove. | |
11187 | (TARGET_SECTION_TYPE_FLAGS): Remove. | |
11188 | * config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New. | |
11189 | ||
23b9463b RS |
11190 | 2007-03-09 Roger Sayle <roger@eyesopen.com> |
11191 | ||
11192 | * fold-const.c (fold_comparison): Remove compile-time evaluation of | |
11193 | complex constant equality/inequality comparisons for here. | |
11194 | (fold_binary) <EQ_EXPR>: Simplify complex comparisons that are | |
11195 | known at compile-time or can be simplified to a scalar comparison. | |
11196 | (fold_relational_const): Move compile-time evaluation of complex | |
11197 | constant equality/inequality comparisons to here. | |
11198 | ||
7e7e28c7 AO |
11199 | 2007-03-09 Alexandre Oliva <aoliva@redhat.com> |
11200 | ||
11201 | PR rtl-optimization/30643 | |
11202 | * cse.c (cse_insn): Recompute dest_hash after insert_regs for | |
7cd4f641 | 11203 | dest_addr_elt. |
7e7e28c7 AO |
11204 | (fold_rtx): Recurse, like before 2006-11-03. |
11205 | ||
a009aafe DD |
11206 | 2007-03-09 DJ Delorie <dj@redhat.com> |
11207 | ||
23b9463b RS |
11208 | * config/m32c/t-m32c (m32c-pragma.o): Add TM_H dependency to |
11209 | m32c-pragma.o. | |
a009aafe | 11210 | |
0f84b066 AH |
11211 | 2007-03-09 Aldy Hernandez <aldyh@redhat.com> |
11212 | ||
acaaf0c6 UB |
11213 | PR tree-optimization/30375 |
11214 | * tree-ssa-dse.c (dse_possible_dead_store_p): Do not eliminate if | |
11215 | LHS of statements is not the same. | |
11216 | * testsuite/gcc.dg/tree-ssa/ssa-dse-10.c: New. | |
0f84b066 | 11217 | |
32041385 CF |
11218 | 2007-03-09 Chao-ying Fu <fu@mips.com> |
11219 | ||
11220 | * doc/extend.texi (MIPS DSP Built-in Functions): Document the DSP | |
11221 | REV 2. | |
11222 | * doc/invoke.texi (-mdspr2): Document new option. | |
11223 | * config/mips/mips.md (UNSPEC_ABSQ_S_QB .. UNSPEC_DPSQX_SA_W_PH): | |
11224 | New unspec for DSP REV 2. | |
11225 | (<u>mulsidi3_32bit_internal): Check if !TARGET_DSPR2, because | |
11226 | these instructions are extended in DSP REV 2. | |
11227 | (mips-dspr2.md): Include. | |
11228 | * config/mips/mips.opt (mdspr2): New option. | |
11229 | * config/mips/mips.c (mips_function_type): Add MIPS_V4QI_FTYPE_V4QI, | |
11230 | MIPS_SI_FTYPE_SI_SI_SI, MIPS_DI_FTYPE_DI_USI_USI, MIPS_DI_FTYPE_SI_SI, | |
11231 | MIPS_DI_FTYPE_USI_USI, MIPS_V2HI_FTYPE_SI_SI_SI. | |
11232 | (override_options): Check TARGET_DSPR2 to enable MASK_DSP. | |
11233 | (CODE_FOR_mips_mul_ph): Define it to CODE_FOR_mulv2hi3. | |
11234 | (dsp_bdesc): Add DSP REV 2 builtins. Remove 32-bit only DSP builtins. | |
11235 | (dsp_32only_bdesc): New description table for 32-bit only DSP REV 1 | |
11236 | and 2 builtins. | |
11237 | (bdesc_map): Add one field of unsupported_target_flags. | |
11238 | (bdesc_arrays): Update entries to have extra fields. Add | |
11239 | dsp_32only_bdesc. | |
11240 | (mips_init_builtins): Initialize new function types. | |
11241 | Check unsupported_target_fileds to filter out builtins. | |
11242 | * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dspr2 if | |
11243 | TARGET_DSPR2. | |
11244 | (ASM_SPEC): Pass mdspr2 to the assembler. | |
11245 | * config/mips/mips-dspr2.md: New file. | |
11246 | ||
4a71edd9 SL |
11247 | 2007-03-09 Sa Liu <saliu@de.ibm.com> |
11248 | ||
11249 | * config/rs6000/altivec.md: Fix vcond patterns using if_then_else. | |
11250 | ||
4d4362c8 ILT |
11251 | 2007-03-09 Ian Lance Taylor <iant@google.com> |
11252 | ||
11253 | * opts.c (common_handle_option): Treat -Wstrict-overflow (with no | |
11254 | argument) like -Wstrict-overflow=2. | |
11255 | * doc/invoke.texi (Warning Options): Update documentation. | |
11256 | ||
63a08740 DM |
11257 | 2007-03-09 Dirk Mueller <dmueller@suse.de> |
11258 | ||
11259 | PR c++/17946 | |
11260 | * doc/invoke.texi (-Wlogical-op): Document. | |
11261 | * common.opt (-Wlogical-op): New. | |
11262 | * c-common.h (warn_logical_operator): Declare. | |
11263 | * c-common.c (warn_logical_operator): Define. | |
11264 | * c-typeck.c (parser_build_binary_op): Call | |
11265 | warn_logical_operator. | |
11266 | ||
0de2ae02 AO |
11267 | 2007-03-09 Alexandre Oliva <aoliva@redhat.com> |
11268 | ||
11269 | * rtl.h (gen_rtx_ASM_INPUT): Use "" instead of NULL file name. | |
11270 | * final.c (final_scan_insn): Test for non-"" file name. | |
11271 | ||
3d8864c0 SP |
11272 | 2007-03-09 Sebastian Pop <sebastian.pop@inria.fr> |
11273 | ||
11274 | * doc/loop.texi: Document the Omega linear constraints solver. | |
11275 | * doc/invoke.texi: Document -fcheck-data-deps, omega-max-vars, | |
cff4720f ZW |
11276 | omega-max-geqs, omega-max-eqs, omega-max-wild-cards, |
11277 | omega-hash-table-size, omega-max-keys, and | |
3d8864c0 SP |
11278 | omega-eliminate-redundant-constraints. |
11279 | * tree-pass.h (pass_check_data_deps): Declared. | |
11280 | * omega.c: New. | |
11281 | * omega.h: New. | |
11282 | * timevar.def (TV_CHECK_DATA_DEPS): Declared. | |
cff4720f | 11283 | * tree-ssa-loop.c (check_data_deps, gate_check_data_deps, |
3d8864c0 SP |
11284 | pass_check_data_deps): New. |
11285 | * tree-data-ref.c (init_data_ref): Remove declaration. | |
11286 | (dump_data_dependence_relation): Dump DDR_INNER_LOOP. | |
11287 | (analyze_array): Renamed init_array_ref, move up initializations. | |
11288 | (init_data_ref): Renamed init_pointer_ref. Moved before its call. | |
11289 | Removed arguments that are set to NULL. | |
cff4720f | 11290 | (analyze_indirect_ref): Correct indentation, correct call to |
3d8864c0 SP |
11291 | init_pointer_ref. |
11292 | (object_analysis): Call init_array_ref instead of analyze_array. | |
11293 | (initialize_data_dependence_relation): Initialize DDR_INNER_LOOP. | |
11294 | (access_functions_are_affine_or_constant_p): Use DR_ACCESS_FNS instead | |
11295 | of DR_ACCESS_FNS_ADDR. | |
cff4720f | 11296 | (init_omega_eq_with_af, omega_extract_distance_vectors, |
3d8864c0 SP |
11297 | omega_setup_subscript, init_omega_for_ddr_1, init_omega_for_ddr, |
11298 | ddr_consistent_p): New. | |
cff4720f | 11299 | (compute_affine_dependence): Check consistency of ddrs when |
3d8864c0 SP |
11300 | flag_check_data_deps is passed. |
11301 | (analyze_all_data_dependences): Uncomment. | |
11302 | (tree_check_data_deps): New. | |
11303 | * tree-data-ref.h: Include omega.h. | |
11304 | (DR_ACCESS_FNS_ADDR): Removed. | |
11305 | (data_dependence_relation): Add inner_loop. | |
11306 | (DDR_INNER_LOOP): New. | |
11307 | * common.opt (fcheck-data-deps): New. | |
11308 | * tree-flow.h (tree_check_data_deps): Declare. | |
11309 | * Makefile.in (TREE_DATA_REF_H): Depend on omega.h. | |
11310 | (OBJS-common): Depend on omega.o. | |
11311 | (omega.o): Define. | |
11312 | * passes.c (pass_check_data_deps): Scheduled. | |
cff4720f | 11313 | * params.def (PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS, |
3d8864c0 SP |
11314 | PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS, |
11315 | PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, | |
11316 | PARAM_VECT_MAX_VERSION_CHECKS, | |
11317 | PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS): New. | |
11318 | ||
6569e716 RG |
11319 | 2007-03-09 Richard Guenther <rguenther@suse.de> |
11320 | ||
11321 | PR tree-optimization/30904 | |
11322 | PR middle-end/31058 | |
11323 | * tree-vrp.c (extract_range_from_binary_expr): Handle RSHIFT_EXPR | |
11324 | the same way as *_DIV_EXPR. | |
11325 | ||
fb0a2460 AO |
11326 | 2007-03-09 Alexandre Oliva <aoliva@redhat.com> |
11327 | ||
11328 | * recog.c (decode_asm_operands): No mixed declarations and code. | |
11329 | ||
bff4b63d AO |
11330 | 2007-03-09 Alexandre Oliva <aoliva@redhat.com> |
11331 | ||
11332 | * rtl.def (ASM_INPUT): Add location. | |
11333 | * rtl.h (ASM_INPUT_SOURCE_LOCATION): New. | |
11334 | (ASM_INPUT_SOURCE_FILE, ASM_INPUT_SOURCE_LINE): New. | |
11335 | (decode_asm_operands): Add loc operand. | |
11336 | (gen_rtx_ASM_INPUT, gen_rtx_ASM_INPUT_loc): Define. | |
11337 | * stmt.c (expand_asm): Rename to... | |
11338 | (expand_asm_loc): ... this. Add locus argument. Pass it on to | |
11339 | gen_rtx_ASM_INPUT_loc. | |
11340 | (expand_asm_expr): Adjust. | |
11341 | * recog.c (decode_asm_operands): Add loc operand. | |
11342 | (check_asm_operands, extract_insn): Adjust. | |
11343 | * reload1.c (maybe_fix_stack_asms): Likewise. | |
11344 | * final.c (asm_insn_count): Likewise. | |
11345 | (final_scan_insn): Output # line before and after asm. | |
11346 | ||
1296c31f DB |
11347 | 2007-03-09 Daniel Berlin <dberlin@dberlin.org> |
11348 | ||
11349 | * tree-ssa-structalias.c (variable_info): Remove | |
11350 | finished_solution. | |
11351 | (new_var_info): Ditto. | |
11352 | (shared_bitmap_info_t): New structure. | |
11353 | (shared_bitmap_table): New variable. | |
11354 | (shared_bitmap_hash): New function. | |
11355 | (shared_bitmap_eq): Ditto | |
11356 | (shared_bitmap_lookup): Ditto. | |
11357 | (shared_bitmap_add): Ditto. | |
11358 | (merge_smts_into): Change to take bitmap directly. | |
11359 | (find_what_p_points_to): Rewrite to use shared bitmap hashtable. | |
11360 | (init_alias_vars): Init shared bitmap hashtable. | |
11361 | (delete_points_to_sets): Delete shared bitmap hashtable. | |
11362 | * tree-ssa-operands.c (add_virtual_operand): Partially revert the | |
11363 | is_aliased removal as a change that was still necessary was | |
11364 | deleted. | |
11365 | ||
84ac30cb UB |
11366 | 2007-03-09 Uros Bizjak <ubizjak@gmail.com> |
11367 | ||
11368 | * config/i386/i386.h (override_options): Conditionally disable | |
11369 | x86_sahf for 64bit targets only. | |
11370 | ||
ee9f69b4 AP |
11371 | 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com> |
11372 | ||
11373 | PR C/31072 | |
11374 | * c-decl.c (merge_decls): Don't call make_var_volatile. | |
11375 | * varasm.c (make_var_volatile): Remove. | |
11376 | * output.h (make_var_volatile): Remove. | |
11377 | ||
5f787cbc ZD |
11378 | 2007-03-08 Zdenek Dvorak <dvorakz@suse.cz> |
11379 | ||
11380 | PR tree-optimization/31085 | |
11381 | * tree-ssa-address.c (create_mem_ref): Fix test of type of base. | |
11382 | ||
aeabd15d KG |
11383 | 2007-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
11384 | ||
11385 | * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl, | |
11386 | llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with | |
11387 | ATTR_CONST_NOTHROW_LIST. | |
cff4720f | 11388 | |
aeabd15d KG |
11389 | * fold-const.c (tree_expr_nonnegative_warnv_p): Handle |
11390 | FIX_TRUNC_EXPR. | |
11391 | ||
e9dc9c4e DN |
11392 | 2007-03-08 Diego Novillo <dnovillo@redhat.com> |
11393 | ||
11394 | * doc/tree-ssa.texi: Remove documentation for V_MUST_DEF. | |
11395 | ||
d2328a13 GK |
11396 | 2007-03-08 Geoffrey Keating <geoffk@apple.com> |
11397 | ||
11398 | PR 31013 | |
11399 | * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME | |
11400 | is declared. | |
11401 | * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is | |
11402 | passed, use shared libgcc. | |
11403 | ||
ebb07520 RS |
11404 | 2007-03-08 Roger Sayle <roger@eyesopen.com> |
11405 | ||
11406 | * tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt | |
11407 | instead of calling build2 with a GIMPLE_MODIFY_STMT. | |
11408 | (honor_protect_cleanup_actions, lower_try_finally_switch): | |
11409 | Likewise. | |
11410 | * tree-if-conv.c (replace_phi_with_cond_gimple_modify_stmt, | |
11411 | ifc_temp_var): Likewise. | |
11412 | * tree-inline.c (setup_one_parameter): Likewise. | |
11413 | * tree-mudflap.c (mf_decl_cache_locals, | |
11414 | mf_build_check_statement_for): Likewise. | |
11415 | * tree-nested.c (init_tmp_var, save_tmp_var, | |
11416 | finalize_nesting_tree_1): Likewise. | |
11417 | * tree-outof-ssa.c (insert_copy_on_edge, | |
11418 | insert_backedge_copies): Likewise. | |
11419 | * tree-profile.c (tree_gen_edge_profiler, | |
11420 | tree_gen_ic_profiler): Likewise. | |
11421 | * tree-scalar-evolution.c (scev_const_prop): Likewise. | |
11422 | * tree-sra.c (sra_build_assignment): Likewise. | |
11423 | * tree-ssa-loop-im.c (determine_invariantness_stmt): Likewise. | |
11424 | * tree-ssa-math-opts.c (insert_reciprocals, | |
11425 | execute_cse_sincos_1): Likewise. | |
11426 | * tree-tailcall.c (adjust_accumulator_values, | |
11427 | adjust_return_value): Likewise. | |
11428 | * tree-vect-patterns.c (vect_pattern_recog_1): Likewise. | |
11429 | * tree-vect-transform.c (vect_create_data_ref_ptr, | |
11430 | bump_vector_ptr, vect_init_vector, get_initial_def_for_induction, | |
11431 | vect_create_epilog_for_reduction, vectorizable_reduction, | |
11432 | vectorizable_call, vectorizable_conversion, | |
11433 | vectorizable_assignment, vectorizable_operation, | |
11434 | vectorizable_type_demotion, vect_gen_widened_results_half, | |
11435 | vect_permute_store_chain, vectorizable_store, | |
11436 | vect_setup_realignment, vect_permute_load_chain, | |
11437 | vectorizable_load, vectorizable_condition, | |
11438 | vect_create_cond_for_align_checks): Likewise. | |
11439 | * tree-vrp.c (build_assert_expr_for): Likewise. | |
11440 | ||
0c948c27 ILT |
11441 | 2007-03-08 Ian Lance Taylor <iant@google.com> |
11442 | ||
11443 | * tree-vrp.c: Include "intl.h". | |
11444 | (usable_range_p): New static function. | |
11445 | (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for | |
11446 | overflowed values, juts set *strict_overflow_p. | |
11447 | (compare_values): Only return -2 if one of the operands is not a | |
11448 | constant. | |
11449 | (compare_ranges): Call usable_range_p. | |
11450 | (compare_range_with_value): Likewise. | |
11451 | (vrp_evaluate_conditional_warnv): Rename from | |
11452 | vrp_evaluate_conditional. Make static. Change all callers. | |
11453 | (vrp_evaluate_conditional): New function. | |
11454 | (simplify_div_or_mod_using_ranges): Issue warning about reliance | |
11455 | on signed overflow. | |
11456 | (simplify_abs_using_ranges): Likewise. | |
11457 | (simplify_stmt_for_jump_threading): Add within_stmt parameter. | |
11458 | * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add | |
11459 | within_stmt parameter. | |
11460 | * tree-ssa-propagate.c (fold_predicate_in): Update call to | |
11461 | vrp_evaluate_conditional. | |
11462 | * tree-ssa-threadedge.c | |
11463 | (record_temporary_equivalences_from_stmts_at_dest): Change | |
11464 | simplify parameter to take a second tree parameter. | |
11465 | (simplify_control_stmt_condition): Likewise. | |
11466 | (thread_across_edge): Likewise. | |
11467 | * tree-flow.h (vrp_evaluate_conditional): Update declaration. | |
11468 | (thread_across_edge): Likewise. | |
86122f72 | 11469 | * Makefile.in (tree-vrp.o): Depend upon intl.h. |
0c948c27 | 11470 | |
3c2d980c UB |
11471 | 2007-03-08 Uros Bizjak <ubizjak@gmail.com> |
11472 | ||
11473 | * config/i386/i386.h (TARGET_SAHF): New define. | |
11474 | * config/i386/i386.c (ix86_tune_features) [X86_TUNE_USE_SAHF]: | |
11475 | Also enable for m_K8, m_AMDFAM10 and m_CORE2. | |
11476 | (x86_sahf): New global variable. | |
11477 | (override_options): Add PTA_NO_SAHF to pta_flags enum. Recode | |
11478 | pta_flags masks using shifts. Add PTA_NO_SAHF to x86_64 and | |
11479 | nocona processor flags. Set x86_sahf when PTA_NO_SAHF is not set | |
11480 | in processor flags. Do not unconditionally disable TARGET_USE_SAHF | |
11481 | for 64-bit. | |
11482 | (ix86_fp_comparison_sahf_cost): Return high value for !TARGET_SAHF. | |
11483 | (ix86_expand_fp_compare): Check for TARGET_CMOVE or TARGET_SAHF | |
11484 | when expanding fcomi/sahf based tests. | |
11485 | (ix86_emit_fp_unordered_jump): Check for TARGET_SAHF when | |
11486 | expanding sahf based alternative. Emit sahf based sequence when | |
11487 | optimizing for code size. | |
11488 | * config/i386/i386.md (x86_sahf_1): Do not disable for | |
cff4720f | 11489 | TARGET_64BIT, enable for TARGET_SAHF. |
3c2d980c | 11490 | |
068c623d MM |
11491 | 2007-03-08 Martin Michlmayr <tbm@cyrius.com> |
11492 | ||
11493 | * tree-ssa-coalesce.c (fail_abnormal_edge_coalesce): Remove | |
11494 | spurious whitespace from error message. | |
11495 | ||
1916c916 VR |
11496 | 2007-03-08 Volker Reichelt <reichelt@netcologne.de> |
11497 | ||
11498 | PR c++/30852 | |
11499 | * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR. | |
11500 | ||
ab53bae2 AO |
11501 | 2007-03-08 Alexandre Oliva <aoliva@redhat.com> |
11502 | ||
11503 | * c-decl.c (grokdeclarator): Disable warnings for anonymous | |
11504 | bitfields. | |
11505 | * tree-sra.c (instantiate_element): Propagate disabled warnings | |
11506 | from the element itself to the created variable. | |
11507 | ||
7476f086 RH |
11508 | 2007-03-07 Richard Henderson <rth@redhat.com> |
11509 | ||
11510 | PR target/30848 | |
11511 | * reg-stack.c (emit_swap_insn): If a malformed asm was seen, | |
11512 | silently fix up the stack in the case of a missing register. | |
11513 | ||
a566d050 JM |
11514 | 2007-03-07 Paul Brook <paul@codesourcery.com> |
11515 | ||
11516 | * config/arm/libunwind.S: Add .arch/.object_arch for armv4 builds. | |
11517 | ||
11518 | 2007-03-07 Joseph Myers <joseph@codesourcery.com> | |
11519 | ||
11520 | * config/arm/unwind-arm.c (struct wmmxd_regs, struct wmmxc_regs): | |
11521 | New. | |
11522 | (phase1_vrs): Use them. | |
11523 | (DEMAND_SAVE_WMMXD, DEMAND_SAVE_WMMXC): New. | |
11524 | (__gnu_Unwind_Save_WMMXD, __gnu_Unwind_Restore_WMMXD, | |
11525 | __gnu_Unwind_Save_WMMXC, __gnu_Unwind_Restore_WMMXC): Declare. | |
11526 | (restore_non_core_regs): Call __gnu_Unwind_Restore_WMMXD and | |
11527 | __gnu_Unwind_Restore_WMMXC if required. | |
11528 | (_Unwind_VRS_Pop): Implement iWMMXt support. | |
11529 | * config/arm/libunwind.S (gnu_Unwind_Restore_WMMXD, | |
11530 | gnu_Unwind_Save_WMMXD, gnu_Unwind_Restore_WMMXC, | |
11531 | gnu_Unwind_Save_WMMXC): Define. | |
11532 | ||
ef672755 RS |
11533 | 2007-03-07 Richard Sandiford <richard@codesourcery.com> |
11534 | ||
11535 | * config/vxworks.h (vxworks_override_options): Declare. | |
11536 | (VXWORKS_OVERRIDE_OPTIONS): Use it. | |
11537 | * config/vxworks.c: Include target.h and toplev.h. | |
11538 | (vxworks_override_options): New function. | |
11539 | * config/t-vxworks (vxworks.o): Depend on $(TARGET_H) and toplev.h. | |
11540 | ||
690e7b63 AK |
11541 | 2007-03-07 Andreas Krebbel <krebbel1@de.ibm.com> |
11542 | ||
11543 | * config/s390/s390.c (override_options): Don't emit an error when | |
11544 | -mstack-size is used without providing -mstack-guard. | |
11545 | (s390_emit_prologue): Choose stack_guard value automatically if not | |
11546 | provided via command line. | |
7e08fa35 UB |
11547 | * doc/invoke.texi: Adjust description of -mstack-guard and |
11548 | -mstack-size. | |
690e7b63 | 11549 | |
170bdaba RS |
11550 | 2007-03-07 Richard Sandiford <richard@codesourcery.com> |
11551 | ||
11552 | * config/i386/i386.c (output_set_got): Add a GOT initialization | |
11553 | sequence for VxWorks PIC. | |
11554 | (legitimate_pic_address_disp_p): Allow UNSPEC_GOT wrappers | |
11555 | around labels as well as symbols. Use gotoff_operand instead | |
11556 | of local_symbolic_operand. | |
11557 | (legitimize_pic_address): Use gotoff_operand instead of | |
11558 | local_symbolic_operand. Use @GOT accesses for labels as | |
11559 | well as symbols. | |
11560 | (ix86_output_addr_diff_elt): Use PC-relative rather than | |
11561 | GP-relative offsets for VxWorks PIC. | |
11562 | (ix86_expand_move): Pass NULL_RTX to legitimize_pic_address unless | |
11563 | no_new_pseudos. Check whether the returned register is op0. | |
11564 | * config/i386/i386.md (tablejump): Use PC-relative rather than | |
11565 | GP-relative offsets for VxWorks PIC. | |
11566 | * config/i386/predicates.md (gotoff_operand): New predicate. | |
11567 | ||
26b5109f RS |
11568 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11569 | ||
11570 | * config/vxworks.h (VXWORKS_GOTT_BASE, VXWORKS_GOTT_INDEX): Undefine | |
11571 | before defining. | |
11572 | * config/vxworks-dummy.h: New file. | |
11573 | * config/i386/i386.h: Include it. | |
11574 | ||
dfad806e AO |
11575 | 2007-03-07 Alexandre Oliva <aoliva@redhat.com> |
11576 | ||
11577 | * dwarf2out.c (is_inlined_entry_point): New | |
11578 | (add_high_low_attributes): Emit DW_AT_entry_pc along with | |
11579 | DW_AT_ranges if the first subblock is the entry point. | |
11580 | ||
3eb3cf05 DD |
11581 | 2007-03-06 David Daney <ddaney@avtrex.com> |
11582 | ||
11583 | * doc/install.texi (mips-*-*): Change recommended binutils | |
11584 | version. | |
11585 | ||
11586 | 2007-03-06 Anatoly Sokolov <aesok@post.ru> | |
205dcd71 AS |
11587 | |
11588 | * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P, | |
cff4720f | 11589 | ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162 |
205dcd71 AS |
11590 | devices. |
11591 | * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). | |
11592 | * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). | |
11593 | ||
52bf96d2 JH |
11594 | 2007-03-06 Jan Hubicka <jh@suse.cz> |
11595 | ||
11596 | * errors.h (warning, error, fatal, internal_error): Mark as cold. | |
7e08fa35 UB |
11597 | * predict.c (maybe_hot_bb): Cold functions are never hot; hot |
11598 | functions are hot. | |
52bf96d2 JH |
11599 | (probably_cold_bb_p): Cold functions are cold. |
11600 | (probably_never_executed_bb_p): Cold functions are cold. | |
11601 | (tree_bb_level_predictions): Predict calls to cold functions as not | |
11602 | taken. | |
11603 | (compute_function_frequency): Check hot/cold attributes. | |
11604 | * function.h (function_frequency): Update comments. | |
11605 | * predict.def (PRED_COLD_FUNCTION): Predict cold function. | |
11606 | * c-common.c (handle_hot_attribute, handle_cold_attribute): New. | |
11607 | (c_common_att): Add cold and hot. | |
11608 | ||
11609 | * doc/extend.texi (hot,cold attributes): Document. | |
11610 | ||
25108646 AH |
11611 | 2007-03-06 Andrew Haley <aph@redhat.com> |
11612 | ||
11613 | * function.c (expand_function_end): Move blockage to just after we | |
11614 | emit the label for the naked return from the function. | |
11615 | ||
af17c030 RS |
11616 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11617 | ||
11618 | * config/i386/att.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Undefine | |
11619 | before redefining. | |
11620 | ||
dc4d7240 JH |
11621 | 2007-03-06 Jan Hubicka <jh@suse.cz> |
11622 | ||
11623 | * reg-stack.c (reg_to_stack): Large models don't allow NAN to be | |
11624 | loaded for constant large models. Non-large 64bit PIC can do. | |
11625 | * i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit. | |
11626 | * cmodel.h: Add LARGE PIC. | |
11627 | * i386.md (UNSPEC_PLTOFF): New. | |
7e08fa35 UB |
11628 | (UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other |
11629 | unspecs as needed. | |
dc4d7240 JH |
11630 | (*call_1_rex64): Disable for large models. |
11631 | (*call_1_rex64_large): New. | |
11632 | (*call_value_1_rex64): Disable for large models. | |
11633 | (*call_value_1_rex64_large): New. | |
11634 | (set_rip_rex4): New. | |
11635 | (set_got_offset_rex64): New. | |
11636 | * predicates.md (constant_call_address_operand): For large model | |
11637 | constant calls are not possible. | |
11638 | * i386-protos.h (construct_plt_address): Declare. | |
11639 | * i386.c (override_options): Accept large models. | |
11640 | (ix86_expand_prologue): Expand large PIC GOT pointer load. | |
11641 | (legitimate_constant_p): Add new UNSPECs. | |
11642 | (legitimate_pic_operand_p): Likewise. | |
11643 | (legitimate_pic_address_disp_p): Disallow local symbols for large PICs. | |
11644 | (legitimize_pic_address): Do easy RIP relative way for TLS only for | |
11645 | non-large model. | |
11646 | (output_pic_addr_const): Add PLTOFF. | |
11647 | (ix86_output_addr_diff_elt): Output 64bit tables when needed. | |
11648 | (ix86_expand_move): Legitimize pic address when in PIC mode. | |
11649 | (construct_plt_address): New function. | |
7e08fa35 UB |
11650 | (ix86_expand_call): Offload the address to register and use GOT |
11651 | pointer for large model. | |
dc4d7240 JH |
11652 | * invoke.texi (mcmodel=large): Update documentation. |
11653 | ||
80fd744f RH |
11654 | 2007-03-06 Richard Henderson <rth@redhat.com> |
11655 | ||
11656 | * config/i386/i386.c (x86_use_leave, x86_push_memory, | |
11657 | x86_zero_extend_with_and, x86_movx, x86_double_with_add, | |
11658 | x86_use_bit_test, x86_unroll_strlen, x86_deep_branch, | |
11659 | x86_branch_hints, x86_use_sahf, x86_partial_reg_stall, | |
11660 | x86_partial_flag_reg_stall, x86_use_himode_fiop, x86_use_simode_fiop, | |
11661 | x86_use_mov0, x86_use_cltd, x86_read_modify_write, x86_read_modify, | |
cff4720f | 11662 | x86_split_long_moves, x86_promote_QImode, x86_fast_prefix, |
80fd744f RH |
11663 | x86_single_stringop, x86_qimode_math, x86_promote_qi_regs, |
11664 | x86_himode_math, x86_promote_hi_regs, x86_sub_esp_4, x86_sub_esp_8, | |
cff4720f ZW |
11665 | x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, |
11666 | x86_partial_reg_dependency, x86_memory_mismatch_stall, | |
80fd744f | 11667 | x86_prologue_using_move, x86_epilogue_using_move, x86_shift1, |
cff4720f | 11668 | x86_sse_partial_reg_dependency, x86_sse_split_regs, |
80fd744f RH |
11669 | x86_sse_unaligned_move_optimal, x86_sse_typeless_stores, |
11670 | x86_sse_load0_by_pxor, x86_use_ffreep, x86_use_incdec, | |
11671 | x86_inter_unit_moves, x86_ext_80387_constants, x86_four_jump_limit, | |
acaaf0c6 UB |
11672 | x86_schedule, x86_use_bt, x86_pad_returns, |
11673 | x86_use_xchgb): Merge into ... | |
80fd744f | 11674 | (ix86_tune_features): ... here. New array. |
acaaf0c6 UB |
11675 | (x86_cmove, x86_cmpxchg, x86_cmpxchg8b, x86_xadd, |
11676 | x86_bswap): Merge into ... | |
80fd744f RH |
11677 | (ix86_arch_features): ... here. New array. |
11678 | (x86_3dnow_a): Remove. | |
11679 | (x86_accumulate_outgoing_args): Make static. | |
11680 | (x86_arch_always_fancy_math_387): Make static. | |
11681 | (ix86_tune_mask, ix86_arch_mask): Move ... | |
11682 | (override_options): ... to local variables here. Apply the | |
11683 | appropriate mask to each element of ix86_arch_features and | |
11684 | ix86_tune_features. Adjust TARGET_CMOVE and TARGET_USE_SAHF | |
11685 | as were done in the old macros. | |
11686 | (standard_80387_constant_p): Use TARGET_EXT_80387_CONSTANTS. | |
11687 | * config/i386/i386.h (x86_use_leave, x86_push_memory, | |
11688 | x86_zero_extend_with_and, x86_use_bit_test, x86_cmove, x86_deep_branch, | |
11689 | x86_branch_hints, x86_unroll_strlen, x86_double_with_add, | |
11690 | x86_partial_reg_stall, x86_movx, x86_use_himode_fiop, | |
11691 | x86_use_simode_fiop, x86_use_mov0, x86_use_cltd, x86_use_xchgb, | |
11692 | x86_read_modify_write, x86_read_modify, x86_split_long_moves, | |
11693 | x86_promote_QImode, x86_single_stringop, x86_fast_prefix, | |
11694 | x86_himode_math, x86_qimode_math, x86_promote_qi_regs, | |
11695 | x86_promote_hi_regs, x86_integer_DFmode_moves, x86_add_esp_4, | |
11696 | x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8, | |
11697 | x86_partial_reg_dependency, x86_memory_mismatch_stall, | |
11698 | x86_accumulate_outgoing_args, x86_prologue_using_move, | |
11699 | x86_epilogue_using_move, x86_decompose_lea, | |
11700 | x86_arch_always_fancy_math_387, x86_shift1, | |
11701 | x86_sse_partial_reg_dependency, x86_sse_split_regs, | |
cff4720f | 11702 | x86_sse_unaligned_move_optimal, x86_sse_typeless_stores, |
80fd744f RH |
11703 | x86_sse_load0_by_pxor, x86_use_ffreep, x86_inter_unit_moves, |
11704 | x86_schedule, x86_use_bt, x86_cmpxchg, x86_cmpxchg8b, x86_xadd, | |
11705 | x86_use_incdec, x86_pad_returns, x86_bswap, | |
11706 | x86_partial_flag_reg_stall): Remove. | |
11707 | (enum ix86_tune_indices): New. | |
11708 | (ix86_tune_features): New. | |
11709 | (TARGET_USE_LEAVE, TARGET_PUSH_MEMORY, TARGET_ZERO_EXTEND_WITH_AND, | |
11710 | TARGET_USE_BIT_TEST, TARGET_UNROLL_STRLEN, | |
11711 | TARGET_DEEP_BRANCH_PREDICTION, TARGET_BRANCH_PREDICTION_HINTS, | |
11712 | TARGET_DOUBLE_WITH_ADD, TARGET_USE_SAHF, TARGET_MOVX, | |
11713 | TARGET_PARTIAL_REG_STALL, TARGET_PARTIAL_FLAG_REG_STALL, | |
11714 | TARGET_USE_HIMODE_FIOP, TARGET_USE_SIMODE_FIOP, TARGET_USE_MOV0, | |
11715 | TARGET_USE_CLTD, TARGET_USE_XCHGB, TARGET_SPLIT_LONG_MOVES, | |
11716 | TARGET_READ_MODIFY_WRITE, TARGET_READ_MODIFY, TARGET_PROMOTE_QImode, | |
11717 | TARGET_FAST_PREFIX, TARGET_SINGLE_STRINGOP, TARGET_QIMODE_MATH, | |
11718 | TARGET_HIMODE_MATH, TARGET_PROMOTE_QI_REGS, TARGET_PROMOTE_HI_REGS, | |
11719 | TARGET_ADD_ESP_4, TARGET_ADD_ESP_8, TARGET_SUB_ESP_4, | |
11720 | TARGET_SUB_ESP_8, TARGET_INTEGER_DFMODE_MOVES, | |
11721 | TARGET_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REG_DEPENDENCY, | |
11722 | TARGET_SSE_UNALIGNED_MOVE_OPTIMAL, TARGET_SSE_SPLIT_REGS, | |
11723 | TARGET_SSE_TYPELESS_STORES, TARGET_SSE_LOAD0_BY_PXOR, | |
11724 | TARGET_MEMORY_MISMATCH_STALL, TARGET_PROLOGUE_USING_MOVE, | |
11725 | TARGET_EPILOGUE_USING_MOVE, TARGET_SHIFT1, TARGET_USE_FFREEP, | |
11726 | TARGET_INTER_UNIT_MOVES, TARGET_FOUR_JUMP_LIMIT, TARGET_SCHEDULE, | |
11727 | TARGET_USE_BT, TARGET_USE_INCDEC, TARGET_PAD_RETURNS, | |
11728 | TARGET_EXT_80387_CONSTANTS): Use it. | |
11729 | (enum ix86_arch_indices): New. | |
11730 | (ix86_arch_features): New. | |
11731 | (TARGET_CMOVE, TARGET_CMPXCHG, TARGET_CMPXCHG8B, TARGET_XADD, | |
11732 | TARGET_BSWAP): Use it. | |
11733 | (ix86_tune_mask, ix86_arch_mask): Remove. | |
11734 | ||
14da6073 JM |
11735 | 2007-03-06 Joseph Myers <joseph@codesourcery.com> |
11736 | ||
11737 | PR bootstrap/31020 | |
11738 | * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir): | |
11739 | Define using $${sysroot_headers_suffix}. | |
11740 | * configure: Regenerate. | |
11741 | * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a | |
11742 | multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC | |
11743 | defined. | |
11744 | * doc/invoke.texi (-print-sysroot-headers-suffix): Document. | |
11745 | * gcc.c (print_sysroot_headers_suffix): New. | |
11746 | (option_map): Include --print-sysroot-headers-suffix. | |
11747 | (display_help): Mention -print-sysroot-headers-suffix. | |
11748 | (process_command): Handle -print-sysroot-headers-suffix. | |
11749 | (do_spec_1): Append multilib directory to include-fixed path if | |
11750 | sysroot suffixes in use. | |
11751 | (main): Handle -print-sysroot-headers-suffix. | |
11752 | * Makefile.in (start.encap): Don't depend on xlimits.h | |
11753 | (xlimits.h): Remove. | |
11754 | (stmp-int-hdrs): Don't depend on xlimits.h. Inline generation of | |
11755 | limits.h for each multilib in fixinc_list. | |
11756 | (fixinc_list, s-fixinc_list): New. | |
11757 | (stmp-fixinc): Depend on fixinc_list. If not copying headers, | |
11758 | generate them for each multilib in fixinc_list. | |
11759 | (stmp-fixproto): Use include-fixed. Run fixproto for each | |
11760 | multilib in fixinc_list. | |
11761 | (mostlyclean): Don't remove xlimits.h. | |
11762 | (clean): Remove include-fixed. | |
11763 | (real-install-headers-tar, real-install-headers-cpio, | |
11764 | real-install-headers-cp): Don't copy include, only include-fixed. | |
11765 | (install-mkheaders): Depend on fixinc_list. Don't depend on | |
11766 | xlimits.h. Save limits.h files for each multilib in fixinc_list. | |
11767 | Always save mkinstalldirs. Preserve ${sysroot_headers_suffix} in | |
11768 | SYSTEM_HEADER_DIR setting in mkheaders.conf. | |
11769 | ||
4e669430 JH |
11770 | 2007-03-06 Jan Hubicka <jh@suse.cz> |
11771 | ||
11772 | * regstack.c (reg_to_stack): When in 64bit PIC mode, we still can load | |
11773 | NANs easilly. | |
11774 | ||
3ca43df7 RS |
11775 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11776 | ||
11777 | * configure.ac: Allow tm_file to contain build-directory files. | |
11778 | * configure: Regenerate. | |
11779 | * config.gcc (m68k-*-uclinux*): Add ./sysroot-suffix.h to tm_file. | |
11780 | * config/m68k/t-uclinux (sysroot-suffix.h): New target. | |
11781 | * config/m68k/print-sysroot-suffix.sh: New file. | |
11782 | ||
4ab870f5 RS |
11783 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11784 | ||
11785 | * config/m68k/m68k.h (PIC_OFFSET_TABLE_REGNUM): Use the REGNO | |
11786 | of pic_offset_table_rtx if reload_completed. | |
11787 | (CONDITIONAL_REGISTER_USAGE): Use PIC_REG instead of | |
11788 | PIC_OFFSET_TABLE_REGNUM. | |
11789 | * config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Always | |
11790 | return true. | |
11791 | (m68k_save_reg): Use PIC_REG instead of PIC_OFFSET_TABLE_REGNO. | |
11792 | (m68k_output_mi_thunk): Rewrite to use RTL. Honor vcall_offset. | |
11793 | ||
afcb440c RS |
11794 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11795 | ||
11796 | * config/m68k/m68k.c (m68k_save_reg): Save the PIC register in | |
11797 | functions that call eh_return. | |
11798 | ||
6357eb0d RS |
11799 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11800 | ||
11801 | * config/m68k/m68k.c (m68k_save_reg): Save the PIC register in | |
11802 | functions that need a constant pool. | |
11803 | ||
ffa2596e RS |
11804 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11805 | ||
11806 | PR target/28181 | |
11807 | * config/m68k/m68k-protos.h (m68k_secondary_reload_class): Declare. | |
11808 | (m68k_preferred_reload_class): Likewise. | |
11809 | * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Remove duplicated comment. | |
11810 | (SECONDARY_RELOAD_CLASS): Define. | |
11811 | (PREFERRED_RELOAD_CLASS): Use m68k_preferred_reload_class. | |
11812 | (LIMIT_RELOAD_CLASS): Delete. | |
11813 | * config/m68k/m68k.c (m68k_regno_mode_ok): Don't prevent address | |
11814 | registers from storing bytes. | |
11815 | (m68k_secondary_reload_class): New function. | |
11816 | (m68k_preferred_reload_class): Likewise. | |
11817 | ||
4f44ecc0 RS |
11818 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11819 | ||
11820 | * config/m68k/m68k.c (m68k_save_reg): Remove special case for | |
11821 | leaf functions. | |
11822 | (m68k_expand_prologue): Likewise. | |
11823 | ||
f7e70894 RS |
11824 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11825 | ||
11826 | * config/m68k/m68k-protos.h (output_sibcall): Declare. | |
11827 | (mips_expand_epilogue): Add a bool parameter. | |
11828 | (m68k_legitimize_sibcall_address): Declare. | |
11829 | * config/m68k/m68k.c (TARGET_FUNCTION_OK_FOR_SIBCALL): Define. | |
11830 | (m68k_expand_epilogue): Add a parameter to select between sibling | |
11831 | and normal epilogues. Only generate a return for the latter. | |
11832 | (m68k_ok_for_sibcall_p): New function. | |
11833 | (m68k_legitimize_sibcall_address, output_sibcall): New functions. | |
11834 | * config/m68k/m68k.md (sibcall, *sibcall): New patterns. | |
11835 | (sibcall_value, *sibcall_value): Likewise. | |
11836 | (*call, *call_value): Require !SIBLING_CALL_P. | |
11837 | (epilogue): Update call to m68k_expand_epilogue. | |
11838 | (sibcall_epilogue): New pattern. | |
11839 | * config/m68k/predicates.md (const_call_operand): Say that this | |
11840 | predicate applies to sibling calls too. | |
11841 | (sibcall_operand): New predicate. | |
11842 | ||
31c5b444 RS |
11843 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11844 | ||
11845 | * config/m68k/m68k.md (movsf_cf_soft): Provide the same non-mov3q | |
11846 | alternatives as movsi_cf. | |
11847 | (movsf_cf_hard): Add commentary. | |
11848 | ||
a40ed0f3 KH |
11849 | 2007-03-06 Kazu Hirata <kazu@codesourcery.com> |
11850 | Richard Sandiford <richard@codesourcery.com> | |
11851 | ||
11852 | * config/m68k/m68k-protos.h (m68k_interrupt_function_p): Declare. | |
11853 | (m68k_movem_pattern_p, m68k_output_movem): Likewise. | |
11854 | (m68k_expand_prologue, m68k_expand_epilogue): Likewise. | |
11855 | * config/m68k/m68k.h (EPILOGUE_USES): Define. Treat all registers | |
11856 | as being live on exit from an interrupt function. | |
11857 | (PRINT_OPERAND_PUNCT_VALID_P): Return true for '?'. | |
11858 | * config/m68k/m68k.c (MIN_MOVEM_REGS, MIN_FMOVEM_REGS): New macros. | |
11859 | (m68k_frame): Remove reg_rev_mask and fpu_rev_mask. | |
11860 | (TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Delete. | |
11861 | (m68k_interrupt_function_p): Globalize. | |
11862 | (m68k_compute_frame_layout): Remove reverse mask code. | |
11863 | (m68k_emit_movem, m68k_set_frame_related): New functions. | |
11864 | (m68k_output_function_prologue): Delete in favor of... | |
11865 | (m68k_expand_prologue): ...this new function. | |
11866 | (m68k_output_function_epilogue): Delete in favor of... | |
11867 | (m68k_expand_epilogue): ...this new function. | |
11868 | (m68k_split_offset, m68k_movem_pattern_p, m68k_output_movem): New | |
11869 | functions. | |
11870 | (print_operand): Handle %?. | |
11871 | * config/m68k/m68k.md (UNSPEC_SIN, UNSPEC_COS): Remove excess space. | |
11872 | (UNSPEC_GOT, A1_REG, PIC_REG, FP0_REG): New constants. | |
11873 | (prologue, epilogue): New patterns. | |
11874 | (return): Turn into a define_expand. | |
11875 | (*return): New pattern, derived from old "return" pattern. Use rte | |
11876 | rather than rts for interrupt functions. Only use rtd if the pop | |
11877 | count is nonzero. | |
11878 | (*m68k_store_multiple, *m68k_store_multiple_automod): New patterns. | |
11879 | (*m68k_load_multiple, *m68k_load_multiple_automod): Likewise. | |
11880 | (link, *link, unlink, *unlink, load_got): Likewise. | |
11881 | ||
fc2241eb RS |
11882 | 2007-03-06 Richard Sandiford <richard@codesourcery.com> |
11883 | ||
11884 | PR target/23482 | |
11885 | PR target/17114 | |
11886 | * config/m68k/m68k-protos.h (m68k_legitimate_base_reg_p): Declare. | |
11887 | (m68k_legitimate_index_reg_p, m68k_legitimate_address_p): Likewise. | |
11888 | (m68k_matches_q_p, m68k_matches_u_p): Likewise. | |
11889 | * config/m68k/m68k.h (EXTRA_CONSTRAINT): Use m68k_matches_q_p | |
11890 | and m68k_matches_u_p. | |
11891 | (PCREL_GENERAL_OPERAND_OK, LEGITIMATE_BASE_REG_P): Delete. | |
11892 | (INDIRECTABLE_1_ADDRESS_P, GO_IF_NONINDEXED_ADDRESS): Delete. | |
11893 | (GO_IF_INDEXABLE_BASE, GO_IF_INDEXING, GO_IF_INDEXED_ADDRESS): Delete. | |
11894 | (LEGITIMATE_INDEX_REG_P, LEGITIMATE_INDEX_P): Delete. | |
11895 | (GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Delete. | |
11896 | (REG_STRICT_P): New macro. | |
11897 | (LEGITIMATE_PIC_OPERAND_P): Use REG_STRICT_P rather than | |
11898 | PCREL_GENERAL_OPERAND_OK. | |
11899 | (REG_OK_FOR_BASE_P): Merge definitions. Use REG_STRICT_P and | |
11900 | m68k_legitimate_base_reg_p. | |
11901 | (REG_MODE_OK_FOR_INDEX_P): Likewise m68k_legitimate_index_reg_p. | |
11902 | (GO_IF_LEGITIMATE_ADDRESS): Likewise m68k_legitimate_address_p. | |
11903 | (PIC_CASE_VECTOR_ADDRESS): Update comment. | |
11904 | * config/m68k/m68k.c (m68k_address): New structure. | |
11905 | (m68k_legitimate_base_reg_p, m68k_legitimate_index_reg_p) | |
11906 | (m68k_decompose_index, m68k_legitimate_constant_address_p) | |
11907 | (m68k_jump_table_ref_p, m68k_decompose_address) | |
11908 | (m68k_legitimate_address_p, m68k_legitimate_mem_p, m68k_matches_q_p) | |
11909 | (m68k_matches_u_p): New functions. | |
11910 | (print_operand_address): Rewrite to use m68k_decompose_index. | |
11911 | ||
581f006c | 11912 | 2007-03-05 David Taylor <dtaylor@emc.com> |
9e8f6959 DT |
11913 | |
11914 | * gcc.c: Correct copyright date in --version output. | |
11915 | ||
50f9c211 JDA |
11916 | 2007-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
11917 | ||
11918 | * pa.md: In unamed move patterns, disparge copies between general | |
11919 | and floating point registers using '?' modifier. Don't include 'f' | |
11920 | constraint for register preferences in DImode, SImode, HImode and | |
11921 | QImode patterns. Likewise for 'r' in DFmode and SFmode patterns. | |
11922 | Remove constraints for copies between general and floating registers | |
11923 | in soft-float DFmode pattern. | |
11924 | (movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard | |
11925 | floating register. | |
cff4720f | 11926 | (movsf): Likewise. |
50f9c211 | 11927 | |
1f1d5130 MS |
11928 | 2007-03-05 Mike Stump <mrs@apple.com> |
11929 | ||
acaaf0c6 | 11930 | * c-common.c (targetcm): Add. |
1f1d5130 MS |
11931 | * c-opts.c (c_common_handle_option): Handle language specific |
11932 | target options. | |
11933 | * opts.c (handle_option): Verify language for target options, if | |
11934 | any are given. | |
11935 | * opth-gen.awk: Add CL_LANG_ALL. | |
11936 | * target-def.h (TARGET_HANDLE_C_OPTION): Add. | |
11937 | (TARGETCM_INITIALIZER): Add. | |
11938 | * target.h (struct gcc_targetcm): Add. | |
11939 | (targetcm): Add. | |
11940 | * targhooks.c (default_handle_c_option): Add. | |
11941 | * targhooks.h (default_handle_c_option): Add. | |
11942 | * doc/tm.texi (TARGET_HANDLE_C_OPTION): Add. | |
11943 | ||
11944 | * config/darwin.opt (iframework): Add. | |
11945 | * config/darwin.h (TARGET_HAS_TARGETCM): Add. | |
11946 | * config/darwin-c.c (handle_c_option): Add. | |
11947 | (TARGET_HANDLE_C_OPTION): Add. | |
11948 | (targetcm): Add. | |
11949 | * doc/invoke.texi (Darwin Options): Add -iframework. | |
11950 | ||
65bda21f KG |
11951 | 2007-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
11952 | ||
11953 | * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint | |
11954 | conversion. | |
11955 | ||
da1c7394 ILT |
11956 | 2007-03-05 Ian Lance Taylor <iant@google.com> |
11957 | ||
11958 | * c.opt (fgnu89-inline): New option. | |
11959 | * c-opts.c (c_common_post_options): Set default value for | |
11960 | flag_gnu89_inline. | |
11961 | * c-decl.c (WANT_C99_INLINE_SEMANTICS): Remove. | |
11962 | (pop_scope): Check flag_gnu89_inline rather than flag_isoc99 for | |
11963 | inline functions. | |
11964 | (diagnose_mismatched_decls, merge_decls, start_decl): Likewise. | |
11965 | (grokdeclarator, start_function): Likewise. | |
11966 | * c-cppbuiltin.c (c_cpp_builtins): Define either | |
11967 | __GNUC_GNU_INLINE__ or __GNUC_STDC_INLINE__. | |
11968 | * doc/invoke.texi (Option Summary): Mention -fgnu89-inline. | |
11969 | (C Dialect Options): Document -fgnu89-inline. | |
11970 | * doc/extend.texi (Function Attributes): Explain what the | |
11971 | gnu_inline attribute does. | |
11972 | * doc/cpp.texi (Common Predefined Macros): Document | |
11973 | __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__. | |
11974 | ||
7343ff45 ILT |
11975 | 2007-03-05 Ian Lance Taylor <iant@google.com> |
11976 | ||
11977 | PR tree-optimization/31034 | |
11978 | * tree-vrp.c (extract_range_from_assert): Don't try to handle a | |
11979 | half-range if the other side is an overflow infinity. | |
11980 | ||
344189f9 BS |
11981 | 2007-03-05 Bernd Schmidt <bernd.schmidt@analog.com> |
11982 | ||
11983 | * config.gcc (bfin*-uclinux*): Use t-bfin-uclinux. | |
11984 | (bfin*-linux-uclibc*): New configuration. | |
11985 | * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefined before | |
11986 | defining. | |
11987 | * config/bfin/linux.h: New file. | |
11988 | * config/bfin/libgcc-bfin.ver: New file. | |
11989 | * config/bfin/t-bfin-uclinux: New file. | |
11990 | * config/bfin/t-bfin-linux: New file. | |
11991 | * config/bfin/uclinux.h (LINUX_TARGET_OS_CPP_BUILTINS): New macro. | |
11992 | (TARGET_OS_CPP_BUILTINS): New macro. | |
11993 | ||
9dc167ec RG |
11994 | 2007-03-05 Richard Guenther <rguenther@suse.de> |
11995 | ||
11996 | * fold-const.c (fold_binary): Remove duplicate folding | |
11997 | of comparison of non-null ADDR_EXPR against null. | |
11998 | ||
f9be04cd | 11999 | 2007-03-05 Richard Guenther <rguenther@suse.de> |
3c2d980c | 12000 | Dorit Nuzman <dorit@il.ibm.com> |
f9be04cd RG |
12001 | |
12002 | PR tree-optimization/26420 | |
12003 | * tree-vectorizer.c (vectorize_loops): Bail out early if there | |
12004 | are no loops in the function. Only print the number of | |
12005 | vectorized loops if it is greater than zero or we are supposed | |
12006 | to print information about unvectorized loops. | |
12007 | ||
c1c5a431 RE |
12008 | 2007-03-05 Revital Eres <eres@il.ibm.com> |
12009 | ||
3c2d980c UB |
12010 | * gcc.dg/var-expand1.c: New test. |
12011 | * loop-unroll.c (analyze_insn_to_expand_var): Add dump info | |
12012 | when an accumulator is expanded. | |
c1c5a431 | 12013 | |
f73fe417 MLI |
12014 | 2007-03-04 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
12015 | ||
12016 | PR other/30465 | |
12017 | * c-common.c (convert_and_check): Don't give warnings for | |
12018 | conversion if 'expr' already overflowed. | |
cff4720f | 12019 | |
270d43bf RS |
12020 | 2007-03-04 Roger Sayle <roger@eyesopen.com> |
12021 | ||
12022 | PR middle-end/30744 | |
12023 | * fold-const.c (fold_comparison): Enforce type consistency when | |
12024 | transforming ~X op ~Y to Y op X, and ~X op C to X op' ~C. | |
12025 | ||
69bd3423 ZD |
12026 | 2007-03-04 Zdenek Dvorak <dvorakz@suse.cz> |
12027 | ||
12028 | * tree-ssa-address.c (create_mem_ref): Do not put an expression | |
12029 | containing a cast to the base of TARGET_MEM_REF. | |
12030 | ||
23204428 MM |
12031 | 2007-03-04 Martin Michlmayr <tbm@cyrius.com> |
12032 | ||
12033 | * tree.c (tree_contains_struct_check_failed): Remove spurious | |
12034 | whitespace from error message. | |
12035 | ||
7348aa7f FXC |
12036 | 2007-03-04 Andrew Pinski <andrew_pinski@playstation.sony.com> |
12037 | ||
12038 | PR target/30406 | |
12039 | * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size | |
12040 | instead of precision. | |
12041 | ||
594f8779 | 12042 | 2007-03-04 Roman Zippel <zippel@linux-m68k.org> |
69bd3423 | 12043 | Nathan Sidwell <nathan@codesourcery.com> |
594f8779 RZ |
12044 | |
12045 | * emit-rtl.c (find_auto_inc): New. | |
12046 | (try_split): recreate REG_INC notes, | |
12047 | Use regular for loops rather than whiles. | |
12048 | ||
695d8830 AS |
12049 | 2007-03-03 Andreas Schwab <schwab@suse.de> |
12050 | ||
12051 | * configure.ac (HAVE_AS_REL16): Move test back to correct place. | |
12052 | * configure: Regenerate. | |
12053 | ||
31ff73b5 KG |
12054 | 2007-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
12055 | ||
a5063932 KG |
12056 | * builtins.def (ATTR_MATHFN_FPROUNDING): Rely on |
12057 | flag_rounding_math, not flag_unsafe_math_optimizations. | |
12058 | ||
31ff73b5 KG |
12059 | * c-pretty-print.c (pp_c_direct_abstract_declarator): Use |
12060 | fold_build2. | |
12061 | * config/alpha/alpha.c (alpha_fold_builtin_zapnot, | |
12062 | alpha_fold_vector_minmax): Likewise. | |
12063 | * config/i386/i386.c (ix86_gimplify_va_arg): Likewise. | |
12064 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise. | |
12065 | ||
97002248 EB |
12066 | 2007-03-02 Eric Botcazou <ebotcazou@adacore.com> |
12067 | ||
12068 | * tree-sra.c (sra_walk_fns) <ldst>: Document new restriction. | |
12069 | (sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use | |
12070 | if the lhs has side-effects. | |
12071 | <lhs_elt>: Treat the reference as a use if the rhs has side-effects. | |
12072 | ||
e39e8c36 UB |
12073 | 2007-03-02 Uros Bizjak <ubizjak@gmail.com> |
12074 | ||
12075 | * config/i386/i386.h (TUNEMASK): Remove define. | |
12076 | (ARCHMASK): Remove define. | |
12077 | (TARGET_*): Use ix86_tune_mask variable instead of TUNEMASK. | |
12078 | Use ix86_arch_mask variable instead of ARCHMASK. | |
12079 | * config/i386/i386.c (override_options): Ditto. | |
12080 | (standard_80387_constant_p): Ditto. | |
12081 | ||
97002248 | 12082 | 2007-03-02 Ian Lance Taylor <iant@google.com> |
12df8a7e ILT |
12083 | |
12084 | Used signed infinities in VRP. | |
12085 | * tree-vrp.c (uses_overflow_infinity): New static function. | |
12086 | (supports_overflow_infinity): New static function. | |
12087 | (make_overflow_infinity): New static function. | |
12088 | (negative_overflow_infinity): New static function. | |
12089 | (positive_overflow_infinity): New static function. | |
12090 | (is_negative_overflow_infinity): New static function. | |
12091 | (is_positive_overflow_infinity): New static function. | |
12092 | (is_overflow_infinity): New static function. | |
12093 | (overflow_infinity_range_p): New static function. | |
12094 | (compare_values_warnv): New function split out of compare_values. | |
12095 | (compare_value): Call it. | |
12096 | (set_value_range_to_nonnegative): Add overflow_infinity | |
12097 | parameter. Change caller. | |
12098 | (vrp_expr_computes_nonnegative): Add strict_overflow_p parameter. | |
12099 | Change callers. | |
12100 | (vrp_expr_computes_nonzero): Likewise. | |
12101 | (compare_ranges, compare_range_with_value): Likewise. | |
12102 | (compare_name_with_value, compare_names): Likewise. | |
12103 | (vrp_evaluate_conditional): Likewise. | |
12104 | (set_value_range): Handle infinity | |
12105 | (vrp_operand_equal_p, operand_less_p): Likewise. | |
12106 | (extract_range_from_assert): Likewise. | |
12107 | (vrp_int_const_binop): Likewise. | |
12108 | (extract_range_from_binary_expr): Likewise. | |
12109 | (extract_range_from_unary_expr): Likewise. | |
12110 | (extract_range_from_comparison): Likewise. | |
12111 | (extract_range_from_expr): Likewise. | |
12112 | (dump_value_range): Likewise. | |
12113 | (vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise. | |
12114 | (test_for_singularity): Likewise. | |
12115 | (vrp_int_const_binop): Remove inline qualifier. | |
12116 | (adjust_range_with_scev): Add comment. | |
12117 | * tree-flow.h (vrp_evaluate_conditional): Update declaration. | |
12118 | ||
6e7e772d DN |
12119 | 2007-03-02 Diego Novillo <dnovillo@redhat.com> |
12120 | ||
12121 | * tree-ssa-structalias.c (could_have_pointers): Tidy. | |
12122 | (get_constraint_for): Likewise. | |
12123 | (do_structure_copy): Likewise. | |
12124 | (find_func_aliases): Fix references to MODIFY_EXPR. | |
12125 | (intra_create_variable_infos): Tidy. | |
12126 | * tree-ssa-operands.c (add_virtual_operand): Add argument | |
12127 | IS_CALL_SITE. | |
12128 | When adding members of alias sets, if IS_CALL_SITE is true and | |
12129 | the symbol is not call-clobbered, skip it. | |
12130 | Adjust all callers. | |
12131 | ||
e0759b73 EB |
12132 | 2007-03-02 Eric Botcazou <ebotcazou@adacore.com> |
12133 | ||
12134 | * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the | |
12135 | entry by means of emit_insn_at_entry. | |
12136 | ||
962f3833 RH |
12137 | 2007-03-02 Richard Henderson <rth@redhat.com> |
12138 | ||
12139 | * expr.h (promoted_input_arg): Remove decl. | |
12140 | * function.c (promoted_input_arg): Merge into ... | |
12141 | * combine.c (setup_incoming_promotions): ... only caller. | |
12142 | Rearrange to avoid double loop. | |
12143 | ||
7393f7f8 BE |
12144 | 2007-03-02 Ben Elliston <bje@au.ibm.com> |
12145 | Peter Bergner <bergner@vnet.ibm.com> | |
12146 | Janis Johnson <janis187@us.ibm.com> | |
12147 | ||
12148 | * config/rs6000/dfp.md: New file. | |
12149 | * config/rs6000/rs6000.md: Include dfp.md. | |
12150 | (add<mode>3_internal1): Disable for DECIMAL_FLOAT_MODE_P operands. | |
12151 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Handle DDmode | |
12152 | and TDmode decimal float modes in FP registers. | |
12153 | (num_insns_constant): Likewise. | |
12154 | (rs6000_legitimate_offset_address_p): Likewise. | |
12155 | (rs6000_legitimize_address): Likewise. | |
12156 | (rs6000_legitimize_reload_address): Likewise. | |
12157 | (rs6000_legitimate_address): Likewise. | |
12158 | (rs6000_emit_move): Likewise. | |
12159 | (function_arg_boundary): Likewise. | |
12160 | (function_arg_advance): Likewise. | |
12161 | (rs6000_darwin64_record_arg_recurse): Likewise. | |
12162 | (function_arg): Likewise. | |
12163 | (rs6000_gimplify_va_arg): Likewise. | |
12164 | (rs6000_split_multireg_move): Likewise. | |
12165 | (rs6000_output_function_epilogue): Likewise. | |
12166 | (rs6000_output_function_epilogue): Likewise. | |
12167 | (rs6000_register_move_cost): Likewise. | |
12168 | (rs6000_function_value): Likewise. | |
12169 | (rs6000_libcall_value): Likewise. | |
12170 | ||
1f24ba02 RS |
12171 | 2007-03-02 Richard Sandiford <richard@codesourcery.com> |
12172 | ||
12173 | * config/t-vxworks (LIMITS_H_TEST): Define to true for VxWorks. | |
12174 | ||
c3c9a5d2 RS |
12175 | 2007-03-02 Richard Sandiford <richard@codesourcery.com> |
12176 | ||
12177 | * config/t-vxworks (LIBGCC2_INCLUDES): Pass -nostdinc. | |
12178 | Use $MULTIDIR to choose between the kernel and RTP headers, | |
12179 | and use $WIND_BASE and $WIND_USR to locate them. | |
12180 | ||
0fa4c370 UB |
12181 | 2007-03-02 Uros Bizjak <ubizjak@gmail.com> |
12182 | ||
12183 | * config/i386/i386.c (override_options): Put initialization of | |
12184 | ix86_tune_mask and ix86_arch_mask to the correct place. | |
12185 | ||
8691cea3 UB |
12186 | 2007-03-02 Uros Bizjak <ubizjak@gmail.com> |
12187 | Michael Meissner <michael.meissner@amd.com> | |
12188 | ||
12189 | PR target/31019 | |
12190 | * config/i386/i386.h (TUNEMASK): Redefine to use ix86_tune_mask. | |
12191 | (ARCHMASK): Define. | |
12192 | (TARGET_CMOVE): Use ARCHMASK. | |
12193 | (TARGET_CMPXCHG): Ditto. | |
12194 | (TARGET_CMPXCHG8B): Ditto. | |
12195 | (TARGET_XADD): Ditto. | |
12196 | (TARGET_BSWAP): Ditto. | |
12197 | * config/i386/i386.c (ix86_tune_mask): New global variable. | |
12198 | (ix86_arch_mask): Ditto. | |
12199 | (override_options): Initialize ix86_tune_mask and | |
12200 | ix86_arch_mask. Use ARCHMASK to clear MASK_NO_FANCY_MATH_387 in | |
12201 | target_flags. | |
12202 | ||
cee690f1 BE |
12203 | 2007-03-02 Ben Elliston <bje@au.ibm.com> |
12204 | ||
12205 | PR 30992 | |
12206 | * config/dfp-bit.c (DFP_TO_INT): Initialise qval with "1.". | |
12207 | ||
37ea0b7e JM |
12208 | 2007-03-02 Joseph Myers <joseph@codesourcery.com> |
12209 | ||
12210 | * target.h (init_dwarf_reg_sizes_extra): New target hook. | |
12211 | * target-def.h (TARGET_INIT_DWARF_REG_SIZES_EXTRA): New default. | |
12212 | * doc/tm.texi (TARGET_INIT_DWARF_REG_SIZES_EXTRA): Document. | |
12213 | * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Call this | |
12214 | hook. | |
12215 | * config/rs6000/rs6000.c (TARGET_INIT_DWARF_REG_SIZES_EXTRA, | |
12216 | rs6000_init_dwarf_reg_sizes_extra): New. | |
12217 | * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Support | |
12218 | SPE register high parts. | |
12219 | ||
bcc3d150 BM |
12220 | 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com> |
12221 | ||
12222 | * Makefile.in: Add install-pdf target as | |
12223 | copied from automake v1.10 rules. | |
12224 | * configure.ac: Add install-pdf to target list. | |
12225 | * configure: Regenerate. | |
12226 | ||
fe2d934b PB |
12227 | 2007-03-01 Paul Brook <paul@codesourcery.com> |
12228 | ||
12229 | * config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing | |
12230 | modes to LDRD for DImode. | |
12231 | (output_move_double): Fixup out of range ldrd/strd. | |
12232 | (vfp_secondary_reload_class): Rename... | |
12233 | (coproc_secondary_reload_class): ... to this. Add wb argument. | |
12234 | * config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use | |
12235 | coproc_secondary_reload_class for CLASS_IWMMXT. | |
12236 | (SECONDARY_INPUT_RELOAD_CLASS): Ditto. | |
12237 | * arm-protos.h (coproc_secondary_reload_class): Update prototype. | |
12238 | ||
2711355f ZD |
12239 | 2007-03-01 Zdenek Dvorak <dvorakz@suse.cz> |
12240 | ||
7e08fa35 UB |
12241 | * tree-ssa-loop-prefetch.c (determine_unroll_factor): Bound the |
12242 | unroll factor by the estimated number of iterations. | |
12243 | (loop_prefetch_arrays): Do not prefetch in loops that iterate less | |
12244 | than prefetch latency. | |
2711355f | 12245 | |
5ca09e73 ZD |
12246 | * config/i386/driver-i386.c (describe_cache, detect_caches_amd, |
12247 | decode_caches_intel, detect_caches_intel): New functions. | |
12248 | (host_detect_local_cpu): Use detect_caches_amd and | |
12249 | detect_caches_intel. | |
12250 | ||
ceca734e RH |
12251 | 2007-03-01 Richard Henderson <rth@redhat.com> |
12252 | ||
12253 | * expr.c (emit_move_complex_push): Export. | |
12254 | (emit_move_complex_parts): Split out from ... | |
12255 | (emit_move_complex): ... here. | |
12256 | * expr.h (emit_move_complex_push, emit_move_complex_parts): Declare. | |
12257 | * config/i386/i386.md (movcdi): New. | |
12258 | ||
93de7743 UB |
12259 | 2007-03-01 Uros Bizjak <ubizjak@gmail.com> |
12260 | ||
12261 | * config/i386/i386.c (ix86_modes_tieable_p): Fix typo, use also | |
12262 | size of mode1 to check for tieable modes in MMX case. | |
12263 | ||
7ffb5e78 RS |
12264 | 2007-03-01 Richard Sandiford <richard@codesourcery.com> |
12265 | ||
12266 | * Makefile.in (rtlanal.o): Depend on tree.h. | |
12267 | * rtl.h (offset_within_section_p, split_const): Declare. | |
12268 | * rtlanal.c: Include tree.h. | |
12269 | (offset_within_block_p): New function, taken from | |
12270 | mips_offset_within_object_p. | |
12271 | (split_const): New function, taken from mips_split_const. | |
12272 | * config/m68k/m68k-protos.h (m68k_illegitimate_symbolic_constant_p): | |
12273 | Declare. | |
12274 | * config/m68k/m68k.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define. | |
12275 | (CONSTANT_ADDRESS_P): Only accept legitimate constants. | |
12276 | (LEGITIMATE_CONSTANT_P): Check m68k_illegitimate_symbolic_constant_p. | |
12277 | * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Define. | |
12278 | (m68k_illegitimate_symbolic_constant_p): New function. | |
12279 | * config/m68k/m68k.md (movsi): Remove misleading predicates. | |
12280 | If M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P and the source is a | |
12281 | symbolic constant that might be outside the symbol's section, | |
12282 | move the symbol first and then add the offset. | |
12283 | * config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): | |
12284 | Override. | |
12285 | * config/mips/mips.c (mips_split_const): Delete. | |
12286 | (mips_offset_within_object_p): Delete. | |
12287 | (mips_symbolic_constant_p): Use offset_within_section_p and | |
12288 | split_const instead of mips_offset_within_object_p and | |
12289 | mips_split_const. | |
12290 | (mips_cannot_force_const_mem, mips_const_insns, mips_unspec_address) | |
12291 | (mips_legitimize_const_move, print_operand_reloc) | |
12292 | (mips_dangerous_for_la25_p): Use split_const instead of | |
12293 | mips_split_const. | |
12294 | ||
d3dc619d EC |
12295 | 2007-02-28 Eric Christopher <echristo@apple.com> |
12296 | ||
12297 | * Makefile.in (install-include-dir): Don't rm -rf include. | |
12298 | ||
a6d5f37c RG |
12299 | 2007-02-28 Richard Guenther <rguenther@suse.de> |
12300 | ||
12301 | PR middle-end/30364 | |
12302 | * fold-const.c (fold_binary): Do not associate expressions | |
12303 | with more than one variable for integer types that do not wrap. | |
12304 | ||
94a0dd7b SL |
12305 | 2007-02-28 Sandra Loosemore <sandra@codesourcery.com> |
12306 | ||
12307 | * builtins.c (fold_builtin_call_list, fold_builtin_call_valist): | |
12308 | Delete, and replace with... | |
12309 | (fold_builtin_call_array): This. Update callers to use it. | |
12310 | * fold-const.c (fold_build_call_list): Delete, and replace with... | |
12311 | (fold_build_call_array): This. | |
12312 | (fold_build_call_list_initializer): Delete, and replace with... | |
12313 | (fold_build_call_array_initializer): This. | |
12314 | * tree.h: Update declarations to reflect above changes. | |
12315 | ||
12316 | * c-typeck.c (build_function_call): Store converted arguments | |
12317 | in a stack-allocated array instead of building a list. | |
12318 | (convert_arguments): Store arguments in the array passed in as an | |
12319 | argument, and return the actual number of arguments. | |
12320 | * c-format.c: (check_function_format): Pass arguments in an | |
12321 | array instead of a list. | |
12322 | * c-common.c (check_function_nonnull): Likewise. | |
12323 | (check_function_sentinel): Likewise. | |
12324 | (check_function_arguments): Likewise. | |
12325 | * c-common.h: Update declarations to reflect above changes. | |
12326 | ||
76bf4853 JH |
12327 | 2007-02-28 Jan Hubicka <jh@suse.cz> |
12328 | ||
12329 | * predict.def (PRED_TREE_EARLY_RETURN, PRED_CONST_RETURN, | |
12330 | PRED_NEGATIVE_RETURN): Update outcomes. | |
12331 | ||
3b1bf459 BS |
12332 | 2007-02-28 Bernd Schmidt <bernd.schmidt@analog.com> |
12333 | ||
12334 | * calls.c (emit_library_call_value_1): Handle partial registers | |
12335 | correctly when building up CALL_INSN_FUNCTION_USAGE. | |
d3dc619d | 12336 | |
e214de0a JDA |
12337 | 2007-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
12338 | ||
12339 | * pa/predicates.md (move_src_operand): Allow zero for mode. | |
12340 | * pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode | |
12341 | move pattern. | |
12342 | ||
8ab93332 UB |
12343 | 2007-02-27 Uros Bizjak <ubizjak@gmail.com> |
12344 | ||
12345 | PR target/30970 | |
12346 | * config/i386/sse.md (*mov<mode>_internal, *movv4sf_internal, | |
12347 | *movv2df_internal): Enable pattern only for valid operand | |
12348 | combinations. | |
12349 | * config/i386/i386.c (ix86_modes_tieable_p): For SSE registers, | |
12350 | tie only 128bit modes. For MMX registers, tie only 64bit modes. | |
12351 | ||
3b414146 MS |
12352 | 2007-02-27 Mike Stump <mrs@apple.com> |
12353 | ||
12354 | * config/darwin-crt3.c: Avoid compilation when compiling for a | |
12355 | kext multilib. | |
12356 | ||
f686ec05 JM |
12357 | 2007-02-27 Joseph Myers <joseph@codesourcery.com> |
12358 | ||
12359 | * Makefile.in (PREPROCESSOR_DEFINES, test-protoize-simple): Define | |
12360 | FIXED_INCLUDE_DIR. | |
12361 | (stmp-int-hdrs, stmp-fixinc, install-headers): Use include-fixed | |
12362 | for fixed headers and limits.h. | |
12363 | (install-include-dir, install-headers-tar, install-headers-cpio, | |
12364 | install-headers-cp, real-install-headers-tar, | |
12365 | real-install-headers-cpio, real-install-headers-cp): Handle | |
12366 | include-fixed as well as include. | |
12367 | (install-mkheaders): Don't install files that go only in include | |
12368 | not include-fixed. | |
12369 | * cppdefault.c (cpp_include_defaults): Separate FIXED_INCLUDE_DIR | |
12370 | from GCC_INCLUDE_DIR. | |
12371 | * gcc.c (process_command): Remove special -BstageN/ handling. | |
12372 | (do_spec_1): Add include-fixed directories. | |
12373 | ||
01e7cd6e BS |
12374 | 2007-02-27 Bernd Schmidt <bernd.schmidt@analog.com> |
12375 | ||
12376 | * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add _umulsi3_highpart and | |
12377 | _smulsi3_highpart. | |
12378 | * config/bfin/lib1funcs.asm (___umulsi3_highpart, ___smulsi3_highpart): | |
12379 | New functions. | |
12380 | * config/bfin/bfin.md (smulsi3_highpart, umulsi3_highpart): New | |
12381 | patterns. | |
12382 | ||
f6fc5c86 MM |
12383 | 2007-02-27 Mark Mitchell <mark@codesourcery.com> |
12384 | ||
12385 | * c-common.c (get_priority): Add check for | |
12386 | SUPPORTS_INIT_PRIORITY. | |
12387 | ||
9b02a95e BS |
12388 | 2007-02-27 Bernd Schmidt <bernd.schmidt@analog.com> |
12389 | ||
12390 | * config/bfin/bfin.md (doloop_end): FAIL if counter reg isn't SImode. | |
12391 | ||
ce27ef3d BS |
12392 | * config/bfin/bfin.c: Include "cfglayout.h". |
12393 | (MAX_LSETUP_DISTANCE): New macro. | |
12394 | (struct loop_info): New members incoming, incoming_src and | |
12395 | incoming_dest. Delete member predecessor. | |
12396 | (length_for_loop): New function. | |
12397 | (bfin_optimize_loop): Handle more different loop structures. | |
12398 | (bfin_discover_loop): Rework detection of predecessor blocks by | |
12399 | examining incoming edges. | |
12400 | (bfin_discover_loops, bfin_free_loops): New functions, broken out of | |
12401 | bfin_reorg_loops. | |
12402 | (bfin_reorder_loops): New function. | |
12403 | (bfin_reorg_loops): Use these three new functions. | |
12404 | ||
2889abed BS |
12405 | * config/bfin/bfin.h (enum reg_class, REG_CLASS_NAMES, |
12406 | REG_CLASS_CONTENTS): Add D0REGS through D7REGS. | |
12407 | (CONSTRAINT_LEN): Add entry for 'q'. | |
12408 | (REG_CLASS_FROM_CONSTRAINT): Renamed from REG_CLASS_FROM_LETTER. | |
12409 | Add 'q' constraints. | |
12410 | (REGNO_REG_CLASS): For R0 through R7, return corresponding regclass. | |
12411 | (CLASS_LIKELY_SPILLED_P): True for R0, R1 and R2. | |
12412 | ||
12413 | * config/bfin/bfin.md (add_with_carry): New pattern. | |
12414 | (s_or_u, su_optab, su_modifier): New code macros/attrs. | |
12415 | (<su_optab>hisi_ll, <su_optab>hisi_lh, <su_optab>hisi_hl, | |
12416 | <su_optab>hisi_hh): Renamed from mulhisi_xx patterns; macroized to | |
12417 | support unsigned multiplies too. Removed incorrect commutativity from | |
12418 | operand 1 constraint where appropriate. | |
12419 | (usmulhisi_ull, usmulhisi_ulh, usmulhisi_uhl, usmulhisi_uhh): New | |
12420 | patterns. | |
12421 | (<su_optab>hisi_ll_lh, <su_optab>hisi_ll_hl, <su_optab>hisi_ll_hh, | |
12422 | <su_optab>hisi_lh_hl, <su_optab>hisi_lh_hh, <su_optab>hisi_hl_hh): | |
12423 | New patterns. | |
12424 | (usmulhisi_ll_lul, usmulhisi_ll_luh, usmulhisi_ll_hul, | |
12425 | usmulhisi_ll_huh, usmulhisi_lh_lul, usmulhisi_lh_luh, usmulhisi_lh_hul, | |
12426 | usmulhisi_lh_huh, usmulhisi_hl_lul, usmulhisi_hl_luh, usmulhisi_hl_hul, | |
12427 | usmulhisi_hl_huh, usmulhisi_hh_lul, usmulhisi_hh_luh, usmulhisi_hh_hul, | |
12428 | usmulhisi_hh_huh): New patterns. | |
12429 | ||
329437dd BS |
12430 | * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3, |
12431 | lshifthi3): Fix output template to use half reg for operand 2. | |
12432 | ||
6ce986b9 BS |
12433 | * config/bfin/bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg |
12434 | instead of R2. | |
12435 | ||
97130915 BS |
12436 | * config/bfin/bfin.md (rotl16, rotlsi3, rotrsi3): New patterns. |
12437 | ||
3b4ed48b AS |
12438 | 2007-02-27 Andreas Schwab <schwab@suse.de> |
12439 | ||
12440 | * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi. | |
12441 | ||
dcb995f7 JH |
12442 | 2007-02-27 Jan Hubicka <jh@suse.cz> |
12443 | ||
12444 | * predict.c (last_basic_block_p): Remove. | |
12445 | (tree_estimate_probability): Update return heuristic for commonized | |
12446 | return blocks. | |
12447 | ||
e5fc6da8 BM |
12448 | 2007-02-26 Brooks Moses <brooks.moses@codesourcery.com> |
12449 | ||
12450 | * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency. | |
12451 | ||
7771bb62 BM |
12452 | 2007-02-26 Brooks Moses <brooks.moses@codesourcery.com> |
12453 | ||
12454 | * doc/include/gcc-common.texi (versionsubtitle): New macro. | |
12455 | * doc/cpp.texi: Standardize title page. | |
12456 | * doc/cppinternals.texi: Likewise. | |
12457 | * doc/gcc.texi: Standardize title page, remove version number | |
12458 | from copyright page. | |
12459 | * doc/gccint.texi: Likewise. | |
12460 | * doc/install.texi: Standardize title page, add table of | |
12461 | contents. | |
12462 | ||
75b6bb62 JH |
12463 | 2007-02-26 Jan Hubicka <jh@suse.cz> |
12464 | ||
12465 | * predict.def: Set outcomes according to more recent results. | |
12466 | (PRED_LOOP_CONDITION, PRED_LOOP_PRECONDITIONING, PRED_LOOP_HEADER): | |
12467 | Remove dead predictors. | |
12468 | * predict.c (return_prediction): Fix pasto. | |
12469 | ||
48982394 BS |
12470 | 2007-02-27 Bernd Schmidt <bernd.schmidt@analog.com> |
12471 | ||
12472 | * loop-iv.c (simplify_using_initial_values): Fix oversight in previous | |
12473 | change; avoid a memory leak when returning early. | |
d3dc619d | 12474 | |
b2f4bed8 MM |
12475 | 2007-02-26 Mark Mitchell <mark@codesourcery.com> |
12476 | ||
57a4c089 MM |
12477 | * c-decl.c (static_ctors): Move to c-common.c. |
12478 | (static_dtors): Likewise. | |
12479 | (finish_function): Use c_record_cdtor_fn. | |
12480 | (build_cdtor): Move to c-common.c. | |
12481 | (c_write_global_declarations): Use c_build_cdtor_fns. | |
12482 | * c-common.h (static_ctors): Declare. | |
12483 | (static_dtors): Likewise. | |
12484 | (c_record_cdtor_fn): Likewise. | |
12485 | (c_build_cdtor_fns): Likewise. | |
12486 | * c-common.c (static_ctors): New variable. | |
12487 | (static_dtors): Likewise. | |
12488 | (c_record_cdtor_fn): New function. | |
12489 | (build_cdtor): Move from c-decl.c | |
12490 | (c_build_cdtor_fns): New function. | |
12491 | ||
b2f4bed8 MM |
12492 | * output.h (assemble_addr_to_section): Declare. |
12493 | (get_cdtor_priority_section): Likewise. | |
12494 | * varasm.c (assemble_addr_to_section): New function. | |
12495 | (get_cdtor_priority_section): Likewise. | |
12496 | (default_named_section_asm_out_destructor): Use them. | |
12497 | (destor_dtor_section_asm_out_destructor): Likewise. | |
12498 | (default_named_section_asm_out_constructor): Likewise. | |
12499 | (default_ctor_section_asm_out_constructor): Likewise. | |
12500 | * config.gcc (*-*-vxworks*): Include vxworks.o. | |
12501 | * config/t-vxworks (vxworks.o): New target. | |
12502 | * config/vxworks.h (ALWAYS_NUMBER_CTORS_SECTIONS): Remove. | |
12503 | (TARGET_ASM_CONSTRUCTOR): Define. | |
12504 | (TARGET_ASM_DESTRUCTOR): Likewise. | |
12505 | (vxworks_asm_out_constructor): Declare. | |
12506 | (vxworks_asm_out_destructor): Likewise. | |
12507 | ||
12508 | * c-common.c (get_priority): Check that we have not just an | |
12509 | INTEGER_CST, but an integer constant with integeral type. | |
12510 | ||
c4a4d1a0 UB |
12511 | 2007-02-25 Uros Bizjak <ubizjak@gmail.com> |
12512 | ||
12513 | PR tree-optimization/30938 | |
12514 | * tree-vect-transform.c (vectorizable_call): Fix off-by-one error: | |
12515 | use &dt[nargs-1] instead of &dt[nargs] in the call to | |
12516 | vect_is_simple_use(). | |
12517 | ||
b098aaf2 UW |
12518 | 2007-02-25 Ulrich Weigand <uweigand@de.ibm.com> |
12519 | ||
12520 | * reload.c (find_reloads_address_1): Handle PLUS expressions resulting | |
12521 | from register elimination as PRE_MODIFY / POST_MODIFY increments. | |
12522 | Do not attempt to handle MEM inside auto-inc expressions. | |
12523 | * reload1.c (eliminate_regs_1): Do not attempt to handle elimination | |
12524 | of a register modified by an auto-inc expression. However, do handle | |
12525 | elimination of a register used as PRE_MODIFY / POST_MODIFY increment. | |
12526 | (elimination_effects): Prohibit elimination of a register modified | |
12527 | by an auto-inc expression. Disable register elimination rules whose | |
12528 | target register is modified by an auto-inc expression with variable | |
12529 | increment. | |
12530 | ||
4839cb59 ZD |
12531 | 2007-02-25 Zdenek Dvorak <dvorakz@suse.cz> |
12532 | ||
12533 | * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix | |
12534 | off-by-one error. | |
12535 | (array_at_struct_end_p): New function. | |
12536 | (idx_infer_loop_bounds): Use it. | |
12537 | (estimate_numbers_of_iterations_loop): Export. | |
12538 | * predict.c (predict_loops): Use estimated_loop_iterations_int. | |
12539 | Do not use PRED_LOOP_EXIT on exits predicted by # of iterations. | |
12540 | (tree_estimate_probability): Call record_loop_exits. | |
12541 | * tree-data-ref.c (get_number_of_iters_for_loop): Replaced by ... | |
12542 | (estimated_loop_iterations, estimated_loop_iterations_int, | |
12543 | estimated_loop_iterations_tree): New functions. | |
12544 | (analyze_siv_subscript_cst_affine, | |
12545 | compute_overlap_steps_for_affine_1_2, | |
12546 | analyze_subscript_affine_affine): Use estimated_loop_iterations_int. | |
12547 | (analyze_miv_subscript): Use estimated_loop_iterations_tree. | |
12548 | * predict.def (PRED_LOOP_ITERATIONS): Update comment. | |
12549 | (PRED_LOOP_ITERATIONS_GUESSED): New. | |
12550 | * cfgloop.c (record_loop_exits): Do nothing if there are no loops. | |
12551 | * cfgloop.h (estimate_numbers_of_iterations_loop, | |
12552 | estimated_loop_iterations_int): Declare. | |
12553 | ||
fc8600f9 MM |
12554 | 2007-02-25 Mark Mitchell <mark@codesourcery.com> |
12555 | ||
12556 | * doc/extend.texi: Document optional priority argument to | |
12557 | constructors and destructors. | |
12558 | * tree.c (init_priority_for_decl): Adjust GTY markers. | |
12559 | (init_ttree): Use priority-info hash functions for | |
12560 | init_priority_for_decl. | |
12561 | (tree_map_eq): Rename to ... | |
12562 | (tree_map_base_eq): ... this. | |
12563 | (tree_map_marked_p): Rename to ... | |
12564 | (tree_map_base_marked_p): ... this. | |
12565 | (tree_map_base_hash): New function. | |
12566 | (decl_init_priority_lookup): Rework. | |
12567 | (decl_fini_priority_lookup): New function. | |
12568 | (decl_priority_info): New function. | |
12569 | (decl_init_priority_insert): Use it. | |
12570 | (decl_fini_priority_insert): Likewise. | |
12571 | (decl_restrict_base_lookup): Adjust for refactoring of tree_map | |
12572 | hierarchy. | |
12573 | (decl_restrict_base_insert): Likewise. | |
12574 | (decl_debug_expr_insert): Likewise. | |
12575 | (decl_value_expr_lookup): Likewise. | |
12576 | (decl_value_expr_insert): Likewise. | |
12577 | * tree.h (priority_type): New type. | |
12578 | (decl_init_priority_lookup): Use priority_type. | |
12579 | (decl_fini_priority_lookup): New function. | |
12580 | (decl_init_priority_insert): Use priority_type. | |
12581 | (decl_fini_priority_insert): New function. | |
12582 | (DECL_HAS_INIT_PRIORITY): Tweak comments. | |
12583 | (DECL_INIT_PRIORITY): Likewise. | |
12584 | (SET_DECL_INIT_PRIORITY): Add comment. | |
12585 | (DECL_FINI_PRIORITY): New macro. | |
12586 | (SET_DECL_FINI_PRIORITY): Likewise. | |
12587 | (DEFAULT_INIT_PRIORITY): Document. | |
12588 | (MAX_INIT_PRIORITY): Likewise. | |
12589 | (MAX_RESERVED_INIT_PRIORITY): Likewise. | |
12590 | (tree_map_base): New type. | |
12591 | (tree_map_base_eq): New function. | |
12592 | (tree_map_base_hash): Likewise. | |
12593 | (tree_map_base_marked_p): Likewise. | |
12594 | (tree_map): Inherit from tree_map_base. | |
12595 | (tree_map_eq): Make it a macro. | |
12596 | (tree_map_marked_p): Likewise. | |
12597 | (tree_int_map): Inherit from tree_map_base. | |
12598 | (tree_int_map_eq): Make it a macro. | |
12599 | (tree_int_map_hash): Likewise. | |
12600 | (tree_int_map_marked_p): Likewise. | |
12601 | (tree_priority_map): New type. | |
12602 | (tree_priority_map_eq): New macro. | |
12603 | (tree_priority_map_hash): Likewise. | |
12604 | (tree_priority_map_marked_p): Likewise. | |
12605 | * varasm.c (emults_decl): Adjust for refactoring of tree_map | |
12606 | hierarchy. | |
12607 | (emutls_common_1): Likewise. | |
12608 | * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise. | |
12609 | * tree-ssa-structalias.c (heapvar_lookup): Adjust for refactoring | |
12610 | of tree_map hierarchy. | |
12611 | * tree-cfg.c (move_stmt_r): Likewise. | |
12612 | (new_label_mapper): Likewise. | |
12613 | * c-tree.h (c_expand_body): Move to ... | |
12614 | * c-common.h (c_expand_body): ... here. | |
12615 | * c-decl.c (c_expand_body): Move to ... | |
12616 | * c-common.c (c_expand_body): ... here. | |
12617 | (c_common_attribute_table): Allow 1 argument for the constructor | |
12618 | and destructor attributes. | |
12619 | (get_priority): New function. | |
12620 | (handle_constructor_attribute): Set DECL_INIT_PRIORITY. | |
12621 | (handle_destructor_attribute): Set DECL_FINI_PRIORITY. | |
12622 | ||
2a025b54 JH |
12623 | 2007-02-24 Jan Hubicka <jh@suse.cz> |
12624 | ||
12625 | PR middle-end/30509 | |
7e08fa35 UB |
12626 | * tree-inline.c (copy_bb): Produce exact copy of EH info when |
12627 | copying for inlining. | |
2a025b54 | 12628 | |
bd8d4d19 JH |
12629 | 2007-02-24 Uros Bizjak <ubizjak@gmail.com> |
12630 | Jan Hubicka <jh@suse.cz> | |
12631 | ||
12632 | PR target/30778 | |
12633 | * i386.c (counter_mode): New function. | |
12634 | (expand_set_or_movmem_via_loop): Use it. | |
12635 | (expand_movmem_epilogue): Likewise; fix pasto. | |
12636 | (ix86_expand_movmem): Do emit guard even for constant counts. | |
12637 | (ix86_expand_setmem): Likewise. | |
12638 | ||
e133c867 NC |
12639 | 2007-02-25 Nick Clifton <nickc@redhat.com> |
12640 | ||
12641 | * config/frv/frv.h (ASM_OUTPUT_CASE_LABEL): Delete. | |
12642 | (JUMP_TABLES_IN_TEXT_SECTION): Define. | |
12643 | ||
73013054 UB |
12644 | 2007-02-24 Uros Bizjak <ubizjak@gmail.com> |
12645 | ||
12646 | PR target/30770 | |
12647 | * config/i386/i386.md (expand_movmem_epilogue): Fix typo, mask | |
12648 | count argument with 0x10, not with 0x16. | |
12649 | (expand_setmem_epilogue): Ditto. | |
12650 | ||
320ce1d3 MS |
12651 | 2007-02-24 Mike Stump <mrs@apple.com> |
12652 | ||
12653 | * config/i386/i386.c (output_pic_addr_const): Stubify optimized | |
12654 | symbols. | |
12655 | ||
a31498d2 RG |
12656 | 2007-02-24 Richard Guenther <rguenther@suse.de> |
12657 | ||
12658 | PR middle-end/30951 | |
12659 | * fold-const.c (fold_binary): Fold x +- CST op x for | |
12660 | EQ_EXPR and NE_EXPR. | |
12661 | ||
1e6e2c30 JDA |
12662 | 2007-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
12663 | ||
12664 | * pa.md (muldi3): Force subregs to registers in 64-bit expander. | |
12665 | ||
a1d31187 JH |
12666 | 2007-02-24 Jan Hubicka <jh@suse.cz> |
12667 | ||
12668 | * cgraphunit.c (decide_is_function_needed): Honor | |
12669 | -fkeep-inline-functions. | |
12670 | ||
3d577eaf KG |
12671 | 2007-02-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
12672 | ||
12673 | * builtins.c (fold_builtin_modf): New. | |
12674 | (fold_builtin_2): Use it. | |
12675 | ||
60683019 BS |
12676 | 2007-02-24 Bernd Schmidt <bernd.schmidt@analog.com> |
12677 | ||
12678 | * loop-iv.c (implies_p): Detect additional cases where A implies B. | |
12679 | (determine_max_iter): Take additional LOOP arg; all callers changed. | |
12680 | Lose broken logic dealing with PLUS. Try to limit the upper bound by | |
12681 | one using simplifications. | |
00c73ae6 BS |
12682 | (simplify_using_initial_values): Return if the expression becomes |
12683 | invalid due to altered regs. | |
60683019 | 12684 | |
c4f46fde DD |
12685 | 2007-02-23 DJ Delorie <dj@redhat.com> |
12686 | ||
12687 | * doc/tm.h (BIGGEST_ALIGNMENT): Clarify the purpose of this macro. | |
12688 | ||
196bea21 MS |
12689 | 2007-02-23 Mike Stump <mrs@apple.com> |
12690 | ||
12691 | * tlink.c (scan_linker_output): Parse linker messages from | |
12692 | darwin9's linker better. | |
12693 | ||
a615f803 SE |
12694 | 2007-02-23 Steve Ellcey <sje@cup.hp.com> |
12695 | ||
12696 | PR debug/29614 | |
12697 | * varpool.c (varpool_assemble_pending_decls): Set | |
12698 | varpool_last_needed_node to null. | |
12699 | ||
bf69f9d2 DD |
12700 | 2007-02-23 DJ Delorie <dj@redhat.com> |
12701 | ||
12702 | * config/i386/i386.c (ix86_data_alignment): Don't specify an | |
12703 | alignment bigger than the object file can handle. | |
12704 | ||
4afb7791 UB |
12705 | 2007-02-23 Uros Bizjak <ubizjak@gmail.com> |
12706 | ||
12707 | PR target/30825 | |
12708 | * config/i386/i386.md (*movdi_1_rex64, zero_extendsidi2_32, | |
12709 | zero_extendsidi2_rex64): Penalize MMX register<->memory moves. | |
12710 | (*movsf_1): Penalize MMX moves. | |
12711 | ||
0a8f8c45 BS |
12712 | 2007-02-23 Bernd Schmidt <bernd.schmidt@analog.com> |
12713 | ||
12714 | * config/bfin/bfin.md (doloop_end): Fail for loops that can iterate | |
12715 | 2^32-1 or more times unless flag_unsafe_loop_optimizations. | |
12716 | ||
c67dc1a3 BS |
12717 | * loop-iv.c (determine_max_iter): Moved in front of its sole user. |
12718 | ||
6351a719 KG |
12719 | 2007-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
12720 | ||
12721 | * builtins.c (fold_builtin_logb, fold_builtin_significand): New. | |
12722 | (fold_builtin_1): Use them. | |
12723 | * fold-const.c (tree_expr_nonnegative_warnv_p): Handle | |
12724 | BUILT_IN_SIGNIFICAND. | |
12725 | ||
95764a8f L |
12726 | 2007-02-23 H.J. Lu <hongjiu.lu@intel.com> |
12727 | ||
12728 | * config/i386/i386.c (bdesc_1arg): Initialize | |
12729 | IX86_BUILTIN_MOVSHDUP and IX86_BUILTIN_MOVSLDUP with | |
12730 | "__builtin_ia32_movshdup" and "__builtin_ia32_movsldup". | |
12731 | (ix86_init_mmx_sse_builtins): Remove IX86_BUILTIN_MOVSHDUP | |
12732 | and IX86_BUILTIN_MOVSLDUP. | |
12733 | ||
c0729306 PB |
12734 | 2007-02-22 Paolo Bonzini <bonzini@gnu.org> |
12735 | ||
12736 | PR rtl-optimization/30841 | |
95764a8f | 12737 | * fwprop.c (propagate_rtx_1): Accept a VOIDmode replacement address. |
c0729306 | 12738 | |
7a2a25ab KG |
12739 | 2007-02-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
12740 | ||
12741 | * builtins.c (fold_builtin_frexp): New. | |
12742 | (fold_builtin_2): Use it. | |
12743 | ||
30d8946b MM |
12744 | 2007-02-22 Mark Mitchell <mark@codesourcery.com> |
12745 | ||
03d12b64 MM |
12746 | * doc/invoke.texi (Spec Files): Document getenv spec function. |
12747 | ||
30d8946b MM |
12748 | * gcc.c (getenv_spec_function): New function. |
12749 | (static_spec_functions): Add it. | |
12750 | * config/vxworks.h (VXWORKS_TARGET_DIR): Remove. | |
12751 | (VXWORKS_ADDITIONAL_CPP_SPEC): Use getenv to find the VxWorks | |
12752 | header files. | |
12753 | ||
a0ad3539 MM |
12754 | 2007-02-22 Michael Matz <matz@suse.de |
12755 | ||
12756 | PR c++/29433 | |
12757 | * dwarf2out.c (add_AT_string): Call ggc_strdup once per string. | |
12758 | (type_tag): Use lang_hooks.dwarf_name instead of DECL_NAME. | |
12759 | ||
0c5c188f ILT |
12760 | 2007-02-22 Ian Lance Taylor <iant@google.com> |
12761 | ||
12762 | PR debug/30898 | |
12763 | * dwarf2out.c (concatn_mem_loc_descriptor): New static function. | |
12764 | (mem_loc_descriptor): Call it. | |
12765 | ||
021a93e3 | 12766 | 2007-02-22 Zdenek Dvorak <dvorakz@suse.cz> |
a0ad3539 | 12767 | Ira Rosen <irar@il.ibm.com> |
021a93e3 IR |
12768 | |
12769 | * tree-data-ref.c (ptr_ptr_may_alias_p): Take alias sets into account. | |
12770 | ||
8fca6de5 IR |
12771 | 2007-02-22 Ira Rosen <irar@il.ibm.com> |
12772 | ||
12773 | PR tree-optimization/30843 | |
d3dc619d | 12774 | * tree-vect-transform.c (vect_transform_loop): Remove strided scalar |
8fca6de5 IR |
12775 | stores only after all the group is vectorized. |
12776 | ||
b3832a9f DN |
12777 | 2007-02-22 Dorit Nuzman <dorit@il.ibm.com> |
12778 | ||
12779 | PR tree-optimization/30858 | |
12780 | * tree-vectorizer.c (vect_is_simple_reduction): Check that the stmts | |
12781 | in the reduction cycle have a single use in the loop. | |
12782 | * tree-vectorizer.h (relevant): Add documentation. | |
12783 | ||
ba7da42a MS |
12784 | 2007-02-20 Mike Stump <mrs@apple.com> |
12785 | ||
12786 | * configure.ac (powerpc*-*-darwin*): #include <sys/cdefs.h>. | |
12787 | * configure: Regenerate. | |
12788 | ||
73701e27 TS |
12789 | 2007-02-21 Trevor Smigiel <trevor_smigiel@playstation.sony.com> |
12790 | ||
12791 | Change the defaults of some parameters and options. | |
12792 | * config/spu/spu-protos.h (spu_optimization_options): Declare. | |
12793 | * config/spu/spu.c (spu_optimization_options): Add. | |
12794 | (spu_override_options): Change params in spu_optimization_options. | |
12795 | * config/spu/spu.h (OPTIMIZATION_OPTIONS): Define. | |
12796 | ||
12797 | Register 127 is only 16 byte aligned when used as a frame pointer. | |
12798 | * config/spu/spu-protos.h (spu_init_expanders): Declare. | |
12799 | * config/spu/spu.c (spu_expand_prologue): Set REGNO_POINTER_ALIGN for | |
12800 | HARD_FRAME_POINTER_REGNUM. | |
12801 | (spu_legitimate_address): Use regno_aligned_for_reload. | |
12802 | (regno_aligned_for_load): HARD_FRAME_POINTER_REGNUM is only 16 byte | |
12803 | aligned when frame_pointer_needed is true. | |
12804 | (spu_init_expanders): New. Set alignment of HARD_FRAME_POINTER_REGNUM | |
12805 | to 8 bits. | |
12806 | * config/spu/spu.h (INIT_EXPANDERS): Define. | |
12807 | ||
12808 | Make sure shift and rotate instructions have valid immediate operands. | |
12809 | * config/spu/predicates.md (spu_shift_operand): Remove. | |
12810 | * config/spu/spu.c (print_operand): Add [efghEFGH] modifiers. | |
ba7da42a | 12811 | * config/spu/constraints.md (W, O): Extend range. |
73701e27 TS |
12812 | * config/spu/spu.md (umask, nmask): Define. |
12813 | (ashl<mode>3, ashldi3, ashlti3_imm, shlqbybi_ti, shlqbi_ti, shlqby_ti, | |
12814 | lshr<mode>3, rotm_<mode>, lshr<mode>3_imm, rotqmbybi_<mode>, | |
12815 | rotqmbi_<mode>, rotqmby_<mode>, ashr<mode>3, rotma_<mode>, | |
12816 | rotl<mode>3, rotlti3, rotqbybi_ti, rotqby_ti, rotqbi_ti): Use | |
12817 | spu_nonmem_operand instead of spu_shift_operands. Use new modifiers. | |
12818 | (lshr<mode>3_reg): Fix rtl description. | |
12819 | ||
12820 | Make sure mulhisi immediate operands are valid. | |
12821 | * config/spu/predicates.md (imm_K_operand): Add. | |
12822 | * config/spu/spu.md (mulhisi3_imm, umulhisi3_imm): Use imm_K_operand. | |
12823 | ||
12824 | Generate constants using fsmbi and andi. | |
12825 | * config/spu/spu.c (enum immediate_class): Add IC_FSMBI2. | |
12826 | (print_operand, spu_split_immediate, classify_immediate, | |
12827 | fsmbi_const_p): Handle IC_FSMBI2. | |
12828 | ||
12829 | Correctly handle a CONST_VECTOR containing symbols. | |
12830 | * config/spu/spu.c (print_operand): Handle HIGH correctly. | |
12831 | (spu_split_immediate): Split CONST_VECTORs with -mlarge-mem. | |
12832 | (immediate_load_p): Allow symbols that use 2 instructions to create. | |
12833 | (classify_immediate, spu_builtin_splats): Don't accept a CONST_VECTOR | |
12834 | with symbols when flag_pic is set. | |
12835 | (const_vector_immediate_p): New. | |
12836 | (logical_immediate_p, iohl_immediate_p, arith_immediate_p): Don't | |
12837 | accept a CONST_VECTOR with symbols. | |
12838 | (spu_legitimate_constant_p): Use const_vector_immediate_p. Don't | |
12839 | accept a CONST_VECTOR with symbols when flag_pic is set. Handle HIGH | |
12840 | correctly. | |
12841 | * config/spu/spu.md (high, low): Delete. | |
12842 | (low_<mode>): Define. | |
12843 | ||
12844 | Remove INTRmode and INTR_REGNUM, which didn't work. | |
12845 | * config/spu/spu.c (spu_conditional_register_usage): Remove reference | |
12846 | of INTR_REGNUM. | |
12847 | * config/spu/spu-builtins.md (spu_idisable, spu_ienable, set_intr, | |
12848 | set_intr_pic, set_intr_cc, set_intr_cc_pic, set_intr_return, unnamed | |
12849 | peephole2 pattern): Don't use INTR or 131. | |
12850 | (movintrcc): Delete. | |
12851 | * config/spu/spu.h (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, | |
12852 | CALL_USED_REGISTERS, REGISTER_NAMES, INTR_REGNUM): Remove INTR_REGNUM. | |
12853 | * config/spu/spu.md (UNSPEC_IDISABLE, UNSPEC_IENABLE): Remove. | |
12854 | (UNSPEC_SET_INTR): Add. | |
12855 | * config/spu/spu-modes.def (INTR): Remove. | |
12856 | ||
12857 | More accurate warnings about run-time relocations. | |
12858 | * config/spu/spu.c (reloc_diagnostic): Test in_section. | |
12859 | ||
12860 | Correctly warn about immediate arguments to specific intrinsics. | |
12861 | * config/spu/spu.c (spu_check_builtin_parm): Handle CONST_VECTORs. | |
12862 | (spu_expand_builtin_1): Call spu_check_builtin_parm before checking | |
12863 | the instruction predicate. | |
12864 | ||
12865 | Fix tree check errors with latest update. | |
12866 | * config/spu/spu.c (expand_builtin_args, spu_expand_builtin_1): Use | |
12867 | CALL_EXPR_ARG. | |
12868 | (spu_expand_builtin): Use CALL_EXPR_FN. | |
12869 | ||
12870 | Add missing specific intrinsics. | |
12871 | * config/spu/spu-builtins.def: Add si_bisled, si_bisledd and | |
12872 | si_bislede. | |
12873 | * config/spu/spu_internals.h: Ditto. | |
12874 | ||
12875 | Fix incorrect operand modifiers. | |
12876 | * config/spu/spu-builtins.md (spu_mpy, spu_mpyu): Remove use of %H. | |
12877 | * config/spu/spu.md (xor<mode>3): Change %S to %J. | |
12878 | ||
12879 | Optimize one case of zero_extend of a vec_select. | |
12880 | * config/spu/spu.md (_vec_extractv8hi_ze): Add. | |
12881 | ||
12882 | Accept any immediate for hbr. | |
12883 | * config/spu/spu.md (hbr): Change s constraints to i. | |
12884 | ||
5b0202af PB |
12885 | 2007-02-21 Paul Brook <paul@codesourcery.com> |
12886 | ||
12887 | * config/arm/arm.c (thumb2_final_prescan_insn): Don't incrememnt | |
12888 | condexec_count when skipping USE and CLOBBER. | |
12889 | ||
21af5cdf NC |
12890 | 2007-02-21 Nick Clifton <nickc@redhat.com> |
12891 | ||
12892 | * common.opt (Warray-bounds): Add Warning attribute. | |
12893 | (Wstrict-overflow, Wstrict-overflow=, Wcoverage-mismatch): | |
12894 | Likewise. | |
12895 | (fsized-zeroes): Add Optimization attribute. | |
12896 | (fsplit-wide-types, ftree-scev-cprop): Likewise. | |
12897 | * c.opt (Wc++0x-compat): Add Warning attribute. | |
12898 | ||
551d6929 UW |
12899 | 2007-02-21 Ulrich Weigand <uweigand@de.ibm.com> |
12900 | ||
12901 | PR middle-end/30761 | |
12902 | * reload1.c (eliminate_regs_in_insn): In the single_set special | |
12903 | case, attempt to re-recognize the insn before falling back to | |
12904 | having reload fix it up. | |
12905 | ||
2396bce1 EC |
12906 | 2007-02-20 Eric Christopher <echristo@gmail.com> |
12907 | ||
12908 | * config/frv/frv.c (frv_read_argument): Take a tree and int argument. | |
12909 | Rewrite accordingly. | |
12910 | (frv_read_iacc_argument): Ditto. | |
12911 | (frv_expand_set_builtin): Take a call instead of arglist, update for | |
12912 | above changes. | |
12913 | (frv_expand_unop_builtin): Ditto. | |
12914 | (frv_expand_binop_builtin): Ditto. | |
12915 | (frv_expand_cut_builtin): Ditto. | |
12916 | (frv_expand_binopimm_builtin): Ditto. | |
12917 | (frv_expand_voidbinop_builtin): Ditto. | |
12918 | (frv_expand_int_void2arg): Ditto. | |
12919 | (frv_expand_prefetches): Ditto. | |
12920 | (frv_expand_voidtriop_builtin): Ditto. | |
12921 | (frv_expand_voidaccop_builtin): Ditto. | |
12922 | (frv_expand_load_builtin): Ditto. | |
12923 | (frv_expand_store_builtin): Ditto. | |
12924 | (frv_expand_mdpackh_builtin): Ditto. | |
12925 | (frv_expand_mclracc_builtin): Ditto. | |
12926 | (frv_expand_mrdacc_builtin): Ditto. | |
12927 | (frv_expand_mwtacc_builtin): Ditto. | |
12928 | (frv_expand_builtin): Remove usage of CALL_EXPR_ARGS, update | |
12929 | calls for above. | |
12930 | ||
b639c3c2 JJ |
12931 | 2007-02-20 Janis Johnson <janis187@us.ibm.com> |
12932 | ||
12933 | * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcmpb and -mdfp. | |
12934 | * configure.ac (HAVE_GAS_CMPB): Check for assembler support of the | |
12935 | cmpb instruction. | |
12936 | (HAVE_GAS_DFP): Check for assembler support of decimal floating | |
12937 | point instructions. | |
12938 | * configure: Regenerate. | |
12939 | * config.in: Regenerate. | |
12940 | * config/rs6000/rs6000.opt (mcmpb, mdfp): New. | |
12941 | * config/rs6000/rs6000.c (rs6000_override_options): Add CMPB and DFP | |
12942 | masks to power6 and power6x and to POWERPC_MASKS. | |
12943 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
12944 | _ARCH_PWR6. | |
12945 | * config/rs6000/rs6000.h: Check assembler support for CMPB and DFP. | |
12946 | * config/rs6000/sysv4.opt (mprototype): Use variable, not mask. | |
12947 | * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): | |
12948 | Access PROTOTYPE as variable, not mask. | |
12949 | ||
7cd689bc SB |
12950 | 2007-02-20 Steven Bosscher <steven@gcc.gnu.org> |
12951 | ||
12952 | * rtl.h (remove_reg_equal_equiv_notes): New prototype. | |
12953 | * rtlanal.c (remove_reg_equal_equiv_notes): New function. | |
12954 | * combine.c (adjust_for_new_dest): Use it. | |
12955 | * postreload.c (reload_combine): Likewise. | |
12956 | ||
ea8f106d SB |
12957 | 2007-02-20 Steven Bosscher <steven@gcc.gnu.org> |
12958 | ||
12959 | * rtlanal.c (find_reg_equal_equiv_note): Do not find REG_EQ* | |
12960 | notes on an insn with multiple sets, even if single_set returns | |
12961 | non-NULL for that insn. | |
12962 | ||
8df79ac5 KG |
12963 | 2007-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
12964 | ||
12965 | * fold-const.c (tree_expr_nonnegative_warnv_p): Handle scalb, | |
12966 | scalbn and scalbln. | |
12967 | ||
32ec6542 GK |
12968 | 2007-02-20 Geoffrey Keating <geoffk@apple.com> |
12969 | ||
12970 | * config/darwin.h (LINK_SPEC): Default -mmacosx-version-min only | |
12971 | if user didn't pass it. | |
12972 | * config/i386/darwin.h (CC1_SPEC): Likewise. | |
12973 | * config/rs6000/darwin.h (CC1_SPEC): Likewise. | |
12974 | (DARWIN_MINVERSION_SPEC): Don't depend on user's setting of | |
12975 | -mmacosx-version-min. | |
12976 | ||
0c0d910d KG |
12977 | 2007-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
12978 | Uros Bizjak <ubizjak@gmail.com> | |
12979 | ||
12980 | * optabs.h (enum optab_index): Add new OTI_scalb. | |
12981 | (scalb_optab): Define corresponding macro. | |
12982 | * optabs.c (init_optabs): Initialize scalb_optab. | |
12983 | * genopinit.c (optabs): Implement scalb_optab using scalb?f3 | |
12984 | patterns. | |
12985 | * builtins.c (expand_builtin_mathfn_2, expand_builtin): Handle | |
12986 | BUILT_IN_SCALB{,F,L}, BUILT_IN_SCALBN{,F,L} and BUILT_IN_SCALBLN{,F,L}. | |
12987 | (expand_builtin): Expand BUILT_IN_SCALB{,F,L}, BUILT_IN_SCALBN{,F,L} | |
12988 | and BUILT_IN_SCALBLN{,F,L} using expand_builtin_mathfn_2 if | |
12989 | flag_unsafe_math_optimizations is set. | |
12990 | ||
12991 | * config/i386/i386.md (scalbxf3, scalb<mode>3): New expanders | |
12992 | to implement scalbf, scalb and scalbl built-ins as inline x87 | |
12993 | intrinsics. | |
12994 | ||
4e2bae26 | 12995 | 2007-02-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
ba7da42a | 12996 | DJ Delorie <dj@redhat.com> |
4e2bae26 MLI |
12997 | |
12998 | PR other/30824 | |
12999 | * diagnostic.c (diagnostic_count_diagnostic): Move -Werror logic to... | |
13000 | (diagnostic_report_diagnostic): ... here, and turn them into real | |
13001 | errors. If warnings are inhibited, no need to do anything. | |
13002 | ||
6bdcc60c UB |
13003 | 2007-02-20 Uros Bizjak <ubizjak@gmail.com> |
13004 | ||
13005 | * config/i386/i386.md (expm1xf2): Reorder insn sequence for | |
13006 | better code generation. | |
13007 | ||
9e4bd0ea BE |
13008 | 2007-02-20 Ben Elliston <bje@au.ibm.com> |
13009 | ||
13010 | * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove extra ;. | |
13011 | ||
a50aa827 KH |
13012 | 2007-02-20 Kazu Hirata <kazu@codesourcery.com> |
13013 | ||
13014 | * config/alpha/alpha.c, config/alpha/alpha.md, | |
13015 | config/alpha/lib1funcs.asm, config/alpha/vms-crt0-64.c, | |
13016 | config/alpha/vms-psxcrt0-64.c, config/arc/arc.c, | |
13017 | config/arc/arc.h, config/arm/arm.c, config/arm/arm.md, | |
13018 | config/arm/lib1funcs.asm: Follow spelling conventions. | |
13019 | ||
a7b376ee KH |
13020 | * config/c4x/c4x.md, config/cris/cris.c, config/crx/crx.c, |
13021 | config/fr30/fr30.md, config/i386/i386.h, | |
13022 | config/iq2000/iq2000.h, config/iq2000/predicates.md, | |
13023 | config/pa/milli64.S, config/pa/pa.c, config/pa/pa.h, | |
13024 | config/pa/pa.md, config/pa/pa32-regs.h, config/pa/pa64-regs.h, | |
13025 | config/pdp11/pdp11.c, config/pdp11/pdp11.h, | |
13026 | config/rs6000/altivec.md, config/rs6000/rs6000.c, | |
13027 | config/s390/s390-modes.def, config/sparc/netbsd-elf.h, | |
13028 | config/sparc/sparc.c, config/sparc/sparc.h, | |
13029 | config/sparc/sparc.md, config/spu/constraints.md, | |
13030 | config/spu/spu.c, config/stormy16/stormy16.md: Follow spelling | |
13031 | conventions. | |
13032 | ||
10daf677 AM |
13033 | 2007-02-20 Alan Modra <amodra@bigpond.net.au> |
13034 | ||
13035 | PR target/29943 | |
13036 | * varasm.c (use_blocks_for_decl_p): Return false for decls with | |
13037 | alias attribute. | |
13038 | ||
8af63653 KH |
13039 | 2007-02-19 Kazu Hirata <kazu@codesourcery.com> |
13040 | ||
13041 | * doc/invoke.texi (-ftree-lrs): Remove. | |
13042 | ||
ac02df49 DN |
13043 | 2007-02-19 Diego Novillo <dnovillo@redhat.com> |
13044 | ||
13045 | * tree-ssa-pre.c (create_value_expr_from): Initialize POOL to | |
13046 | NULL. | |
13047 | ||
767fad4c LM |
13048 | 2007-02-19 Lee Millward <lee.millward@codesourcery.com> |
13049 | ||
13050 | * config/ia64/ia64.c (ia64_expand_builtin): Use the | |
2396bce1 | 13051 | new CALL_EXPR_FN macro for retrieving the function |
767fad4c | 13052 | declaration of the input expression. |
2396bce1 | 13053 | |
c116cd05 MLI |
13054 | 2007-02-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
13055 | ||
13056 | * c.opt (Waddress): New. | |
13057 | * common.opt (Walways-true): Delete. | |
13058 | (Wstring-literal-comparison): Delete. | |
13059 | * doc/invoke.texi (Warning Options): Delete -Walways-true and | |
13060 | -Wstring-literal-comparison. Add -Waddress. | |
13061 | (Waddress): New. | |
13062 | (Walways-true): Delete. | |
13063 | (Wstring-literal-comparison): Delete. | |
13064 | * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat | |
13065 | consistently instead of -Walways-true in example. | |
13066 | * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall. | |
13067 | * c-typeck.c (parser_build_binary_op): Replace | |
13068 | -Wstring-literal-comparison and -Walways-true with -Waddress. | |
13069 | * c-common.c (c_common_truthvalue_conversion): Replace -Walways-true | |
13070 | with -Waddress. | |
2396bce1 | 13071 | |
459ffad3 EB |
13072 | 2007-02-19 Eric Botcazou <ebotcazou@adacore.com> |
13073 | ||
13074 | * tree-cfg.c (dump_function_to_file): Be prepared for functions | |
13075 | without DECL_STRUCT_FUNCTION initialized. | |
13076 | ||
df10ee2a EB |
13077 | 2007-02-19 Eric Botcazou <ebotcazou@adacore.com> |
13078 | ||
13079 | * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap | |
13080 | due to calls to functions taking pointers as parameters. | |
13081 | ||
80a3af5b RH |
13082 | 2007-02-19 Richard Henderson <rth@redhat.com> |
13083 | ||
6bdcc60c UB |
13084 | PR debug/29558 |
13085 | * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P | |
13086 | in memory. | |
80a3af5b | 13087 | |
9a6f71b4 AK |
13088 | 2007-02-19 Andreas Krebbel <krebbel1@de.ibm.com> |
13089 | ||
13090 | * config/s390/s390.c (s390_call_saved_register_used, | |
13091 | s390_function_ok_for_sibcall): Adjust the way CALL_EXPR arguments are | |
13092 | accessed to the new scheme. | |
13093 | ||
991c42ac JBG |
13094 | 2007-02-19 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
13095 | ||
13096 | * config/cris/cris.c (cris_movem_load_rest_p, cris_store_multiple_op_p) | |
13097 | (cris_print_index, cris_print_operand, cris_print_operand_address) | |
13098 | (cris_reload_address_legitimized, cris_rtx_costs, cris_address_cost) | |
13099 | (cris_side_effect_mode_ok, cris_valid_pic_const, cris_split_movdx) | |
13100 | (cris_expand_pic_call_address): Use xxx_P predicate macros instead of | |
13101 | GET_CODE () == xxx. | |
13102 | * config/cris/cris.h (SECONDARY_RELOAD_CLASS, EXTRA_CONSTRAINT_Q, | |
13103 | EXTRA_CONSTRAINT_T, BDAP_INDEX_P, BIAP_INDEX_P, SIMPLE_ADDRESS_P, | |
13104 | GO_IF_LEGITIMATE_ADDRESS): Ditto. | |
13105 | * config/cris/cris.md (define_insns: *btst, movdi, *mov_side<mode>) | |
13106 | (*mov_sidesisf, *mov_side<mode>_mem, *mov_sidesisf_mem) | |
13107 | (*clear_side<mode>, movsi, *movsi_internal, *ext_sideqihi) | |
13108 | (*ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>, addsi3) | |
13109 | (*extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side) | |
13110 | (*extop<mode>si_swap_side, addi_mul, *addi,andsi3, andhi3, ashl<mode>3) | |
13111 | (uminsi3, call, call_value): Ditto. | |
13112 | (define_split: indir_to_reg_split, unnamed): Ditto. | |
13113 | ||
602fea7c DN |
13114 | 2007-02-19 Dorit Nuzman <dorit@il.ibm.com> |
13115 | ||
13116 | PR tree-optimization/30975 | |
13117 | * tree-vect-trasnform.c (vect_get_vec_def_for_stmt_copy): Remove | |
13118 | wrong assert. | |
13119 | ||
5646ba12 EC |
13120 | 2007-02-18 Eric Christopher <echristo@gmail.com> |
13121 | ||
13122 | * mips.c (mips_prepare_builtin_arg): Add argnum parameter. | |
13123 | Remove use of arglist. | |
13124 | (mips_expand_builtin): Remove use of arglist, pass in expr. | |
13125 | (mips_expand_builtin_direct): Rewrite handling for arglist removal. | |
13126 | (mips_expand_builtin_movtf): Ditto. | |
13127 | (mips_expand_builtin_compare): Ditto. | |
13128 | ||
30047199 AO |
13129 | 2007-02-19 Alexandre Oliva <aoliva@redhat.com> |
13130 | ||
13131 | * tree-sra.c (sra_build_assignment): Replace assertion | |
13132 | checking with a comment explaining why it can't be done. | |
13133 | ||
3328fbb7 SL |
13134 | 2007-02-18 Sandra Loosemore <sandra@codesourcery.com> |
13135 | ||
13136 | PR middle-end/30833 | |
13137 | * tree-dump.c (dequeue_and_dump): Add tcc_vl_exp case missed | |
13138 | during CALL_EXPR representation conversion. | |
13139 | * tree-ssa-propagate.c (set_rhs): Likewise. | |
13140 | ||
eb441084 AO |
13141 | 2007-02-19 Alexandre Oliva <aoliva@redhat.com> |
13142 | ||
13143 | * tree-sra.c (sra_build_assignment): Disable assertion checking | |
13144 | for now. | |
13145 | ||
b56b9fe3 RS |
13146 | 2007-02-18 Roger Sayle <roger@eyesopen.com> |
13147 | ||
13148 | * function.c (gimplify_parameters): Call build_gimple_modify_stmt | |
13149 | instead of calling build2 with a GIMPLE_MODIFY_STMT. | |
13150 | * gimple-low.c (lower_function_body, lower_builtin_setjmp): | |
13151 | Likewise. | |
13152 | * gimplify.c (build_stack_save_restore, gimplify_return_expr, | |
13153 | gimplify_decl_expr, gimplify_self_mod_expr, gimplify_cond_expr, | |
13154 | gimplify_init_ctor_eval_range, gimple_push_cleanup, | |
5646ba12 | 13155 | gimplify_omp_for, gimplify_omp_atomic_pipeline, |
b56b9fe3 RS |
13156 | gimplify_omp_atomic_mutex, gimplify_expr, gimplify_one_sizepos, |
13157 | force_gimple_operand): Likewise. | |
13158 | * ipa-cp.c (constant_val_insert): Likewise. | |
13159 | * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression, | |
13160 | lambda_loopnest_to_gcc_loopnest, replace_uses_equiv_to_x_with_y, | |
13161 | perfect_nestify): Likewise. | |
13162 | * langhooks.c (lhd_omp_assignment): Likewise. | |
13163 | * omp-low.c (lower_rec_input_clauses, lower_reduction_clauses, | |
13164 | lower_copyprivate_clauses, lower_send_clauses, | |
13165 | lower_send_shared_vars, expand_parallel_call, | |
13166 | expand_omp_for_generic, expand_omp_for_static_nochunk, | |
13167 | expand_omp_for_static_chunk, expand_omp_sections, | |
13168 | lower_omp_single_copy, lower_omp_for_lastprivate, | |
13169 | lower_omp_parallel, init_tmp_var, save_tmp_var): Likewise. | |
13170 | * value-prof.c (tree_divmod_fixed_value, tree_mod_pow2, | |
13171 | tree_mod_subtract, tree_ic, tree_stringop_fixed_value): | |
13172 | Likewise. | |
13173 | ||
3b962ea0 KH |
13174 | 2007-02-19 Kazu Hirata <kazu@codesourcery.com> |
13175 | ||
13176 | * config/sh/divtab.c, config/sh/sh.c, config/sh/sh.h, | |
13177 | config/sh/sh.md: Follow spelling conventions. | |
13178 | ||
2300b9dd KH |
13179 | * config/frv/frv.c, config/frv/frv.h, config/frv/frv.md, |
13180 | config/frv/predicates.md: Follow spelling conventions. | |
13181 | ||
da08281c KH |
13182 | * config/m68k/linux-unwind.h: Fix a comment typo. |
13183 | * target.h: Follow spelling conventions. | |
13184 | ||
49e7a9d4 RS |
13185 | 2007-02-18 Roger Sayle <roger@eyesopen.com> |
13186 | ||
13187 | PR rtl-optimization/28173 | |
13188 | * simplify-rtx.c (simplify_binary_operation_1) <IOR>: Optimize | |
13189 | (X & C1) | C2 as C2 when (C1 & C2) == C1 and X has no side-effects. | |
13190 | Optimize (X & C1) | C2 as X | C2 when (C1 | C2) == ~0. | |
13191 | Canonicalize (X & C1) | C2 as (X & (C1 & ~C2)) | C2. | |
13192 | <AND>: Canonicalize (X | C1) & C2 as (X & C2) | (C1 & C2). | |
13193 | ||
2b5e5642 KG |
13194 | 2007-02-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
13195 | ||
13196 | * builtins.c (fold_builtin_load_exponent): New. | |
13197 | (fold_builtin_2): Use it. | |
13198 | ||
8800a9b3 SB |
13199 | 2007-02-18 Steven Bosscher <steven@gcc.gnu.org> |
13200 | ||
13201 | PR rtl-optimization/30773 | |
13202 | * local-alloc.c (update_equiv_regs): Do not set reg_equiv_init | |
13203 | if we fail to attach a REG_EQUIV note. | |
13204 | ||
03f79051 DE |
13205 | 2007-02-18 David Edelsohn <edelsohn@gnu.org> |
13206 | Roger Sayle <roger@eyesopen.com> | |
13207 | ||
13208 | * config/rs6000/rs6000.md (bswapsi2): New define_insn and splitter. | |
13209 | ||
078a18a4 SL |
13210 | 2007-02-18 Sandra Loosemore <sandra@codesourcery.com> |
13211 | ||
13212 | * calls.c (initialize_argument_information): Pass original EXP | |
13213 | and STRUCT_VALUE_ADDR_VALUE instead of a list of arguments. Move | |
13214 | code to split complex arguments here, as part of initializing the | |
13215 | ARGS array. | |
13216 | (expand_call): Remove code that builds a list of arguments and | |
13217 | inserts implicit arguments into it. Instead, just count how many | |
13218 | implicit arguments there will be so we can determine the size of | |
13219 | the ARGS array, and let initialize_argument_information do the work. | |
13220 | (split_complex_values): Delete unused function. | |
13221 | ||
483edb92 EB |
13222 | 2007-02-18 Eric Botcazou <ebotcazou@adacore.com> |
13223 | ||
13224 | * tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR. | |
13225 | ||
ae22dcff EB |
13226 | 2007-02-18 Eric Botcazou <ebotcazou@adacore.com> |
13227 | ||
13228 | * calls.c (mem_overlaps_already_clobbered_arg_p): Return true | |
13229 | for arg pointer based indexed addressing. | |
13230 | ||
27a9b99d KH |
13231 | 2007-02-18 Kazu Hirata <kazu@codesourcery.com> |
13232 | ||
13233 | * config/ia64/ia64.h, config/ia64/ia64.md, | |
13234 | config/ia64/predicates.md, config/ia64/sysv4.h: Follow | |
13235 | spelling conventions. | |
13236 | ||
01e304f8 RZ |
13237 | 2007-02-18 Roman Zippel <zippel@linux-m68k.org> |
13238 | ||
13239 | * config/m68k/m68k.c (split_di): New. | |
13240 | * config/m68k/m68k-protos.h: Declare split_di. | |
13241 | * config/m68k/m68k.md (extendsidi2*,ashldi3*,ashrdi3*,lshrdi3*): | |
13242 | Improve predicate handling and split constant shifts. | |
13243 | ||
3670ec28 RZ |
13244 | 2007-02-18 Roman Zippel <zippel@linux-m68k.org> |
13245 | ||
13246 | * config/m68k/m68k.md (extv,extzv,insv): disable dynamic | |
13247 | parameter for register bitfield operations, general predicates | |
13248 | cleanup | |
13249 | ||
19a95697 RZ |
13250 | 2007-02-18 Roman Zippel <zippel@linux-m68k.org> |
13251 | ||
13252 | * config/m68k/linux.h (MD_UNWIND_SUPPORT): Define. | |
13253 | * config/m68k/linux-unwind.h: New file. | |
13254 | ||
ea2c620c KH |
13255 | 2007-02-18 Kazu Hirata <kazu@codesourcery.com> |
13256 | ||
13257 | * cfgloop.c, config/alpha/alpha.c, config/bfin/bfin.c, | |
13258 | config/i386/athlon.md, config/ia64/ia64.md, | |
13259 | config/rs6000/rs6000.c, config/s390/s390.c, config/spu/spu.md, | |
13260 | df-problems.c, df.h, fold-const.c, ipa-cp.c, ipa-inline.c, | |
13261 | ipa-prop.h, see.c, struct-equiv.c, tree-inline.c, | |
13262 | tree-ssa-loop-niter.c, tree-vect-analyze.c, | |
13263 | tree-vect-transform.c: Fix comment typos. | |
13264 | ||
51db94a0 KH |
13265 | 2007-02-17 Kazu Hirata <kazu@codesourcery.com> |
13266 | ||
13267 | * sched-deps.c (find_insn_list): Remove. | |
13268 | * sched-int.h: Remove the prototype for find_insn_list. | |
13269 | ||
982afe02 GK |
13270 | 2007-02-16 Geoffrey Keating <geoffk@apple.com> |
13271 | ||
e4cad568 GK |
13272 | * config/darwin.h (LINK_SPEC): Always pass -macosx_version_min |
13273 | to linker. | |
13274 | (DARWIN_EXTRA_SPECS): Add %(darwin_minversion). | |
13275 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Just call | |
13276 | darwin_rs6000_override_options. | |
13277 | (C_COMMON_OVERRIDE_OPTIONS): Expect | |
13278 | darwin_macosx_version_min to be non-NULL always. | |
13279 | (TARGET_C99_FUNCTIONS): Likewise. | |
13280 | (CC1_SPEC): Always pass -mmacosx-version-min to cc1*. | |
13281 | (DARWIN_MINVERSION_SPEC): New. | |
13282 | * config/rs6000/rs6000.c (darwin_rs6000_override_options): New. | |
13283 | * config/i386/darwin.h (CC1_SPEC): Always pass -mmacosx-version-min | |
5646ba12 | 13284 | to cc1*. |
e4cad568 GK |
13285 | (DARWIN_MINVERSION_SPEC): New. |
13286 | * config/darwin.opt (mmacosx-version-min): Initialize to non-NULL | |
13287 | value. | |
13288 | * config/darwin-c.c (darwin_cpp_builtins): Expect | |
13289 | darwin_macosx_version_min to be non-NULL always. | |
13290 | ||
982afe02 GK |
13291 | * config/rs6000/rs6000.c: Clean up trailing whitespace. |
13292 | ||
fa681e39 UB |
13293 | 2007-02-16 Uros Bizjak <ubizjak@gmail.com> |
13294 | ||
13295 | * config/i386/i386.h (x86_use_xchgb): New. | |
13296 | (TARGET_USE_XCHGB): New macro. | |
13297 | * config/i386/i386.c (x86_use_xchgb): Set for PENT4. | |
13298 | * config/i386/i386.md (*rotlhi3_1 splitter, *rotrhi3_1 splitter): | |
13299 | Split after reload into bswaphi for shifts of 8. | |
13300 | (bswaphi_lowpart): Generate rolw insn for HImode byte swaps. | |
13301 | (*bswaphi_lowpart_1): Generate xchgb for Q registers for TARGET_XCHGB | |
13302 | or when optimizing for size. | |
5646ba12 | 13303 | |
421076b5 | 13304 | 2007-02-16 Richard Guenther <rguenther@suse.de> |
fa681e39 | 13305 | Christian Bruel <christian.bruel@st.com> |
421076b5 RG |
13306 | |
13307 | * fold-const.c (tree_swap_operands_p): Treat SSA_NAMEs like | |
13308 | DECLs but prefer SSA_NAMEs over DECLs. | |
13309 | ||
40b448ef RG |
13310 | 2007-02-16 Richard Guenther <rguenther@suse.de> |
13311 | ||
13312 | * tree-flow-inline.h (single_imm_use_p): Remove. | |
13313 | (zero_imm_uses_p): Likewise. | |
13314 | * tree-ssa-coalesce.c (create_outofssa_var_map): Use has_single_use | |
13315 | instead of single_imm_use_p. | |
13316 | * tree-cfg.c (replace_uses_by): Use has_zero_use instead of | |
13317 | zero_imm_uses_p. | |
13318 | ||
70d0631e RW |
13319 | 2007-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
13320 | ||
13321 | PR other/27843 | |
13322 | * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid | |
13323 | nested double- and backquotes. | |
13324 | ||
939409af RS |
13325 | 2007-02-15 Roger Sayle <roger@eyesopen.com> |
13326 | ||
13327 | PR middle-end/30391 | |
13328 | * tree.c (expr_align): Handle MODIFY_EXPR. GIMPLE_MODIFY_STMT | |
13329 | should be unreachable. | |
13330 | (build2_stat): Allow construction of MODIFY_EXPR at any time. | |
13331 | For the time being redirect GIMPLE_MODIFY_STMT to the new | |
13332 | (renamed) build_gimple_modify_stmt_stat. | |
13333 | (build2_gimple_stat): Rename to... | |
13334 | (build_gimple_modify_stmt_stat): Now longer take a CODE argument. | |
13335 | Always build a GIMPLE_MODIFY_STMT node. | |
13336 | * tree.h (build2_gimple, build2_gimple_stat): Delete. | |
13337 | (build_gimple_modify_stmt, build_gimple_modify_stmt_stat): New | |
13338 | declarations. | |
13339 | ||
13340 | * tree-cfg.c (factor_computed_gotos, tree_merge_blocks, | |
13341 | gimplify_val): Use build_gimple_modify_stmt instead of build2_gimple. | |
13342 | * tree-complex.c (set_component_ssa_name, expand_complex_move, | |
13343 | expand_complex_div_wide): Likewise. | |
13344 | * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise. | |
13345 | * tree-ssa-loop-im.c (schedule_sm): Likewise. | |
13346 | * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Likewise. | |
13347 | * tree-ssa-loop-manip.c (create_iv): Likewise. | |
13348 | * tree-ssa-phiopt.c (conditional_replacement, minmax_replacement, | |
13349 | abs_replacement): Likewise. | |
13350 | * tree-ssa-pre.c (create_expression_by_pieces, poolify_modify_stmt, | |
13351 | realify_fake_stores): Likewise. | |
13352 | ||
13353 | * builtins.c (std_expand_builtin_va_start): Build a MODIFY_EXPR | |
13354 | node rather than a GIMPLE_MODIFY_STMT node. | |
13355 | (std_gimpify_va_arg_expr, expand_builtin_va_copy, | |
13356 | fold_builtin_memset, fold_builtin_memory_op, do_mpfr_sincos): | |
13357 | Likewise. | |
13358 | (integer_valued_real_p): Handle MODIFY_EXPR, not GIMPLE_MODIFY_STMT. | |
13359 | * expr.c (expand_expr_real_1): Handle both MODIFY_EXPR and | |
13360 | GIMPLE_MODIFY_STMT. | |
13361 | ||
3c32c87f AP |
13362 | 2007-02-15 Andrew Pinski <andrew_pinski@playstation.sony.com> |
13363 | ||
13364 | PR middle-end/30433 | |
13365 | * fold-const.c (fold_comparison): Add back the | |
13366 | folding of constant complex comparisions. | |
13367 | ||
d3d6f724 AP |
13368 | 2007-02-15 Andrew Pinski <andrew_pinski@playstation.sony.com> |
13369 | ||
13370 | PR middle-end/30729 | |
13371 | * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side | |
13372 | effects unknown to this function, return early. | |
13373 | ||
73663bb7 ILT |
13374 | 2007-02-15 Ian Lance Taylor <iant@google.com> |
13375 | ||
13376 | * lower-subreg.c (move_eh_region_note): New static function. | |
13377 | (resolve_simple_move): Call it. | |
13378 | (decompose_multiword_subregs): Track blocks for which we resolve a | |
13379 | simple move which is also a control flow insn. Pass them to | |
13380 | find_many_sub_basic_blocks. | |
13381 | (pass_lower_subreg): Add TODO_verify_flow. | |
13382 | (pass_lower_subreg2): Likewise. | |
13383 | ||
5039610b SL |
13384 | 2007-02-15 Sandra Loosemore <sandra@codesourcery.com> |
13385 | Brooks Moses <brooks.moses@codesourcery.com> | |
13386 | Lee Millward <lee.millward@codesourcery.com> | |
13387 | ||
13388 | * tree.h (enum tree_code_class): Add tcc_vl_exp. | |
13389 | (VL_EXP_CLASS_P): New. | |
13390 | (TREE_OPERAND_CHECK): Use TREE_OPERAND_LENGTH instead of | |
13391 | TREE_CODE_LENGTH. | |
13392 | (TREE_OPERAND_CHECK_CODE): Likewise. | |
13393 | (GIMPLE_STMT_OPERAND_CHECK): Likewise. | |
13394 | (TREE_RTL_OPERAND_CHECK): Likewise. | |
13395 | (tree_operand_check_failed): Make second parameter the whole tree | |
13396 | instead of its code. Fixed callers. | |
13397 | (VL_EXP_CHECK): New. | |
13398 | (TREE_OPERAND_LENGTH): New. | |
13399 | (VL_EXP_OPERAND_LENGTH): New. | |
13400 | (CALL_EXPR_FN): New. | |
13401 | (CALL_EXPR_STATIC_CHAIN): New. | |
13402 | (CALL_EXPR_ARGS): New. | |
13403 | (CALL_EXPR_ARG): New. | |
13404 | (call_expr_nargs): New. | |
13405 | (CALL_EXPR_ARGP): New. | |
13406 | (build_nt_call_list): Declare. | |
13407 | (build_vl_exp_stat): Declare. | |
13408 | (build_vl_exp): New. | |
13409 | (build_call_list): Declare. | |
13410 | (build_call_nary): Declare. | |
13411 | (build_call_valist): Declare. | |
13412 | (build_call_array): Declare. | |
13413 | (call_expr_arg): Declare. | |
13414 | (call_expr_argp): Declare. | |
13415 | (call_expr_arglist): Declare. | |
13416 | (fold_build_call_list): Declare. | |
13417 | (fold_build_call_list_initializer): Declare. | |
13418 | (fold_call_expr): Declare to replace fold_builtin. | |
13419 | (fold_builtin_fputs): Update to agree with modified definition. | |
13420 | (fold_builtin_strcpy): Likewise. | |
13421 | (fold_builtin_strncpy): Likewise. | |
13422 | (fold_builtin_memory_chk): Likewise. | |
13423 | (fold_builtin_stxcpy_chk): Likewise. | |
13424 | (fold_builtin_strncpy_chk): Likewise. | |
13425 | (fold_builtin_next_arg): Likewise. | |
13426 | (fold_build_call_expr): Declare. | |
13427 | (fold_builtin_call_list): Declare. | |
13428 | (fold_builtin_call_valist): Declare. | |
13429 | (build_call_expr): Declare. | |
13430 | (validate_arglist): Update to agree with modified definition. | |
13431 | (tree_operand_length): New. | |
13432 | (call_expr_arg_iterator): New. | |
13433 | (init_call_expr_arg_iterator): New. | |
13434 | (next_call_expr_arg): New. | |
13435 | (first_call_expr_arg): New. | |
13436 | (more_call_expr_args_p): New. | |
13437 | (FOR_EACH_CALL_EXPR_ARG): New. | |
13438 | ||
13439 | * tree.c (tree_code_class_string): Add entries for tcc_vl_exp | |
13440 | and tcc_gimple_stmt. | |
13441 | (tree_code_size): Update documentation. Use sizeof (tree) rather | |
13442 | than sizeof (char *). | |
13443 | (tree_size): Likewise. Add case for tcc_vl_exp. | |
13444 | (tree_node_structure): Add case for tcc_vl_exp. | |
13445 | (contains_placeholder_p): Likewise. | |
13446 | (substitute_in_expr): Likewise. | |
13447 | (substitute_placeholder_in_expr): Likewise. | |
13448 | (stabilize_reference_1): Likewise. | |
13449 | (build3_stat): Remove logic for CALL_EXPRs. Replace with assertion | |
13450 | to diagnose breakage of this interface for constructing CALL_EXPRs. | |
13451 | (build_nt): Add similar assertion here. | |
13452 | (build_nt_call_list): New. | |
13453 | (simple_cst_equal) <CALL_EXPR>: Rewrite to use new accessors. | |
13454 | (iterative_hash_expr): Use TREE_OPERAND_LENGTH instead of | |
13455 | TREE_CODE_LENGTH. | |
13456 | (get_callee_fndecl): Use new CALL_EXPR accessors. | |
13457 | (tree_operand_check_failed): Change parameters to pass entire node | |
13458 | instead of its code, so that we can call TREE_OPERAND_LENGTH on it. | |
13459 | (process_call_operands): New. | |
13460 | (build_vl_exp_stat): New. | |
13461 | (build_call_list): New. | |
13462 | (build_call_nary): New. | |
13463 | (build_call_valist): New. | |
13464 | (build_call_array): New. | |
13465 | (walk_tree): Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
13466 | (call_expr_arglist): New. | |
13467 | ||
13468 | * tree.def (CALL_EXPR): Change representation of CALL_EXPRs to use | |
13469 | tcc_vl_exp instead of a fixed-size tcc_expression. | |
13470 | ||
13471 | * doc/c-tree.texi (CALL_EXPR): Document new representation and | |
13472 | accessors for CALL_EXPRs. | |
13473 | (AGGR_INIT_EXPR): Likewise. | |
13474 | ||
13475 | 2007-02-15 Sandra Loosemore <sandra@codesourcery.com> | |
13476 | Brooks Moses <brooks.moses@codesourcery.com> | |
13477 | Lee Millward <lee.millward@codesourcery.com> | |
13478 | ||
13479 | * builtins.c (c_strlen): Return NULL_TREE instead of 0. | |
13480 | (expand_builtin_nonlocal_goto): Change parameter to be entire | |
13481 | CALL_EXPR instead of an arglist. Use new CALL_EXPR accessors. | |
13482 | (expand_builtin_prefetch): Likewise. | |
13483 | (expand_builtin_classify_type): Likewise. | |
13484 | (mathfn_built_in): Return NULL_TREE instead of 0. | |
13485 | (expand_errno_check): Use new CALL_EXPR accessors. | |
13486 | (expand_builtin_mathfn): Use new CALL_EXPR accessors and constructors. | |
13487 | Return NULL_RTX instead of 0. | |
13488 | (expand_builtin_mathfn_2): Likewise. | |
13489 | (expand_builtin_mathfn_3): Likewise. | |
13490 | (expand_builtin_interclass_mathfn): Likewise. | |
13491 | (expand_builtin_sincos): Likewise. | |
13492 | (expand_builtin_cexpi): Likewise. | |
13493 | (expand_builtin_int_roundingfn): Likewise. | |
13494 | (expand_builtin_int_roundingfn_2): Likewise. | |
13495 | (expand_builtin_pow): Likewise. | |
13496 | (expand_builtin_powi): Likewise. | |
13497 | (expand_builtin_strlen): Pass entire CALL_EXPR as parameter instead | |
13498 | of arglist, fixing callers appropriately. Use new CALL_EXPR | |
13499 | accessors and constructors. Return NULL_RTX instead of 0. | |
13500 | (expand_builtin_strstr): Likewise. | |
13501 | (expand_builtin_strchr): Likewise. | |
13502 | (expand_builtin_strrchr): Likewise. | |
13503 | (expand_builtin_strpbrk): Likewise. | |
13504 | (expand_builtin_memcpy): Likewise. | |
13505 | (expand_builtin_mempcpy): Likewise. | |
13506 | (expand_builtin_mempcpy_args): New. | |
13507 | (expand_builtin_memmove): Similarly to expand_builtin_mempcpy. | |
13508 | (expand_builtin_memmove_args): New. | |
13509 | (expand_builtin_bcopy): Similarly to expand_builtin_mempcpy. | |
13510 | (expand_movstr): Likewise. | |
13511 | (expand_builtin_strcpy): Likewise. | |
13512 | (expand_builtin_strcpy_args): New. | |
13513 | (expand_builtin_stpcpy): Similarly to expand_builtin_strcpy. | |
13514 | (expand_builtin_strncpy): Likewise. | |
13515 | (expand_builtin_memset): Likewise. | |
13516 | (expand_builtin_memset_args): New. | |
13517 | (expand_builtin_bzero): Similarly to expand_builtin_memset. | |
13518 | (expand_builtin_memcmp): Likewise. | |
13519 | (expand_builtin_strcmp): Likewise. | |
13520 | (expand_builtin_strncmp): Likewise. | |
13521 | (expand_builtin_strcat): Likewise. | |
13522 | (expand_builtin_strncat): Likewise. | |
13523 | (expand_builtin_strspn): Likewise. | |
13524 | (expand_builtin_strcspn): Likewise. | |
13525 | (expand_builtin_args_info): Likewise. | |
13526 | (expand_builtin_va_start): Likewise. | |
13527 | (gimplify_va_arg_expr): Likewise. | |
13528 | (expand_builtin_va_end): Likewise. | |
13529 | (expand_builtin_va_copy): Likewise. | |
13530 | (expand_builtin_frame_address): Likewise. | |
13531 | (expand_builtin_alloca): Likewise. | |
13532 | (expand_builtin_bswap): Likewise. | |
13533 | (expand_builtin_unop): Likewise. | |
13534 | (expand_builtin_fputs): Likewise. | |
13535 | (expand_builtin_expect): Likewise. | |
13536 | (expand_builtin_fabs): Likewise. | |
13537 | (expand_builtin_copysign): Likewise. | |
13538 | (expand_builtin_printf): Likewise. | |
13539 | (expand_builtin_fprintf): Likewise. | |
13540 | (expand_builtin_sprintf): Likewise. | |
13541 | (expand_builtin_init_trampoline): Likewise. | |
13542 | (expand_builtin_signbit): Likewise. | |
13543 | (expand_builtin_fork_or_exec): Likewise. | |
13544 | (expand_builtin_sync_operation): Likewise. | |
13545 | (expand_builtin_compare_and_swap): Likewise. | |
13546 | (expand_builtin_lock_test_and_set): Likewise. | |
13547 | (expand_builtin_lock_release): Likewise. | |
13548 | (expand_builtin): Likewise. | |
13549 | (builtin_mathfn_code): Likewise. | |
13550 | ||
13551 | (fold_builtin_constant_p): Pass call arguments individually instead | |
13552 | of as an arglist, fixing callers appropriately. Use new CALL_EXPR | |
13553 | accessors and constructors. Return NULL_TREE instead of 0. | |
13554 | (fold_builtin_expect): Likewise. | |
13555 | (fold_builtin_classify_type): Likewise. | |
13556 | (fold_builtin_strlen): Likewise. | |
13557 | (fold_builtin_nan): Likewise. | |
13558 | (integer_valued_real_p): Likewise. | |
13559 | (fold_trunc_transparent_mathfn): Likewise. | |
13560 | (fold_fixed_mathfn): Likewise. | |
13561 | (fold_builtin_cabs): Likewise. | |
13562 | (fold_builtin_sqrt): Likewise. | |
13563 | (fold_builtin_cbrt): Likewise. | |
13564 | (fold_builtin_cos): Likewise. | |
13565 | (fold_builtin_cosh): Likewise. | |
13566 | (fold_builtin_tan): Likewise. | |
13567 | (fold_builtin_sincos): Likewise. | |
13568 | (fold_builtin_cexp): Likewise. | |
13569 | (fold_builtin_trunc): Likewise. | |
13570 | (fold_builtin_floor): Likewise. | |
13571 | (fold_builtin_ceil): Likewise. | |
13572 | (fold_builtin_round): Likewise. | |
13573 | (fold_builtin_int_roundingfn): Likewise. | |
13574 | (fold_builtin_bitop): Likewise. | |
13575 | (fold_builtin_bswap): Likewise. | |
13576 | (fold_builtin_logarithm): Likewise. | |
13577 | (fold_builtin_hypot): Likewise. | |
13578 | (fold_builtin_pow): Likewise. | |
13579 | (fold_builtin_powi): Likewise. | |
13580 | (fold_builtin_exponent): Likewise. | |
13581 | (fold_builtin_memset): Likewise. | |
13582 | (fold_builtin_bzero): Likewise. | |
13583 | (fold_builtin_memory_op): Likewise. | |
13584 | (fold_builtin_bcopy): Deleted; call site changed to invoke | |
13585 | fold_builtin_memory_op directly. | |
13586 | (fold_builtin_strcpy): Similarly as for fold_builtin_memory_op. | |
13587 | (fold_builtin_strncpy): Likewise. | |
13588 | (fold_builtin_memcmp): Likewise. | |
13589 | (fold_builtin_strcmp): Likewise. | |
13590 | (fold_builtin_strncmp): Likewise. | |
13591 | (fold_builtin_signbit): Likewise. | |
13592 | (fold_builtin_copysign): Likewise. | |
13593 | (fold_builtin_isascii): Likewise. | |
13594 | (fold_builtin_toascii): Likewise. | |
13595 | (fold_builtin_isdigit): Likewise. | |
13596 | (fold_builtin_fabs): Likewise. | |
13597 | (fold_builtin_abs): Likewise. | |
13598 | (fold_builtin_fmin_fmax): Likewise. | |
13599 | (fold_builtin_carg): Likewise. | |
13600 | (fold_builtin_classify): Likewise. | |
13601 | (fold_builtin_unordered_cmp): Likewise. | |
13602 | ||
13603 | (fold_builtin_0, fold_builtin_2, fold_builtin_3, fold_builtin_4): | |
13604 | New functions split out from fold_builtin_1. | |
13605 | (fold_builtin_n): New. | |
13606 | (fold_builtin_varargs): New. | |
13607 | (fold_builtin): Deleted. Most callers changed to use fold_call_expr | |
13608 | instead. | |
13609 | (fold_call_expr): New. | |
13610 | (build_function_call_expr): Rewrite to use new helper function. | |
13611 | (fold_builtin_call_list): New. | |
13612 | (build_call_expr): New. | |
13613 | (fold_builtin_call_valist): New. | |
13614 | (rewrite_call_expr): New. | |
13615 | (validate_arg): New. | |
13616 | (validate_arglist): Change parameter to be entire CALL_EXPR instead | |
13617 | of an arglist. Change return type to bool. Use new CALL_EXPR | |
13618 | accessors. | |
13619 | ||
13620 | (fold_builtin_strstr): Pass call arguments individually instead | |
13621 | of as an arglist, fixing callers appropriately. Use new CALL_EXPR | |
13622 | accessors and constructors. Return NULL_TREE instead of 0. | |
13623 | (fold_builtin_strchr): Likewise. | |
13624 | (fold_builtin_strrchr): Likewise. | |
13625 | (fold_builtin_strpbrk): Likewise. | |
13626 | (fold_builtin_strcat): Likewise. | |
13627 | (fold_builtin_strncat): Likewise. | |
13628 | (fold_builtin_strspn): Likewise. | |
13629 | (fold_builtin_strcspn): Likewise. | |
13630 | (fold_builtin_fputs): Likewise. | |
13631 | (fold_builtin_next_arg): Likewise. | |
13632 | (fold_builtin_sprintf): Likewise. | |
13633 | ||
13634 | (expand_builtin_object_size): Use new CALL_EXPR accessors. Use | |
13635 | NULL_RTX instead of 0. | |
13636 | (expand_builtin_memory_chk): Likewise. | |
13637 | (maybe_emit_chk_warning): Likewise. | |
13638 | (maybe_emit_sprintf_chk_warning): Likewise. | |
13639 | ||
13640 | (fold_builtin_object_size): Pass call arguments individually instead | |
13641 | of as an arglist, fixing callers appropriately. Use new CALL_EXPR | |
13642 | accessors and constructors. Return NULL_TREE instead of 0. | |
13643 | (fold_builtin_memory_chk): Likewise. | |
13644 | (fold_builtin_stxcpy_chk): Likewise. | |
13645 | (fold_builtin_strncpy_chk): Likewise. | |
13646 | (fold_builtin_strcat_chk): Likewise. | |
13647 | (fold_builtin_strcat_chk): Likewise. | |
13648 | (fold_builtin_strncat_chk): Likewise. | |
13649 | (fold_builtin_sprintf_chk): Likewise. | |
13650 | (fold_builtin_snprintf_chk): Likewise. | |
13651 | (fold_builtin_printf): Likewise. | |
13652 | (fold_builtin_vprintf): Likewise. | |
13653 | ||
13654 | * fold-const.c (negate_expr_p): Use new CALL_EXPR accessors and | |
13655 | constructors. | |
13656 | (operand_equal_p): Add separate tcc_vl_exp/CALL_EXPR case. | |
13657 | (make_range): Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
13658 | (extract_muldiv_1): Add VL_EXP_CLASS_P case. | |
13659 | (fold_mathfn_compare): Use new CALL_EXPR accessors and constructors. | |
13660 | (fold_unary): Likewise. | |
13661 | (fold_binary): Likewise. | |
13662 | (fold_ternary): Remove CALL_EXPR case, since they are no longer | |
13663 | ternary expressions. | |
13664 | (fold): Add logic for tcc_vl_exp. | |
13665 | (fold_checksum_tree): Make it know about tcc_vl_exp. Use | |
13666 | TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
13667 | (fold_build3_stat): Add assertion to flag broken interface for | |
13668 | constructing CALL_EXPRs. | |
13669 | (fold_build_call_list): New. | |
13670 | (fold_build_call_list_initializer): New. | |
13671 | (tree_expr_nonnegative_p): Use new CALL_EXPR accessors and | |
13672 | constructors. | |
13673 | (fold_strip_sign_ops): Likewise. | |
13674 | ||
13675 | 2007-02-15 Sandra Loosemore <sandra@codesourcery.com> | |
13676 | Brooks Moses <brooks.moses@codesourcery.com> | |
13677 | Lee Millward <lee.millward@codesourcery.com> | |
13678 | ||
13679 | * tree-dump.c (dequeue_and_dump) <CALL_EXPR>: Use new CALL_EXPR | |
13680 | accessors and dump arguments explicitly. | |
13681 | ||
13682 | * tree-pretty-print.c (do_niy): Use TREE_OPERAND_LENGTH instead of | |
13683 | TREE_CODE_LENGTH. | |
13684 | (dump_generic_node): Use new CALL_EXPR accessors and walk arguments | |
13685 | explicitly. | |
13686 | (print_call_name): Use new CALL_EXPR accessors. | |
13687 | ||
13688 | * print-tree.c (print_node): Add case tcc_vl_exp. Print | |
13689 | CALL_EXPR arguments explicitly instead of as a list. Use | |
13690 | TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
13691 | ||
13692 | * tree-vrp.c (stmt_interesting_for_vrp): Use new CALL_EXPR accessors. | |
13693 | (vrp_visit_stmt): Likewise. | |
13694 | ||
13695 | * tree-ssa-loop-im.c (outermost_invariant_loop_expr): Make it | |
13696 | know about tcc_vl_exp. Use TREE_OPERAND_LENGTH instead of | |
13697 | TREE_CODE_LENGTH. | |
13698 | (force_move_till_expr): Likewise. | |
13699 | ||
13700 | * targhooks.c (default_external_stack_protect_fail): Use | |
13701 | build_call_expr instead of build_function_call_expr. | |
13702 | (default_hidden_stack_protect_fail): Likewise. | |
13703 | ||
13704 | * tree-complex.c (expand_complex_libcall): Use build_call_expr to | |
13705 | build the call. | |
13706 | ||
13707 | * cgraphbuild.c (build_cgraph_edges): Use new CALL_EXPR accessors | |
13708 | and walk arguments explicitly. | |
13709 | ||
13710 | * tree-ssa-loop-niter.c (simplify_replace_tree): Use | |
13711 | TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
13712 | (expand_simple_operations): Likewise. | |
13713 | (infer_loop_bounds_from_array): Use new CALL_EXPR accessors. | |
13714 | ||
13715 | * gengtype.c (adjust_field_tree_exp): Use TREE_OPERAND_LENGTH instead | |
13716 | of TREE_CODE_LENGTH. | |
13717 | (walk_type): Tweak walking of arrays not to blow up on CALL_EXPRs. | |
13718 | ||
13719 | * optabs.c (expand_widen_pattern-expr): Use TREE_OPERAND_LENGTH | |
13720 | instead of TREE_CODE_LENGTH. | |
13721 | ||
13722 | * value_prof.c (tree_ic): Use new CALL_EXPR accessors. | |
13723 | (tree_ic_transform): Likewise. | |
13724 | (interesting_stringop_to_profile_p): Pass entire CALL_EXPR as | |
13725 | parameter instead of arglist. Fix callers. | |
13726 | (tree_stringop_fixed_value): Use new CALL_EXPR accessors. | |
13727 | (tree_stringops_transform): Likewise. | |
13728 | (tree_indirect_call_to_profile): Likewise. | |
13729 | (tree_stringops_values_to_profile): Likewise. | |
13730 | ||
13731 | * tree-tailcall.c (find_tail_calls): Use new CALL_EXPR iterator. | |
13732 | (eliminate_tail_call): Likewise. | |
13733 | ||
13734 | * ipa-cp.c (ipcp_update_callgraph): Use new CALL_EXPR accessors. | |
13735 | ||
13736 | * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop): | |
13737 | Use TREE_OPERAND_LENGTH and generalize to handle any number of | |
13738 | operands. | |
13739 | (instantiate_parameters_1): Can't handle tcc_vl_exp here. | |
13740 | ||
13741 | * omp-low.c (build_omp_barrier): Use build_call_expr. | |
13742 | (lower_rec_input_clauses): Likewise. | |
13743 | (lower_reduction_clauses): Likewise. | |
13744 | (expand_parallel_call): Likewise. | |
13745 | (maybe_catch_exception): Likewise. | |
13746 | (expand_omp_for_generic): Likewise. | |
13747 | (expand_omp_for_static_nochunk): Likewise. | |
13748 | (expand_omp_sections): Likewise. | |
13749 | (lower_omp_single_simple): Likewise. | |
13750 | (lower_omp_single_copy): Likewise. | |
13751 | (lower_omp_master): Likewise. | |
13752 | (lower_omp_ordered): Likewise. | |
13753 | (lower_omp_critical): Likewise. | |
13754 | ||
13755 | * ipa-reference.c (check-call): Use new CALL_EXPR iterator. | |
13756 | (scan_for_static_refs): Create tcc_vl_exp case for CALL_EXPR. | |
13757 | ||
13758 | * tree-gimple.c (is_gimple_call_addr): Fix doc. | |
13759 | (recalculate_side_effects): Use TREE_OPERAND_LENGTH instead of | |
13760 | TREE_CODE_LENGTH. Add tcc_vl_exp case. | |
13761 | ||
13762 | * tree-chrec.c (chrec_contains_symbols): Use TREE_OPERAND_LENGTH | |
13763 | and generalize to handle any number of operands. | |
13764 | (chrec_contains_undetermined): Likewise. | |
13765 | (tree_contains_chrecs): Likewise. | |
13766 | (evolution_function_is_invariant_rec_p): Use TREE_OPERAND_LENGTH. | |
13767 | ||
13768 | * cgraphunit.c (update_call_expr): Use new CALL_EXPR accessors. | |
13769 | ||
13770 | * tree-ssa-ccp.c (ccp_fold): Use new CALL_EXPR accessors. Use | |
13771 | fold_call_expr instead of fold_builtin. | |
13772 | (ccp_fold_builtin): Likewise. Update calls into builtins.c to | |
13773 | match declarations there. | |
13774 | (fold_stmt): Use new CALL_EXPR constructor and accessors. Doc | |
13775 | updates. | |
13776 | ||
13777 | * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Use | |
13778 | TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
13779 | ||
13780 | * ipa-pure-const.c (check_call): Use new CALL_EXPR accessors. | |
13781 | (scan_function): Add case tcc_vl_exp for CALL_EXPR. | |
13782 | ||
13783 | * tree-stdarg.c (execute_optimize_stdarg): Use new CALL_EXPR | |
13784 | accessors. | |
13785 | ||
13786 | * tree-ssa-math-opts.c (execute_cse_sincos_1): Use build_call_expr. | |
13787 | (execute_cse_sincos): Use new CALL_EXPR accessors. | |
13788 | ||
13789 | * tree-ssa-alias.c (find_used_portions): Use new CALL_EXPR iterator. | |
13790 | ||
13791 | * gimple-low.c (lower_function_body): Use build_call_expr. | |
13792 | (lower_builtin_setjmp): Likewise. | |
13793 | ||
13794 | * expr.c (emit_block_move_via_libcall): Use build_call_expr. | |
13795 | (set_storage_via_libcall): Likewise. | |
13796 | (safe_from_p): Add tcc_vl_exp case. Use TREE_OPERAND_LENGTH | |
13797 | instead of TREE_CODE_LENGTH. | |
13798 | (expand_expr_real_1): Use new CALL_EXPR accessors. | |
13799 | ||
13800 | * tree-browser.c (store_child_info): Use TREE_OPERAND_LENGTH and | |
13801 | generalize to handle any number of operands. | |
13802 | (TB_parent_eq): Likewise. | |
13803 | ||
13804 | * predict.c (expr_expected_value): Use new CALL_EXPR accessors. | |
13805 | (strip_builtin_expect): Likewise. | |
13806 | ||
13807 | * function.c (gimplify_parameters): Use build_call_expr. | |
13808 | ||
7e08fa35 UB |
13809 | * tree-vectorizer.c (vect_is_simple_reduction): Use |
13810 | TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
5039610b SL |
13811 | |
13812 | * ipa-type-escape.c (check_call): Use new CALL_EXPR iterators. | |
13813 | (scan_for_refs): Add case tcc_vl_exp for CALL_EXPR. | |
13814 | ||
13815 | * tree-data-ref.c (get_references_in_stmt): Use new CALL_EXPR | |
13816 | iterators. | |
13817 | ||
13818 | * gimplify.c (build_stack_save_restore): Use build_call_expr. | |
13819 | (gimplify_decl_expr): Likewise. | |
13820 | (gimplify_call_expr): Use fold_call_expr instead of fold_builtin. | |
13821 | Use new CALL_EXPR iterators. | |
13822 | (gimplify_modify_expr_to_memcpy): Use build_call_expr. | |
13823 | (gimplify_modify_expr_to_memset): Likewise. | |
13824 | (gimplify_variable_sized_compare): Likewise. | |
13825 | (gimplify_omp_atomic_fetch_op): Likewise. | |
13826 | (gimplify_omp_atomic_pipeline): Likewise. | |
13827 | (gimplify_omp_atomic_mutex): Likewise. | |
13828 | (gimplify_function_tree): Likewise. | |
13829 | ||
13830 | * calls.c (alloca_call_p): Use new CALL_EXPR accessors. | |
13831 | (call_expr_flags): Likewise. | |
13832 | (expand_call): Likewise. | |
13833 | ||
13834 | * except.c (expand_builtin_eh_return_data_regno): Pass entire | |
5646ba12 | 13835 | CALL_EXPR as parameter instead of arglist. Use new CALL_EXPR |
6bdcc60c | 13836 | accessors. |
5039610b SL |
13837 | |
13838 | * coverage.c (create_coverage): Use build_call_expr. | |
13839 | ||
13840 | * tree-ssa-pre.c (expression_node_pool, list_node_pool): Delete. | |
13841 | (temp_call_expr_obstack): New. | |
13842 | (pool_copy_list): Delete. | |
13843 | (temp_copy_call_expr): New. | |
13844 | (phi_translate): Add case tcc_vl_exp for CALL_EXPR. Use new | |
13845 | CALL_EXPR accessors. Get rid of special goo for copying argument | |
13846 | lists and use temp_copy_call_expr instead. | |
13847 | (valid_in_sets): Add case tcc_vl_exp for CALL_EXPR. Use new | |
13848 | CALL_EXPR accessors. | |
13849 | (create_expression_by_pieces): Likewise. Use build_call_array | |
13850 | to construct the result instead of fold_build3. | |
13851 | (create_value_expr_from): Add tcc_vl_exp. Delete special goo for | |
13852 | dealing with argument lists. | |
13853 | (init_pre): Remove references to expression_node_pool and | |
13854 | list_node_pool. Init temp_call_expr_obstack instead. | |
13855 | (fini_pre): Remove references to expression_node_pool and | |
13856 | list_node_pool. | |
13857 | ||
13858 | * tree-sra.c (sra_walk_call_expr): Use new CALL_EXPR accessors | |
13859 | and walk arguments explicitly instead of as a list. | |
13860 | ||
13861 | * tree-mudflap.c (mf_build_check_statement_for): Use build_call_expr. | |
13862 | (mx_register_decls): Likewise. | |
13863 | (mudflap_register_call): Likewise. | |
13864 | (mudflap_finish_file): Likewise. | |
13865 | ||
13866 | * ipa-prop.c (ipa_callsite_compute_count): Use new CALL_EXPR accessors. | |
13867 | (ipa_callsite_compute_param): Likewise. | |
13868 | ||
13869 | * tree-vect-patterns.c (vect_recog_pow_pattern): Use new CALL_EXPR | |
13870 | accessors and constructor. | |
13871 | ||
13872 | * tree-nested.c (convert_nl_goto_reference): Use new CALL_EXPR | |
13873 | accessors and constructor. | |
5646ba12 | 13874 | (convert_tramp_reference): Likewise. |
5039610b SL |
13875 | (convert_call_expr): Likewise. |
13876 | (finalize_nesting_tree_1): Likewise. | |
13877 | ||
13878 | * tree-ssa.c (tree_ssa_useless_type_conversion): Use new CALL_EXPR | |
13879 | accessors. | |
13880 | ||
13881 | * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Use build_call_expr. | |
13882 | ||
13883 | * tree-inline.c (initialize_inlined_parameters): Pass entire | |
13884 | CALL_EXPR as parameter instead of arglist. Use new CALL_EXPR | |
13885 | accessors. | |
13886 | (estimate_num_insns_1): Use new CALL_EXPR accessors. | |
13887 | (expand_call_inline): Tidy up call to initialize_inlined_parameters. | |
13888 | ||
13889 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Use | |
13890 | TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
13891 | (vectorizable_reduction): Likewise. | |
13892 | (vectorizable_call): Use new CALL_EXPR iterators. | |
13893 | (vectorizable_conversion): Use build_call_expr. | |
13894 | (vectorizable_operation): Use TREE_OPERAND_LENGTH. | |
13895 | (vect_gen_widened_results_half): Use build_call_expr. | |
13896 | (vect_setup_realignment): Likewise. | |
13897 | (vectorizable_live_operation): Use TREE_OPERAND_LENGTH. | |
13898 | ||
13899 | * tree-object-size.c (alloc_object_size): Use new CALL_EXPR accessors. | |
13900 | (pass_through_call): Likewise. | |
13901 | (compute_object_sizes): Likewise. Use fold_call_expr instead of | |
13902 | fold_builtin. | |
13903 | ||
13904 | * tree-profile.c (tree_gen_interval_profiler): Use build_call_expr. | |
13905 | (tree_gen_pow2_profiler): Likewise. | |
13906 | (tree_gen_one_value_profiler): Likewise. | |
13907 | (tree_gen_ic_func_profiler): Likewise. | |
13908 | (tree_gen_average_profiler): Likewise. | |
13909 | (tree_gen_ior_profiler): Likewise. | |
13910 | ||
13911 | * tree-ssa-structalias.c (get_constraint_for): Add case tcc_vl_exp. | |
13912 | (find_func_aliases): Use new CALL_EXPR accessors. Add case | |
13913 | tcc_vl_exp. Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH. | |
13914 | ||
13915 | * tree-ssa-reassoc.c (get_rank): Use TREE_OPERAND_LENGTH instead | |
13916 | of TREE_CODE_LENGTH. | |
13917 | ||
13918 | * stmt.c (warn_if_unused_value): Use TREE_OPERAND_LENGTH instead | |
13919 | of TREE_CODE_LENGTH. | |
13920 | ||
13921 | * convert.c (convert_to_real): Use new CALL_EXPR accessors and | |
13922 | constructor. | |
13923 | (convert_to_integer): Likewise. | |
13924 | ||
13925 | * tree-ssa-operands.c (get_call_expr_operands): Use new CALL_EXPR | |
13926 | accessors. | |
13927 | ||
13928 | 2007-02-15 Sandra Loosemore <sandra@codesourcery.com> | |
13929 | Brooks Moses <brooks.moses@codesourcery.com> | |
13930 | Lee Millward <lee.millward@codesourcery.com> | |
13931 | ||
13932 | * config/alpha/alpha.c (alpha_expand_builtin): Use new CALL_EXPR | |
13933 | accessors. | |
13934 | * config/frv/frv.c (frv_expand_builtin): Likewise. | |
13935 | * config/s390/s390.c (s390_expand_builtin): Likewise. | |
13936 | ||
13937 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Use build_call_expr. | |
13938 | (sparc_expand_builtin): Use new CALL_EXPR accessors. | |
13939 | ||
13940 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Likewise. | |
13941 | (ix86_expand_binop_builtin): Pass entire CALL_EXPR as parameter | |
13942 | instead of arglist. Use new CALL_EXPR accessors on it. Fix callers. | |
13943 | (ix86_expand_store_builtin): Likewise. | |
13944 | (ix86_expand_unop_builtin): Likewise. | |
13945 | (ix86_expand_unop1_builtin): Likewise. | |
13946 | (ix86_expand_sse_compare): Likewise. | |
13947 | (ix86_expand_sse_comi): Likewise. | |
13948 | (ix86_expand_vec_init_builtin): Likewise. | |
13949 | (ix86_expand_vec_ext_builtin): Likewise. | |
13950 | (ix86_expand_vec_set_builtin): Likewise. | |
13951 | (ix86_expand_builtin): Use new CALL_EXPR accessors. | |
13952 | ||
13953 | * config/sh/sh.c (sh_expand_builtin): Use new CALL_EXPR accessors. | |
13954 | * config/c4x/c4x.c (c4x_expand_builtin): Likewise. | |
13955 | ||
13956 | * config/iq2000/iq2000.c (expand_one_builtin): Pass entire CALL_EXPR | |
13957 | instead of arglist. Use new CALL_EXPR accessors. Fix callers. | |
13958 | (iq2000_expand_builtin): Use new CALL_EXPR accessors. | |
13959 | ||
13960 | * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Use | |
13961 | build_call_expr. | |
13962 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise. | |
13963 | (rs6000_expand_unop_builtin): Pass entire CALL_EXPR instead of | |
13964 | arglist. Use new CALL_EXPR accessors. Fix callers. | |
13965 | (altivec_expand_abs_builtin): Likewise. | |
13966 | (rs6000_expand_binop_builtin): Likewise. | |
13967 | (altivec_expand_predicate_builtin): Likewise. | |
13968 | (altivec_expand_lv_builtin): Likewise. | |
13969 | (spe_expand_stv_builtin): Likewise. | |
13970 | (altivec_expand_stv_builtin): Likewise. | |
13971 | (rs6000_expand_ternop_builtin): Likewise. | |
13972 | (altivec_expand_ld_builtin): Use new CALL_EXPR accessors. | |
13973 | (altivec_expand_st_builtin): Likewise. | |
13974 | (altivec_expand_dst_builtin): Likewise. | |
13975 | (altivec_expand_vec_init_builtin): Pass entire CALL_EXPR instead of | |
13976 | arglist. Use new CALL_EXPR accessors. Fix callers. | |
13977 | (altivec_expand_vec_set_builtin): Likewise. | |
13978 | (altivec_expand_vec_ext_builtin): Likewise. | |
13979 | (altivec_expand_builtin): Use new CALL_EXPR accessors. | |
13980 | (spe_expand_builtin): Likewise. | |
13981 | (spe_expand_predicate_builtin): Pass entire CALL_EXPR instead of | |
13982 | arglist. Use new CALL_EXPR accessors. Fix callers. | |
13983 | (spe_expand_evsel_builtin): Likewise. | |
13984 | (rs6000_expand_builtin): Use new CALL_EXPR accessors. VCFUX and | |
13985 | FCFSX cases must construct whole new CALL_EXPR, not just arglist. | |
13986 | ||
13987 | * config/arm/arm.c (arm_expand_binop_builtin): Pass entire CALL_EXPR | |
13988 | instead of arglist. Use new CALL_EXPR accessors. Fix callers. | |
13989 | (arm_expand_unop_builtin): Likewise. | |
13990 | (arm_expand_builtin): Use new CALL_EXPR accessors. | |
13991 | ||
13992 | * config/mips/mips.c (mips_expand_builtin): Use new CALL_EXPR | |
13993 | accessors. | |
13994 | ||
7e08fa35 UB |
13995 | * config/bfin/bfin.c (bfin_expand_binop_builtin): Pass entire |
13996 | CALL_EXPR instead of arglist. Use new CALL_EXPR accessors. | |
13997 | Fix callers. | |
5039610b SL |
13998 | (bfin_expand_unop_builtin): Likewise. |
13999 | (bfin_expand_builtin): Use new CALL_EXPR accessors. | |
14000 | ||
14001 | 2007-02-15 Sandra Loosemore <sandra@codesourcery.com> | |
14002 | Brooks Moses <brooks.moses@codesourcery.com> | |
14003 | Lee Millward <lee.millward@codesourcery.com> | |
14004 | ||
14005 | * c-semantics.c (build_stmt): Add internal diagnostic check. | |
14006 | ||
14007 | * c-pretty-print.c (pp_c_postfix_expression): Use new CALL_EXPR | |
14008 | accessors. Print arguments explicitly instead of as a list. | |
14009 | ||
14010 | * c-typeck.c (build_function_call): Use new CALL_EXPR constructors. | |
14011 | ||
14012 | * c-omp.c (c_finish_omp_barrier): Use build_call_expr. | |
14013 | (c_finish_omp_flish): Likewise. | |
14014 | ||
14015 | * c-common.c (verify_tree): Use new CALL_EXPR accessors. Traverse | |
14016 | arguments explicitly instead of as a list. Use TREE_OPERAND_LENGTH | |
14017 | instead of TREE_CODE_LENGTH. | |
14018 | (check_function_arguments_recurse): Use new CALL_EXPR accessors. | |
14019 | (c_warn_unused_result): Likewise. | |
14020 | ||
dc90f45b MLI |
14021 | 2007-02-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
14022 | ||
14023 | PR c/26494 | |
14024 | * doc/invoke.texi (Warning Options): Remove | |
14025 | -Werror-implicit-function-declaration. | |
14026 | (Wimplicit-function-declaration): Update description. | |
14027 | * opts.c (common_handle_option): Move handling of -Werror=* to... | |
14028 | (enable_warning_as_error): ...here. | |
14029 | * opts.h (enable_warning_as_error): Declare. | |
14030 | * c-decl.c (implicit_decl_warning): Unless | |
14031 | -Wno-implicit-function-declaration is given, emit a pedwarn if | |
14032 | -std=c99 or emit a warning if -Wimplicit-function-declaration. | |
14033 | * c.opt (Wimplicit-function-declaration): Replace | |
14034 | mesg_implicit_function_declaration with | |
14035 | warn_implicit_function_declaration. | |
14036 | * c-opts.c (c_common_handle_option): | |
14037 | -Werror-implicit-function-declaration is exactly equal as | |
14038 | -Werror=implicit-function-declaration. | |
14039 | (set_Wimplicit): Replace mesg_implicit_function_declaration with | |
14040 | warn_implicit_function_declaration. | |
14041 | (c_common_post_options): -Wimplict-function-declaration is enabled | |
14042 | by default by -std=c99, otherwise is disabled by default. | |
14043 | * c-objc-common.c (c_objc_common_init): Remove flawed logic. | |
14044 | ||
f173837a EB |
14045 | 2007-02-15 Eric Botcazou <ebotcazou@adacore.com> |
14046 | ||
14047 | * gimplify.c (gimplify_modify_expr): During gimplification, attach a | |
14048 | DECL on the rhs to a DECL on the lhs for debug info purposes if the | |
14049 | former is ignored but not the latter. | |
14050 | ||
befdad07 EB |
14051 | 2007-02-15 Eric Botcazou <ebotcazou@adacore.com> |
14052 | ||
14053 | * expr.c (expand_expr_real_1) <normal_inner_ref>: If a temporary | |
14054 | is made and the reference doesn't use the alias set of its type, | |
14055 | do not create the temporary using that type. | |
14056 | ||
eab79d78 AH |
14057 | 2007-02-15 Aldy Hernandez <aldyh@redhat.com> |
14058 | ||
14059 | * jump.c: Remove prototypes for delete_computation and | |
14060 | delete_prior_computation. | |
14061 | ||
c47277a6 PB |
14062 | 2007-02-15 Paolo Bonzini <bonzini@gnu.org> |
14063 | ||
14064 | * jump.c (get_label_after): Delete. | |
14065 | (get_label_before, delete_computation, delete_jump, | |
14066 | delete_prior_computation, follow_jumps): Move... | |
14067 | * reorg.c (delete_computation, delete_prior_computation): ... here... | |
14068 | (get_label_before, delete_jump): ... making these static ... | |
14069 | (follow_jumps): ... and simplifying this since it only runs after | |
14070 | reload. | |
14071 | * rtl.h (get_label_after, get_label_before, delete_jump, | |
14072 | follow_jumps): Delete prototypes. | |
14073 | ||
ed765125 PB |
14074 | 2007-02-15 Paolo Bonzini <bonzini@gnu.org> |
14075 | ||
14076 | * caller-save.c (save_call_clobbered_regs): Do not process sibcalls. | |
5646ba12 | 14077 | |
c1a1cc5f NC |
14078 | 2007-02-15 Nick Clifton <nickc@redhat.com> |
14079 | ||
14080 | * varasm.c (default_asm_output_anchor): Prepend * to . symbol in | |
14081 | order to prevent it from being munged by the target. | |
14082 | ||
62e4530b UB |
14083 | 2007-02-15 Uros Bizjak <ubizjak@gmail.com> |
14084 | ||
14085 | * config/i386/i386.md: Remove misleading comment. | |
14086 | ||
f4f81a66 AO |
14087 | 2007-02-15 Alexandre Oliva <aoliva@redhat.com> |
14088 | ||
14089 | * config/frv/frv.md (reload_incc, reload_outcc, reload_incc_uns, | |
14090 | reload_outcc_uns, reload_incc_nz, reload_outcc_nz): Remove | |
14091 | invalid patterns. | |
14092 | ||
45f94ec7 AO |
14093 | 2007-02-15 Alexandre Oliva <aoliva@redhat.com> |
14094 | ||
14095 | * tree-sra.c (instantiate_missing_elements): Canonicalize | |
14096 | bit-field types. | |
14097 | (sra_build_assignment): New. | |
14098 | (generate_copy_inout, generate_element_copy, | |
14099 | generate_element_zero, generate_one_element_init): Use it. | |
14100 | ||
14101 | 2007-02-15 Alexandre Oliva <aoliva@redhat.com> | |
14102 | ||
14103 | * tree-sra.c (instantiate_missing_elements): Canonicalize | |
14104 | bit-field types. | |
14105 | (sra_build_assignment): New. | |
14106 | (generate_copy_inout, generate_element_copy, | |
14107 | generate_element_zero, generate_one_element_init): Use it. | |
14108 | ||
db9e0d2a AO |
14109 | 2007-02-15 Alexandre Oliva <aoliva@redhat.com> |
14110 | ||
14111 | * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of | |
14112 | limbo die nodes. | |
14113 | ||
07cb6e8c JM |
14114 | 2007-02-14 Joseph Myers <joseph@codesourcery.com> |
14115 | ||
14116 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Treat complex | |
14117 | types as aggregates not scalars. | |
14118 | * function.c (assign_stack_temp_for_type): Likewise. | |
14119 | ||
702f9d78 ZD |
14120 | 2007-02-14 Roger Sayle <roger@eyesopen.com> |
14121 | Zdenek Dvorak <dvorakz@suse.cz> | |
14122 | ||
14123 | * tree-dump.c (dump_switch_p_1): Require exact match of the option | |
14124 | name. | |
14125 | ||
3d882990 ZD |
14126 | 2007-02-14 Zdenek Dvorak <dvorakz@suse.cz> |
14127 | ||
14128 | * passes.c (next_pass_1): Clear the next field of the copied | |
14129 | pass structure. | |
14130 | ||
029f45bd RH |
14131 | 2007-02-14 Richard Henderson <rth@redhat.com> |
14132 | ||
14133 | * tree-sra.c (early_sra): New. | |
14134 | (decl_can_be_decomposed_p): Deny va_list if early_sra. | |
14135 | (tree_sra_early, pass_sra_early): New. | |
14136 | * tree-pass.h (pass_sra_early): Declare. | |
14137 | * passes.c (init_optimization_passes): Use it. | |
14138 | ||
c4e74b1a RB |
14139 | 2007-02-14 Richard Guenther <rguenther@suse.de> |
14140 | ||
14141 | * flags.h (issue_strict_overflow_warning): Convert to a macro. | |
14142 | ||
14143 | 2007-02-14 Dorit Nuzman <dorit@il.ibm.com> | |
932eea3d DN |
14144 | |
14145 | PR tree-optimization/30771 | |
14146 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Traverse | |
14147 | also phi nodes. | |
14148 | (vect_analyze_operations): Induction phis can now be marked as | |
14149 | used_in_loop. | |
14150 | (vect_mark_stmts_to_be_vectorized): No special treatment for phis. | |
14151 | Update documentation accordingly. | |
14152 | ||
8225879c NC |
14153 | 2007-02-14 Nick Clifton <nickc@redhat.com> |
14154 | ||
14155 | * builtin-types.def (DEF_FUNCTION_TYPE_x): Do not imply that at | |
14156 | most 3 arguments are supported. | |
14157 | (DEF_FUNCTION_TYPE_VAR_5): Fix typo in its description. | |
14158 | ||
5ce02e40 SP |
14159 | 2007-02-13 Seongbae Park <seongbae.park@gmail.com> |
14160 | ||
3d882990 ZD |
14161 | * bitmap.c (bitmap_and, bitmap_and_compl, bitmap_xor): |
14162 | Ensure dst->current is valid. | |
5ce02e40 | 14163 | |
c147eacb PB |
14164 | 2007-02-13 Paul Brook <paul@codesourcery.com> |
14165 | ||
14166 | * config.gcc: Add arm*-*-uclinux-*eabi. | |
14167 | * config/arm/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Define. | |
14168 | (SUBTARGET_EXTRA_LINK_SPEC): Define. | |
14169 | (STARTFILE_SPEC, ENDFILE_SPEC): Remove broken -shared handling. | |
14170 | (LINK_GCC_C_SEQUENCE_SPEC): Undef. | |
14171 | (LINK_SPEC): Define. | |
14172 | (LIB_SPEC): Define. | |
14173 | * config/arm/arm.c (arm_override_options): Use r9 as EABI PIC | |
14174 | register. | |
14175 | * config/arm/uclinux-eabi.h: New file. | |
14176 | * config/arm/linux-eabi.h (WCHAR_TYPE): Remove. | |
14177 | * config/arm/linux-gas.h (WCHAR_TYPE): Use unsigned long on AAPCS | |
14178 | based targets. | |
14179 | ||
6ac01510 ILT |
14180 | 2007-02-13 Ian Lance Taylor <iant@google.com> |
14181 | ||
14182 | * common.opt: Add Wstrict-overflow and Wstrict-overflow=. | |
14183 | * flags.h (warn_strict_overflow): Declare. | |
14184 | (enum warn_strict_overflow_code): Define. | |
14185 | (issue_strict_overflow_warning): New static inline function. | |
14186 | * opts.c (warn_strict_overflow): New variable. | |
14187 | (common_handle_option): Handle OPT_Wstrict_overflow and | |
14188 | OPT_Wstrict_overflow_. | |
14189 | * c-opts.c (c_common_handle_option): Set warn_strict_overflow for | |
14190 | OPT_Wall. | |
14191 | * fold-const.c: Include intl.h. | |
14192 | (fold_deferring_overflow_warnings): New static variable. | |
14193 | (fold_deferred_overflow_warning): New static variable. | |
14194 | (fold_deferred_overflow_code): New static variable. | |
14195 | (fold_defer_overflow_warnings): New function. | |
14196 | (fold_undefer_overflow_warnings): New function. | |
14197 | (fold_undefer_and_ignore_overflow_warnings): New function. | |
14198 | (fold_deferring_overflow_warnings_p): New function. | |
14199 | (fold_overflow_warning): New static function. | |
14200 | (make_range): Add strict_overflow_p parameter. Change all | |
14201 | callers. | |
14202 | (extract_muldiv, extract_muldiv_1): Likewise. | |
14203 | (fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling | |
14204 | tree_expr_nonnegative_p. | |
14205 | (fold_negate_expr): Call fold_overflow_warning. | |
14206 | (fold_range_test): Likewise. | |
14207 | (fold_comparison): Likewise. | |
14208 | (fold_binary): Likewise. Call tree_expr_nonnegative_warnv_p | |
14209 | instead of tree_expr_nonnegative_p. | |
14210 | (tree_expr_nonnegative_warnv_p): Rename from | |
14211 | tree_expr_nonnegative_p, add strict_overflow_p parameter. | |
14212 | (tree_expr_nonnegative_p): New function. | |
14213 | (tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add | |
14214 | strict_overflow_p parameter. | |
14215 | (tree_expr_nonzero_p): New function. | |
14216 | * passes.c (verify_interpass_invariants): New static function. | |
14217 | (execute_one_pass): Call it. | |
14218 | * tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold | |
14219 | warnings. | |
14220 | (number_of_iterations_exit, loop_niter_by_eval): Likewise. | |
14221 | (estimate_numbers_of_iterations): Likewise. | |
14222 | (scev_probably_wraps_p): Likewise. | |
14223 | * tree-ssa-ccp.c: Include "toplev.h". | |
14224 | (evaluate_stmt): Defer fold overflow warnings until we know we are | |
14225 | going to optimize. | |
14226 | (struct fold_stmt_r_data): Add stmt field. | |
14227 | (fold_stmt_r): Defer fold overflow warnings until we know we | |
14228 | optimized. | |
14229 | (fold_stmt): Initialize stmt field of fold_stmt_r_data. | |
14230 | (fold_stmt_inplace): Likewise. | |
14231 | * tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h". | |
14232 | (cleanup_control_expr_graph): Defer fold overflow warnings until | |
14233 | we know we are going to optimize. | |
14234 | * tree-cfg.c (fold_cond_expr_cond): Likewise. | |
14235 | * tree-ssa-threadedge.c (simplify_control_stmt_condition): | |
14236 | Likewise. | |
14237 | * tree-vrp.c (vrp_expr_computes_nonnegative): Call | |
14238 | tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p. | |
14239 | * tree-ssa-loop-manip.c (create_iv): Likewise. | |
14240 | * c-typeck.c (build_conditional_expr): Likewise. | |
14241 | (build_binary_op): Likewise. | |
14242 | * tree-vrp.c (vrp_expr_computes_nonzero): Call | |
14243 | tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p. | |
14244 | (extract_range_from_unary_expr): Likewise. | |
14245 | * simplify-rtx.c (simplify_const_relational_operation): Warn when | |
14246 | assuming that signed overflow does not occur. | |
14247 | * c-common.c (pointer_int_sum): Ignore fold overflow warnings. | |
14248 | * tree.h (tree_expr_nonnegative_warnv_p): Declare. | |
14249 | (fold_defer_overflow_warnings): Declare. | |
14250 | (fold_undefer_overflow_warnings): Declare. | |
14251 | (fold_undefer_and_ignore_overflow_warnings): Declare. | |
14252 | (fold_deferring_overflow_warnings_p): Declare. | |
14253 | (tree_expr_nonzero_warnv_p): Declare. | |
14254 | * doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list | |
14255 | of warning options. | |
14256 | (Warning Options): Document -Wstrict-overflow. | |
14257 | * Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h. | |
14258 | (tree-ssa-ccp.o): Likewise. | |
14259 | (tree-cfgcleanup.o): Change errors.h dependency to toplev.h. | |
14260 | (fold-const.o): Depend on intl.h. | |
14261 | ||
30d18db4 ILT |
14262 | 2007-02-13 Ian Lance Taylor <iant@google.com> |
14263 | ||
14264 | PR middle-end/30751 | |
14265 | * lower-subreg.c (resolve_simple_move): Decompose subregs in | |
14266 | addresses. | |
14267 | ||
ce9c43a1 SH |
14268 | 2007-02-13 Stuart Hastings <stuart@apple.com> |
14269 | ||
86122f72 | 14270 | * config/i386/i386.md (fixuns_truncdfhi2): Require SSE2. |
ce9c43a1 | 14271 | |
138ae41e RH |
14272 | 2007-02-13 Richard Henderson <rth@redhat.com> |
14273 | ||
14274 | * config/alpha/alpha.c (alpha_stdarg_optimize_hook): Strip | |
14275 | handled_component_p before looking for the indirect_ref. | |
14276 | ||
2e6834d3 RH |
14277 | 2007-02-13 Richard Henderson <rth@redhat.com> |
14278 | ||
14279 | * config/i386/i386.md (bswapsi_1): Rename from bswapsi2, | |
14280 | remove flags clobber. | |
14281 | (bswapsi2): New expander, emit code for !TARGET_BSWAP. | |
14282 | (bswaphi_lowpart): New. | |
14283 | (bswapdi2): Rename from bswapdi2_rex, remove flags clobber, | |
14284 | remove TARGET_BSWAP test. Delete expander of the same name. | |
14285 | ||
14286 | * optabs.c (widen_bswap, expand_doubleword_bswap): New. | |
14287 | (expand_unop): Use them. | |
14288 | ||
a23132e1 UB |
14289 | 2007-02-13 Uros Bizjak <ubizjak@gmail.com> |
14290 | ||
14291 | * config/i386/i386.md (cmpdi_ccno_1_rex64, *cmpsi_ccno_1, | |
14292 | *cmphi_ccno_1, *cmpqi_ccno_1, *movsi_xor, *movstricthi_xor, | |
14293 | *movstrictqi_xor, *movdi_xor_rex64, *ashldi3_1_rex64, | |
14294 | *ashldi3_cmp_rex64, *ashldi3_cconly_rex64, ashlsi3, *ashlsi3_1_zext, | |
14295 | *ashlsi3_cmp, *ashlsi3_cconly, *ashlsi3_cmp_zext, *ashlhi3_1_lea, | |
14296 | *ashlhi3_1, *ashlhi3_cmp, *ashlhi3_cconly, *ashlqi3_1_lea, | |
14297 | *ashlqi3_1, *ashlqi3_cmp, *ashlqi3_cconly): Remove equivalent | |
14298 | assembler dialect choice from asm templates. | |
14299 | ||
174c12c7 RH |
14300 | 2007-02-12 Richard Henderson <rth@redhat.com> |
14301 | ||
14302 | * config/i386/i386.md (fixuns_trunc<SSEMODEF>si_1): New insn. | |
14303 | (fixuns_trunc<SSEMODEF>si2): Use it. | |
14304 | * config/i386/sse.md (vec_setv4sf_0): Export. | |
14305 | * config/i386/i386.c (ix86_build_const_vector): Export. | |
14306 | (ix86_split_convert_uns_si_sse): Rename from | |
14307 | ix86_expand_convert_uns_si_sse and rewrite as a splitter. | |
14308 | * config/i386/i386-protos.h: Update. | |
14309 | ||
2397c575 MLI |
14310 | 2007-02-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
14311 | ||
14312 | PR c/29521 | |
14313 | * c-typeck.c (c_finish_return): Improve warning message. | |
14314 | ||
14a32e14 MLI |
14315 | 2007-02-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
14316 | ||
14317 | * alias.c (find_symbolic_term): Delete unused function. | |
5646ba12 | 14318 | |
0f7b6776 UB |
14319 | 2007-02-12 Uros Bizjak <ubizjak@gmail.com> |
14320 | ||
14321 | * config/i386/i386.md (paritydi2, paritysi2): New expanders. | |
14322 | (paritydi2_cmp, paritydi2_cmp): New insn and split patterns. | |
14323 | (*parityhi2_cmp, *parityqi2_cmp): New insn patterns. | |
14324 | ||
6170a998 EB |
14325 | 2007-02-12 Eric Botcazou <ebotcazou@adacore.com> |
14326 | ||
14327 | * tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL. | |
14328 | * cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on | |
14329 | the function, temporarily point the debug interface to the null one. | |
14330 | ||
d996473d EB |
14331 | 2007-02-12 Eric Botcazou <ebotcazou@adacore.com> |
14332 | ||
14333 | * dwarf2out.c (round_up_to_align): New static function. | |
14334 | (field_byte_offset): Use it to round the offset. | |
14335 | ||
fffef1dc RH |
14336 | 2007-02-12 Richard Henderson <rth@redhat.com> |
14337 | ||
14338 | * config/alpha/alpha.md (bswapsi2, bswapdi2): New. | |
14339 | (inswl_const): Export. | |
14340 | ||
7ab0aca2 RH |
14341 | 2007-02-12 Richard Henderson <rth@redhat.com> |
14342 | ||
14343 | * calls.c (emit_library_call_value_1): If PROMOTE_MODE modifed the | |
14344 | result mode of the libcall, convert back to outmode. | |
14345 | ||
d8d25bae RS |
14346 | 2007-02-12 Roger Sayle <roger@eyesopen.com> |
14347 | ||
14348 | * config/i386/i386.md (*bswapdi2_rex): Renamed from bswapdi2. | |
14349 | (bswapdi2): New define_expand to implement 32-bit implementation. | |
14350 | ||
c662432e NC |
14351 | 2007-02-12 Nick Clifton <nickc@redhat.com> |
14352 | ||
14353 | * doc/invoke.texi (Overall Options): Document --help=. | |
14354 | * gcc.c (target_help_flag): Rename to print_subprocess_flag. | |
14355 | (cc1_options): Pass --help= on to cc1. | |
14356 | (display_help): Add description of --help=. | |
14357 | (process_command): Add code to handle --help=. Allow translated | |
14358 | --help and --target-help switches to be passed on to compiler | |
14359 | sub-process. | |
14360 | (main): Remove unused if statement. | |
14361 | * opts.c (columns): Remove. | |
14362 | (LEFT_COLUMN): Define. | |
14363 | (wrap_help): Add columns argument. | |
14364 | (print_filtered_help): Change parameters to be an include bitmask, | |
14365 | an exclude bitmask, an any bitmask and the column width. Move the | |
14366 | code to display the params list here. Add code to display the | |
14367 | status of options rather than their descriptions if the quiet flag | |
14368 | is not active. | |
14369 | (print_specific_help): Change parameters to be an include bitmask, | |
14370 | an exclude bitmask and an any bitmask. Move code to look up the | |
14371 | column width here. Decide upon the title for an options listing. | |
14372 | (common_handle_options): Add code to handle --help=. Adapt code | |
14373 | for --help and --target-help to use the revised form of the | |
14374 | print_specific_help function. | |
14375 | (print_help): Delete. | |
14376 | (print_param_help): Delete. | |
14377 | (print_switch): Delete. | |
14378 | * opts.h (cl_lang_count): Add prototype. | |
14379 | (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_MIN_OPTION_CLASS, | |
14380 | CL_MAX_OPTION_CLASS): New defines. | |
14381 | * optc-gen.awk: Add construction of cl_lang_count. | |
14382 | * c.opt: Add Warning attribute to warning options and Optimization | |
14383 | attribute to optimization options. | |
14384 | * common.opt: Likewise. | |
14385 | Add --help=. | |
14386 | Add -fhelp and -ftarget-help as aliases for the transformed --help | |
14387 | and --target-help options. | |
14388 | * opt-functions.awk: Add code to handle Warning and Optimization | |
14389 | attributes. | |
14390 | ||
dfcbeaa5 RH |
14391 | 2007-02-12 Richard Henderson <rth@redhat.com> |
14392 | ||
14393 | * config/alpha/constraints.md: New file. | |
14394 | * config/alpha/alpha.c: Include tm-constrs.h. | |
14395 | (alpha_const_ok_for_letter_p, alpha_const_double_ok_for_letter_p, | |
14396 | alpha_extra_constraint): Remove. | |
14397 | (alpha_emit_conditional_branch): Use satisfies_constraint_*. | |
14398 | * config/alpha/alpha-protos.h: Update. | |
14399 | * config/alpha/alpha.h (REG_CLASS_FROM_LETTER): Remove. | |
14400 | (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Remove. | |
14401 | (EXTRA_CONSTRAINT): Remove. | |
14402 | * config/alpha/alpha.md: Include constraints.md. | |
14403 | (adddi splitter): Use satisfies_constraint_*. | |
14404 | * config/alpha/predicates.md (add_operand): Likewise. | |
14405 | (sext_add_operand, addition_operation): Likewise. | |
14406 | ||
9b3ffe5f DN |
14407 | 2007-02-12 Dorit Nuzman <dorit@il.ibm.com> |
14408 | ||
14409 | PR tree-optimization/29145 | |
14410 | * tree-data-ref.c (base_addr_differ_p): Make us more conservative | |
14411 | in our handling of restrict qualified pointers. | |
14412 | ||
27f33b15 MLI |
14413 | 2007-02-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
14414 | ||
14415 | PR middle-end/7651 | |
14416 | * doc/invoke.texi (Wunused-value): Update description. | |
14417 | (Wextra): Delete item. | |
14418 | * opts.c (set_Wextra): Don't use the value of Wextra to set the | |
14419 | value of Wunused-value. | |
14420 | * c-typeck.c (c_process_expr_stmt): Don't check extra_warnings. | |
14421 | (c_finish_stmt_expr): Don't check extra_warnings. | |
14422 | (emit_side_effect_warnings): The caller is responsible to check | |
14423 | warn_unused_value. | |
5646ba12 | 14424 | |
2376c58f RS |
14425 | 2007-02-11 Roger Sayle <roger@eyesopen.com> |
14426 | Matt Thomas <matt@3am-software.com> | |
14427 | ||
14428 | * simplify-rtx.c (simplify_relational_operation_1): Correct typo. | |
14429 | ||
69fce32f RS |
14430 | 2007-02-11 Roger Sayle <roger@eyesopen.com> |
14431 | ||
14432 | * simplify-rtx.c (simplify_relational_operation_1): Optimize | |
14433 | comparisons of POPCOUNT against zero. | |
14434 | (simplify_const_relational_operation): Likewise. | |
14435 | ||
10c54531 MLI |
14436 | 2007-02-11 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
14437 | ||
14438 | * doc/invoke.texi (Wextra): Delete outdated paragraph. | |
5646ba12 | 14439 | |
b04e13e8 MLI |
14440 | 2007-02-11 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
14441 | ||
14442 | * dwarf2out.c (root_type): Delete unused function. | |
5646ba12 | 14443 | |
80733108 MLI |
14444 | 2007-02-11 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
14445 | ||
14446 | * genattrtab.c (contained_in_p): Delete unused function. | |
14447 | (write_expr_attr_cache): Likewise. | |
14448 | ||
68e2e141 JH |
14449 | 2007-02-11 Jan Hubicka <jh@suse.cz> |
14450 | ||
14451 | * ipa-inline.c (cgraph_edge_badness): Add "else" missing in the | |
14452 | previous patch. | |
14453 | ||
a31830a7 SB |
14454 | 2007-02-11 Steven Bosscher <steven@gcc.gnu.org> |
14455 | ||
14456 | * fwprop.c (try_fwprop_subst): Use set_unique_reg_note | |
14457 | to add the REG_EQ* note. | |
14458 | * see.c (see_merge_one_use_extension): Likewise. | |
14459 | * local-alloc.c (update_equiv_regs): Likewise. Also don't | |
14460 | turn REG_EQUAL notes into REG_EQUIV notes if the target | |
14461 | register may have more than one set. | |
14462 | * function.c (assign_parm_setup_reg): Use set_unique_reg_note. | |
14463 | * gcse.c (try_replace_reg): Likewise. | |
14464 | * alias.c (init_alias_analysis): Use find_reg_equal_equiv_note. | |
14465 | * calls.c (fixup_tail_calls): Likewise. Abort if there is | |
14466 | more than one REG_EQUIV note. | |
14467 | * reload1.c (gen_reload): Use set_unique_reg_note. | |
14468 | ||
4c38b6d9 UB |
14469 | 2007-02-11 Uros Bizjak <ubizjak@gmail.com> |
14470 | ||
14471 | * config/i386/i386.c (TARGET_VECTORIZE_BUILTIN_CONVERSION): Define. | |
14472 | (ix86_builtin_conversion): New function. | |
14473 | ||
56fd65c7 MM |
14474 | 2007-02-06 Mark Mitchell <mark@codesourcery.com> |
14475 | ||
14476 | PR target/29487 | |
14477 | * tree.h (DECL_REPLACEABLE_P): New macro. | |
14478 | * except.c (set_nothrow_function_flags): Likewise. | |
14479 | ||
f57d17f1 TM |
14480 | 2007-02-11 Tehila Meyzels <tehila@il.ibm.com> |
14481 | Ira Rosen <irar@il.ibm.com> | |
14482 | Dorit Nuzman <dorit@il.ibm.com> | |
14483 | ||
14484 | * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): New target hook. | |
14485 | * targhooks.c (default_builtin_vectorized_conversion): New. | |
14486 | * targhooks.h (default_builtin_vectorized_function): New declaration. | |
14487 | * target.h (struct vectorize): Add builtin_conversion field. | |
14488 | * tree-vectorizer.h (type_conversion_vec_info_type): New enum | |
14489 | stmt_vec_info_type value. | |
14490 | (vectorizable_conversion): New declaration. | |
14491 | * tree-vect-analyze.c (vect_analyze_operations): Add | |
14492 | vectorizable_conversion call. | |
14493 | * target-def.h (TARGET_VECTORIZE_BUILTIN_CONVERSION): New. | |
14494 | * tree-vect-transform.c (vectorizable_conversion): New function. | |
14495 | (vect_transform_stmt): Add case for type_conversion_vec_info_type. | |
14496 | * tree-vect-generic.c (expand_vector_operations_1): Consider correct | |
14497 | mode. | |
14498 | * config/rs6000/rs6000.c (rs6000_builtin_conversion): New. | |
14499 | (TARGET_VECTORIZE_BUILTIN_CONVERSION): Defined. | |
0f7b6776 UB |
14500 | (rs6000_expand_builtin): Add handling a case of ALTIVEC_BUILTIN_VCFUX |
14501 | or ALTIVEC_BUILTIN_VCFSX. | |
f57d17f1 | 14502 | |
51823d47 JDA |
14503 | 2007-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
14504 | ||
14505 | PR target/30634 | |
14506 | * pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero | |
14507 | CONST_DOUBLE and operand 0 is a hard register. | |
14508 | (movdi): For 64-bit target, remove code to force CONST_DOUBLE to | |
14509 | memory. Fail if operand 1 is a non-zero CONST_INT and operand 0 | |
14510 | is a hard floating-point register. | |
14511 | ||
3de8da2a UB |
14512 | 2007-02-10 Richard Henderson <rth@redhat.com> |
14513 | Jakub Jelinek <jakub@redhat.com> | |
14514 | Alexandre Oliva <aoliva@redhat.com> | |
8893239d RH |
14515 | |
14516 | * Makefile.in (libgcc-support, libgcc.mvars): Add emutls.c. | |
14517 | * builtin-types.def (BT_WORD): Make unsigned. | |
14518 | (BT_FN_VOID_PTR_WORD_WORD_PTR): New. | |
14519 | * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New. | |
14520 | (BUILT_IN_EMUTLS_REGISTER_COMMON): New. | |
14521 | * c-decl.c (grokdeclarator): Don't error if !have_tls. | |
14522 | * c-parser.c (c_parser_omp_threadprivate): Likewise. | |
14523 | * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for | |
14524 | emulated tls. | |
14525 | * expr.c (emutls_var_address): New. | |
14526 | (expand_expr_real_1): Expand emulated tls. | |
14527 | (expand_expr_addr_expr_1): Likewise. | |
14528 | * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common. | |
14529 | * output.h (emutls_finish): Declare. | |
14530 | * toplev.c (compile_file): Call it. | |
14531 | * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the | |
14532 | address before wrapping in CONST. | |
14533 | * varasm.c (emutls_htab, emutls_object_type): New. | |
14534 | (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New. | |
14535 | (get_emutls_object_name, get_emutls_object_type): New. | |
14536 | (get_emutls_init_templ_addr, emutls_decl): New. | |
14537 | (emutls_common_1, emutls_finish): New. | |
14538 | (assemble_variable): When emulating tls, swap decls; generate | |
14539 | constructor for the emutls objects. | |
14540 | (do_assemble_alias): When emulating tls, swap decl and target name. | |
14541 | (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT | |
14542 | for emulated tls. | |
14543 | * varpool.c (decide_is_variable_needed): Look at force_output. | |
14544 | Recurse for emulated tls. | |
14545 | (cgraph_varpool_remove_unreferenced_decls): Remove checks redundant | |
14546 | with decide_is_variable_needed. | |
14547 | * emutls.c: New file. | |
14548 | * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit | |
14549 | tls_object for real tls. | |
14550 | ||
4c9034c5 KK |
14551 | 2007-02-10 Kaz Kojima <kkojima@gcc.gnu.org> |
14552 | ||
14553 | PR rtl-optimization/29599 | |
14554 | * reload1.c (eliminate_regs_in_insn): Take the destination | |
14555 | mode into account when computing the offset. | |
14556 | ||
ebff937c | 14557 | 2007-02-09 Stuart Hastings <stuart@apple.com> |
3de8da2a | 14558 | Richard Henderson <rth@redhat.com> |
ebff937c | 14559 | |
86122f72 JJ |
14560 | * config/i386/i386.h (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New. |
14561 | * config/i386/darwin.h: (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New. | |
14562 | * config/i386/i386.md (fixuns_trunc<mode>si2, fixuns_truncsfhi2, | |
ebff937c SH |
14563 | fixuns_truncdfhi2): New. |
14564 | (fix_truncsfdi_sse): Call ix86_expand_convert_sign_didf_sse. | |
14565 | (floatunsdidf2): Call ix86_expand_convert_uns_didf_sse. | |
14566 | (floatunssisf2): Add call to ix86_expand_convert_uns_sisf_sse. | |
14567 | (floatunssidf2): Allow nonimmediate source. | |
86122f72 | 14568 | * config/i386/sse.md (movdi_to_sse): New. |
3de8da2a | 14569 | (vec_concatv2di): Drop '*'. |
86122f72 | 14570 | * config/i386/i386-protos.h (ix86_expand_convert_uns_si_sse, |
ebff937c | 14571 | ix86_expand_convert_uns_didf_sse, ix86_expand_convert_uns_sidf_sse, |
3de8da2a UB |
14572 | ix86_expand_convert_uns_sisf_sse, ix86_expand_convert_sign_didf_sse): |
14573 | New. | |
86122f72 | 14574 | * config/i386/i386.c (ix86_expand_convert_uns_si_sse, |
ebff937c SH |
14575 | ix86_expand_convert_uns_didf_sse, ix86_expand_convert_uns_sidf_sse, |
14576 | ix86_expand_convert_uns_sisf_sse, ix86_expand_convert_sign_didf_sse, | |
14577 | ix86_build_const_vector, ix86_expand_vector_init_one_nonzero): New. | |
3de8da2a UB |
14578 | (ix86_build_signbit_mask): Fix decl of v, refactor to call |
14579 | ix86_build_const_vector. | |
ebff937c SH |
14580 | (x86_emit_floatuns): Rewrite. |
14581 | ||
692b647c MLI |
14582 | 2007-02-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
14583 | ||
14584 | * genautomata.c (longest_path_length): Delete unused function. | |
14585 | (struct state): Delete unused longest_path_length. | |
14586 | (UNDEFINED_LONGEST_PATH_LENGTH): Delete unused macro. | |
14587 | (get_free_state): Delete unused. | |
5646ba12 | 14588 | |
45a80bb9 JH |
14589 | 2007-02-09 Jan Hubicka <jh@suse.cz> |
14590 | ||
d562c668 JH |
14591 | * params.def (PARAM_INLINE_UNIT_GROWTH): Set to 30. |
14592 | * doc/invoke.texi (inline-unit-growth): Update default value. | |
14593 | ||
45a80bb9 JH |
14594 | * Makefile.in (passes.o, ipa-inline.o): Add dependencies. |
14595 | * cgraphbuild.c (build_cgraph_edges): Compute frequencies. | |
14596 | (rebuild_cgraph_edges): Likewise. | |
14597 | * cgraph.c (cgraph_set_call_stmt): Add new argument frequency. | |
14598 | (dump_cgraph_node): Dump frequencies. | |
14599 | (cgraph_clone_edge): Add frequency scales. | |
14600 | (cgraph_clone_node): Add freuqnecy. | |
14601 | * cgraph.h (cgraph_edge): Add freuqnecy argument. | |
14602 | (CGRAPH_FREQ_BASE, CGRAPH_FREQ_MAX): New constants. | |
14603 | (cgraph_create_edge, cgraph_clone_edge, cgraph_clone_node): Update. | |
14604 | * tree-pass.h (TODO_rebuild_frequencies): New constant. | |
14605 | * cgraphunit.c (verify_cgraph_node): Verify frequencies. | |
14606 | (cgraph_copy_node_for_versioning): Update call of cgraph_clone_edge. | |
14607 | (save_inline_function_body): Likewise. | |
14608 | * ipa-inline.c: inluce rtl.h | |
14609 | (cgraph_clone_inlined_nods): Update call of cgraph_clone_node. | |
14610 | (cgraph_edge_badness): Use frequencies. | |
14611 | (cgraph_decide_recursive_inlining): Update clonning. | |
14612 | (cgraph_decide_inlining_of_small_function): Dump frequency. | |
14613 | * predict.c (estimate_bb_frequencies): Export. | |
14614 | * predict.h (estimate_bb_frequencies): Declare. | |
14615 | * tree-inline.c (copy_bb): Watch overflows. | |
14616 | (expand_call_inline): Update call of cgraph_create_edge. | |
14617 | (optimize_inline_calls): Use TODO flags to update frequnecies. | |
14618 | * passes.h: Include predict.h | |
14619 | (init_optimization_passes): Move profile ahead. | |
14620 | (execute_function_todo): Handle TODO_rebuild_frequencies. | |
14621 | ||
f2477b06 RS |
14622 | 2007-02-09 Roger Sayle <roger@eyesopen.com> |
14623 | ||
14624 | * config/alpha/alpha.c (emit_insxl): Force the first operand of | |
14625 | the insbl or inswl pattern into a register. | |
14626 | ||
ff848f0e RS |
14627 | 2007-02-09 Roger Sayle <roger@eyesopen.com> |
14628 | ||
14629 | * config/ia64/ia64.md (bswapdi2): New define_insn. | |
14630 | ||
ed69105c RH |
14631 | 2007-02-09 Richard Henderson <rth@redhat.com> |
14632 | ||
14633 | * config/i386/constraints.md (Ym): New constraint. | |
14634 | * config/i386/i386.md (movsi_1): Change Y2 to Yi constraints. | |
14635 | (movdi_1_rex64): Split sse and xmm general register moves from | |
14636 | memory move alternatives. Use conditional register constraints. | |
14637 | (movsf_1, movdf_integer): Likewise. | |
14638 | (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise. | |
14639 | (movdf_integer_rex64): New. | |
14640 | (pushsf_rex64): Fix output constraints. | |
14641 | * config/i386/sse.md (sse2_loadld): Split rm alternative, use Yi. | |
14642 | (sse2_stored): Likewise. | |
14643 | (sse2_storeq_rex64): New. | |
14644 | * config/i386/i386.c (x86_inter_unit_moves): Enable for not | |
14645 | amd and not generic. | |
14646 | (ix86_secondary_memory_needed): Don't bypass TARGET_INTER_UNIT_MOVES | |
14647 | for optimize_size. Remove SF/DFmode hack. | |
14648 | ||
3de8da2a | 14649 | 2007-02-09 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
35a63f21 | 14650 | |
3de8da2a UB |
14651 | * config/i386/driver-i386.c: Turn on -mtune=native for AMDFAM10. |
14652 | (bit_SSE4a): New. | |
35a63f21 | 14653 | |
10e96df4 NS |
14654 | 2007-02-09 Nathan Sidwell <nathan@codesourcery.com> |
14655 | Richard Sandiford <richard@codesourcery.com> | |
14656 | ||
14657 | * config.gcc (m68010-*-netbsdelf*, m68k*-*-netbsdelf*) | |
14658 | (m68k*-*-openbsd*, m68k-*-linux*): Set default_cf_cpu. | |
14659 | (m68k-*-aout*, m68k-*-coff*, m68k-*-uclinux*, m68k-*-rtems*): Add | |
14660 | m68k/t-mlib to tmake_file. | |
14661 | (m68020-*-elf*, m68k-*-elf*): Likewise. Add t-m68kbare as well. | |
14662 | (m68k*-*-*): Use --with-arch to pick a default for --with-cpu. | |
14663 | (m680[012]0-*-*, m68k*-*-*): Add support for --with-arch. | |
14664 | Allow it to be cf or m68k. Set m68k_arch_family. If that | |
14665 | variable is not empty, add t-$m68k_arch_family to tmake_file. | |
14666 | Add t-mlibs to tmake_file. | |
14667 | * doc/install.texi: Document --with-arch=m68k and --with-arch=cf. | |
14668 | * config/m68k/t-cf: New file. | |
14669 | * config/m68k/t-m68k: Likewise. | |
14670 | * config/m68k/t-mlibs: Likewise. | |
14671 | * config/m68k/t-m68kbare (MULTILIB_OPTIONS, MULTILIB_DIRNAMES) | |
14672 | (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete. | |
14673 | (M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Define. | |
14674 | * config/m68k/t-m68kelf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES) | |
14675 | (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS, LIBGCC, INSTALL_LIBGCC): | |
14676 | Delete. | |
14677 | * config/m68k/t-openbsd (MULTILIB_OPTIONS, LIBGCC): Delete. | |
14678 | (INSTALL_LIBGCC): Delete. | |
14679 | (M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Define. | |
14680 | * config/m68k/t-rtems (MULTILIB_OPTIONS, MULTILIB_DIRNAMES) | |
14681 | (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete. | |
14682 | (M68K_MLIB_CPU): Define. | |
14683 | * config/m68k/t-uclinux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES) | |
14684 | (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete. | |
14685 | (M68K_MLIB_CPU, M68K_MLIB_OPTIONS, M68K_MLIB_DIRNAMES): Define. | |
14686 | ||
b44e7f07 | 14687 | 2007-02-09 Zdenek Dvorak <dvorakz@suse.cz> |
3de8da2a | 14688 | Richard Guenther <rguenther@suse.de> |
b44e7f07 ZD |
14689 | |
14690 | PR middle-end/23361 | |
14691 | * fold-const.c (fold_comparison): Handle obfuscated comparisons | |
14692 | against INT_MIN/INT_MAX. | |
14693 | * tree-ssa-loop-ivcanon.c (remove_empty_loop): Print to dump | |
14694 | file if a loop is removed. | |
14695 | ||
46bd2bee JM |
14696 | 2007-02-09 Joseph Myers <joseph@codesourcery.com> |
14697 | ||
14698 | * calls.c (store_one_arg): Pass correct alignment to | |
14699 | emit_push_insn for non-BLKmode values. | |
14700 | * expr.c (emit_push_insn): If STRICT_ALIGNMENT, copy to an | |
14701 | unaligned stack slot via a suitably aligned slot. | |
14702 | ||
67fc44cb DD |
14703 | 2007-02-08 DJ Delorie <dj@redhat.com> |
14704 | ||
14705 | * config/m32c/m32c.c (m32c_unpend_compare): Add default to silence | |
14706 | warnings. | |
14707 | (legal_subregs): Use unsigned char, make const. | |
14708 | (m32c_illegal_subreg_p): Use ARRAY_SIZE. Delete unused variables. | |
14709 | ||
4531703e PB |
14710 | 2007-02-08 Paul Brook <paul@codesourcery.com> |
14711 | ||
14712 | * config/arm/lib1funcs.asm (RETLDM): Pop directly into PC when no | |
14713 | special interworking needed. | |
14714 | ||
c1d91dbd HJ |
14715 | 2007-02-08 Harsha Jagasia <harsha.jagasia@amd.com> |
14716 | ||
14717 | * config/i386/xmmintrin.h: Make inclusion of emmintrin.h | |
14718 | conditional to __SSE2__. | |
14719 | (Entries below should have been added to first ChangeLog | |
14720 | entry for amdfam10 dated 2007-02-05) | |
14721 | * config/i386/emmintrin.h: Generate #error if __SSE2__ is not | |
14722 | defined. | |
14723 | * config/i386/pmmintrin.h: Generate #error if __SSE3__ is not | |
14724 | defined. | |
14725 | * config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not | |
14726 | defined. | |
14727 | ||
f9b89438 DD |
14728 | 2007-02-08 DJ Delorie <dj@redhat.com> |
14729 | ||
14730 | * config/m32c/m32c-protos.h (m32c_illegal_subreg_p): New. | |
14731 | * config/m32c/m32c.c (legal_subregs): New. | |
14732 | (m32c_illegal_subreg_p): New. | |
14733 | * config/m32c/predicates.md (m32c_any_operand): Use it to reject | |
14734 | unsupported subregs of hard regs. | |
14735 | ||
ff39b79b JH |
14736 | 2007-02-08 Jan Hubicka <jh@suse.cz> |
14737 | ||
14738 | * tree-cfg.c (bsi_replace): Shortcut when replacing the statement with | |
14739 | the same one; always update histograms. | |
14740 | ||
b3f7d793 DN |
14741 | 2007-02-08 Diego Novillo <dnovillo@redhat.com> |
14742 | ||
14743 | * passes.c (init_optimization_passes): Tidy comment. | |
14744 | ||
9f05adb0 RS |
14745 | 2007-02-08 Roger Sayle <roger@eyesopen.com> |
14746 | ||
14747 | * simplify-rtx.c (simplify_unary_operation_1) <POPCOUNT>: We can | |
14748 | strip zero_extend, bswap and rotates from POCOUNT's argument. | |
14749 | <PARITY>: Likewise, we can strip not, bswap, sign_extend, | |
14750 | zero_extend and rotates from PARITY's argument. | |
14751 | <BSWAP>: A byte-swap followed by a byte-swap is an identity. | |
14752 | (simplify_const_unary_operation) <BSWAP>: Evaluate the byte-swap | |
14753 | of an integer constant at compile-time. | |
14754 | ||
d37d06fe DN |
14755 | 2007-02-08 Diego Novillo <dnovillo@redhat.com> |
14756 | ||
14757 | PR 30562 | |
14758 | * tree-flow.h (struct var_ann_d): Remove field 'is_used'. | |
14759 | Update all users. | |
14760 | * tree-ssa-alias.c (compute_is_aliased): Remove. Update all | |
14761 | users. | |
14762 | (init_alias_info): | |
14763 | * tree-ssa-live.c (remove_unused_locals): Do not remove | |
14764 | TREE_ADDRESSABLE variables. | |
14765 | * tree-ssa-structalias.c (compute_points_to_sets): Tidy. | |
14766 | * tree-ssa-operands.c (add_virtual_operand): Remove argument | |
14767 | FOR_CLOBBER. Update all users. | |
14768 | If VAR has an associated alias set, add a virtual operand for | |
14769 | it if no alias is found to conflict with the memory reference. | |
14770 | ||
674474a5 JH |
14771 | 2007-02-07 Jan Hubicka <jh@suse.cz> |
14772 | Robert Kidd <rkidd@crhc.uiuc.edu> | |
14773 | ||
14774 | * value-prof.c (visit_hist, free_hist): Return 1 instead of 0. | |
14775 | ||
1f64a081 ILT |
14776 | 2007-02-07 Ian Lance Taylor <iant@google.com> |
14777 | ||
14778 | * lower-subreg.c (simple_move): Reject PARTIAL_INT modes. | |
14779 | ||
e42ac3de RS |
14780 | 2007-02-07 Roger Sayle <roger@eyesopen.com> |
14781 | ||
14782 | * config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2, | |
14783 | parity<mode>2, smulsi3_highpart, abstf2_internal, allocate_stack, | |
14784 | tablejumpdi, movsi_to_cr_one): Remove constraints from | |
14785 | define_expand's match_operands. | |
14786 | ||
28890c82 RS |
14787 | 2007-02-07 Roger Sayle <roger@eyesopen.com> |
14788 | ||
14789 | * global.c (compute_regsets): Move declatation of "i" inside of | |
14790 | #ifdef ELIMINABLE_REGS to avoid unused variable bootstrap failure. | |
14791 | ||
ca6e5fe9 JJ |
14792 | 2007-02-07 Jakub Jelinek <jakub@redhat.com> |
14793 | ||
e02a048f JJ |
14794 | PR c++/30703 |
14795 | * gimplify.c (gimplify_scan_omp_clauses): Remove special casing | |
14796 | of INDIRECT_REF <RESULT_DECL>. | |
14797 | ||
ca6e5fe9 JJ |
14798 | * config/i386/i386.c (override_options): Set PTA_SSSE3 for core2. |
14799 | ||
6f8eec29 R |
14800 | 2007-02-06 J"orn Rennecke <joern.rennecke@arc.com> |
14801 | Kaz Kojima <kkojima@gcc.gnu.org> | |
14802 | ||
14803 | PR target/29746 | |
14804 | * config/sh/sh.c (expand_cbranchdi4): Use scratch register | |
14805 | properly. | |
14806 | (sh_initialize_trampoline): Add parentheses to avoid a warning. | |
14807 | ||
89f8f30f ZD |
14808 | 2007-02-06 Zdenek Dvorak <dvorakz@suse.cz> |
14809 | ||
14810 | * doc/loop.texi: Document possibility not to perform disambiguation | |
14811 | of loops with multiple latches. | |
14812 | * cfgloopmanip.c (alp_enum_p): Removed. | |
14813 | (add_loop): Handle subloops. Use get_loop_body_with_size. | |
14814 | (create_preheader): Do not allow ENTRY_BLOCK_PTR to be preheader. | |
14815 | * cfghooks.c (redirect_edge_and_branch_force): Set dominator for | |
14816 | the new forwarder block. | |
14817 | (make_forwarder_block): Only call new_bb_cbk if it is not NULL. | |
14818 | Handle the case latch is NULL. | |
7e08fa35 UB |
14819 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg |
14820 | modifications when marking loop exits. | |
89f8f30f ZD |
14821 | * ifcvt.c (if_convert): Ditto. Mark loop exits even if cfg cannot |
14822 | be modified. | |
14823 | * loop-init.c (loop_optimizer_init): Do not modify cfg. Call | |
14824 | disambiguate_loops_with_multiple_latches. | |
14825 | * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Calculate dominators | |
14826 | before fix_loop_structure. | |
14827 | * cfgloop.c: Include pointer-set.h and output.h. | |
14828 | (canonicalize_loop_headers, HEADER_BLOCK, LATCH_EDGE, | |
14829 | update_latch_info, mfb_keep_just, mfb_keep_nonlatch): Removed. | |
14830 | (get_loop_latch_edges, find_subloop_latch_edge_by_profile, | |
14831 | find_subloop_latch_edge_by_ivs, find_subloop_latch_edge, | |
14832 | mfb_redirect_edges_in_set, form_subloop, merge_latch_edges, | |
14833 | disambiguate_multiple_latches, get_loop_body_with_size, | |
14834 | disambiguate_loops_with_multiple_latches): New functions. | |
14835 | (flow_loop_dump): Dump multiple latch edges. | |
14836 | (flow_loop_nodes_find): Handle loops with multiple latches. | |
14837 | (flow_loops_find): Ditto. Do not call canonicalize_loop_headers. | |
14838 | (glb_enum_p): Modified. | |
14839 | (get_loop_body): Use get_loop_body_with_size. | |
14840 | * cfgloop.h (LOOPS_HAVE_RECORDED_EXITS): New flag. | |
14841 | (AVOID_CFG_MODIFICATIONS): New constant. | |
14842 | (disambiguate_loops_with_multiple_latches, add_loop, | |
14843 | get_loop_body_with_size): Declare. | |
14844 | * Makefile.in (cfgloop.o): Add pointer-set.h and output.h. | |
14845 | ||
ad8e8d0b SP |
14846 | 2007-02-06 Seongbae Park <seongbae.park@gmail.com> |
14847 | ||
14848 | PR inline-asm/28686 | |
14849 | * global.c (compute_regsets): New function. | |
14850 | (global_alloc): Refactored ELIMINABLE_REGSET | |
14851 | and NO_GLOBAL_ALLOC_REGS computation out. | |
14852 | (rest_of_handle_global_alloc): Call compute_regsets() | |
14853 | for non-optimizing case. | |
14854 | ||
50961141 RH |
14855 | 2007-02-06 Richard Henderson <rth@redhat.com> |
14856 | ||
14857 | * config/i386/constraints.md (Y2): Rename from Y. | |
14858 | (Yi): New constraint. | |
14859 | * config/i386/i386.md (movsi_1, movdi_2, pushdf_nointeger, | |
14860 | pushdf_integer, movdf_nointeger, movdf_integer, zero_extendsidi2_32, | |
14861 | zero_extendsidi2_rex64, truncxfdf2_mixed): Change Y constraints to Y2. | |
14862 | (extendsfdf2_mixed, extendsfdf2_sse, truncdfsf_fast_mixed, | |
14863 | truncdfsf_fast_sse, truncdfsf_mixed, fix_truncdfdi_sse, | |
14864 | fix_truncdfsi_sse, floatsidf2_mixed, floatsidf2_sse, | |
5646ba12 | 14865 | floatdidf2_mixed, floatdidf2_sse, absnegdf2_mixed, |
50961141 RH |
14866 | absnegdf2_sse, sse_setccdf, fop_df_comm_mixed, fop_df_comm_sse, |
14867 | fop_df_1_mixed, fop_df_1_sse): Change Y constraints to x. | |
14868 | * config/i386/mmx.md (mov<MMXMODEI>_internal_rex64, | |
14869 | mov<MMXMODEI>_internal, movv2sf_internal_rex64, movv2sf_internal, | |
14870 | vec_extractv2si_1): Change Y constraints to Y2. | |
14871 | * config/i386/sse.md (vec_setv4sf_0, vec_concatv2df, vec_dupv4si, | |
14872 | vec_dupv2di, sse2_concatv2si, vec_concatv4si_1, vec_concatv2di): | |
14873 | Change Y constraints to Y2. | |
14874 | (sse2_loadld): Change Y constraints to x. | |
14875 | ||
565ef4ba RS |
14876 | 2007-02-06 Roger Sayle <roger@eyesopen.com> |
14877 | ||
14878 | * config/rs6000/rs6000.md (popcount<mode>2): Rewrite. | |
14879 | (parity<mode>2): New define_expand using rs6000_emit_parity. | |
14880 | * config/rs6000/rs6000.c (rs6000_emit_popcount, | |
14881 | rs6000_emit_parity): New functions. | |
14882 | * config/rs6000/rs6000-protos.h (rs6000_emit_popcount, | |
14883 | rs6000_emit_parity): Prototype here. | |
14884 | ||
7e0c3f57 ILT |
14885 | 2007-02-06 Ian Lance Taylor <iant@google.com> |
14886 | ||
14887 | * lower-subreg.c (simple_move_operand): Reject CONST. | |
14888 | (resolve_clobber): Call validate_change rather than directly | |
14889 | assigning to XEXP (pat, 0). | |
14890 | ||
15814ba0 PB |
14891 | 2006-02-06 Paolo Bonzini <bonzini@gnu.org> |
14892 | ||
14893 | * Makefile.in (tree-ssa-loop-ivopts.o): Add pointer-set.h dependency. | |
14894 | (tree-ssa-reassoc.o): Add pointer-set.h dependency. | |
14895 | (tree-cfg.o): Remove hashtab.h dependency. | |
14896 | ||
14897 | * tree-ssa-loop-ivopts.c: Include pointer-set.h. | |
14898 | (struct ivopts_data): Change niters to pointer_map_t. | |
14899 | (struct nfe_cache_elt, nfe_hash, nfe_eq): Delete. | |
14900 | (niter_for_exit): Create pointer_map on demand. Change for | |
14901 | pointer_map API. | |
14902 | (tree_ssa_iv_optimize_init): Initialize data->niters to NULL. | |
14903 | (free_loop_data): Destroy data->niters if created and reset field. | |
14904 | (tree_ssa_iv_optimize_finalize): Don't delete data->niters here. | |
14905 | (tree_ssa_iv_optimize_loop): Check for presence of stale data. | |
14906 | ||
14907 | * tree-ssa-reassoc.c: Include pointer-set.h. | |
14908 | (bb_rank): Change to long *. | |
14909 | (operand_rank): Change to pointer_map_t. | |
14910 | (find_operand_rank): Return long, -1 if not found. Declare as inline. | |
14911 | (insert_operand_rank): Accept long. | |
14912 | (operand_entry_hash, operand_entry_eq): Remove. | |
14913 | (get_rank): Return long. Adjust for changes above. | |
14914 | (init_reassoc): Change rank type to long. Adjust creation of bb_rank | |
14915 | and operand_rank. | |
14916 | (fini_reassoc): Delete operand_rank with pointer_map_destroy. | |
14917 | ||
14918 | * tree-ssa-structalias.c (vi_for_tree): Change to pointer_map. | |
14919 | (struct tree_vi, tree_vi_t, tree_vi_hash, tree_vi_eq): Delete. | |
14920 | (insert_vi_for_tree): Rewrite for pointer_map API. Assert argument | |
14921 | is not NULL. | |
14922 | (lookup_vi_for_tree): Rewrite for pointer_map API. Return varinfo_t | |
14923 | directly since it cannot be NULL. | |
14924 | (get_vi_for_tree): Rewrite for pointer_map API. | |
14925 | (find_what_p_points_to): Adjust for change to lookup_vi_for_tree. | |
14926 | (init_alias_vars): Create vi_for_tree as pointer_map. | |
14927 | (delete_points_to_sets): Delete vi_for_tree using pointer_map_destroy. | |
14928 | ||
14929 | * tree-cfg.c: Don't include hashtab.h. | |
14930 | (edge_to_cases): Declare as pointer_map. | |
14931 | (struct edge_to_cases_elt, edge_to_cases_hash, edge_to_cases_eq): | |
14932 | Delete. | |
14933 | (edge_to_cases_cleanup): Rewrite as pointer_map_traverse callback. | |
14934 | (start_recording_case_labels): Create edge_to_cases as pointer_map. | |
14935 | (end_recoding_case_labels): Cleanup edge_to_cases manually before | |
14936 | destroying it. | |
14937 | (record_switch_edge): Delete. | |
14938 | (get_cases_for_edge): Adjust for pointer_map API, inline | |
14939 | record_switch_edge (rewritten for new API), remove goto. | |
14940 | ||
14941 | 2006-02-06 Paolo Bonzini <bonzini@gnu.org> | |
14942 | ||
14943 | * Makefile.in (tree-nested.o): Add pointer-set.h dependency. | |
14944 | * tree-nested.c: Include pointer-set.h. | |
14945 | (var_map_elt, var_map_eq, var_map_hash): Delete. | |
14946 | (struct nesting_info): Remove GTY marker. Change the two htab_t's | |
14947 | to pointer_map_t's. | |
14948 | (nesting_info_bitmap_obstack): New. | |
14949 | (lookup_field_for_decl): Adjust for pointer_map API. | |
14950 | (lookup_tramp_for_decl): Adjust for pointer_map API. | |
14951 | (get_nonlocal_debug_decl): Adjust for pointer_map API. | |
14952 | (get_local_debug_decl): Adjust for pointer_map API. | |
14953 | (convert_nl_goto_reference): Adjust for pointer_map API. | |
14954 | (convert_nl_goto_receiver): Adjust for pointer_map API. | |
14955 | (create_nesting_tree): Create outside GGC space. Create bitmap on | |
14956 | the new obstack. Create field_map and var_map as pointer_maps. | |
14957 | (free_nesting_tree): Adjust for changes to create_nesting_tree. | |
5646ba12 | 14958 | (root): Delete. |
15814ba0 PB |
14959 | (lower_nested_functions): Move root here, no need to NULL it. |
14960 | Initialize and release the obstack. | |
14961 | ||
0802f6a2 PB |
14962 | 2007-02-06 Paolo Bonzini <bonzini@gnu.org> |
14963 | ||
3de8da2a UB |
14964 | * tree.c (tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p): |
14965 | Remove prototypes and make them non-static. | |
14966 | (struct tree_int_map): Remove. | |
14967 | * tree.h (struct tree_int_map): Move here, turning TO into an | |
14968 | unsigned int. | |
14969 | (tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p): Declare. | |
0802f6a2 | 14970 | |
3de8da2a UB |
14971 | * tree.h (TREE_COMPLEXITY): Remove. |
14972 | (struct tree_exp): Remove complexity field. | |
14973 | * tree.c (build1_stat): Don't set it. | |
0802f6a2 | 14974 | |
fbf798fc DN |
14975 | 2007-02-06 Dorit Nuzman <dorit@il.ibm.com> |
14976 | Victor Kaplansky <victork@il.ibm.com> | |
14977 | ||
14978 | * tree-vectorizer.c (vect_is_simple_use): Support induction. | |
14979 | (vect_is_simple_reduction): Support reduction with induction as | |
14980 | one of the operands. | |
14981 | (vect_is_simple_iv_evolution): Fix formatting. | |
5646ba12 | 14982 | * tree-vect-analyze.c (vect_mark_stmts_to_be_vectorized): Fix |
fbf798fc DN |
14983 | formatting. Don't mark induction phis for vectorization. |
14984 | (vect_analyze_scalar_cycles): Analyze all inductions, then reductions. | |
14985 | * tree-vect-transform.c (get_initial_def_for_induction): New function. | |
14986 | (vect_get_vec_def_for_operand): Support induction. | |
14987 | (vect_get_vec_def_for_stmt_copy): Fix formatting and add check for | |
14988 | induction case. | |
5646ba12 EC |
14989 | (vectorizable_reduction): Support reduction with induction as one of |
14990 | the operands. | |
fbf798fc DN |
14991 | (vectorizable_type_demotion): Use def-type of stmt argument rather |
14992 | than dummy def-type. | |
14993 | ||
14994 | * tree-ssa-loop.c (gate_scev_const_prop): Return the value of | |
14995 | flag_tree_scev_cprop. | |
14996 | * common.opt (tree-scev-cprop): New flag. | |
14997 | ||
14998 | * tree-vect-transform.c (vect_create_destination_var): Use 'kind' in | |
14999 | call to vect_get_new_vect_var. | |
15000 | ||
03d3e953 IR |
15001 | 2007-02-06 Ira Rosen <irar@il.ibm.com> |
15002 | ||
5646ba12 | 15003 | * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Check that |
03d3e953 IR |
15004 | vectype is not NULL. |
15005 | (vect_pattern_recog_1): Likewise. | |
15006 | ||
8fbbe90b KG |
15007 | 2007-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
15008 | ||
15009 | * fold-const.c (negate_expr_p): Handle CONJ_EXPR. | |
15010 | (fold_negate_expr): Likewise. | |
15011 | ||
792eaee2 AO |
15012 | 2007-02-05 Alexandre Oliva <aoliva@redhat.com> |
15013 | ||
15014 | PR debug/30189 | |
15015 | * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE | |
15016 | even if cv-qualification is the same. | |
15017 | ||
9be75e44 GK |
15018 | 2007-02-05 Geoffrey Keating <geoffk@apple.com> |
15019 | ||
15020 | * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call | |
15021 | __enable_execute_stack on completion. | |
15022 | ||
3de8da2a | 15023 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15024 | |
15025 | * config/i386/athlon.md (athlon_fldxf_k8, athlon_fld_k8, | |
15026 | athlon_fstxf_k8, athlon_fst_k8, athlon_fist, athlon_fmov, | |
15027 | athlon_fadd_load, athlon_fadd_load_k8, athlon_fadd, athlon_fmul, | |
15028 | athlon_fmul_load, athlon_fmul_load_k8, athlon_fsgn, | |
15029 | athlon_fdiv_load, athlon_fdiv_load_k8, athlon_fdiv_k8, | |
15030 | athlon_fpspc_load, athlon_fpspc, athlon_fcmov_load, | |
15031 | athlon_fcmov_load_k8, athlon_fcmov_k8, athlon_fcomi_load_k8, | |
15032 | athlon_fcomi, athlon_fcom_load_k8, athlon_fcom): Added amdfam10. | |
15033 | ||
3de8da2a | 15034 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15035 | |
15036 | * config/i386/i386.md (x86_sahf_1, cmpfp_i_mixed, cmpfp_i_sse, | |
15037 | cmpfp_i_i387, cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387, | |
15038 | swapsi, swaphi_1, swapqi_1, swapdi_rex64, fix_truncsfdi_sse, | |
15039 | fix_truncdfdi_sse, fix_truncsfsi_sse, fix_truncdfsi_sse, | |
15040 | x86_fldcw_1, floatsisf2_mixed, floatsisf2_sse, floatdisf2_mixed, | |
15041 | floatdisf2_sse, floatsidf2_mixed, floatsidf2_sse, | |
15042 | floatdidf2_mixed, floatdidf2_sse, muldi3_1_rex64, mulsi3_1, | |
15043 | mulsi3_1_zext, mulhi3_1, mulqi3_1, umulqihi3_1, mulqihi3_insn, | |
15044 | umulditi3_insn, umulsidi3_insn, mulditi3_insn, mulsidi3_insn, | |
15045 | umuldi3_highpart_rex64, umulsi3_highpart_insn, | |
15046 | umulsi3_highpart_zext, smuldi3_highpart_rex64, | |
15047 | smulsi3_highpart_insn, smulsi3_highpart_zext, x86_64_shld, | |
15048 | x86_shld_1, x86_64_shrd, sqrtsf2_mixed, sqrtsf2_sse, | |
15049 | sqrtsf2_i387, sqrtdf2_mixed, sqrtdf2_sse, sqrtdf2_i387, | |
15050 | sqrtextendsfdf2_i387, sqrtxf2, sqrtextendsfxf2_i387, | |
15051 | sqrtextenddfxf2_i387): Added amdfam10_decode. | |
5646ba12 | 15052 | |
21efb4d4 HJ |
15053 | * config/i386/athlon.md (athlon_idirect_amdfam10, |
15054 | athlon_ivector_amdfam10, athlon_idirect_load_amdfam10, | |
15055 | athlon_ivector_load_amdfam10, athlon_idirect_both_amdfam10, | |
15056 | athlon_ivector_both_amdfam10, athlon_idirect_store_amdfam10, | |
15057 | athlon_ivector_store_amdfam10): New define_insn_reservation. | |
15058 | (athlon_idirect_loadmov, athlon_idirect_movstore): Added | |
15059 | amdfam10. | |
15060 | ||
3de8da2a | 15061 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15062 | |
15063 | * config/i386/athlon.md (athlon_call_amdfam10, | |
15064 | athlon_pop_amdfam10, athlon_lea_amdfam10): New | |
15065 | define_insn_reservation. | |
15066 | (athlon_branch, athlon_push, athlon_leave_k8, athlon_imul_k8, | |
15067 | athlon_imul_k8_DI, athlon_imul_mem_k8, athlon_imul_mem_k8_DI, | |
15068 | athlon_idiv, athlon_idiv_mem, athlon_str): Added amdfam10. | |
15069 | ||
3de8da2a | 15070 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15071 | |
15072 | * config/i386/athlon.md (athlon_sseld_amdfam10, | |
15073 | athlon_mmxld_amdfam10, athlon_ssest_amdfam10, | |
15074 | athlon_mmxssest_short_amdfam10): New define_insn_reservation. | |
15075 | ||
3de8da2a | 15076 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15077 | |
15078 | * config/i386/athlon.md (athlon_sseins_amdfam10): New | |
15079 | define_insn_reservation. | |
15080 | * config/i386/i386.md (sseins): Added sseins to define_attr type | |
15081 | and define_attr unit. | |
15082 | * config/i386/sse.md: Set type attribute to sseins for insertq | |
15083 | and insertqi. | |
15084 | ||
3de8da2a | 15085 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15086 | |
15087 | * config/i386/athlon.md (sselog_load_amdfam10, sselog_amdfam10, | |
15088 | ssecmpvector_load_amdfam10, ssecmpvector_amdfam10, | |
15089 | ssecomi_load_amdfam10, ssecomi_amdfam10, | |
15090 | sseaddvector_load_amdfam10, sseaddvector_amdfam10): New | |
15091 | define_insn_reservation. | |
15092 | (ssecmp_load_k8, ssecmp, sseadd_load_k8, seadd): Added amdfam10. | |
15093 | ||
3de8da2a | 15094 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15095 | |
15096 | * config/i386/athlon.md (cvtss2sd_load_amdfam10, | |
15097 | cvtss2sd_amdfam10, cvtps2pd_load_amdfam10, cvtps2pd_amdfam10, | |
15098 | cvtsi2sd_load_amdfam10, cvtsi2ss_load_amdfam10, | |
15099 | cvtsi2sd_amdfam10, cvtsi2ss_amdfam10, cvtsd2ss_load_amdfam10, | |
15100 | cvtsd2ss_amdfam10, cvtpd2ps_load_amdfam10, cvtpd2ps_amdfam10, | |
5646ba12 | 15101 | cvtsX2si_load_amdfam10, cvtsX2si_amdfam10): New |
21efb4d4 HJ |
15102 | define_insn_reservation. |
15103 | ||
15104 | * config/i386/sse.md (cvtsi2ss, cvtsi2ssq, cvtss2si, | |
15105 | cvtss2siq, cvttss2si, cvttss2siq, cvtsi2sd, cvtsi2sdq, | |
15106 | cvtsd2si, cvtsd2siq, cvttsd2si, cvttsd2siq, | |
15107 | cvtpd2dq, cvttpd2dq, cvtsd2ss, cvtss2sd, | |
15108 | cvtpd2ps, cvtps2pd): Added amdfam10_decode attribute. | |
15109 | ||
3de8da2a | 15110 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15111 | |
15112 | * config/i386/athlon.md (athlon_ssedivvector_amdfam10, | |
15113 | athlon_ssedivvector_load_amdfam10, athlon_ssemulvector_amdfam10, | |
15114 | athlon_ssemulvector_load_amdfam10): New define_insn_reservation. | |
15115 | (athlon_ssediv, athlon_ssediv_load_k8, athlon_ssemul, | |
15116 | athlon_ssemul_load_k8): Added amdfam10. | |
15117 | ||
3de8da2a | 15118 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15119 | |
15120 | * config/i386/i386.h (TARGET_SSE_UNALIGNED_MOVE_OPTIMAL): New macro. | |
15121 | (x86_sse_unaligned_move_optimal): New variable. | |
5646ba12 EC |
15122 | |
15123 | * config/i386/i386.c (x86_sse_unaligned_move_optimal): Enable for | |
21efb4d4 HJ |
15124 | m_AMDFAM10. |
15125 | (ix86_expand_vector_move_misalign): Add code to generate movupd/movups | |
15126 | for unaligned vector SSE double/single precision loads for AMDFAM10. | |
15127 | ||
3de8da2a | 15128 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
21efb4d4 HJ |
15129 | |
15130 | * config/i386/i386.h (TARGET_AMDFAM10): New macro. | |
15131 | (TARGET_CPU_CPP_BUILTINS): Add code for amdfam10. | |
15132 | Define TARGET_CPU_DEFAULT_amdfam10. | |
15133 | (TARGET_CPU_DEFAULT_NAMES): Add amdfam10. | |
5646ba12 EC |
15134 | (processor_type): Add PROCESSOR_AMDFAM10. |
15135 | ||
21efb4d4 HJ |
15136 | * config/i386/i386.md: Add amdfam10 as a new cpu attribute to match |
15137 | processor_type in config/i386/i386.h. | |
15138 | Enable imul peepholes for TARGET_AMDFAM10. | |
5646ba12 | 15139 | |
21efb4d4 | 15140 | * config.gcc: Add support for --with-cpu option for amdfam10. |
5646ba12 | 15141 | |
21efb4d4 HJ |
15142 | * config/i386/i386.c (amdfam10_cost): New variable. |
15143 | (m_AMDFAM10): New macro. | |
15144 | (m_ATHLON_K8_AMDFAM10): New macro. | |
15145 | (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen, | |
15146 | x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_simode_fiop, | |
15147 | x86_promote_QImode, x86_integer_DFmode_moves, | |
5646ba12 | 15148 | x86_partial_reg_dependency, x86_memory_mismatch_stall, |
21efb4d4 HJ |
15149 | x86_accumulate_outgoing_args, x86_arch_always_fancy_math_387, |
15150 | x86_sse_partial_reg_dependency, x86_sse_typeless_stores, | |
15151 | x86_use_ffreep, x86_use_incdec, x86_four_jump_limit, | |
15152 | x86_schedule, x86_use_bt, x86_cmpxchg16b, x86_pad_returns): | |
15153 | Enable/disable for amdfam10. | |
15154 | (override_options): Add amdfam10_cost to processor_target_table. | |
5646ba12 | 15155 | Set up PROCESSOR_AMDFAM10 for amdfam10 entry in |
21efb4d4 HJ |
15156 | processor_alias_table. |
15157 | (ix86_issue_rate): Add PROCESSOR_AMDFAM10. | |
15158 | (ix86_adjust_cost): Add code for amdfam10. | |
15159 | ||
3de8da2a | 15160 | 2007-02-05 Harsha Jagasia <harsha.jagasia@amd.com> |
5646ba12 | 15161 | |
21efb4d4 | 15162 | * config/i386/i386.opt: Add new Advanced Bit Manipulation (-mabm) |
5646ba12 | 15163 | instruction set feature flag. Add new (-mpopcnt) flag for popcnt |
21efb4d4 HJ |
15164 | instruction. Add new SSE4A (-msse4a) instruction set feature flag. |
15165 | * config/i386/i386.h: Add builtin definition for SSE4A. | |
5646ba12 | 15166 | * config/i386/i386.md: Add support for ABM instructions |
21efb4d4 HJ |
15167 | (popcnt and lzcnt). |
15168 | * config/i386/sse.md: Add support for SSE4A instructions | |
15169 | (movntss, movntsd, extrq, insertq). | |
15170 | * config/i386/i386.c: Add support for ABM and SSE4A builtins. | |
15171 | Add -march=amdfam10 flag. | |
15172 | * config/i386/ammintrin.h: Add support for SSE4A intrinsics. | |
15173 | * doc/invoke.texi: Add documentation on flags for sse4a, abm, popcnt | |
15174 | and amdfam10. | |
15175 | * doc/extend.texi: Add documentation for SSE4A builtins. | |
15176 | ||
63694bdd BW |
15177 | 2007-02-05 Bob Wilson <bob.wilson@acm.org> |
15178 | ||
15179 | * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs. | |
15180 | ||
b95becfc RG |
15181 | 2007-02-05 Richard Guenther <rguenther@suse.de> |
15182 | ||
15183 | * tree-vectorizer.h (vectorizable_function): Add argument type | |
15184 | argument, change return type. | |
15185 | * tree-vect-patterns.c (vect_recog_pow_pattern): Adjust caller. | |
15186 | * tree-vect-transform.c (vectorizable_function): Handle extra | |
15187 | argument, return vectorized function decl. | |
15188 | (build_vectorized_function_call): Remove. | |
15189 | (vectorizable_call): Handle calls with result and argument types | |
15190 | differing. Handle loop vectorization factor correctly. | |
15191 | * targhooks.c (default_builtin_vectorized_function): Adjust for | |
15192 | extra argument. | |
15193 | * targhooks.h (default_builtin_vectorized_function): Likewise. | |
15194 | * target.h (builtin_vectorized_function): Add argument type | |
3de8da2a | 15195 | argument. |
b95becfc RG |
15196 | * config/i386/i386.c (ix86_builtin_vectorized_function): Handle |
15197 | extra argument, allow vectorizing of lrintf. | |
15198 | * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Adjust | |
15199 | documentation of target hook. | |
15200 | ||
c3e786e7 HPN |
15201 | 2007-02-05 Hans-Peter Nilsson <hp@axis.com> |
15202 | ||
aa3386a5 | 15203 | PR target/30665 |
c3e786e7 HPN |
15204 | * config/cris/cris.md ("*andsi_movu", "*andsi_clear", "*andhi_movu") |
15205 | ("*andhi_clear", andu (casesi+45)): For size-changed operand where | |
15206 | memory is allowed, require !side_effects_p, not just !MEM_VOLATILE_P. | |
15207 | ||
2d38026b RS |
15208 | 2007-02-05 Roger Sayle <roger@eyesopen.com> |
15209 | ||
15210 | * fold-const.c (fold_unary) <REAL_PART>: Test for availability of | |
15211 | BUILT_IN_COS before simplifying REAL_PART(CEXPI)) to COS. | |
15212 | <IMAG_PART>: Likewise, check for availability of BUILT_IN_SIN. | |
15213 | * builtins.c (fold_builtin_sincos): Check for TARGET_C99_FUNCTIONS | |
15214 | before canonicalizing sincos to cexpi. | |
15215 | (fold_builtin_cexp): Likewise, for canonicalizing cexp to cexpi. | |
15216 | ||
b6e46ca1 RS |
15217 | 2007-02-05 Roger Sayle <roger@eyesopen.com> |
15218 | ||
15219 | * config/alpha/alpha.c (alpha_add_builtins): New Helper function. | |
15220 | Set TREE_READONLY and TREE_NOTHROW directly, not via attributes. | |
15221 | (alpha_init_builtins): Use alpha_add_builtins to process tables. | |
15222 | ||
8d0510dd RS |
15223 | 2007-02-05 Roger Sayle <roger@eyesopen.com> |
15224 | ||
15225 | * mips-tfile.c (initialize_init_file): Correct endianness test. | |
15226 | ||
d6fb69e7 KH |
15227 | 2007-02-05 Kazu Hirata <kazu@codesourcery.com> |
15228 | ||
15229 | * config/m68k/m68k.md (pushdi-1, pushdi, movsi+1): Don't use | |
15230 | the 'y' constraint. | |
15231 | ||
55d6f631 RS |
15232 | 2007-02-05 Richard Sandiford <richard@codesourcery.com> |
15233 | ||
15234 | * dwarf2out.c (dwarf2out_frame_debug_expr): Record the register | |
15235 | saves in a PARALLEL before the register assignments. | |
15236 | ||
5cd0f915 RS |
15237 | 2007-02-05 Richard Sandiford <richard@codesourcery.com> |
15238 | ||
15239 | * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Do not require | |
15240 | DWARF_FRAME_RETURN_COLUMN to be a general register. | |
15241 | * dwarf2out.c (init_return_column_size): New function, split from... | |
15242 | (expand_builtin_init_dwarf_reg_sizes): ...here. Allow both | |
15243 | DWARF_FRAME_RETURN_COLUMN and DWARF_ALT_FRAME_RETURN_COLUMN | |
15244 | to be nongeneral registers. | |
15245 | * config/m68k/m68k.h (DWARF_FRAME_REGNUM): Only map FP and | |
15246 | integer registers. | |
15247 | (DWARF_FRAME_REGISTERS, DWARF_FRAME_RETURN_COLUMN): Define. | |
15248 | (DWARF_ALT_FRAME_RETURN_COLUMN): Define. | |
15249 | ||
83bd032b ZD |
15250 | 2007-02-04 Zdenek Dvorak <dvorakz@suse.cz> |
15251 | ||
15252 | * cfgcleanup.c (try_optimize_cfg): Avoid removing ENTRY_BLOCK_PTR. | |
15253 | ||
14fa2cc0 ZD |
15254 | 2007-02-04 Zdenek Dvorak <dvorakz@suse.cz> |
15255 | ||
15256 | * cfgloopmanip.c (loop_delete_branch_edge): Removed. | |
15257 | (remove_path): Use can_remove_branch_p and remove_branch instead | |
15258 | of loop_delete_branch_edge. | |
15259 | * tree-ssa-loop-manip.c (scale_dominated_blocks_in_loop): New function. | |
15260 | (tree_transform_and_unroll_loop): Remove dead branches immediately. | |
15261 | Update profile using scale_dominated_blocks_in_loop. | |
15262 | * cfghooks.c (can_remove_branch_p, remove_branch): New functions. | |
15263 | * cfghooks.h (struct cfg_hooks): Add can_remove_branch_p. | |
15264 | (can_remove_branch_p, remove_branch): Declare. | |
15265 | * tree-cfg.c (tree_can_remove_branch_p): New function. | |
15266 | (tree_cfg_hooks): Add tree_can_remove_branch_p. | |
15267 | * cfgrtl.c (rtl_can_remove_branch_p): New function. | |
15268 | (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add rtl_can_remove_branch_p. | |
15269 | ||
28489334 JH |
15270 | 2007-02-05 Jan Hubicka <jh@suse.cz> |
15271 | ||
15272 | PR middle-end/30696 | |
15273 | * ipa-inline.c (cgraph_clone_inlined_nodes): When there are unanalyzed | |
15274 | nodes in cgraph, don't remove offline copy of the function. | |
15275 | ||
bf3892af JH |
15276 | 2007-02-04 Jan Hubicka <jh@suse.cz> |
15277 | ||
15278 | * tree-sra.c (sra_walk_expr): Add linebreaks. BITFIELD_REFs into | |
15279 | vectors might cause maybe_lookup_element_for_expr to be called | |
15280 | on non-sra-candidate. | |
15281 | ||
942fd98f KH |
15282 | 2007-02-04 Kazu Hirata <kazu@codesourcery.com> |
15283 | ||
15284 | * config/bfin/bfin-modes.def, config/bfin/bfin.c, | |
15285 | config/bfin/bfin.md, config/bfin/predicates.md: Follow | |
15286 | spelling conventions. | |
15287 | ||
713e3ec9 RG |
15288 | 2007-02-04 Richard Guenther <rguenther@suse.de> |
15289 | ||
15290 | PR middle-end/30636 | |
15291 | * fold-const.c (try_move_mult_to_index): Make sure to not | |
15292 | overflow one dimension of a multi-dimensional array access. | |
15293 | ||
f1bd2543 JH |
15294 | 2007-02-04 Jan Hubicka <jh@suse.cz> |
15295 | ||
15296 | * passes.c (init_optimization_passes): Reindent. | |
15297 | ||
1084e689 | 15298 | 2007-02-04 Jan Hubicka <jh@suse.cz> |
83bd032b | 15299 | Eric Botcazou <ebotcazou@adacore.com> |
1084e689 | 15300 | |
f81ef9b3 | 15301 | * tree-optimize.c (has_abnormal_outgoing_edge_p): Move to... |
1084e689 | 15302 | (execute_fixup_cfg): Break out the abnormal goto code. |
f81ef9b3 | 15303 | * tree-inline.c (has_abnormal_outgoing_edge_p): ...here. |
1084e689 JH |
15304 | (make_nonlocal_label_edges): Move here from execute_fixup_cfg. |
15305 | (optimize_inline_calls): Call make_nonlocal_label_edges. | |
15306 | ||
facbf948 JH |
15307 | 2007-02-04 Jan Hubicka <jh@suse.cz> |
15308 | ||
15309 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Return | |
15310 | true when something was changed. | |
15311 | (rename_ssa_copies): When something was changed, do | |
15312 | TODO_remove_unused_locals. | |
15313 | * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value): | |
15314 | add TODO_remove_unused_locals when instruction was removed. | |
15315 | ||
22ad64b6 JH |
15316 | 2007-02-04 Jan Hubicka <jh@suse.cz> |
15317 | ||
15318 | * ipa-inline.c (try_inline): Improve debug output; work on already | |
15319 | inline edges too. | |
15320 | (cgraph_decide_inlining_incrementally): Indent; improve debug output; | |
5646ba12 | 15321 | call try_inline for already inlined edges too when flattening; |
22ad64b6 JH |
15322 | inline also functions that make callee growth but overall unit size |
15323 | reduce. | |
15324 | ||
85f65093 KH |
15325 | 2007-02-04 Kazu Hirata <kazu@codesourcery.com> |
15326 | ||
15327 | * config/m32c/bitops.md, config/m32c/jump.md, | |
15328 | config/m32c/m32c.c, config/m32c/m32c.h, config/m32r/m32r.c, | |
15329 | config/m32r/m32r.h, config/m32r/m32r.md, | |
15330 | config/m32r/predicates.md, config/m68hc11/larith.asm, | |
15331 | config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h, | |
15332 | config/m68k/m68k.h, config/mcore/mcore.md, config/mips/4k.md, | |
15333 | config/mips/mips-protos.h, config/mips/mips.c, | |
15334 | config/mips/mips.h, config/mips/mips.md, config/mips/mips16.S, | |
15335 | config/mn10300/mn10300.h, config/mn10300/predicates.md, | |
15336 | config/mt/mt.c, config/mt/mt.h, config/mt/mt.md: Follow | |
15337 | spelling conventions. | |
15338 | ||
22f23985 KH |
15339 | * config/v850/v850.c, config/v850/v850.h, config/v850/v850.md: |
15340 | Follow spelling conventions. | |
15341 | ||
beeffe36 DG |
15342 | 2007-02-03 Douglas Gregor <doug.gregor@gmail.com> |
15343 | ||
6bdcc60c UB |
15344 | * c-opts.c (c_common_post_options): If C++0x mode is enabled, don't |
15345 | warn about C++0x compatibility. | |
5646ba12 | 15346 | |
da55315a KH |
15347 | 2007-02-04 Kazu Hirata <kazu@codesourcery.com> |
15348 | ||
15349 | * config/h8300/h8300.c, config/h8300/h8300.h, | |
15350 | config/h8300/h8300.md: Follow spelling conventions. | |
15351 | ||
28b02c60 UB |
15352 | 2007-02-03 Uros Bizjak <ubizjak@gmail.com> |
15353 | ||
15354 | PR middle-end/30667 | |
15355 | * combine.c (try_combine): Do not substitute source operand | |
15356 | with constants wider than 2 * HOST_BITS_PER_WIDE_INT. | |
15357 | ||
3855c807 JH |
15358 | 2007-02-03 Jan Hubicka <jh@suse.cz> |
15359 | ||
15360 | PR gcov-profile/30650 | |
15361 | * value-prof.c (stringop_block_profile): Fix handling of size counter; | |
15362 | do not divide by zero for never executed counters. | |
15363 | (tree_find_values_to_profile): Fix counters. | |
15364 | * gcov-ui.h (GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): Fix comments. | |
15365 | ||
2b54c30f ILT |
15366 | 2007-02-03 Ian Lance Taylor <iant@google.com> |
15367 | ||
15368 | * lower-subreg.c (simple_move_operand): New static function, | |
15369 | broken out of simple_move. Reject LABEL_REF, SYMBOL_REF, and HIGH | |
15370 | operands. | |
15371 | (simple_move): Call simple_move_operand. | |
15372 | (find_decomposable_subregs): Add special handling of MEMs. | |
15373 | (can_decompose_p): Rename from cannot_decompose_p. Reverse | |
15374 | meaning of return value. If we see a hard register, test whether | |
15375 | it can store a word_mode value. Change all callers. | |
15376 | ||
2e3e8cea JDA |
15377 | 2007-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
15378 | ||
7fcc8dcf JDA |
15379 | * pa.md (addvdi3, addvsi3, subvdi3, subvsi3, negvdi2, negvsi2): New |
15380 | ftrapv insns and expanders. | |
15381 | (subdi3): Change define_expand operand 1 to arith11_operand, and | |
15382 | operand 2 to reg_or_0_operand. Change constraints of 64-bit insn | |
15383 | pattern to handle reg_or_0 operands. Revise 32-bit insn pattern to | |
15384 | handle 11-bit constants and reg_or_0 operands in operands 1 and 2, | |
15385 | respectively. | |
15386 | ||
2e3e8cea JDA |
15387 | PR middle-end/30174 |
15388 | * varasm.c (notice_global_symbol): Treat global objects as weak when | |
15389 | flag_shlib is true. | |
15390 | ||
b86a760a KG |
15391 | 2007-02-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
15392 | ||
15393 | * emit-rtl.c (dconstpi): Delete. | |
15394 | (dconstsqrt2): New. | |
15395 | (init_emit_once): Delete dconstpi and init dconstsqrt2. | |
15396 | * real.h (dconstpi): Delete. | |
15397 | (dconstsqrt2): New. | |
15398 | * builtins.c (fold_builtin_cabs): Use dconstsqrt2. | |
15399 | (fold_builtin_hypot): Likewise. | |
15400 | ||
3a610de8 TT |
15401 | 2007-02-03 Tom Tromey <tromey@redhat.com> |
15402 | ||
15403 | PR driver/30246 | |
15404 | * gcc.c (cpp_unique_options): Any of -ggdb3, -gstabs3, | |
15405 | -gcoff3, -gxcoff3, -gvms3 implies -dD. | |
15406 | ||
9f5ed61a KH |
15407 | 2007-02-03 Kazu Hirata <kazu@codesourcery.com> |
15408 | ||
15409 | * c-decl.c, config/avr/avr.c, config/avr/avr.h, | |
15410 | config/m68k/m68k.c, config/m68k/netbsd-elf.h, | |
15411 | config/mn10300/mn10300.c, config/pdp11/pdp11.h, | |
15412 | config/rs6000/cell.md, config/rs6000/darwin.h, | |
15413 | config/sh/sh.md, config/sh/sh4-300.md, config/spu/spu.c, | |
15414 | config/spu/spu.md, cselib.c, expr.c, haifa-sched.c, hwint.h, | |
15415 | jump.c, reload.c, sched-deps.c, sched-int.h, tree-inline.c, | |
15416 | tree-profile.c, tree-ssa-live.h, tree-vrp.c: Fix comment | |
15417 | typos. Follow spelling conventions. | |
15418 | * doc/invoke.texi: Follow spelling conventions. | |
15419 | ||
3fa0cacd RS |
15420 | 2007-02-03 Roger Sayle <roger@eyesopen.com> |
15421 | ||
15422 | * simplify-rtx.c (simplify_relational_operation_1): Implement some | |
15423 | canonicalization transformations that attempt to simplify integer | |
15424 | constant comparisons to become comparisons against zero. | |
15425 | ||
d1ad84c2 KG |
15426 | 2007-02-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
15427 | ||
15428 | * builtins.c (fold_builtin_cabs): Fold cabs(x+xi) into | |
15429 | fabs(x)*sqrt(2). | |
15430 | * fold-const.c (fold_binary): Fix comment typos. Fold complex | |
15431 | (x,0)-(0,y) into (x,-y). Likewise (0,y)-(x,0) into (-x,y). | |
15432 | ||
75b1b789 MS |
15433 | 2007-02-02 Mike Stump <mrs@apple.com> |
15434 | ||
15435 | * config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Add. | |
15436 | * config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add. | |
15437 | (output_call): Use DARWIN_GENERATE_ISLANDS to decide when to | |
15438 | generate a branch island. | |
15439 | ||
da1f39e4 BW |
15440 | 2007-02-02 Bob Wilson <bob.wilson@acm.org> |
15441 | ||
15442 | * config/xtensa/xtensa.c (smalloffset_mem_p): Use BASE_REG_P. | |
15443 | (xtensa_legitimate_address_p): New. | |
15444 | (xtensa_legitimize_address): New. | |
15445 | (xtensa_output_addr_const_extra): New. | |
15446 | * config/xtensa/xtensa.h (REG_OK_STRICT_FLAG): Define. | |
15447 | (BASE_REG_P): New. | |
15448 | (REG_OK_FOR_BASE_P): Use BASE_REG_P. | |
15449 | (GO_IF_LEGITIMATE_ADDRESS): Move code to xtensa_legitimate_address_p. | |
15450 | (LEGITIMIZE_ADDRESS): Move code to xtensa_legitimize_address. | |
15451 | (OUTPUT_ADDR_CONST_EXTRA): Move code to xtensa_output_addr_const_extra. | |
15452 | * config/xtensa/xtensa-protos.h (xtensa_legitimate_address_p): New. | |
15453 | (xtensa_legitimize_address): New. | |
15454 | (xtensa_output_addr_const_extra): New. | |
15455 | ||
86ad1da0 SE |
15456 | 2007-02-02 Steve Ellcey <sje@cup.hp.com> |
15457 | ||
15458 | * config/ia64/ia64.c (ia64_print_operand): Fix compare strings. | |
15459 | ||
093253be ILT |
15460 | 2007-02-02 Ian Lance Taylor <iant@google.com> |
15461 | ||
15462 | * expmed.c (expand_divmod): Add comment. | |
15463 | ||
a638bdc2 KH |
15464 | 2007-02-02 Kazu Hirata <kazu@codesourcery.com> |
15465 | ||
15466 | * emit-rtl.c (renumber_insns): Remove. | |
15467 | * flags.h: Remove the extern for flag_renumber_insns. | |
15468 | * rtl.h: Remove the prototype for renumber_insns. | |
15469 | * toplev.c (flag_renumber_insns): Remove. | |
15470 | ||
88c6f101 HMC |
15471 | 2007-02-02 Hui-May Chang <hm.chang@apple.com> |
15472 | ||
15473 | Revert for x86 darwin: | |
15474 | 2005-06-19 Uros Bizjak <uros@kss-loka.si> | |
5646ba12 | 15475 | |
88c6f101 HMC |
15476 | * config/i386/i386.c (ix86_function_arg_regno_p): Put back the |
15477 | code before the following patch under TARGET_MACHO. | |
15478 | (ix86_function_value_regno_p): Likewise. | |
15479 | ||
1aeef526 KG |
15480 | 2007-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
15481 | ||
15482 | * fold-const.c (negate_expr_p, fold_negate_expr): Handle | |
15483 | COMPLEX_EXPR. | |
15484 | ||
f6ec1d11 MK |
15485 | 2007-02-02 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
15486 | ||
15487 | PR target/29682 | |
7e08fa35 UB |
15488 | * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory |
15489 | loads to general or fp registers. Add comments. | |
f6ec1d11 MK |
15490 | * config/ia64/ia64.md (reg_pred_prefix): Add comment. |
15491 | ||
ad12460b PB |
15492 | 2007-02-02 Paolo Bonzini <bonzini@gnu.org> |
15493 | ||
15494 | * pointer-set.c (insert_aux): Only return insertion slot. | |
15495 | (pointer_set_insert): Adjust. | |
15496 | (pointer_set_traverse, struct pointer_map_t, pointer_map_create, | |
15497 | pointer_map_destroy, pointer_map_insert, pointer_map_contains, | |
15498 | pointer_map_traverse): New. | |
15499 | * pointer-set.h (pointer_set_traverse, struct pointer_map_t, | |
15500 | pointer_map_create, pointer_map_destroy, pointer_map_insert, | |
15501 | pointer_map_contains, pointer_map_traverse): Declare. | |
15502 | ||
6b01cd54 JJ |
15503 | 2007-02-02 Jakub Jelinek <jakub@redhat.com> |
15504 | ||
15505 | PR middle-end/30473 | |
15506 | * builtins.c (fold_builtin_sprintf): Do not attempt to optimize | |
15507 | sprintf (str, "%s"). Do not optimize sprintf (str, "nopercent", p++). | |
15508 | ||
b198261f MK |
15509 | 2007-02-02 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
15510 | ||
15511 | * sched-int.h (ds_to_dk, dk_to_ds): Declare functions. | |
5646ba12 | 15512 | |
b198261f MK |
15513 | (struct _dep): New type. |
15514 | (dep_t): New typedef. | |
15515 | (DEP_PRO, DEP_CON, DEP_KIND): New access macros. | |
15516 | (DEP_STATUS): New access macro. The macro with the same name was | |
15517 | renamed to DEP_LINK_STATUS. | |
15518 | (dep_init): Declare function | |
15519 | ||
15520 | (struct _dep_link): New type. | |
15521 | (dep_link_t): New typedef. | |
15522 | (DEP_LINK_NODE, DEP_LINK_NEXT, DEP_LINK_PREV_NEXTP): New access macros. | |
15523 | (DEP_LINK_DEP, DEP_LINK_PRO, DEP_LINK_CON, DEP_LINK_KIND): New macros. | |
15524 | (DEP_LINK_STATUS): New macro. | |
15525 | (debug_dep_links): New debug function. | |
15526 | ||
15527 | (struct _deps_list): New type. | |
15528 | (deps_list_t): New typedef. | |
15529 | (DEPS_LIST_FIRST): New access macro. | |
15530 | (FOR_EACH_DEP_LINK): New cycle macro. | |
15531 | (create_deps_list, free_deps_list, delete_deps_list): Declare | |
15532 | functions. | |
15533 | (deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto. | |
15534 | (find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto. | |
15535 | (copy_deps_list_change_con): Ditto. | |
15536 | ||
15537 | (move_dep_link): Declare function. | |
15538 | ||
15539 | (struct _dep_node): New type. | |
15540 | (dep_node_t): New typedef. | |
15541 | (DEP_NODE_BACK, DEP_NODE_DEP, DEP_NODE_FORW): New access macros. | |
15542 | ||
15543 | (struct haifa_insn_data.back_deps): New field to hold backward | |
15544 | dependencies of the insn. | |
15545 | (struct haifa_insn_data.depend): Rename to forw_deps. Change its type | |
15546 | to deps_list_t. | |
15547 | (struct haifa_insn_data.resolved_deps): Rename to resolved_back_deps. | |
15548 | Change its type to deps_list_t. | |
15549 | (INSN_BACK_DEPS): New access macro to use instead of LOG_LINKS. | |
15550 | (INSN_DEPEND): Rename to INSN_FORW_DEPS. | |
15551 | (RESOLVED_DEPS): Rename to INSN_RESOLVED_BACK_DEPS. | |
15552 | ||
15553 | (INSN_COST): Move to haifa-sched.c. Use insn_cost () instead. | |
5646ba12 | 15554 | |
b198261f MK |
15555 | (DEP_STATUS): Rename to DEP_LINK_STATUS. Fix typo in the comment. |
15556 | ||
7e08fa35 UB |
15557 | (add_forw_dep, delete_back_forw_dep, insn_cost): Update declaration |
15558 | and all callers. | |
b198261f | 15559 | (dep_cost): Declare. |
5646ba12 | 15560 | |
b198261f MK |
15561 | * sched-deps.c (CHECK): New macro to (en/dis)able sanity checks. |
15562 | (ds_to_dk, dk_to_ds): New functions. | |
5646ba12 | 15563 | |
b198261f MK |
15564 | (init_dep_1): New static function. |
15565 | (init_dep): New function. | |
15566 | (copy_dep): New static function. | |
5646ba12 | 15567 | |
b198261f MK |
15568 | (dep_link_consistent_p, attach_dep_link, add_to_deps_list): New static |
15569 | functions. | |
15570 | (detach_dep_link): New static function. | |
15571 | (move_dep_link): New function. | |
5646ba12 | 15572 | |
b198261f MK |
15573 | (dep_links_consistent_p, dump_dep_links): New static functions. |
15574 | (debug_dep_links): New debugging function. | |
5646ba12 | 15575 | |
b198261f | 15576 | (deps_obstack, dl_obstack, dn_obstack): New static variables. |
5646ba12 | 15577 | |
b198261f MK |
15578 | (alloc_deps_list, init_deps_list): New static functions. |
15579 | (create_deps_list): New function. | |
15580 | (clear_deps_list): New static function. | |
15581 | (free_deps_list, delete_deps_list, deps_list_empty_p): New functions. | |
15582 | (deps_list_consistent_p, dump_deps_list): New static functions. | |
15583 | (debug_deps_list): New function. | |
15584 | (add_back_dep_to_deps_list, find_link_by_pro_in_deps_list): New | |
15585 | functions. | |
15586 | (find_link_by_con_in_deps_list, copy_deps_list_change_con): Ditto. | |
15587 | ||
15588 | (maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Update to | |
15589 | use new scheduler dependencies lists. | |
15590 | (add_back_dep, delete_all_dependences, fixup_sched_groups): Ditto. | |
15591 | (sched_analyze): Ditto. Initialize dependencies lists. | |
15592 | (add_forw_dep, compute_forward_dependences): Update to use new | |
15593 | scheduler dependencies lists. | |
5646ba12 | 15594 | |
b198261f MK |
15595 | (init_dependency_caches): Init deps_obstack. |
15596 | (free_dependency_caches): Free deps_obstack. | |
5646ba12 | 15597 | |
b198261f MK |
15598 | (adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Update to use |
15599 | new scheduler dependencies lists. | |
15600 | (delete_forw_dep, add_or_update_back_forw_dep): Ditto. | |
15601 | (add_back_forw_dep, delete_back_forw_dep): Ditto. | |
15602 | ||
15603 | * sched-rgn.c (set_spec_fed, find_conditional_protection, is_pfree): | |
15604 | Update to use new scheduler dependencies lists. | |
15605 | (is_conditionally_protected, is_prisky, add_branch_dependences): Ditto. | |
15606 | (debug_dependencies): Ditto. | |
15607 | (schedule_region): Update comments. | |
5646ba12 | 15608 | |
b198261f MK |
15609 | * sched-ebb.c (earliest_block_with_similiar_load): Update to use new |
15610 | scheduler dependencies lists. | |
15611 | (schedule_ebb): Update comments. | |
5646ba12 | 15612 | |
b198261f | 15613 | * rtl.def (DEPS_LIST): Remove. |
5646ba12 | 15614 | |
b198261f MK |
15615 | * lists.c (unused_deps_list): Remove. |
15616 | (free_list): Update assertions. | |
5646ba12 | 15617 | |
b198261f MK |
15618 | (alloc_DEPS_LIST, free_DEPS_LIST_list, free_DEPS_LIST_node): Remove. |
15619 | (remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto. | |
15620 | ||
15621 | * rtl.h (free_DEPS_LIST_list, alloc_DEPS_LIST): Remove declarations. | |
15622 | (remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto. | |
5646ba12 | 15623 | |
b198261f MK |
15624 | * haifa-sched.c (comments): Update. |
15625 | (insn_cost1): Remove. Inline the code into insn_cost (). | |
15626 | (insn_cost): Update to use new scheduler dependencies lists. Move | |
15627 | processing of the dependency cost to dep_cost (). | |
15628 | (dep_cost): New function. Use it instead of insn_cost () when | |
15629 | evaluating cost of the dependency. Use compatible interface to | |
15630 | interact with the target. | |
15631 | (priority): Update to use new scheduler dependencies lists. | |
15632 | (rank_for_schedule): Ditto. Optimize heuristic that prefers the insn | |
15633 | with greater number of insns that depend on the insn. | |
15634 | (schedule_insn): Update to use new scheduler dependencies lists. Add | |
15635 | code to free backward dependencies lists. Inline and optimize code | |
15636 | from resolve_dep () - see PR28071. | |
15637 | (ok_for_early_queue_removal): Update to use new scheduler dependencies | |
15638 | lists. Update call to targetm.sched.is_costly_dependence hook. | |
5646ba12 | 15639 | |
b198261f MK |
15640 | (fix_inter_tick, try_ready, fix_tick_ready): Update to use new |
15641 | scheduler dependencies lists. | |
5646ba12 | 15642 | |
b198261f MK |
15643 | (resolve_dep): Remove. Move the logic to schedule_insn (). |
15644 | (init_h_i_d): Initialize dependencies lists. | |
5646ba12 | 15645 | |
b198261f MK |
15646 | (process_insn_depend_be_in_spec): Rename to |
15647 | process_insn_forw_deps_be_in_spec. Update to use new scheduler | |
15648 | dependencies lists. | |
15649 | (add_to_speculative_block, create_check_block_twin, fix_recovery_deps): | |
15650 | Update to use new scheduler dependencies lists. | |
15651 | (clear_priorities, calc_priorities, add_jump_dependencies): Ditto. | |
5646ba12 | 15652 | |
b198261f MK |
15653 | * ddg.c (create_ddg_dependence, create_ddg_dep_no_link): Update to use |
15654 | new scheduler dependencies lists. | |
15655 | (build_intra_loop_deps): Ditto. | |
5646ba12 | 15656 | |
b198261f MK |
15657 | * target.h (struct _dep): Declare to use in |
15658 | gcc_target.sched.is_costly_dependence. | |
15659 | (struct gcc_target.sched.adjust_cost): Fix typo. | |
7e08fa35 UB |
15660 | (struct gcc_target.sched.is_costly_dependence): Change signature to |
15661 | use single dep_t parameter instead of an equivalent triad. | |
b198261f MK |
15662 | (struct gcc_target.sched.adjust_cost_2): Remove. |
15663 | ||
15664 | * target-def.h (TARGET_SCHED_ADJUST_COST_2): Remove. | |
15665 | ||
15666 | * reg-notes.def (DEP_TRUE, DEP_OUTPUT, DEP_ANTI): Update comments. | |
15667 | ||
15668 | * doc/tm.texi (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Update | |
15669 | documentation. | |
15670 | (TARGET_SCHED_ADJUST_COST_2): Remove documentation. | |
15671 | ||
15672 | * doc/rtl.texi (LOG_LINKS): Remove part about instruction scheduler. | |
15673 | (REG_DEP_TRUE): Document. | |
5646ba12 | 15674 | |
b198261f | 15675 | * config/ia64/ia64.c (ia64_adjust_cost_2): Rename to ia64_adjust_cost. |
5646ba12 | 15676 | Change signature to correspond to the targetm.sched.adjust_cost hook. |
b198261f MK |
15677 | Update use in TARGET_SCHED_ADJUST_COST_2. |
15678 | (TARGET_SCHED_ADJUST_COST_2): Rename to TARGET_SCHED_ADJUST_COST. | |
15679 | (ia64_dependencies_evaluation_hook, ia64_dfa_new_cycle): Update to use | |
15680 | new scheduler dependencies lists. | |
15681 | (ia64_gen_check): Ditto. | |
15682 | ||
7e08fa35 UB |
15683 | * config/mips/mips.c (vr4130_swap_insns_p): Update to use new |
15684 | scheduler dependencies lists. | |
5646ba12 | 15685 | |
b198261f MK |
15686 | * config/rs6000/rs6000.c (rs6000_is_costly_dependence): Change |
15687 | signature to correspond to the targetm.sched.is_costly_dependence hook. | |
15688 | (is_costly_group): Update to use new scheduler dependencies lists. | |
15689 | ||
15690 | * config/spu/spu.c (spu_sched_adjust_cost): Use insn_cost () function | |
15691 | instead of INSN_COST () macro. | |
15692 | ||
9a5a8e58 ILT |
15693 | 2007-02-01 Ian Lance Taylor <iant@google.com> |
15694 | ||
15695 | * lower-subreg.c (resolve_clobber): Handle a subreg of a concatn. | |
15696 | ||
546dcc43 GM |
15697 | 2007-02-01 Guy Martin <gmsoft@gentoo.org> |
15698 | ||
15699 | * pa.md (tp_load): Correct mfctl instruction syntax. | |
15700 | ||
7c40d666 GK |
15701 | 2007-02-01 Geoffrey Keating <geoffk@apple.com> |
15702 | ||
9278121c GK |
15703 | * config/rs6000/rs6000.c (rs6000_stack_info): Correct |
15704 | altivec_padding_size calculation on AIX. Improve comment, add | |
15705 | assert to verify that it's right. | |
15706 | ||
7c40d666 GK |
15707 | * config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Don't define for |
15708 | 64-bit. | |
15709 | ||
3de8da2a | 15710 | 2007-2-01 Seongbae Park <seongbae.park@gmail.com> |
9012cdf3 | 15711 | |
3de8da2a | 15712 | PR inline-asm/28686 |
9012cdf3 SP |
15713 | * global.c (global_alloc): Add mising initialization of |
15714 | ELIMINABLE_REGSET. | |
15715 | ||
62e5bf5d RS |
15716 | 2007-02-01 Roger Sayle <roger@eyesopen.com> |
15717 | ||
15718 | * alias.c (init_alias_analysis): Correct whitespace. | |
15719 | * bb-reorder.c (fix_edges_for_rarely_executed_code, | |
15720 | partition_hot_cold_basic_blocks): Likewise. | |
15721 | * builtins.c (expand_builtin_printf, expand_builtin_fprintf, | |
15722 | expand_builtin_sprintf, fold_builtin_carg, fold_builtin_sprintf, | |
15723 | maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk, | |
15724 | fold_builtin_snprintf_chk, fold_builtin_printf, | |
15725 | fold_builtin_fprintf, do_mpfr_ckconv, do_mpfr_arg1, do_mpfr_arg2, | |
15726 | do_mpfr_arg3, do_mpfr_sincos): Likewise. | |
15727 | * cfgcleanup.c (cleanup_cfg): Likewise. | |
15728 | * cfgexpand.c (tree_expand_cfg): Likewise. | |
15729 | * fold-const.c (fold_binary) <RDIV_EXPR>: Likewise. | |
15730 | * function.c (get_next_funcdef_no): Likewise. | |
15731 | * gengtype.c (main): Likewise. | |
15732 | * genmodes.c (main): Likewise. | |
15733 | * gcse.c (bypass_conditional_jumps, print_ldst_list): Likewise. | |
15734 | * haifa-sched.c (schedule_block, extend_h_i_d): Likewise. | |
15735 | * ifcvt.c (noce_emit_move_insn): Likewise. | |
15736 | * modulo-sched.c (generate_prolog_epilog, sms_schedule_by_order): | |
15737 | Likewise. | |
15738 | * stor-layout.c (get_best_mode): Likewise. | |
15739 | * tree-ssa-loop-niter.c (get_val_for): Likewise. | |
15740 | * tree-ssa-structalias.c (get_varinfo, get_varinfo_fc, | |
15741 | scc_visit, do_ds_constraint, do_complex_constraint, label_visit, | |
15742 | perform_var_substitution, solve_graph): Likewise. | |
15743 | * tree-vrp.c (vrp_finalize): Likewise. | |
15744 | ||
0e6c5b58 ILT |
15745 | 2007-02-01 Ian Lance Taylor <iant@google.com> |
15746 | ||
15747 | * lower-subreg.c (simplify_gen_subreg_concatn): If we ask for the | |
15748 | high part of a paradoxical subreg, return a constant zero. | |
15749 | ||
c0d919fa ZD |
15750 | 2007-02-01 Zdenek Dvorak <dvorakz@suse.cz> |
15751 | ||
15752 | * toplev.c (lang_dependent_init): Call init_set_costs. | |
15753 | * loop-init.c (loop_optimizer_init): Do not call init_set_costs. | |
15754 | ||
ee7d8048 RG |
15755 | 2007-02-01 Richard Guenther <rguenther@suse.de> |
15756 | ||
15757 | PR middle-end/30656 | |
15758 | * fold-const.c (fold_negate_expr): Allow negating a | |
15759 | constant if overflow does not change. | |
15760 | ||
ab873839 RW |
15761 | 2007-02-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
15762 | ||
15763 | * doc/c-tree.texi (Expression trees): Improve markup. | |
15764 | * doc/tm.texi (Register Classes, Addressing Modes) | |
15765 | (Floating Point): Fix spacing after abbreviations. Fix some | |
15766 | typos. | |
15767 | ||
b818de22 BE |
15768 | 2007-02-01 Ben Elliston <bje@au.ibm.com> |
15769 | ||
15770 | * doc/invoke.texi: Replace "bugfix" with "bug fix" throughout. | |
15771 | * doc/contrib.texi: Likewise. | |
15772 | * doc/install.texi: Likewise. | |
15773 | ||
e53a16e7 ILT |
15774 | 2007-01-31 Richard Henderson <rth@redhat.com> |
15775 | Ian Lance Taylor <iant@google.com> | |
15776 | ||
15777 | * lower-subreg.c: New file. | |
15778 | * rtl.def (CONCATN): Define. | |
15779 | * passes.c (init_optimization_passes): Add pass_lower_subreg and | |
15780 | pass_lower_subreg2. | |
15781 | * emit-rtl.c (update_reg_offset): New static function, broken out | |
15782 | of gen_rtx_REG_offset. | |
15783 | (gen_rtx_REG_offset): Call update_reg_offset. | |
15784 | (gen_reg_rtx_offset): New function. | |
15785 | * regclass.c: Revert patch of 2006-03-05, restoring | |
15786 | reg_scan_update. | |
15787 | (clear_reg_info_regno): New function. | |
15788 | * dwarf2out.c (concatn_loc_descriptor): New static function. | |
15789 | (loc_descriptor): Handle CONCATN. | |
15790 | * common.opt (fsplit_wide_types): New option. | |
15791 | * opts.c (decode_options): Set flag_split_wide_types when | |
15792 | optimizing. | |
15793 | * timevar.def (TV_LOWER_SUBREG): Define. | |
15794 | * rtl.h (gen_reg_rtx_offset): Declare. | |
15795 | (reg_scan_update): Declare. | |
15796 | * regs.h (clear_reg_info_regno): Declare. | |
15797 | * tree-pass.h (pass_lower_subreg): Declare. | |
15798 | (pass_lower_subreg2): Declare. | |
15799 | * doc/invoke.texi (Option Summary): List -fno-split-wide-types. | |
15800 | (Optimize Options): Add -fsplit-wide-types to -O1 list. Document | |
15801 | -fsplit-wide-types. | |
15802 | * doc/rtl.texi (Regs and Memory): Document concat and concatn. | |
15803 | * Makefile.in (OBJS-common): Add lower-subreg.o. | |
15804 | (lower-subreg.o): New target. | |
15805 | ||
52f7138e KH |
15806 | 2007-01-31 Kazu Hirata <kazu@codesourcery.com> |
15807 | ||
15808 | * config/sh/sh.h (HAVE_SECONDARY_RELOADS): Remove. | |
15809 | ||
d1fc69e4 AS |
15810 | 2007-01-31 Anatoly Sokolov <aesok@post.ru> |
15811 | ||
15812 | PR target/19087 | |
15813 | * config/avr/avr.c (DWARF2_ADDR_SIZE): Define. | |
15814 | ||
4fc78423 KG |
15815 | 2007-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
15816 | ||
15817 | PR middle-end/29335 | |
15818 | * builtins.c (fold_builtin_sqrt): Use MPFR for constant args. | |
15819 | ||
677cc14d ZD |
15820 | 2007-01-31 Zdenek Dvorak <dvorakz@suse.cz> |
15821 | ||
15822 | * cfgloop.h: Include vec-prim.h. | |
15823 | (enum li_flags): Remove LI_ONLY_OLD. | |
15824 | (loop_iterator): Changed. | |
15825 | (fel_next, fel_init): Iterate over loop tree. | |
15826 | (FOR_EACH_LOOP_BREAK): New macro. | |
15827 | * loop-unswitch.c (unswitch_loops): Do not pass LI_ONLY_OLD to | |
15828 | FOR_EACH_LOOP. | |
15829 | * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Ditto. | |
15830 | * modulo-sched.c (sms_schedule): Ditto. | |
15831 | * tree-vectorizer.c (vectorize_loops): Ditto. | |
15832 | * doc/loop.texi: Update information on loop numbering and behavior of | |
15833 | FOR_EACH_LOOP wrto new loops. | |
15834 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
15835 | add_to_evolution_1): Test nestedness of loops instead of comparing | |
15836 | their numbers. | |
15837 | * tree-chrec.c (chrec_fold_plus_poly_poly, | |
15838 | chrec_fold_multiply_poly_poly, chrec_evaluate, | |
15839 | hide_evolution_in_other_loops_than_loop, chrec_component_in_loop_num, | |
15840 | reset_evolution_in_loop): Ditto. | |
15841 | * Makefile.in (CFGLOOP_H): Add vecprim.h dependency. | |
15842 | ||
e7917d06 DM |
15843 | 2007-01-31 Dirk Mueller <dmueller@suse.de> |
15844 | ||
15845 | * c-common.c (warn_about_parentheses): Separate warning about | |
15846 | un-parenthized sequence of comparison operators from the one | |
15847 | which is supposed to warn about x <= y <= z. | |
15848 | ||
9ed4207f UB |
15849 | 2007-01-31 Uros Bizjak <ubizjak@gmail.com> |
15850 | ||
15851 | * optabs.h (enum optab_index): Add new OTI_isinf. | |
15852 | (isinf_optab): Define corresponding macro. | |
15853 | * optabs.c (init_optabs): Initialize isinf_optab. | |
15854 | * genopinit.c (optabs): Implement isinf_optab using isinf?f2 | |
15855 | patterns. | |
15856 | * builtins.c (mathfn_built_in): Handle BUILT_IN_ISINF{,F,L}. | |
15857 | (expand_builtin_interclass_mathfn): Expand BUILT_IN_ISINF{,F,L} | |
15858 | using isinf_optab. | |
15859 | (expand_builtin): Expand BUILT_IN_ISINF{,F,L} using | |
15860 | expand_builtin_interclass_mathfn. | |
15861 | * reg_stack.c (subst_stack_regs_pat): Handle UNSPEC_FXAM. | |
15862 | * config/i386/i386.md (UNSPEC_FXAM): New constant. | |
15863 | (fxam<mode>2_i387): New insn pattern. | |
15864 | (isinf<mode>2) New expander to implement isinf, isinff and isinfl | |
15865 | built-in functions as x87 inline asm. | |
15866 | ||
c9cde24c KH |
15867 | 2007-01-31 Kazu Hirata <kazu@codesourcery.com> |
15868 | ||
86122f72 | 15869 | * config/arm/unwind-arm.h (_sleb128_t, _uleb128_t): New. |
c9cde24c | 15870 | |
537bbabd EC |
15871 | 2007-01-30 Eric Christopher <echristo@apple.com> |
15872 | ||
15873 | * config.gcc: Add geode. | |
15874 | ||
88512ba0 KH |
15875 | 2007-01-31 Kazu Hirata <kazu@codesourcery.com> |
15876 | ||
15877 | * cgraphunit.c, config/arm/arm.c, config/m68k/m68k.c, | |
15878 | ipa-inline.c, tree-profile.c, tree-ssa-live.c, | |
15879 | tree-ssa-math-opts.c, tree-ssanames.c, tree-vect-analyze.c, | |
15880 | value-prof.c: Fix comment typos. | |
15881 | ||
b9edb4b1 MLI |
15882 | 2007-01-30 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
15883 | ||
15884 | PR c++/24745 | |
15885 | * doc/invoke.texi (Wpointer-arith): Document warning. | |
537bbabd | 15886 | |
3de8da2a | 15887 | 2007-01-30 Janis Johnson <janis187@us.ibm.com> |
05f182f6 JJ |
15888 | |
15889 | * doc/extend.texi (Decimal Floating Types): Remove decfloat.h from | |
15890 | the list of discrepancies from the draft TR. | |
15891 | ||
01a40464 DM |
15892 | 2007-01-30 Dirk Mueller <dmueller@suse.de> |
15893 | ||
15894 | PR c++/30601 | |
15895 | * doc/invoke.texi (-Wreturn-type): Update description to | |
537bbabd | 15896 | match new behavior. |
01a40464 | 15897 | |
9caea4a7 RS |
15898 | 2007-01-30 Richard Sandiford <richard@codesourcery.com> |
15899 | ||
15900 | * cfgrtl.c (try_redirect_by_replacing_jump): Check only_sets_cc0_p. | |
15901 | ||
eaee4464 UB |
15902 | 2007-01-30 Uros Bizjak <ubizjak@gmail.com> |
15903 | ||
15904 | * builtins.c (expand_builtin_int_interclass_roundingfn): New function | |
15905 | to handle optabs that operate on floating point input argument and | |
15906 | output to integer output. | |
15907 | (expand_builtin_mathfn) [BUILT_IN_ILOGB]: Move from here ... | |
15908 | (expand_builtin_interclass_mathfn) [BUILT_IN_ILOGB]: ... to here. | |
15909 | (expand_builtin): Expand BUILT_IN_ILOGB{,F,L} using | |
15910 | expand_builtin_interclass_mathfn (). | |
15911 | * config/i386/i386.md (fxtractxf3_i387): Rename from *fxtractxf3_i387. | |
15912 | (ilogbsi2): Remove. | |
15913 | (ilogbxf2, ilogb<mode>2): New expanders to implement ilogb, ilogbf and | |
15914 | ilogbl built-in functions as x87 intrinsics. | |
15915 | ||
9b1959ff RG |
15916 | 2007-01-30 Richard Guenther <rguenther@suse.de> |
15917 | ||
15918 | PR middle-end/27657 | |
15919 | * dwarf2out.c (reference_to_unused): Query varpool if the | |
15920 | variable was output. | |
15921 | ||
91851351 RG |
15922 | 2007-01-30 Richard Guenther <rguenther@suse.de> |
15923 | ||
15924 | PR middle-end/30313 | |
15925 | * passes.c (execute_one_pass): Reset in_gimple_form to not | |
15926 | confuse non-unit-at-a-time mode. | |
15927 | ||
bcf52d7b RS |
15928 | 2007-01-29 Roger Sayle <roger@eyesopen.com> |
15929 | Richard Guenther <rguenther@suse.de> | |
15930 | ||
15931 | * fold-const.c (round_up): Make HIGH an unsigned HOST_WIDE_INT to | |
15932 | avoid undefined behaviour on overflow. Use force_fit_type_double | |
15933 | to construct the constant with the specified TREE_OVERFLOW. | |
15934 | ||
d9a66f98 JJ |
15935 | 2007-01-29 Janis Johnson <janis187@us.ibm.com> |
15936 | ||
15937 | * config/dfp-bit.c: Add parameterized support for fp exceptions. | |
15938 | * config/dfp-bit.h: Ditto. | |
15939 | ||
bcf52d7b | 15940 | 2007-01-29 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
c616e51b MLI |
15941 | |
15942 | * c-decl.c (pop_scope): Replace warnings with call to | |
15943 | warn_for_unused_label. | |
15944 | * c-common.h (warn_for_unused_label): Declare. | |
15945 | * c-common.c (warn_for_unused_label): Define. | |
15946 | ||
97100596 MLI |
15947 | 2007-01-29 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
15948 | ||
15949 | * tree-optimize.c (update_inlined_to_pointers): Delete unused | |
15950 | function. | |
15951 | ||
b7f0fff2 JJ |
15952 | 2007-01-29 Janis Johnson <janis187@us.ibm.com> |
15953 | ||
15954 | * Makefile.in (USER_H): Remove decfloat.h. | |
15955 | * ginclude/decfloat.h: Delete, moving contents to ... | |
15956 | * ginclude/float.h: Add support for decimal floating point, | |
15957 | guarded by __STDC_WANT_DEC_FP__. | |
15958 | ||
821f6218 MS |
15959 | 2007-01-29 Mike Stump <mrs@apple.com> |
15960 | ||
15961 | * doc/gccint.texi (Top): Rename Loop Representation to Loop | |
15962 | Analysis and Representation to resolve case insensitive conflict. | |
15963 | * doc/loop.texi (Loop Analysis and Representation): Likewise. | |
15964 | ||
306219a2 DB |
15965 | 2007-01-28 Daniel Berlin <dberlin@dberlin.org> |
15966 | ||
15967 | * tree.h (struct tree_memory_tag): Add aliases member. | |
15968 | (MTAG_ALIASES): New macro. | |
15969 | * tree-ssa-alias.c (alias_bitmap_obstack): New variable. | |
15970 | (add_may_alias): Remove pointer-set. Update for may_aliases being | |
537bbabd | 15971 | a bitmap. |
306219a2 DB |
15972 | (mark_aliases_call_clobbered): Update for may_aliases being a |
15973 | bitmap. | |
15974 | (compute_tag_properties): Ditto. | |
15975 | (create_partition_for): Ditto. | |
15976 | (compute_memory_partitions): Ditto. | |
15977 | (dump_may_aliases_for): Ditto. | |
15978 | (is_aliased_with): Ditto. | |
15979 | (add_may_alias_for_new_tag): Ditto. | |
15980 | (rewrite_alias_set_for): Rewrite for may_aliases being a bitmap. | |
15981 | (compute_is_aliased): New function. | |
15982 | (compute_may_aliases): Call compute_is_aliased). | |
15983 | (init_alias_info): Initialize alias_bitmap_obstack. | |
15984 | (union_alias_set_into): New function. | |
15985 | (compute_flow_sensitive_aliasing): Use union_aliases_into. | |
15986 | (have_common_aliases_p): Rewrite to take two bitmaps and use | |
15987 | intersection. | |
15988 | (compute_flow_insensitive_aliasing): Stop using pointer-sets. | |
15989 | Update for bitmaps. | |
15990 | (finalize_ref_all_pointers): Update for add_may_alias changes. | |
15991 | (new_type_alias): Ditto. | |
15992 | * tree-flow-inline.h (may_aliases): Return a bitmap. | |
15993 | * tree-dfa.c (dump_variable): Check for MTAG_P'ness. | |
15994 | * tree-ssa.c (verify_flow_insensitive_alias_info): Update for | |
15995 | may_aliases being a bitmap. | |
15996 | * tree-flow.h (struct var_ann_d): Remove may_aliases member. | |
15997 | may_aliases now returns a bitmap. | |
15998 | * tree-ssa-structalias.c (merge_smts_into): Update for may_aliases | |
15999 | being a bitmap. | |
16000 | * tree-ssa-operands.c (add_virtual_operand): Update for | |
16001 | may_aliases being a bitmap. | |
537bbabd | 16002 | |
48e540b0 DB |
16003 | 2007-01-29 Daniel Berlin <dberlin@dberlin.org> |
16004 | ||
16005 | PR tree-optimization/30630 | |
16006 | * tree-ssa-structalias.c (do_complex_constraint): Mark correct | |
16007 | variable as changed. | |
16008 | ||
abc67de1 SM |
16009 | 2007-01-29 Simon Martin <simartin@users.sourceforge.net> |
16010 | ||
16011 | PR c++/28266 | |
16012 | * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is | |
16013 | expanded only once even if an error occurs. | |
16014 | ||
098b68ad BE |
16015 | 2007-01-29 Ben Elliston <bje@au.ibm.com> |
16016 | ||
16017 | * gcov-io.h (__gcov_indirect_call_profiler): Declare. | |
16018 | (__gcov_average_profiler): Likewise. | |
16019 | (__gcov_ior_profiler): Likewise. | |
16020 | (__gcov_merge_ior): Likewise. | |
16021 | ||
52ca6d35 JH |
16022 | 2007-01-28 Jan Hubicka <jh@suse.cz> |
16023 | ||
16024 | * builtins.c (expand_builtin_memset): Fix typo in my last patch. | |
16025 | * value-prof.c (stringop_block_profile): Likewise. | |
16026 | ||
079a182e JH |
16027 | 2007-01-28 Jan Hubicka <jh@suse.cz> |
16028 | ||
7e08fa35 UB |
16029 | * expr.c (emit_block_move_via_movmem, emit_block_move_via_libcall): |
16030 | Add variant handling histograms; add wrapper. | |
079a182e JH |
16031 | (clear_storage_via_libcall): Export. |
16032 | (emit_block_move_hints): Break out from ...; add histograms. | |
16033 | (emit_block_move): ... this one. | |
16034 | (clear_storage_hints): Break out from ...; add histograms. | |
16035 | (clear_storage): ... this one. | |
16036 | (set_storage_via_memset): Handle histogram. | |
16037 | * expr.h (emit_block_move_via_libcall, emit_block_move_hints): Declare. | |
16038 | (clear_storage_hints, clear_storage_via_libcall): Declare. | |
16039 | (set_storage_via_setmem): Update prototype. | |
16040 | * doc/md.texi (movmem, setmem): Document new arguments. | |
16041 | ||
7e08fa35 UB |
16042 | * value-prof.c (dump_histogram_value, tree_find_values_to_profile): |
16043 | Add new histograms. | |
079a182e JH |
16044 | (stringop_block_profile): New global function. |
16045 | (tree_stringops_values_to_profile): Profile block size and alignment. | |
16046 | * value-prof.h (enum hist_type): add HIST_TYPE_AVERAGE and | |
16047 | HIST_TYPE_IOR. | |
16048 | (struct profile_hooks): Add gen_average_profiler and gen_ior_profiler. | |
16049 | (stringop_block_profile): Declare. | |
16050 | * builtins.c: Include value-prof.h. | |
16051 | (expand_builtin_memcpy, expand_builtin_memset): Pass block profile. | |
16052 | * gcov-ui.h (GCOV_COUNTER_NAMES): Add new counter. | |
16053 | (GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): New constants. | |
16054 | (GCOV_COUNTERS, GCOV_LAST_VALUE_COUNTER): Update. | |
16055 | * profile.c (instrument_values): Add new counters. | |
16056 | * cfgexpand.c (expand_gimple_basic_block): Propagate histograms to | |
16057 | calls. | |
16058 | * tree-profile.c (tree_average_profiler_fn, tree_ior_profiler_fn): New. | |
16059 | (tree_init_edge_profiler): Build new profilers. | |
16060 | (tree_gen_average_profiler, tree_gen_ior_profiler): New. | |
16061 | (pass_tree_profile): Add dump. | |
16062 | (tree_profile_hooks): Update. | |
16063 | * Makefile.in (LIBGCOV): Add new constants. | |
16064 | * libgcov.c (__gcov_merge_ior, __gcov_average_profiler, | |
16065 | __gcov_ior_profiler): New. | |
16066 | * i386.md (movmem/setmem expanders): Add new optional arguments. | |
16067 | ||
b6bd3371 DE |
16068 | 2007-01-28 David Edelsohn <edelsohn@gnu.org> |
16069 | ||
16070 | * doc/md.texi (Standard Pattern Names): Document blockage pattern. | |
16071 | ||
7f9bc51b ZD |
16072 | 2007-01-28 Zdenek Dvorak <dvorakz@suse.cz> |
16073 | ||
16074 | * tree-ssa-loop-unswitch.c: Include tree-inline.h. | |
16075 | (tree_unswitch_single_loop): Pass eni_size_weights to | |
16076 | tree_num_loop_insns. | |
16077 | * tree-ssa-loop-manip.c: Include tree-inline.h. | |
16078 | (can_unroll_loop_p): Pass eni_size_weights to | |
16079 | tree_num_loop_insns. | |
16080 | * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): | |
16081 | Pass eni_size_weights to estimate_num_insns. | |
16082 | * tree.h (init_inline_once): Export. | |
16083 | * toplev.c (backend_init): Call init_inline_once. | |
16084 | * cgraphunit.c (cgraph_process_new_functions, | |
16085 | cgraph_analyze_function): Pass eni_inlining_weights to | |
16086 | estimate_num_insns. | |
16087 | * ipa-inline.c (compute_inline_parameters): Ditto. | |
16088 | * tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Pass weights | |
16089 | to estimate_num_insns. | |
16090 | (try_unroll_loop_completely): Pass eni_size_weights to | |
16091 | tree_num_loop_insns. | |
16092 | * tree-eh.c (decide_copy_try_finally): Pass eni_size_weights | |
16093 | ot estimate_num_insns. | |
16094 | * tree-ssa-loop-prefetch.c: Include tree-inline.h. | |
16095 | (loop_prefetch_arrays): Pass eni_time_weights to tree_num_loop_insns. | |
16096 | * tree-inline.c (eni_inlining_weights, eni_size_weights, | |
16097 | eni_time_weights): New variables. | |
16098 | (init_inline_once): Initialize them. | |
16099 | (struct eni_data): Mew. | |
16100 | (estimate_num_insns_1, estimate_num_insns): Use weights. | |
16101 | * tree-inline.h (struct eni_weights_d): New. | |
16102 | (eni_inlining_weights, eni_size_weights, eni_time_weights): Declare. | |
16103 | (estimate_num_insns): Declaration changed. | |
16104 | * cfgloop.h (tree_num_loop_insns): Declaration changed. | |
16105 | * Makefile.in (tree-ssa-loop-unswitch.o, tree-ssa-loop-prefetch.o, | |
16106 | tree-ssa-loop-manip.o): Add TREE_INLINE_H dependency. | |
16107 | ||
b39c6706 ZD |
16108 | 2007-01-28 Zdenek Dvorak <dvorakz@suse.cz> |
16109 | ||
16110 | * tree-data-ref.c (conflict_fn): Assert that the number of affine | |
16111 | relations in the conflict function is valid. | |
16112 | ||
eeef0e45 ILT |
16113 | 2007-01-27 Ian Lance Taylor <iant@google.com> |
16114 | ||
16115 | * common.opt: Add fstrict-overflow. | |
16116 | * opts.c (decode_options): Set flag_strict_overflow if -O2. | |
16117 | * flags.h (TYPE_OVERFLOW_WRAPS): Define. | |
16118 | (TYPE_OVERFLOW_UNDEFINED): Define. | |
16119 | (TYPE_OVERFLOW_TRAPS): Define. This replaces TYPE_TRAP_SIGNED. | |
16120 | Replace all uses. | |
16121 | * tree.h (TYPE_TRAP_SIGNED): Don't define. | |
16122 | * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED. | |
16123 | (fold_negate_expr): Likewise. | |
16124 | (make_range): Likewise. | |
16125 | (extract_muldiv_1): Likewise. | |
16126 | (maybe_canonicalize_comparison): Likewise. | |
16127 | (fold_comparison): Likewise. | |
16128 | (fold_binary): Likewise. | |
16129 | (tree_expr_nonnegative_p): Likewise. | |
16130 | (tree_expr_nonzero_p): Likewise. | |
16131 | * tree-vrp.c (compare_values): Likewise. | |
16132 | (extract_range_from_binary_expr): Likewise. | |
16133 | (extract_range_from_unary_expr): Likewise. | |
16134 | * tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness): | |
16135 | Likewise. | |
16136 | (nowrap_type_p): Likewise. | |
16137 | * tree-scalar-evolution.c (simple_iv): Likewise. | |
16138 | * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS. | |
16139 | (build_range_check): Likewise. | |
16140 | (extract_muldiv_1): Likewise. | |
16141 | (fold_comparison): Likewise. | |
16142 | * tree-vrp.c (vrp_int_const_binop): Likewise. | |
16143 | (extract_range_from_unary_expr): Likewise. | |
16144 | * convert.c (convert_to_integer): Likewise. | |
16145 | * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS. | |
16146 | (fold_comparison): Likewise. | |
16147 | (fold_binary): Likewise. | |
16148 | * optabs.c (optab_for_tree_code): Likewise. | |
16149 | * tree-vectorizer.c (vect_is_simple_reduction): Likewise. | |
16150 | * simplify-rtx.c (simplify_const_relational_operation): Check | |
16151 | flag_strict_overflow and flag_trapv. | |
16152 | (simplify_const_relational_operation): Likewise. | |
16153 | * doc/invoke.texi (Option Summary): Mention -fstrict-overflow. | |
16154 | (Optimize Options): Add -fstrict-overflow to -O2 list. Document | |
16155 | -fstrict-overflow. | |
16156 | ||
b73a6056 RS |
16157 | 2007-01-27 Roger Sayle <roger@eyesopen.com> |
16158 | ||
16159 | * tree.c (tree_fold_gcd): Delete. | |
16160 | * tree.h (tree_fold_gcd): Remove prototype. | |
16161 | * tree-data-ref.c (tree_fold_divides_p): Don't use tree_fold_gcd to | |
16162 | test whether one constant integer is a multiple of another. Instead | |
16163 | call int_const_binop with TRUNC_MOD_EXPR and test for a zero result. | |
16164 | * fold-const.c (multiple_of_p): We've determined both TOP and | |
16165 | BOTTOM are integer constants so we can call int_const_binop directly | |
16166 | instead of the more generic const_binop. | |
16167 | ||
74890d7b RS |
16168 | 2007-01-27 Roger Sayle <roger@eyesopen.com> |
16169 | ||
16170 | * fold-const.c (size_binop): In the fast-paths for X+0, 0+X, X-0 and | |
16171 | 1*X check that the constant hasn't overflowed, to preserve the | |
16172 | TREE_OVERFLOW bit. | |
16173 | (round_up): Provide an efficient implementation when rouding-up an | |
16174 | INTEGER_CST to a power-of-two. | |
16175 | ||
2a01aae6 RW |
16176 | 2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
16177 | ||
16178 | * doc/sourcebuild.texi: Add comma for clarity. | |
16179 | * doc/extend.texi: Fix some typos. | |
16180 | * doc/passes.texi: Likewise. | |
16181 | * doc/cppinternals.texi: Likewise. | |
16182 | * doc/c-tree.texi: Likewise. | |
16183 | * doc/tree-ssa.texi: Likewise. | |
b9363338 | 16184 | * doc/install.texi: Likewise. |
2a01aae6 | 16185 | |
7fbb9a49 JH |
16186 | 2007-01-27 Jan Hubicka <jh@suse.cz> |
16187 | ||
16188 | * tree-sra.c (sra_walk_function): Don't rely on aliases being build. | |
16189 | (pass_sra): Do not require alias information. | |
16190 | * passes.c (init_optimization_passes): Add SRA | |
16191 | ||
9eab6785 SB |
16192 | 2007-01-27 Steven Bosscher <steven@gcc.gnu.org> |
16193 | ||
16194 | * tracer.c (rest_of_handle_tracer): We already cleaned | |
16195 | up the CFG in tracer() so don't do it here again. | |
16196 | * cfgcleanup.c (rest_of_handle_jump2): Don't repeat | |
16197 | cleanup_cfg here, either. And don't call renumber_insns. | |
16198 | ||
16199 | * cfgrtl.c (rtl_verify_flow_info_1): Don't verify that BB_END | |
16200 | and BB_HEAD are in the insn stream here. Instead make sure | |
16201 | that BB_INSN is valid on all insns. Also, do check here that | |
16202 | there are no pending branch predictions... | |
16203 | (rtl_verify_flow_info): ...instead of doing it here. Checks | |
16204 | for BB_END and BB_HEAD moved from rtl_verify_flow_info_1 to | |
16205 | here. | |
16206 | ||
ffa1b3c6 RS |
16207 | 2007-01-26 Roger Sayle <roger@eyesopen.com> |
16208 | ||
16209 | * config/i386/i386.c (ix86_swap_binary_operands_p): New helper | |
16210 | function to simplify/factorize operand order canonicalization. | |
16211 | (ix86_fixup_binary_operands): Reorganize using the above function. | |
16212 | (ix86_binary_operator_ok): Likewise. | |
16213 | ||
e2e30236 JJ |
16214 | 2007-01-27 Jakub Jelinek <jakub@redhat.com> |
16215 | ||
16216 | * genattrtab.c (struct attr_value_list, insn_code_values): Move to | |
16217 | file scope from optimize_attrs. | |
16218 | (simplify_test_exp): If insn_code_values is not NULL, use it to speed | |
16219 | up search. | |
16220 | (optimize_attrs): Clear insn_code_values after freeing it. | |
16221 | ||
cdd76d88 ZD |
16222 | 2007-01-26 Zdenek Dvorak <dvorakz@suse.cz> |
16223 | ||
16224 | * tree-ssa-address.c (create_mem_ref): Remove ", bsi" from | |
16225 | a parts.base assignment. | |
16226 | ||
d93817c4 ZD |
16227 | 2007-01-26 Zdenek Dvorak <dvorakz@suse.cz> |
16228 | ||
16229 | * tree-data-ref.c (dump_subscript): Use dump_conflict_function. | |
16230 | (compute_subscript_distance, initialize_data_dependence_relation, | |
16231 | finalize_ddr_dependent, analyze_ziv_subscript, | |
16232 | analyze_siv_subscript_cst_affine, | |
16233 | compute_overlap_steps_for_affine_univar, | |
16234 | compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine, | |
16235 | analyze_siv_subscript, analyze_miv_subscript, | |
16236 | analyze_overlapping_iterations, subscript_dependence_tester_1, | |
16237 | compute_self_dependence, free_dependence_relation): Work | |
16238 | with affine_fn instead of chrecs. | |
16239 | (dump_affine_function, dump_conflict_function, affine_function_equal_p, | |
16240 | common_affine_function, affine_function_base, | |
16241 | affine_function_constant_p, affine_fn_op, affine_fn_plus, | |
16242 | affine_fn_minus, affine_fn_free, conflict_fn_not_known, | |
16243 | conflict_fn_no_dependence, free_conflict_function, free_subscripts, | |
16244 | conflict_fn, affine_fn_cst, affine_fn_univar): New functions. | |
16245 | (all_chrecs_equal_p): Removed. | |
16246 | * tree-data-ref.h (affine_fn, conflict_function): New types. | |
16247 | (struct subscript): Change type of conflicting_iterations_in_a | |
16248 | and conflicting_iterations_in_b. | |
16249 | ||
dfcb2b51 SE |
16250 | 2007-01-26 Steve Ellcey <sje@cup.hp.com> |
16251 | ||
16252 | PR other/30182 | |
16253 | * config/pa/pa.h (TARGET_HPUX_11): New. | |
16254 | * config/pa/pa-hpux11.h (TARGET_HPUX_11): New. | |
16255 | * config/pa/pa.c (pa_init_builtins): Use TARGET_HPUX_11. | |
16256 | ||
d3c36974 DB |
16257 | 2007-01-26 Daniel Berlin <dberlin@dberlin.org> |
16258 | Richard Guenther <rguenther@suse.de> | |
16259 | ||
16260 | * tree-ssa-structalias.c (solve_graph): Handle case | |
16261 | we merged the variable to another. | |
16262 | ||
4b26d10b KG |
16263 | 2007-01-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
16264 | ||
16265 | * builtins.c (fold_builtin_1): Treat ccos and ccosh as 'even' | |
16266 | functions. | |
16267 | ||
16268 | * fold-const.c (negate_mathfn_p): Treat casin, casinh, catan, | |
16269 | catanh, cproj, csin, csinh, ctan and ctanh as 'odd' functions. | |
16270 | ||
21f14ff9 DD |
16271 | 2007-01-25 DJ Delorie <dj@redhat.com> |
16272 | ||
db9c8397 DD |
16273 | * config/m32c/m32c.c (m32c_cannot_change_mode_class): We don't |
16274 | allow changes to modes which don't fit in those registers. | |
16275 | ||
21f14ff9 DD |
16276 | * reload1.c (choose_reload_regs): Check for invalid subregs before |
16277 | computing their locations, not after. | |
16278 | ||
22fa69da GK |
16279 | 2007-01-25 Geoffrey Keating <geoffk@apple.com> |
16280 | ||
16281 | PR 25127 | |
16282 | * config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin, | |
16283 | save Altivec registers in an eh_return function. | |
16284 | (compute_vrsave_mask): Likewise. | |
16285 | (rs6000_stack_info): Correct AIX/Darwin stack alignment computation | |
16286 | for saving Altivec registers. | |
16287 | (rs6000_emit_prologue): Don't allocate stack twice in | |
16288 | eh_return function. Correct expected value of altivec_save_offset | |
16289 | when using save_world. Describe save of R0 to stack when using | |
16290 | save_world. Describe stack pointer adjustment when using | |
16291 | save_world. Remove duplicated eh_return parameter register saving. | |
16292 | Update sp_offset variable after save_world. | |
16293 | * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove | |
16294 | darwin-world.asm. | |
16295 | (LIB2FUNCS_EXTRA): Add darwin-world.asm. | |
16296 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64 | |
16297 | implies Altivec. | |
16298 | ||
79e8b6c0 SE |
16299 | 2007-01-25 Steve Ellcey <sje@cup.hp.com> |
16300 | ||
16301 | * config.gcc (ia64*-*-hpux*): Make posix threads the default. | |
16302 | ||
7d522000 SE |
16303 | 2007-01-25 Steve Ellcey <sje@cup.hp.com> |
16304 | ||
16305 | PR other/30182 | |
16306 | * config/pa/pa.c (pa_init_builtins): Set asm names for finite routines. | |
16307 | * config/ia64/ia64.c (ia64_init_builtins): Ditto. | |
16308 | ||
16c1c158 RG |
16309 | 2007-01-25 Richard Guenther <rguenther@suse.de> |
16310 | ||
16311 | * doc/invoke.texi (-Wcoverage-mismatch): Document. | |
16312 | * common.opt (-Wcoverage-mismatch): New warning option. | |
16313 | * coverage.c (get_coverage_counts): Ignore coverage mismatch | |
16314 | if -Wcoverage-mismatch is given. | |
16315 | ||
b9c369e6 RL |
16316 | 2007-01-25 Razya Ladelsky <razya@il.ibm.com> |
16317 | ||
537bbabd EC |
16318 | * ipa-cp.c (ipcp_insert_stage, ipcp_driver): Support for SSA. |
16319 | (ipcp_driver): Change to static definition. | |
22fa69da GK |
16320 | Add dumping of the ifunctions. |
16321 | (constant_val_insert): Remove unused parameter. Support for SSA. | |
16322 | (ipcp_propagate_const): Support for SSA. | |
16323 | (ipcp_profile_bb_print): Print only analyzed nodes. | |
537bbabd | 16324 | (ipcp_replace_map_create): Remove support for Fortran constant |
22fa69da | 16325 | for now. |
537bbabd | 16326 | * ipa-prop.c (ipa_method_modify_stmt, |
22fa69da GK |
16327 | ipa_callsite_compute_param): Support for SSA. |
16328 | * ipa-prop.h (ipcp_driver): Remove declaration. | |
16329 | (IS_VALID_TREE_MAP_INDEX): Add define. | |
16330 | ||
9dc5c4f5 GK |
16331 | 2007-01-24 Geoffrey Keating <geoffk@apple.com> |
16332 | ||
16333 | * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap. | |
16334 | ||
01ffa370 KG |
16335 | 2007-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
16336 | ||
16337 | PR middle-end/30447 | |
16338 | * builtins.c (fold_builtin_cabs): Use MPFR to evaluate a | |
16339 | constant argument to cabs and do it without checking for | |
16340 | -funsafe-math-optimizations. | |
16341 | ||
e1f1ee86 DG |
16342 | 2007-01-24 Douglas Gregor <dgregor@osl.iu.edu> |
16343 | ||
16344 | * c-common.h (RID_FIRST_CXX0X): New. | |
16345 | (RID_LAST_CXX0X): New. | |
16346 | * c-opts.c (c_common_handle_option): -Wc++0x-compat is triggered | |
16347 | by -Wall. | |
16348 | * c.opt (Wc++0x-compat): New. | |
16349 | * doc/invoke.texi (-Wc++0x-compat): Document. | |
16350 | ||
527cab20 KG |
16351 | 2007-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
16352 | ||
16353 | * builtins.c (fold_builtin_carg): New. | |
16354 | (fold_builtin_1): Use it. | |
16355 | ||
b7c27d51 JH |
16356 | 2007-01-24 Jan Hubicka <jh@suse.cz> |
16357 | ||
ee411336 JH |
16358 | * ipa-inline.c (cgraph_decide_inlining): Initialize initial_insns. |
16359 | ||
b7c27d51 JH |
16360 | * ipa-inline.c (initial_insns, max_insns): Delete. |
16361 | (compute_max_insns): New function. | |
7e08fa35 UB |
16362 | (cgraph_decide_inlining_of_small_function): Use it; take minimal |
16363 | amount of insns as base for code growth. | |
b7c27d51 JH |
16364 | (cgraph_decide_inlining): Make initial_insns local; do not compute |
16365 | max_insns. | |
16366 | * params.def (PARAM_INLINE_UNIT_GROWTH): Set to 60. | |
16367 | * doc/invoke.texi (inline-unit-growth): Update docs. | |
16368 | ||
3d55c64b JJ |
16369 | 2007-01-24 Jakub Jelinek <jakub@redhat.com> |
16370 | ||
15a26abf JJ |
16371 | * config/i386/i386.h (x86_cmpxchg16b): Remove const. |
16372 | (TARGET_CMPXCHG16B): Define to x86_cmpxchg16b. | |
16373 | * config/i386/i386.c (x86_cmpxchg16b): Remove const. | |
16374 | (override_options): Add PTA_CX16 flag. Set x86_cmpxchg16b | |
16375 | for CPUs that have PTA_CX16 set. | |
16376 | ||
07b7aade JJ |
16377 | PR middle-end/27416 |
16378 | * gimplify.c (omp_check_private): New function. | |
16379 | (gimplify_scan_omp_clauses): Use it for | |
16380 | firstprivate/lastprivate/reduction. | |
16381 | ||
4288fea2 JJ |
16382 | PR middle-end/30494 |
16383 | * gimplify.c (omp_add_variable): Don't call omp_notice_variable | |
16384 | on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs. | |
16385 | ||
3d55c64b JJ |
16386 | PR middle-end/30421 |
16387 | * omp-low.c (lower_omp_for_lastprivate): Add dlist argument. | |
16388 | If lower_lastprivate_clauses emits some statements, append them | |
16389 | to dlist rather than body_p and to body_p append an initializer. | |
16390 | (lower_omp_for): Adjust caller. | |
16391 | ||
3b313c78 SE |
16392 | 2007-01-24 Steve Ellcey <sje@cup.hp.com> |
16393 | ||
16394 | * target.h (globalize_decl_name): New. | |
16395 | * target-def.h (TARGET_ASM_GLOBALIZE_DECL_NAME): New. | |
16396 | * output.h (default_globalize_decl_name): New. | |
16397 | * varasm.c (asm_output_bss): Use globalize_decl_name instead of | |
16398 | globalize_label. | |
3de8da2a | 16399 | (globalize_decl): Ditto. |
3b313c78 SE |
16400 | (default_globalize_decl_name): New. |
16401 | * config/ia64/ia64.c (ia64_globalize_decl_name): New. | |
16402 | (ia64_handle_version_id_attribute): New. | |
16403 | (TARGET_ASM_GLOBALIZE_DECL_NAME): New. | |
16404 | (ia64_asm_output_external): Use globalize_decl_name instead | |
16405 | of globalize_label. | |
16406 | * doc/extend.texi (version_id): New pragma. | |
16407 | * doc/tm.texi (ARGET_ASM_GLOBALIZE_DECL_NAME): New target hook. | |
16408 | ||
f767122b AK |
16409 | 2007-01-24 Andreas Krebbel <krebbel1@de.ibm.com> |
16410 | ||
537bbabd | 16411 | * unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with |
f767122b | 16412 | _uleb128_t and _Unwind_SWord with _sleb128_t. |
7e08fa35 UB |
16413 | * unwind-dw2.c (extract_cie_info, execute_stack_op, |
16414 | execute_cfa_program, uw_frame_state_for, uw_update_context_1): | |
16415 | Likewise. | |
f767122b AK |
16416 | * unwind-c.c (parse_lsda_header, PERSONALITY_FUNCTION): Likewise. |
16417 | * unwind-pe.h (read_uleb128, read_sleb128, | |
16418 | read_encoded_value_with_base): Likewise. | |
16419 | * unwind-generic.h: Define _sleb128_t and _uleb128_t types. | |
16420 | ||
9d972b2d RG |
16421 | 2007-01-24 Richard Guenther <rguenther@suse.de> |
16422 | ||
16423 | * builtins.c (expand_builtin_cexpi): Get the fndecl | |
16424 | for cexp in the correct way. | |
16425 | ||
cf227303 JH |
16426 | 2007-01-24 Jan Hubicka <jh@suse.cz> |
16427 | ||
7e08fa35 UB |
16428 | * tree-ssa-dce.c (eliminate_unnecesary_stmts): Remove dead LHS |
16429 | of calls. | |
cf227303 | 16430 | |
024a85ae AK |
16431 | 2007-01-24 Andreas Krebbel <krebbel1@de.ibm.com> |
16432 | ||
16433 | * c-cppbuiltin.c (builtin_define_type_sizeof): New function. | |
16434 | (c_cpp_builtins): New builtin macros: __SIZEOF_INT__, __SIZEOF_LONG__, | |
16435 | __SIZEOF_LONG_LONG__, __SIZEOF_SHORT__, __SIZEOF_POINTER__, | |
16436 | __SIZEOF_FLOAT__, __SIZEOF_DOUBLE__, __SIZEOF_LONG_DOUBLE__, | |
16437 | __SIZEOF_SIZE_T__, __SIZEOF_WCHAR_T__, __SIZEOF_WINT_T__ and | |
16438 | __SIZEOF_PTRDIFF_T__. | |
16439 | * doc/cpp.texi: Documentation for the new builtin macros added. | |
16440 | ||
9db27449 UB |
16441 | 2007-01-24 Uros Bizjak <ubizjak@gmail.com> |
16442 | ||
16443 | * config/i386/i386.md (tanxf2, tan<mode>2, atan<mode>2, log<mode>2, | |
16444 | log10<mode>2, log2<mode>2, expxf2, exp10xf2, exp2xf2): Use op2 | |
16445 | instead of operands[2] to avoid access past the end of array. | |
16446 | ||
92d54592 RS |
16447 | 2007-01-24 Richard Sandiford <richard@codesourcery.com> |
16448 | ||
16449 | * reload1.c (emit_reload_insns): Pass the reload register | |
16450 | for a non-spill output reload through forget_old_reloads_1. | |
16451 | ||
17caeff2 JM |
16452 | 2007-01-23 Joseph Myers <joseph@codesourcery.com> |
16453 | ||
16454 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
16455 | _SOFT_DOUBLE if doubles use software floating-point. | |
16456 | * config/rs6000/libgcc-ppc-glibc.ver: Export additional long | |
16457 | double functions if _SOFT_DOUBLE, not _SOFT_FLOAT. | |
16458 | * config/rs6000/darwin-ldouble.c: Also compile functions for | |
16459 | hard-float without FPRs. Use fmsub function for all __NO_FPRS__ | |
16460 | cases. Compile extra functions if _SOFT_DOUBLE, not _SOFT_FLOAT. | |
16461 | * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove | |
16462 | commented-out long double override. | |
16463 | (CPP_LONGDOUBLE_DEFAULT_SPEC): Likewise. | |
16464 | * config/rs6000/eabispe.h: Likewise. | |
16465 | * config/rs6000/rs6000.c (rs6000_override_options): Don't override | |
16466 | long double for non-SPE. | |
16467 | (rs6000_handle_option): Likewise. | |
16468 | (invalid_e500_subreg): Disallow more subregs involding DImode, | |
16469 | DFmode, TImode or TFmode. | |
16470 | (rs6000_legitimate_offset_address_p): Check TFmode offsets for | |
16471 | E500 double. | |
16472 | (legitimate_lo_sum_address_p): Also check for TFmode for E500 | |
16473 | double. | |
16474 | (rs6000_legitimize_address): Also handle TFmode for E500 double. | |
16475 | (rs6000_legitimize_reload_address): Also handle TFmode for E500 | |
16476 | double. | |
16477 | (rs6000_legitimate_address): Also check for TFmode for E500 | |
16478 | double. | |
16479 | (rs6000_emit_move): Use DFmode subregs of TFmode for E500 double. | |
16480 | (spe_build_register_parallel): Handle TFmode and TCmode. | |
16481 | (rs6000_spe_function_arg): Handle TFmode and TCmode for E500 | |
16482 | double. | |
16483 | (function_arg): Handle TFmode and TCmode for E500 double. | |
16484 | (rs6000_init_libfuncs): Initialize extra libfuncs for soft double | |
16485 | in general. | |
16486 | (print_operand): Handle TFmode and TImode for %y. | |
16487 | (rs6000_generate_compare): Handle TFmode comparisons for E500 | |
16488 | double. | |
16489 | (spe_func_has_64bit_regs_p): Check for TFmode for E500 double. | |
16490 | (rs6000_function_value): Handle TFmode and TCmode for E500 double. | |
16491 | (rs6000_libcall_value): Handle TFmode and TCmode for E500 double. | |
16492 | * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Check for | |
16493 | TFmode for E500 double. | |
16494 | * config/rs6000/rs6000.md (FP): Allow TF for E500 double. | |
16495 | (floatsidf2): Enable for E500 double. | |
16496 | (movtf_softfloat): Use rs6000_nonimmediate_operand. | |
16497 | (extenddftf2): Change to extenddftf2_fprs. | |
16498 | (extenddftf2): Call gen_spe_extenddftf2 or gen_extenddftf2_fprs | |
16499 | depending on TARGET_E500_DOUBLE. | |
16500 | (extendsftf2): Enable for E500 double. | |
16501 | (trunctfdf2): Enable for E500 double. | |
16502 | (trunctfsf2): Change to trunctfsf2_fprs. | |
16503 | (trunctfsf2): Call gen_spe_trunctfsf2 or gen_trunctfsf2_fprs | |
16504 | depending on TARGET_E500_DOUBLE. | |
16505 | (floatsitf2): Enable for E500 double. | |
16506 | (fix_trunctfsi2): Change to fix_trunctfsi2_fprs. | |
16507 | (fix_trunctfsi2): Call gen_spe_fix_trunctfsi2 or | |
16508 | gen_fix_trunctfsi2_fprs depending on TARGET_E500_DOUBLE. | |
16509 | (negtf2): Change to negtf2_internal. | |
16510 | (negtf2): New expander. | |
16511 | (abstf2): Enable for E500 double. Call gen_spe_abstf2_tst, | |
16512 | gen_spe_abstf2_cmp or gen_abstf2_internal depending on | |
16513 | TARGET_E500_DOUBLE and flag_unsafe_math_optimizations. | |
16514 | (movdi_internal32): Use rs6000_nonimmediate_operand. | |
16515 | (unnamed splitter): Likewise. | |
16516 | * config/rs6000/spe.md (CMPTFEQ_GPR, TSTTFEQ_GPR, CMPTFGT_GPR, | |
16517 | TSTTFGT_GPR, CMPTFLT_GPR, TSTTFLT_GPR): New unspecs. | |
16518 | (SPE64TF, DITI): New mode macros. | |
16519 | (frob_df_di): Change to frob_<SPE64:mode>_<DITI:mode>; allow more | |
16520 | modes. | |
16521 | (frob_tf_ti): New. | |
16522 | (frob_<mode>_di_2): New. | |
16523 | (frob_tf_di_8_2): New. | |
16524 | (frob_di_df): Change to frob_di_<mode>; allow more modes. | |
16525 | (frob_ti_tf): New. | |
16526 | (frob_di_df_2): Change to frob_<DITI:mode>_<SPE64:mode>_2; allow | |
16527 | more modes. | |
16528 | (frob_ti_<mode>_8_2): New. | |
16529 | (frob_ti_tf_2): New. | |
16530 | (mov_si<mode>_e500_subreg0, mov_si<mode>_e500_subreg0_2, | |
16531 | mov_si<mode>_e500_subreg4, mov_si<mode>_e500_subreg4_2): Allow | |
16532 | TFmode. | |
16533 | (mov_sitf_e500_subreg8, mov_sitf_e500_subreg8_2, | |
16534 | mov_sitf_e500_subreg12, mov_sitf_e500_subreg12_2): New. | |
16535 | (spe_trunctfdf2_internal1, spe_trunctfsf2, spe_extenddftf2, | |
16536 | spe_fix_trunctfsi2, spe_fix_trunctfsi2_internal, | |
16537 | spe_negtf2_internal, spe_abstf2_cmp, spe_abstf2_tst): New. | |
16538 | (cmptfeq_gpr, tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, | |
16539 | tsttflt_gp): New. | |
16540 | ||
d5dc6bad ILT |
16541 | 2007-01-23 Ian Lance Taylor <iant@google.com> |
16542 | ||
16543 | * Makefile.in (OBJS-common): Reformat, alphabetize, but put | |
16544 | insn-*.o first. | |
16545 | (OBJS-archive): Reformat, alphabetize. | |
16546 | (OBJS): Change out_object_file to OBJS-md. | |
16547 | ||
7656aee4 UB |
16548 | 2007-01-23 Uros Bizjak <ubizjak@gmail.com> |
16549 | ||
16550 | * config/i386/i386.md: Use REG_P, MEM_P, CONST_INT_P, LABEL_P, | |
16551 | JUMP_P and CALL_P predicates where applicable. | |
16552 | * config/i386/i386.c: Ditto. | |
16553 | * config/i386/i386.md: Ditto. | |
16554 | * config/i386/mmx.md: Ditto. | |
16555 | * config/i386/predicates.md: Ditto. | |
16556 | ||
c8832aae AS |
16557 | 2007-01-22 Andreas Schwab <schwab@suse.de> |
16558 | ||
16559 | * config/m68k/m68k.h: Fix comment. | |
16560 | ||
6ffa0491 JH |
16561 | 2007-01-22 Jan Hubicka <jh@suse.cz> |
16562 | ||
16563 | * passes.c (init_optimization_passes): Do not rerun | |
16564 | pass_early_warn_uninitialized. | |
16565 | ||
2f397a93 RG |
16566 | 2007-01-22 Richard Guenther <rguenther@suse.de> |
16567 | ||
16568 | PR tree-optimization/30038 | |
16569 | * tree-ssa-math-opts.c (maybe_record_sincos): New static helper | |
16570 | function. | |
16571 | (execute_cse_sincos_1): Likewise. | |
16572 | (execute_cse_sincos): Likewise. | |
16573 | (gate_cse_sincos): Likewise. | |
16574 | (pass_cse_sincos): New pass CSEing sin() and cos() calls using | |
16575 | the cexpi() canonicalization of sincos(). | |
16576 | * tree-pass.h (pass_cse_sincos): Declare. | |
16577 | * passes.c (init_optimization_passes): New pass pas_cse_sincos. | |
16578 | ||
64c91930 EB |
16579 | 2007-01-21 Eric Botcazou <ebotcazou@libertysurf.fr> |
16580 | ||
16581 | PR rtl-optimization/29329 | |
16582 | * combine.c (replaced_rhs_insn): Rename to i2mod. | |
16583 | (replaced_rhs_value): Rename to i2mod_new_rhs. | |
16584 | (i2mod_old_rhs): New global variable. | |
16585 | (combine_instructions): Adjust for above change. Save a copy of | |
16586 | the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL | |
16587 | note are substituted in the second instruction. | |
16588 | (distribute_notes) <REG_DEAD>: Adjust for above change. Do not | |
16589 | ditch the note if it pertains to the second eliminated register | |
16590 | and this register is mentioned in i2mod_old_rhs. | |
16591 | ||
16592 | Revert: | |
16593 | 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr> | |
16594 | ||
16595 | * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past | |
16596 | the insn to which the note was originally attached. | |
16597 | ||
7fa49e7b JH |
16598 | 2007-01-21 Jan Hubicka <jh@suse.cz> |
16599 | ||
16600 | * ipa-inline.c (inlining_mode): Comment, move up. | |
7656aee4 UB |
16601 | (cgraph_decide_inlining_incrementally): Do not perform inlining |
16602 | itself; fix handling of flattening of self recursive functions. | |
7fa49e7b JH |
16603 | (cgraph_find_cycles): Remove. |
16604 | (cgraph_flatten_node): Remove. | |
16605 | (cgraph_decide_inlining): Use incremental inliner to handle flattening. | |
16606 | (try_inline): New function. | |
6ffa0491 JH |
16607 | (cgraph_early_inlining): Update call of |
16608 | cgraph_decide_inlining_incrementally. Apply inlining here. | |
7fa49e7b JH |
16609 | (apply_inline): Update call of cgraph_decide_inlining_incrementally. |
16610 | ||
1eb7b049 DM |
16611 | 2007-01-21 Dirk Mueller <dmueller@suse.de> |
16612 | ||
16613 | PR bootstrap/30511 | |
16614 | * tree-vrp.c (check_array_bounds): do not warn | |
16615 | about ADDR_EXPR's of ARRAY_REF's which are immediately | |
16616 | used in binary expressions. | |
16617 | ||
6004caaf IR |
16618 | 2007-01-21 Ira Rosen <irar@il.ibm.com> |
16619 | ||
537bbabd | 16620 | * tree-vectorizer.h (struct _stmt_vec_info): Add new field |
6004caaf IR |
16621 | read_write_dep and macros for its access. |
16622 | * tree-vectorizer.c (new_stmt_vec_info): Initialize the new field. | |
537bbabd | 16623 | * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Remove |
6004caaf IR |
16624 | argument, call vect_check_interleaving for every independent pair of |
16625 | data-refs. Mark loads that access the same memory location as a store | |
16626 | in the loop. | |
16627 | (vect_check_dependences): Remove. | |
537bbabd | 16628 | (vect_analyze_data_ref_dependences): Remove vect_check_dependences |
6004caaf | 16629 | call, fix the call to vect_analyze_data_ref_dependence. |
537bbabd | 16630 | (vect_analyze_data_ref_access): For statements that access the same |
6004caaf IR |
16631 | data-ref, check that they are not stores; for loads, check that there |
16632 | is no store that access the same location. | |
16633 | ||
78681dbd RS |
16634 | 2007-01-20 Roger Sayle <roger@eyesopen.com> |
16635 | Joseph Myers <joseph@codesourcery.com> | |
16636 | ||
16637 | * doc/invoke.texi (-fdump-rtl-combine): Fix under/overfull hbox. | |
16638 | (-fdump-rtl-stack): Likewise. | |
16639 | (-fno-signed-zeros): Use @minus{} for a minus sign. Correct typo. | |
16640 | (-mcheck-zero-division, -mcpu): Fix under/overfull hbox. | |
16641 | (-mpt-fixed): Use @minus{} for minus sign. | |
16642 | (Using Precompiled Headers): Fix under/overfull hbox. | |
16643 | ||
d48a05c3 JH |
16644 | 2007-01-20 Jan Hubicka <jh@suse.cz> |
16645 | ||
16646 | * tree-flow.h (struct stmt_ann_d): Move references_memory to proper | |
16647 | place within annotation. | |
16648 | ||
4c6d8726 JDA |
16649 | 2007-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
16650 | ||
16651 | * pa.c (output_move_double): Change array size of xoperands to 4. | |
16652 | ||
bbba68dd JH |
16653 | 2007-01-20 Jan Hubicka <jh@suse.cz> |
16654 | ||
16655 | * tree-tailcall.c (adjust_return_value): Do not use RESULT_DECL | |
16656 | as temporary. | |
16657 | ||
e4c9f3c2 ILT |
16658 | 2007-01-19 Ian Lance Taylor <iant@google.com> |
16659 | ||
16660 | * expmed.c (expand_divmod) [TRUNC_MOD_EXPR, TRUNC_DIV_EXPR]: Cast | |
16661 | constant to unsigned HOST_WIDE_INT before negating. | |
16662 | ||
b2bcf557 ILT |
16663 | 2007-01-19 Ian Lance Taylor <iant@google.com> |
16664 | ||
16665 | * tree-ssa-operands.h (struct vuse_vec_d): Change num_vuse field | |
16666 | to unsigned. | |
16667 | (VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Use unsigned comparison. | |
16668 | (VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise. | |
16669 | (SET_VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Likewise. | |
16670 | (SET_VUSE_ELEMENT_VAR) [ENABLE_CHECKING]: Likewise. | |
16671 | (SET_VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise. | |
16672 | (realloc_vdef, realloc_vuse): Change second parameter to | |
16673 | unsigned. | |
16674 | (ssa_operand_iterator_d): Change vuse_index and mayuse_index | |
16675 | fields to unsigned. | |
16676 | * tree-ssa-operands.c (realloc_vop): Change num_elem parameter to | |
16677 | unsigned. Change x and lim locals to unsigned. | |
16678 | (realloc_vdef, realloc_vuse): Change num_elem parameter to | |
16679 | unsigned. | |
16680 | (finalize_ssa_vuse_ops): Change old_i local to unsigned. | |
16681 | (copy_virtual_operands): Change i and n locals to unsigned. | |
16682 | ||
92d96628 KG |
16683 | 2007-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
16684 | ||
16685 | PR middle-end/29335 | |
16686 | * builtins.c (fold_builtin_1): Handle builtin fdim. | |
16687 | ||
c9fa8bd4 JH |
16688 | 2007-01-20 Jan Hubicka <jh@suse.cz> |
16689 | ||
3de8da2a UB |
16690 | * tree-ssa.c (init_tree_ssa): Do not call init_alias_heapvars. |
16691 | * tree-ssa-structalias.c (compute_points_to_sets): Do call | |
16692 | init_alias_heapvars. | |
16693 | (init_alias_heapvars): Initialize only when not already initialized. | |
16694 | (delete_alias_heapvars): Set heapvar_for_stmt to NULL. | |
c9fa8bd4 | 16695 | |
db02da79 RS |
16696 | 2007-01-19 Roger Sayle <roger@eyesopen.com> |
16697 | ||
16698 | * common.opt (fsigned-zeros): New command line option. | |
16699 | * flags.h (HONOR_SIGNED_ZEROS): Control via flag_signed_zeros instead | |
16700 | of flag_unsafe_math_optimizations. | |
16701 | * opts.c (set_fast_math_flags): The -ffast-math command line option | |
16702 | implies -fno-signed-zeros. | |
16703 | (fast_math_flags_set_p): Likewise. | |
16704 | ||
16705 | * doc/invoke.texi: Document new -fno-signed-zeros option, and update | |
16706 | the documentation of -ffast-math appropriately. Wrap long lines. | |
16707 | ||
67e47f30 SE |
16708 | 2007-01-19 Steve Ellcey <sje@cup.hp.com> |
16709 | ||
16710 | * system.h (ASM_MAKE_LABEL_LINKONCE): Poison. | |
16711 | * varasm.c (globalize_decl): Remove ASM_MAKE_LABEL_LINKONCE ifdef. | |
16712 | ||
6bad2617 TB |
16713 | 2007-01-19 Tomas Bily <tbily@suse.cz> |
16714 | ||
3de8da2a UB |
16715 | * cgraphunit.c (cgraph_finalize_function): Updating of pid |
16716 | * tree-profile.c: | |
16717 | (tree_init_ic_make_global_vars): New function | |
16718 | (tree_init_edge_profiler): call of tree_init_ic_make_global_vars | |
16719 | (tree_gen_ic_profiler): New function | |
16720 | (tree_gen_ic_func_profiler): New function | |
16721 | (tree_profiling): Added calling of tree_gen_ic_func_profiler | |
16722 | (tree_profile_hooks): Added hook for indirec/virtual calls | |
16723 | * value-prof.c (tree_find_values_to_profile): New case for | |
16724 | indirect calls | |
16725 | (tree_values_to_profile): Call for determining indirect/virtual | |
16726 | counters | |
16727 | (tree_indirect_call_to_profile): New function | |
16728 | (tree_ic_transform): New function | |
16729 | (tree_ic): New function | |
16730 | (find_func_by_pid): New function | |
16731 | (init_pid_map): New function | |
16732 | (tree_value_profile_transformations): Added check for | |
16733 | indirect/virtual call transformation | |
16734 | * value-prof.h (enum hist_type): New counter type for | |
16735 | indirect/virtual calls | |
16736 | (profile_hooks): Added new hook for profiling indirect/virtual | |
16737 | calls | |
16738 | * profile.c (instrument_values): New case for indirect/virtual | |
16739 | call added | |
16740 | * gcov-io.h (GCOV_LAST_VALUE_COUNTER): Changed to 6 | |
16741 | (GCOV_COUNTER_V_INDIR): New counter type | |
16742 | (GCOV_COUNTER_NAMES): New name of counter "indirect" added | |
16743 | (GCOV_MERGE_FUNCTIONS): New merge function for indirect/virtual | |
16744 | call added | |
16745 | * cgraph.c: Definition of cgraph_max_pid | |
16746 | (cgraph_create_node): Default init of pid attribute | |
16747 | * cgraph.h: Declaration of cgraph_max_pid | |
16748 | (struct cgraph_node): Added pid attribute | |
16749 | * libgcov.c (__gcov_indirect_call_profiler): New function | |
6bad2617 TB |
16750 | (__gcov_one_value_profiler_body): New function |
16751 | (__gcov_one_value_profiler): Body was moved to | |
16752 | __gcov_one_value_profiler_body and calls it | |
16753 | ||
b7c75af4 | 16754 | 2007-01-19 Basile Starynkevitch <basile@starynkevitch.net> |
537bbabd | 16755 | |
b153d3e1 | 16756 | * doc/gty.texi (Options): Document the mark_hook option to GTY. |
3de8da2a UB |
16757 | * gengtype.c (write_types_data, write_func_for_structure, |
16758 | write_types, ggc_wtd, pch_wtd): Add skip_hooks to | |
16759 | write_types_data, ggc_wtd, pch_wtd for processing mark_hook. | |
16760 | (walk_type, write_func_for_structure): Generate the mark_hook if | |
16761 | needed. | |
b7c75af4 | 16762 | |
c3056c2d JH |
16763 | 2007-01-19 Jan Hubicka <jh@suse.cz> |
16764 | ||
6ffa0491 JH |
16765 | * ipa-inline.c (cgraph_decide_inlining_incrementally): Instead of |
16766 | 'early' argument take inlining mode argument specifying whether to | |
16767 | inline for size/speeed or all functions; add support for flattening; | |
16768 | improve dumpting. | |
c3056c2d JH |
16769 | (cgraph_early_inlining): Update call of decide_inlining_incrementally. |
16770 | ||
e65fff3c MLI |
16771 | 2007-01-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
16772 | ||
16773 | PR c++/17947 | |
16774 | * toplev.c (warn_deprecated_use): Use %qD instead of %qs to print | |
16775 | the name of the declared identifier. | |
537bbabd | 16776 | |
b0fede98 DM |
16777 | 2007-01-19 Dirk Mueller <dmueller@suse.de> |
16778 | ||
16779 | * config/i386.h (CONDITIONAL_REGISTER_USAGE): Store | |
16780 | result of PIC_OFFSET_TABLE_REGNUM in temporary variable to avoid | |
16781 | duplicate evaluation. | |
16782 | ||
e2fc57a3 UB |
16783 | 2007-01-19 Uros Bizjak <ubizjak@gmail.com> |
16784 | ||
16785 | * config/i386/i386.md (acos<mode>2): Rename from acossf2 and acosdf2. | |
16786 | Macroize expander using X87MODEF12 mode macro. Extend operand 1 | |
16787 | to XFMode, use acosxf2 and truncate result to requested mode. | |
16788 | Use SSE_FLOAT_MODE_P to disable patterns for SSE math. | |
16789 | (asin<mode>2): Similarly, with asin expanders. | |
16790 | (*fscalexf4_i387): Rename from *fscalexf4. | |
16791 | (expNcorexf3): New expander. | |
16792 | (expxf2, exp10xf2, exp2xf2): Use expNcorexf3 expander. | |
16793 | (exp<mode>2): Rename from expsf2 and expdf2. Macroize expander using | |
16794 | X87MODEF12 mode macro. Extend operand 1 to XFMode, use expxf2 and | |
16795 | truncate result to requested mode. Use SSE_FLOAT_MODE_P to disable | |
16796 | patterns for SSE math. | |
16797 | (exp10<mode>2): Similarly, with exp10 expanders. | |
16798 | (exp2<mode>2): Similarly, with exp2 expanders. | |
16799 | (expm1<mode>2): Similarly, with expm1 expanders. | |
16800 | (ldexp<mode>3): Similarly, with ldexp expanders. | |
16801 | (log<mode>2, log10<mode>2, log2<mode>2, log1p<mode>2, logb<mode>2): | |
16802 | Use gen_truncxf<mode>2_i387_noop to truncate result. | |
16803 | ||
aaacff32 RS |
16804 | 2007-01-19 Richard Sandiford <richard@codesourcery.com> |
16805 | ||
16806 | * config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Define to 32 | |
16807 | for ColdFire targets. | |
16808 | ||
835b4008 NS |
16809 | 2007-01-19 Nathan Sidwell <nathan@codesourcery.com> |
16810 | Richard Sandiford <richard@codesourcery.com> | |
16811 | ||
16812 | * config/m68k/m68k.h (M68K_STATIC_CHAIN_REG_NAME): New macro. | |
16813 | (INITIALIZE_TRAMPOLINE): Use STATIC_CHAIN_REGNUM. | |
16814 | (__transfer_from_trampoline): Use M68K_STATIC_CHAIN_REG_NAME. | |
16815 | * config/m68k/m68kelf.h (STATIC_CHAIN_REGNUM): Override. | |
16816 | (M68K_STATIC_CHAIN_REG_NAME): Likewise. | |
16817 | * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise. | |
16818 | ||
b6d2f42e RS |
16819 | 2007-01-19 Richard Sandiford <richard@codesourcery.com> |
16820 | ||
16821 | * config/m68k/m68k.md (adddi_dilshr32): Rename to... | |
16822 | (*adddi_dilshr32): ...this. Fix formatting. Remove commented-out | |
16823 | non-canonical pattern. Restrict to !TARGET_COLDFIRE. | |
16824 | (*adddi_dilshr32_cf): New pattern. | |
16825 | (adddi3, subdi3): Remove first alternatives. | |
16826 | ||
f6ab62e8 RS |
16827 | 2007-01-19 Richard Sandiford <richard@codesourcery.com> |
16828 | ||
16829 | * config/m68k/m68k.c (notice_update_cc): If an SFmode move is | |
16830 | implemented using move.l, do not use its cc result for floating-point | |
16831 | comparisons. | |
16832 | ||
fe0cc776 RS |
16833 | 2007-01-19 Richard Sandiford <richard@codesourcery.com> |
16834 | ||
16835 | * config/m68k/m68k.h (EXTRA_CONSTRAINT): Stop the 'T' constraint | |
16836 | from accepting 's' constraints if flag_pic. | |
16837 | ||
379cd895 RS |
16838 | 2007-01-19 Richard Sandiford <richard@codesourcery.com> |
16839 | ||
16840 | * config/m68k/m68k.md (bordered, bunordered, buneq, bunge, bungt) | |
16841 | (bunle, bunlt, bltgt, bordered_rev, bunordered_rev, buneq_rev) | |
16842 | (bunge_rev, bungt_rev, bunle_rev, bunlt_rev, bltgt_rev): Change | |
16843 | condition from TARGET_68881 to TARGET_HARD_FLOAT. | |
16844 | ||
7a6525d6 SL |
16845 | 2007-01-19 Sandra Loosemore <sandra@codesourcery.com> |
16846 | ||
16847 | * longlong.h (count_leading_zeros, COUNT_LEADING_ZEROS_0): Add | |
16848 | ColdFire alternatives. | |
16849 | * config/m68k/m68k.h (CLZ_DEFINED_VALUE_AT_ZERO): New macro. | |
16850 | * config/m68k/m68k.md (clzsi2): Define for ColdFire | |
16851 | architectures that support ff1 instruction. | |
16852 | ||
f233b84c RS |
16853 | 2007-01-19 Richard Sandiford <richard@codesourcery.com> |
16854 | Julian Brown <julian@codesourcery.com> | |
16855 | ||
16856 | * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Add an 'R' case. | |
16857 | * config/m68k/m68k.md (*movsi_cfv4): Fold into... | |
16858 | (*movsi_cf): ...here. Remove unnecessary 'R' from 'Rg'. | |
16859 | Add commentary. | |
16860 | ||
bda2a571 RS |
16861 | 2007-01-19 Richard Sandiford <richard@codesourcery.com> |
16862 | ||
16863 | * config/m68k/m68k-protos.h (valid_mov3q_const): Take a HOST_WIDE_INT | |
16864 | and return a bool. | |
16865 | (output_move_const_into_data_reg, output_move_simode_const): Delete. | |
16866 | * config/m68k/m68k.c (const_method, const_int_cost): Take a | |
16867 | HOST_WIDE_INT instead of an rtx. | |
16868 | (m68k_rtx_costs): Update call accordingly. | |
16869 | (output_move_const_into_data_reg): Likewise. Fix formatting. | |
16870 | (valid_mov3q_const): Take a HOST_WIDE_INT instead of an rtx. | |
16871 | Return a bool. | |
16872 | (output_move_simode_const): Update calls after above changes. | |
16873 | Rework to use automatic variables and predicates like MEM_P. | |
16874 | * config/m68k/m68k.md (pushexthisi_const): Update call to | |
16875 | valid_mov3q_const. | |
16876 | ||
23e73993 DM |
16877 | 2007-01-19 Dirk Mueller <dmueller@suse.de> |
16878 | ||
16879 | * tree-ssa-alias.c (perform_var_substitution): Fix typo | |
16880 | in dump_flags test. | |
16881 | ||
b54c5497 RG |
16882 | 2007-01-19 Richard Guenther <rguenther@suse.de> |
16883 | ||
16884 | * builtins.c (expand_builtin_cexpi): Fall back to expanding | |
16885 | via cexp in case sincos is not available. | |
16886 | ||
006339cd RG |
16887 | 2007-01-19 Richard Guenther <rguenther@suse.de> |
16888 | ||
16889 | * doc/tm.texi (TARGET_HAS_SINCOS): Document new target macro. | |
16890 | * defaults.h (TARGET_HAS_SINCOS): Default to off. | |
16891 | * config/linux.h (TARGET_HAS_SINCOS): Set to on if we have glibc. | |
16892 | * config/alpha/linux.h (TARGET_HAS_SINCOS): Likewise. | |
16893 | * config/sparc/linux.h (TARGET_HAS_SINCOS): Likewise. | |
16894 | * config/sparc/linux64.h (TARGET_HAS_SINCOS): Likewise. | |
16895 | * config/rs6000/linux.h (TARGET_HAS_SINCOS): Likewise. | |
16896 | * config/rs6000/linux64.h (TARGET_HAS_SINCOS): Likewise. | |
16897 | ||
8ef4f42c UB |
16898 | 2007-01-19 Uros Bizjak <ubizjak@gmail.com> |
16899 | ||
16900 | * config/i386/i386.md (*fpatanxf3_i387, fpatan_extend<mode>xf3_i387): | |
16901 | New insn patterns. | |
16902 | (atan2sf3_1, atan2df3_1, atan2xf3_1): Remove insn patterns. | |
16903 | (atan2xf3): Directly generate RTL pattern. | |
16904 | (atan2<mode>3): Rename from atan2sf3 and atan2df3 and macroize insn | |
16905 | patterns using X87MODEF12 mode macro. Use fpatan_extend<mode>xf3_i387 | |
16906 | and truncate result to requested mode. Use SSE_FLOAT_MODE_P to | |
16907 | disable patterns for SSE math. | |
16908 | (atan<mode>2): Rename from atansf2 and atandf2 and macroize insn | |
16909 | patterns using X87MODEF12 mode macro. Use fpatan_extend<mode>xf3_i387 | |
16910 | and truncate result to requested mode. Use SSE_FLOAT_MODE_P to | |
16911 | disable patterns for SSE math. | |
16912 | ||
fe30b1f3 AO |
16913 | 2007-01-19 Alexandre Oliva <aoliva@redhat.com> |
16914 | ||
16915 | * libgcc-std.ver: Fix typo in %inherit for GCC_4.3.0. | |
16916 | ||
f85242f0 RS |
16917 | 2007-01-18 Roger Sayle <roger@eyesopen.com> |
16918 | ||
16919 | * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Optimize away a | |
16920 | VIEW_CONVERT_EXPR to the same type as it's operand. | |
16921 | ||
7fcc054b DE |
16922 | 2007-01-18 David Edelsohn <edelsohn@gnu.org> |
16923 | ||
16924 | * config/rs6000/darwin-ldouble.c: Only build _SOFT_FLOAT if | |
16925 | configured for long double 128. | |
16926 | ||
d1123cde MS |
16927 | 2007-01-18 Mike Stump <mrs@apple.com> |
16928 | ||
16929 | * config/rs6000/rs6000.c (rs6000_emit_vector_compare): Fix build | |
16930 | error. | |
16931 | ||
7874f14d MM |
16932 | 2007-01-18 Michael Meissner <michael.meissner@amd.com> |
16933 | ||
16934 | * i386.c (ix86_compute_frame_layout): Make fprintf's in #if 0 code | |
16935 | type correct. | |
16936 | ||
4cdffd96 JH |
16937 | 2007-01-18 Jan Hubicka <jh@suse.cz> |
16938 | ||
16939 | * tree-ssa-operands.c (vop_free_bucket_size): Never return value | |
16940 | greater than NUM_VOP_FREE_BUCKETS. | |
16941 | ||
3e5937d7 DB |
16942 | 2007-01-18 Daniel Berlin <dberlin@dberlin.org> |
16943 | ||
16944 | * tree-ssa-structalias.c: Update comments. | |
16945 | (ptabitmap_obstack): Removed. | |
16946 | (pta_obstack): New. | |
16947 | (oldpta_obstack): Ditto. | |
16948 | (stats): Add a few members. | |
16949 | (struct variable_info): Remove node, complex, address_taken, and | |
16950 | indirect_target members. Add oldsolution member. | |
16951 | (new_var_info): Do not initialize removed members. | |
16952 | (constraint_expr_type): Remove INCLUDES. | |
16953 | (constraint_graph): Add size, implicit_preds, rep, | |
16954 | indirect_cycles, eq_rep, label, direct_nodes, and complex members. | |
16955 | (FIRST_REF_NODE): New macro. | |
16956 | (LAST_REF_NODE): Ditto. | |
16957 | (FIRST_ADDR_NODE): Ditto. | |
16958 | (find): New function. | |
16959 | (unite): Ditto. | |
16960 | (dump_constraint): Do not handle INCLUDES. | |
16961 | (insert_into_complex): Do not insert duplicate constraints. | |
16962 | (condense_varmap_nodes): Renamed and rewritten into ... | |
16963 | (merge_node_constraints): This. Also fix bug in handling of | |
16964 | offseted copy constraints. | |
16965 | (clear_edges_for_node): No longer need to deal with preds at all, | |
537bbabd | 16966 | or removing associated preds/succs. |
3e5937d7 DB |
16967 | (merge_graph_nodes): Deal with indirect_cycles. |
16968 | Don't deal with predecessors. | |
16969 | (add_implicit_graph_edge): New function. | |
16970 | (add_pred_graph_edge): Ditto. | |
16971 | (add_graph_edge): Don't deal with predecessors. | |
16972 | (build_constraint_graph): Removed. | |
16973 | (build_pred_graph): New function. | |
16974 | (build_succ_graph): Ditto. | |
16975 | (struct scc_info): Removed in_component. Added roots, dfs, and | |
16976 | node_mapping. Remove visited_index, unification_queue. | |
16977 | (scc_visit): Deal with union-find we do now. | |
16978 | Deal with cycles with REF nodes. | |
16979 | (collapse_nodes): Renamed and rewritten to ... | |
16980 | (unify_nodes): This. | |
16981 | (process_unification_queue): Removed. | |
16982 | (topo_visit): Cleanup | |
16983 | (do_da_constraint): Use find. | |
16984 | (do_sd_constraint): Ditto. | |
16985 | (do_ds_constraint): Ditto. | |
16986 | (do_complex_constraint): Ditto. | |
16987 | (init_scc_info): Update for removed and added members. | |
16988 | (find_and_collapse_graph_cycles): Renamed and rewritten into ... | |
16989 | (find_indirect_cycles): This. | |
16990 | (equivalence_class): New variable. | |
16991 | (label_visit): New function. | |
16992 | (perform_variable_substitution): Rewritten. | |
16993 | (free_var_substitution_info): New function. | |
16994 | (find_equivalent_node): Ditto. | |
16995 | (move_complex_constraints): Ditto. | |
16996 | (eliminate_indirect_cycles): Ditto. | |
16997 | (solve_graph): Only propagate changed bits. | |
16998 | Use indirect cycle elimination. | |
16999 | Use find. | |
17000 | (tree_id_t): Rename to tree_vi_t, delete id member, add vi member. | |
17001 | (tree_id_eq): Renamed to ... | |
17002 | (tree_vi_eq): This. Update for member change | |
17003 | (insert_id_for_tree): Renamed and rewritten to ... | |
17004 | (insert_vi_for_tree): This. | |
17005 | (lookup_id_for_tree): Renamed and rewritten to ... | |
17006 | (lookup_vi_for_tree): This. | |
17007 | (get_id_for_tree): Renamed and rewritten to ... | |
17008 | (get_vi_for_tree): Ditto. | |
17009 | (get_constraint_exp_from_ssa_var): Update to use get_vi_for_tree. | |
17010 | (process_constraint): Don't handle INCLUDES. | |
17011 | Remove special ADDRESSOF case. | |
17012 | (find_func_aliases): Rewrite to use vi functions instead of id | |
17013 | ones. | |
17014 | (create_function_info_for): Ditto. | |
17015 | (create_variable_info_for): Ditto. | |
17016 | (intra_create_variable_infos): Ditto. | |
17017 | (merge_smts_into): Ditto. | |
17018 | (find_what_p_points_to): Ditto. | |
17019 | (init_base_vars): Ditto. | |
17020 | (init_alias_vars): Ditto. | |
17021 | (remove_preds_and_fake_succs): New function. | |
17022 | (dump_sa_points_to_info): Dump new stats. | |
17023 | (dump_solution_for_var): Use find. | |
17024 | (set_used_smts): Fix formatting. | |
17025 | (compute_points_to_sets): Updated for new functions. | |
17026 | (ipa_pta_execute): Ditto. | |
17027 | ||
576c9028 KH |
17028 | 2007-01-18 Kazu Hirata <kazu@codesourcery.com> |
17029 | Richard Sandiford <richard@codesourcery.com> | |
17030 | ||
17031 | * doc/tm.texi (TARGET_FUNCTION_VALUE): Expand documentation of | |
17032 | parallels. | |
17033 | * calls.c (expand_call): If the return value is a PARALLEL, | |
17034 | extract its first member. | |
17035 | * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Remove. | |
17036 | * config/m68k/m68k.c (m68k_output_function_epilogue): Don't | |
17037 | use FUNCTION_EXTRA_EPILOGUE. | |
17038 | (m68k_function_value): Return a PARALLEL if the return value | |
17039 | is of a pointer type. | |
17040 | * config/m68k/netbsd-elf.h (current_function_returns_pointer) | |
17041 | (FUNCTION_EXTRA_EPILOGUE): Remove. | |
17042 | * config/m68k/m68k.md (D0_REG): New constant. | |
17043 | ||
dfd05074 KH |
17044 | 2007-01-18 Kazu Hirata <kazu@codesourcery.com> |
17045 | ||
17046 | * config/m68k/m68k.c (m68k_output_function_epilogue): Don't | |
17047 | output a NOP for empty epilogues. | |
17048 | ||
413ac1b2 RS |
17049 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17050 | ||
17051 | * config/m68k/m68k.c (m68k_use_return_insn): Update comments | |
17052 | before function. Extend register save check to include all | |
17053 | registers, not just integer ones. | |
17054 | ||
a2bda628 KH |
17055 | 2007-01-18 Kazu Hirata <kazu@codesourcery.com> |
17056 | ||
17057 | * config/m68k/m68k-protos.h (use_return_insn): Rename to... | |
17058 | (m68k_use_return_insn): ...this. | |
17059 | * config/m68k/m68k.h (USE_RETURN_INSN): Delete. | |
17060 | * config/m68k/m68k.c (use_return_insn): Rename to... | |
17061 | (m68k_use_return_insn): ...this. | |
17062 | * config/m68k/m68k.md (return): Use m68k_use_return_insn instead | |
17063 | of USE_RETURN_INSN. | |
17064 | ||
e444d54e NS |
17065 | 2007-01-18 Nathan Sidwell <nathan@codesourcery.com> |
17066 | ||
17067 | * config/m68k/fpgnulib.c (__truncdfsf2): Implement round to | |
17068 | nearest even, fix denormal rounding overflow. | |
17069 | ||
17e143a1 RS |
17070 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17071 | ||
17072 | * config/m68k/m68k.md (movsf_cf_hard): Use fsmove instead of | |
17073 | f%$smove and f%$move. | |
17074 | (movdf_cf_hard): Use fdmove for cases 0 and 3 and fmove for case 1. | |
17075 | (extendsfdf2_cf): Use fdmove instead of f%&move. | |
17076 | (truncdfsf2_cf): Use fsmove instead of f%$smove. | |
17077 | (add<mode>3_cf, sub<mode>3_cf): Use <FP:prec> instead of <FP:round>. | |
17078 | ||
bb017fc1 RS |
17079 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17080 | ||
17081 | * config/m68k/m68k.md (movdf_cf_hard): Use output_move_double for | |
17082 | GPR<-GPR moves. | |
17083 | ||
58145e4d RS |
17084 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17085 | ||
17086 | * real.h (real_format): Add a canonical_nan_lsbs_set field. | |
17087 | (coldfire_single_format): Declare. | |
17088 | (coldfire_double_format): Likewise. | |
17089 | * real.c (encode_ieee_single): Use canonical_nan_lsbs_set instead | |
17090 | of qnan_msb_set to determine the lower bits of a canonical | |
17091 | NaN significand. | |
17092 | (encode_ieee_double): Likewise. | |
17093 | (encode_ieee_quad): Likewise. | |
17094 | (ieee_single_format): Initialize canonical_nan_lsbs_set. | |
17095 | (mips_single_format): Likewise. | |
17096 | (ieee_double_format): Likewise. | |
17097 | (mips_double_format): Likewise. | |
17098 | (ieee_extended_motorola_format): Likewise. | |
17099 | (ieee_extended_intel_96_format): Likewise. | |
17100 | (ieee_extended_intel_128_format): Likewise. | |
17101 | (ieee_extended_intel_96_round_53_format): Likewise. | |
17102 | (ibm_extended_format): Likewise. | |
17103 | (mips_extended_format): Likewise. | |
17104 | (ieee_quad_format): Likewise. | |
17105 | (mips_quad_format): Likewise. | |
17106 | (vax_f_format): Likewise. | |
17107 | (vax_d_format): Likewise. | |
17108 | (vax_g_format): Likewise. | |
17109 | (i370_single_format): Likewise. | |
17110 | (i370_double_format): Likewise. | |
17111 | (decimal_single_format): Likewise. | |
17112 | (decimal_double_format): Likewise. | |
17113 | (decimal_quad_format): Likewise. | |
17114 | (c4x_single_format): Likewise. | |
17115 | (c4x_extended_format): Likewise. | |
17116 | (real_internal_format): Likewise. | |
17117 | (coldfire_single_format): New real_format. | |
17118 | (coldfire_double_format): Likewise. | |
17119 | * config/pdp11/pdp11.c (pdp11_f_format): Initialize | |
17120 | canonical_nan_lsbs_set. | |
17121 | (pdp11_d_format): Likewise. | |
17122 | * config/m68k/m68k.c (override_options): Override REAL_FORMAT_MODE | |
17123 | if TARGET_COLDFIRE_CPU. | |
17124 | ||
29ca003a RS |
17125 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17126 | ||
17127 | * config/m68k/m68k-protos.h (m68k_output_pic_call): Delete. | |
17128 | (output_call, m68k_legitimize_call_address): Declare. | |
17129 | * config/m68k/m68k.h (EXTRA_CONSTRAINT): Remove unnecessary | |
17130 | parenthesees. Add support for a 'W' constraint. | |
17131 | (LEGITIMATE_PIC_OPERAND_P): Remove SYMBOL_REF_FLAG handling. | |
17132 | (PRINT_OPERAND_PUNCT_VALID_P): Remove comment about 'o'. | |
17133 | (m68k_symbolic_call, m68k_symbolic_jump): Declare. | |
17134 | * config/m68k/m68k.c (m68k_symbolic_call, m68k_symbolic_jump): New | |
17135 | variables. | |
17136 | (override_options): Initialize them. Do not set flag_no_function_cse | |
17137 | for TARGET_ID_SHARED_LIBRARY. | |
17138 | (m68k_output_pic_call): Delete. | |
17139 | (m68k_legitimize_call_address): New function. | |
17140 | (print_operand): Remove the %o prefix. Handle the %p prefix. | |
17141 | (output_call): New function. | |
17142 | (m68k_output_mi_thunk): Use m68k_symbolic_jump. Always load the | |
17143 | target address from the GOT if symbolic jumps are not allowed. | |
17144 | * config/m68k/m68k.md (call, general_operand): Do not set | |
17145 | SYMBOL_REF_FLAG. Use m68k_legitimize_call_address instead. | |
17146 | Merge separate flag_pic and !flag_pic define_insns into... | |
17147 | (*call, *call_value): ...these new patterns. Match the address | |
17148 | rather than the containing MEM and require it to be a call_operand. | |
17149 | Use output_call to generate the asm template. | |
17150 | * config/m68k/predicates.md (const_call_operand): New predicate. | |
17151 | (call_operand): Likewise. | |
17152 | ||
85dbf7e2 NS |
17153 | 2007-01-18 Nathan Sidwell <nathan@codesourcery.com> |
17154 | ||
17155 | * config/m68k/m68k.h (REGISTER_MOVE_COST): Simplify definition. | |
17156 | (STACK_GROWS_DOWNWARD): Define to 1. | |
17157 | (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Equivocate | |
17158 | comments, emphasizing that these values are only defaults. | |
17159 | * config/m68k/linux.h (LINK_SPEC): Fix formatting in #undef. | |
17160 | * config/m68k/m68k.c (const_method): Remove trailing whitespace. | |
17161 | ||
565e35c9 RS |
17162 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17163 | ||
17164 | * config/m68k/m68k.md (cmpsi): Remove outdated flag_pic handling. | |
17165 | ||
36e04090 KH |
17166 | 2007-01-18 Kazu Hirata <kazu@codesourcery.com> |
17167 | Richard Sandiford <richard@codesourcery.com> | |
17168 | ||
17169 | * config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P) | |
17170 | (FP_REGNO_P): New macros. | |
17171 | (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_DATA_P) | |
17172 | (REGNO_OK_FOR_FP_P, REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Use them. | |
17173 | (EH_RETURN_STACKADJ_RTX): Use A0_REG. | |
17174 | * config/m68k/m68k.c (m68k_regno_mode_ok): Use the new REGNO macros. | |
17175 | ||
47b41fa3 NS |
17176 | 2007-01-18 Nathan Sidwell <nathan@codesourcery.com> |
17177 | ||
17178 | * config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*) | |
17179 | (m68k-*-uclinuxoldabi, m68k-*-uclinux*, m68k-*-rtems*): Add t-floatlib | |
17180 | to $tmake_file. | |
17181 | * config/m68k/t-floatlib: New file, extracting common code from... | |
17182 | * config/m68k/t-m68kbare, config/m68k/t-m68kelf, | |
17183 | * config/m68k/t-uclinux: Here. | |
17184 | * config/m68k/fpgnulib.c: Do not compile extendeed precision | |
17185 | routines on ColdFire targets. | |
17186 | ||
a96533d5 NS |
17187 | 2007-01-18 Nathan Sidwell <nathan@codesourcery.com> |
17188 | ||
17189 | * config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*) | |
17190 | (m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*) | |
17191 | (m68k-*-uclinuxoldabi, m68k-*-uclinux*, m68k-*-linux*) | |
17192 | (m68k-*-rtems*): Use tm_file rather than m68k/m68k.h and | |
17193 | explicitly set MOTOROLA to 1. | |
17194 | * config/m68k/m68k.h (MOTOROLA): Simplify definition accordingly. | |
17195 | ||
ba5f7c88 RS |
17196 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17197 | Nathan Sidwell <nathan@codesourcery.com> | |
17198 | ||
17199 | * config/m68k/m68k.h (PCC_STATIC_STRUCT_RETURN): Delete. | |
17200 | (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add MOTOROLA cases. | |
17201 | * config/m68k/coff.h (REGISTER_PREFIX_MD): Delete. | |
17202 | * config/m68k/m68020-elf.h (LIB_SPEC): Delete. | |
17203 | * config/m68k/m68k-none.h (CC1_SPEC, CPP_SUBTARGET_SPEC): Delete. | |
17204 | * config/m68k/m68kelf.h (IMMEDIATE_PREFIX, REGISTER_PREFIX_MD) | |
17205 | (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete. | |
17206 | (NO_DOLLAR_IN_LABEL, PCC_STATIC_STRUCT_RETURN): Don't undefine. | |
17207 | (BSS_ASM_OP, ASM_OUTPUT_SKIP, ASM_OUTPUT_ASCII): Delete. | |
17208 | * config/m68k/m68kemb.h (PCC_STATIC_STRUCT_RETURN): Don't undefine. | |
17209 | * config/m68k/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE) | |
17210 | (WCHAR_TYPE_SIZE, TARGET_OBJFMT_CPP_BUILTINS): Delete. | |
17211 | (TARGET_OS_CPP_BUILTINS): Don't define mc68000 and mc68020 here. | |
17212 | (DBX_REGISTER_NUMBER): Delete. | |
17213 | * config/m68k/netbsd-elf.h (IMMEDIATE_PREFIX): Delete. | |
17214 | (PCC_STATIC_STRUCT_RETURN): Don't undefine. | |
17215 | * config/m68k/openbsd.h (PCC_STATIC_STRUCT_RETURN): Define. | |
17216 | ||
abe92a04 RS |
17217 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17218 | ||
17219 | * config.gcc (m68k-*-uclinux*): Add flat.h to $tm_file. | |
17220 | * config/flat.h: New file. | |
17221 | * crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define if | |
17222 | OBJECT_FORMAT_FLAT. | |
17223 | * config/m68k/m68k.h (ASM_PREFERRED_EH_DATA_FORMAT): Do not use | |
17224 | indirect references for -msep-data or -mid-shared-library. | |
17225 | Do not use PC-relative code addresses either. | |
17226 | * config/m68k/m68k.c (override_options): Restrict -fPIC error | |
17227 | to -mpcrel. | |
17228 | * config/m68k/uclinux.h (STARTFILE_SPEC): Define. Use Scrt1.o | |
17229 | for shared libraries and crt1.o for executables. Use crti.o and | |
17230 | crtbegin.o. | |
17231 | (ENDFILE_SPEC): Use crtend.o and crtn.o. | |
17232 | (LIB_SPEC): Suppress -Rlibc.gdb if -static-libc is given. | |
17233 | Do not add -elf2flt or -shared-lib-id options here. | |
17234 | (LINK_SPEC): Define. Pass -elf2flt if no -elf2flt option is given. | |
17235 | Pass -shared-lib-id if -mid-shared-library, taking the library | |
17236 | identifier from -mshared-library-id if given, otherwise | |
17237 | defaulting to 0. | |
17238 | (EH_FRAME_IN_DATA_SECTION): Do not undefine. | |
17239 | (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Likewise. | |
17240 | (TARGET_OS_CPP_BUILTINS): Define __GXX_MERGED_TYPEINFO_NAMES=0 | |
17241 | and __GXX_TYPEINFO_EQUALITY_INLINE=0 if -mid-shared-library. | |
17242 | (DRIVER_SELF_SPECS): Map unadorned PIC options to -msep-data. | |
17243 | * config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Add crtbegin.o | |
17244 | and crtend.o. | |
17245 | * config/m68k/lb1sf68.asm (PICCALL): Use an lea and pc-relative | |
17246 | jump sequence for ISA A and ISA A+. | |
17247 | (PICJUMP): Likewise. | |
17248 | ||
78218d89 RS |
17249 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17250 | ||
17251 | * config.gcc (m68k-*-uclinux*): Base the port on the common | |
17252 | and m68k GNU/Linux files rather than on the generic ELF ones. | |
17253 | * config/m68k/uclinux.h (TARGET_VERSION): Override. | |
17254 | (TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS. | |
17255 | ||
5189ab94 JB |
17256 | 2007-01-18 Julian Brown <julian@codesourcery.com> |
17257 | Richard Sandiford <richard@codesourcery.com> | |
17258 | ||
17259 | * config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Make 64-bit on ColdFire. | |
17260 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise. | |
17261 | * config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Undefine | |
17262 | before redefining. | |
17263 | * config/m68k/uclinux-oldabi.h (LONG_DOUBLE_TYPE_SIZE): Redefine to | |
17264 | 80 unconditionally. | |
17265 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise. | |
17266 | ||
4529dbf1 RS |
17267 | 2007-01-18 Richard Sandiford <richard@codesourcery.com> |
17268 | ||
17269 | * doc/install.texi: Document m68k-uclinuxoldabi. | |
17270 | * config.gcc (m68k-*-uclinuxoldabi): New configuration. | |
17271 | * config/m68k/uclinux-oldabi.h: New file, copied from | |
17272 | config/m68k/uclinux.h. | |
17273 | ||
e2265be0 KK |
17274 | 2007-01-18 Kaz Kojima <kkojima@rr.iij4u.or.jp> |
17275 | ||
17276 | * config/m32r/m32r-protos.h (m32r_expand_epilogue): Declare it. | |
17277 | * config/m32r/m32r.c (m32r_setup_incoming_varargs): Use gen_frame_mem. | |
17278 | (m32r_compute_frame_size): Use unsigned for regno. | |
17279 | (m32r_reload_lr): Use gen_frame_mem. | |
17280 | (pop): New. | |
17281 | (m32r_output_function_epilogue): Don't output the function epilogue | |
17282 | textually here. | |
17283 | (m32r_expand_epilogue): New. | |
17284 | (direct_return): Return false if the function has the interrupt | |
17285 | attribute. | |
17286 | (m32r_hard_regno_rename_ok): Remove code for the textual epilogue. | |
17287 | * config/m32r/m32r.md (epilogue): New expander. | |
17288 | (return_lr, return_rte): New insns. | |
17289 | (return): Make it expander. | |
17290 | (return_normal): New expander. | |
17291 | ||
370df7db JC |
17292 | 2007-01-18 Josh Conner <jconner@apple.com> |
17293 | ||
17294 | PR target/30485 | |
17295 | * config/rs6000/rs6000.c (rs6000_emit_vector_compare): Add | |
17296 | support for UNLE, UNLT, UNGE, and UNGT. | |
17297 | ||
1994bfea JH |
17298 | 2007-01-18 Jan Hubicka <jh@suse.cz> |
17299 | ||
17300 | * tree-vrp.c (finalize_jump_threads): Do not call cleanup_cfg by hand. | |
17301 | * tree-tailcall (add_virtual_phis): Likewise. | |
17302 | (optimize_tail_call): Return TODOs. | |
17303 | (execute_tail_calls): Return TODOs. | |
17304 | * tree-ssa-ccp (execute_fold_all_builtins): Do cleanup_cfg via TODO. | |
17305 | * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Return if something | |
17306 | changed. | |
17307 | * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value): | |
17308 | Cleanup cfg using TODO. | |
17309 | * tree-flow.h (cleanup_tree_cfg_loop): Update prototype. | |
17310 | * passes.c (execute_function_todo): When cleanup did something, remove | |
17311 | unused locals. | |
17312 | * tree-cfg.c (pass_build_cfg): Add cleanup_cfg TODO. | |
17313 | (make_edges): Don't cleanup_cfg. | |
17314 | ||
d85c7550 UB |
17315 | 2007-01-18 Uros Bizjak <ubizjak@gmail.com> |
17316 | ||
17317 | * reg-stack.c (subst_stack_regs_pat) [UNSPEC_SINCOS_COS, | |
17318 | UNSPEC_XTRACT_FRACT]: Use generic code for instructions that | |
17319 | operate on the top of stack. | |
17320 | [UNSPEC_SINCOS_SIN, UNSPEC_XTRACT_EXP, UNSPEC_TAN]: Rewrite | |
17321 | register handling of instructions that output to the second | |
17322 | stack slot. | |
17323 | [UNSPEC_TAN_ONE, UNSPEC_TAN_TAN]: Remove. | |
17324 | (move_for_stack_reg): Special-case check for dead destination | |
17325 | stack slot for constant load of 1.0 inside UNSPEC_TAN. | |
17326 | ||
17327 | * config/i386/i386.md (UNSPEC_TAN): New constant. | |
17328 | (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): Remove. | |
17329 | (fptanxf4_i387, fptan_extend<mode>xf4_i387): New patterns | |
17330 | to correctly model move of constant 1.0 to top stack slot. | |
17331 | (*tandf3_1, *tansf3_1, *tanxf3_1): Remove insn patterns. | |
17332 | (unnamed peephole2 pattern): Remove corresponding peephole2 | |
17333 | pattern that optimizes tan insn and loading of constant 1.0. | |
17334 | (tanxf2): Use fptanxf4_i387. | |
17335 | (tan<mode>2): Rename from tansf2 and tandf2 and macroize insn | |
17336 | patterns using X87MODEF12 mode macro. Use fptan_extend<mode>xf4_i387 | |
17337 | and truncate result to requested mode. Use SSE_FLOAT_MODE_P to | |
17338 | disable patterns for SSE math. | |
17339 | (sincos<mode>3): Use truncxf<mode>2_i387_noop for truncation. | |
17340 | (fyl2x_extend<mode>xf3_i387): Use X87MODEF12 for operand 1. | |
17341 | ||
590b1f2d | 17342 | 2007-01-18 Dirk Mueller <dmueller@suse.de> |
d85c7550 | 17343 | Richard Guenther <rguenther@suse.de> |
590b1f2d | 17344 | |
d85c7550 UB |
17345 | PR diagnostic/8268 |
17346 | * doc/invoke.texi (Warray-bounds): Document -Warray-bounds. | |
17347 | * common.opt (Warray-bounds): Add new warning option. | |
17348 | * c-opts.c (c_common_handle_option): Define -Warray-bounds | |
17349 | if -Wall is given. | |
590b1f2d | 17350 | * Makefile.in: make tree-vrp.o depend on toplev.h |
d85c7550 UB |
17351 | * tree-vrp.c (vrp_finalize): Call check_array_refs if -Warray-bounds |
17352 | is enabled. | |
17353 | (check_array_refs, check_array_bounds, check_array_ref): New. | |
590b1f2d | 17354 | |
d85c7550 | 17355 | 2007-01-18 Jan Hubicka <jh@suse.cz> |
3253eafb JH |
17356 | |
17357 | * tree-ssa-ccp.c (ccp_finalize): Return if something changed. | |
17358 | (execute_ssa_ccp): Return flags conditionally. | |
17359 | * tree-ssa-propagate.c (substitue_and_fold): Return if something was | |
17360 | changed. | |
17361 | * tree-ssa-propagate.h (substitute_and_fold): Update prototype. | |
17362 | ||
d85c7550 | 17363 | 2007-01-18 Steven Bosscher <steven@gcc.gnu.org> |
aeceeb06 SB |
17364 | |
17365 | * cfgcleanup.c (cleanup_cfg): Detect cfglayout mode and set | |
17366 | the CLEANUP_CFGLAYOUT flag when in cfglayout mode. | |
17367 | ||
17368 | * Makefile.c (GTFILES): Add cfglayout.h. | |
17369 | * gengtype.c (open_base_files): Likewise. | |
17370 | * cfglayout.c (cfg_layout_function_footer, | |
17371 | cfg_layout_function_header) Reindent to make gengtype happy. | |
17372 | * cfglayout.h (cfg_layout_function_footer, | |
17373 | cfg_layout_function_header): Add GTY(()) marker. | |
17374 | ||
17375 | * ifcvt.c (noce_try_sign_mask): Make sure INSN_B is non-null. | |
17376 | ||
19b8c2d9 BE |
17377 | 2007-01-18 Ben Elliston <bje@au.ibm.com> |
17378 | ||
17379 | * genautomata.c (write_automata): Include xstrerror output in the | |
17380 | error message if writing the DFA description file fails. | |
17381 | ||
f8fdb503 L |
17382 | 2007-01-17 H.J. Lu <hongjiu.lu@intel.com> |
17383 | ||
17384 | * config/mips/mips-protos.h (mips_output_external): Make it | |
17385 | return void. | |
17386 | * config/mips/iris.h (TARGET_ASM_EXTERNAL_LIBCALL): Removed. | |
17387 | * config/mips/mips.c (irix_output_external_libcall): Likewise. | |
17388 | (extern_list): Likewise. | |
17389 | (extern_head): Likewise. | |
17390 | (TARGET_ASM_FILE_END): Likewise. | |
17391 | (mips_file_end): Likewise. | |
17392 | (mips_output_external): Rewritten. | |
17393 | ||
495fb8cd BE |
17394 | 2007-01-18 Ben Elliston <bje@au.ibm.com> |
17395 | ||
17396 | * genpreds.c (write_insn_preds_c): Only write out the function | |
17397 | body for regclass_for_constraint if we have register constraints. | |
17398 | ||
4eb3e795 TT |
17399 | 2007-01-17 Tom Tromey <tromey@redhat.com> |
17400 | ||
17401 | * doc/sourcebuild.texi (libgcj Tests): Use sourceware.org. | |
17402 | * doc/install.texi (Testing): Use sourceware.org. | |
17403 | (Binaries): Likewise. | |
17404 | (Specific): Likewise. | |
17405 | * doc/contrib.texi (Contributors): Use sourceware.org. | |
17406 | ||
e7fd0be4 ILT |
17407 | 2007-01-17 Anatoly Sokolov <aesok@post.ru> |
17408 | ||
17409 | * config/avr/avr.h (AVR_HAVE_LPMX): New macro. | |
17410 | (AVR_ENHANCED): Rename to ... | |
17411 | (AVR_HAVE_MUL): ... new. | |
17412 | (avr_enhanced_p): Rename to ... | |
17413 | (avr_have_mul_p): ... new. | |
537bbabd | 17414 | (TARGET_CPU_CPP_BUILTINS): Use 'avr_have_mul_p' instead of |
e7fd0be4 ILT |
17415 | 'avr_enhanced_p' for "__AVR_ENHANCED__". Define "__AVR_HAVE_MUL__". |
17416 | * config/avr/avr.c (avr_enhanced_p): Rename to ... | |
17417 | (avr_have_mul_p): ... new. | |
17418 | (base_arch_s): Rename 'enhanced' to 'have_mul'. | |
17419 | (avr_override_options): Use 'avr_have_mul_p' and 'have_mul' instead of | |
17420 | 'avr_enhanced_p' and 'enhanced'. | |
537bbabd | 17421 | (ashlhi3_out, ashrhi3_out, lshrhi3_out, avr_rtx_costs): Use |
e7fd0be4 ILT |
17422 | AVR_HAVE_MUL instead of AVR_ENHANCED. |
17423 | * avr.md (*tablejump_enh): Use AVR_HAVE_LPMX instead of AVR_ENHANCED. | |
537bbabd EC |
17424 | (mulqi3, *mulqi3_enh, *mulqi3_call, mulqihi3, umulqihi3, mulhi3, |
17425 | *mulhi3_enh, *mulhi3_call, mulsi3, *mulsi3_call): Use AVR_HAVE_MUL | |
e7fd0be4 ILT |
17426 | instead of AVR_ENHANCED. |
17427 | (*tablejump_enh): Use AVR_HAVE_LPMX instead of AVR_ENHANCED. | |
17428 | * libgcc.S: Use __AVR_HAVE_MUL__ instead of __AVR_ENHANCED__. | |
17429 | (__tablejump__): Use __AVR_HAVE_LPMX__ instead of __AVR_ENHANCED__. | |
dd6d1f8c | 17430 | |
efb7e1e0 ILT |
17431 | 2007-01-17 Ian Lance Taylor <iant@google.com> |
17432 | ||
17433 | * vec.h (VEC_reserve_exact): Define. | |
17434 | (vec_gc_p_reserve_exact): Declare. | |
17435 | (vec_gc_o_reserve_exact): Declare. | |
17436 | (vec_heap_p_reserve_exact): Declare. | |
17437 | (vec_heap_o_reserve_exact): Declare. | |
17438 | (VEC_OP (T,A,reserve_exact)): New static inline function, three | |
17439 | versions. | |
17440 | (VEC_OP (T,A,reserve)) [all versions]: Remove handling of | |
17441 | negative parameter. | |
17442 | (VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact. | |
17443 | (VEC_OP (T,A,copy)) [all versions]: Likewise. | |
17444 | (VEC_OP (T,a,safe_grow)) [all versions]: Likewise. | |
17445 | * vec.c (calculate_allocation): Add exact parameter. Change all | |
17446 | callers. | |
17447 | (vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve. | |
17448 | (vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1. | |
17449 | (vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions. | |
17450 | (vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve. | |
17451 | (vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1. | |
17452 | (vec_heap_p_reserve_exact): New function. | |
17453 | (vec_heap_o_reserve_exact): New function. | |
17454 | ||
dd82a6c6 JH |
17455 | 2007-01-17 Jan Hubicka <jh@suse.cz> |
17456 | ||
17457 | * ipa-type-escape.c (look_for_casts): Revamp using handled_component_p. | |
17458 | ||
30fd45a0 EC |
17459 | 2007-01-17 Eric Christopher <echristo@apple.com> |
17460 | ||
17461 | * config.gcc: Support core2 processor. | |
17462 | ||
109c8d39 JH |
17463 | 2007-01-16 Jan Hubicka <jh@suse.cz> |
17464 | ||
17465 | * tree-ssanames.c (release_dead_ssa_names): Instead of ggc_freeing | |
7e08fa35 UB |
17466 | the names, just unlink the chain so we don't crash on dangling |
17467 | pointers | |
109c8d39 JH |
17468 | to dead SSA names. |
17469 | ||
873aa8f5 JH |
17470 | 2007-01-16 Jan Hubicka <jh@suse.cz> |
17471 | ||
17472 | * cgraph.h (cgraph_decide_inlining_incrementally): Kill. | |
17473 | * tree-pass.h: Reorder to make IPA passes appear toegher. | |
7e08fa35 UB |
17474 | (pass_early_inline, pass_inline_parameters, pass_apply_inline): |
17475 | Declare. | |
873aa8f5 JH |
17476 | * cgraphunit.c (cgraph_finalize_function): Do not compute inling |
17477 | parameters, do not call early inliner. | |
17478 | * ipa-inline.c: Update comments. Include tree-flow.h | |
17479 | (cgraph_decide_inlining): Do not compute inlining parameters. | |
17480 | (cgraph_decide_inlining_incrementally): Return TODOs; assume to | |
17481 | be called with function context set up. | |
17482 | (pass_ipa_inline): Remove unreachable functions before pass. | |
17483 | (cgraph_early_inlining): Simplify assuming to be called from the | |
17484 | PM as local pass. | |
17485 | (pass_early_inline): New pass. | |
17486 | (cgraph_gate_ipa_early_inlining): New gate. | |
17487 | (pass_ipa_early_inline): Turn into simple wrapper. | |
17488 | (compute_inline_parameters): New function. | |
17489 | (gate_inline_passes): New gate. | |
17490 | (pass_inline_parameters): New pass. | |
17491 | (apply_inline): Move here from tree-optimize.c | |
17492 | (pass_apply_inline): New pass. | |
17493 | * ipa.c (cgraph_remove_unreachable_nodes): Verify cgraph after | |
17494 | transforming. | |
17495 | * tree-inline.c (optimize_inline_calls): Return TODOs rather than | |
17496 | doing them by hand. | |
17497 | (tree_function_versioning): Do not allocate dummy struct function. | |
17498 | * tree-inline.h (optimize_inline_calls): Update prototype. | |
17499 | * tree-optimize.c (execute_fixup_cfg): Export. | |
17500 | (pass_fixup_cfg): Remove | |
17501 | (tree_rest_of_compilation): Do not apply inlines. | |
17502 | * tree-flow.h (execute_fixup_cfg): Declare. | |
17503 | * Makefile.in (gt-passes.c): New. | |
17504 | * passes.c: Include gt-passes.h | |
17505 | (init_optimization_passes): New passes. | |
17506 | (nnodes, order): New static vars. | |
17507 | (do_per_function_toporder): New function. | |
17508 | (execute_one_pass): Dump current pass here. | |
17509 | (execute_ipa_pass_list): Don't dump current pass here. | |
17510 | ||
70b81845 JJ |
17511 | 2007-01-16 Janis Johnson <janis187@us.ibm.com> |
17512 | ||
17513 | * config/dfp-bit.c (dfp_compare_op): Return separate value for NaN. | |
17514 | (DFP_NE, DFP_LE, DFP_GE): Return false for NaN. | |
17515 | ||
d0768f19 DE |
17516 | 2007-01-16 David Edelsohn <edelsohn@gnu.org> |
17517 | ||
17518 | * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT. | |
17519 | (strong_alias): Define. | |
17520 | (__gcc_qmul): Provide non-FMA for soft-float. | |
17521 | (__gcc_qdiv): Same. | |
17522 | (__gcc_qneg): New. | |
17523 | (__gcc_qeq): New. | |
17524 | (__gcc_qle): New. | |
17525 | (__gcc_qge): New. | |
17526 | (__gcc_qunord): New. | |
17527 | (__gcc_stoq): New. | |
17528 | (__gcc_dtoq): New. | |
17529 | (__gcc_qtos): New. | |
17530 | (__gcc_qtod): New. | |
17531 | (__gcc_qtoi): New. | |
17532 | (__gcc_qtou): New. | |
17533 | (__gcc_itoq): New. | |
17534 | (__gcc_utoq): New. | |
17535 | (fmsub): New. | |
17536 | * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize | |
17537 | soft-float functions. | |
17538 | * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols. | |
17539 | * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn | |
17540 | about long double soft float. | |
17541 | ||
878aa817 | 17542 | 2007-01-16 Dorit Nuzman <dorit@il.ibm.com> |
3de8da2a | 17543 | Tehila Meyzels <tehila@il.ibm.com> |
878aa817 DN |
17544 | |
17545 | * tree-vectorizer.h (is_pattern_stmt_p): New. | |
17546 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Fix | |
17547 | formatting (tabs instead of spaces). Cleanup and clarify setting | |
17548 | of STMT_VINFO_VECTYPE. Call is_pattern_stmt_p. | |
17549 | * tree-vect-transform.c (vect_get_vec_def_for_operand): Fix typo. | |
17550 | (vectorizable_type_demotion): Check that types are integral. | |
17551 | (vectorizable_type_promotion): Likewise. | |
17552 | (vectorizable_store): Fix typo. Eliminate new-line at end of | |
17553 | comments. | |
17554 | ||
03b1d134 JH |
17555 | 2007-01-16 Jan Hubicka <jh@suse.cz> |
17556 | ||
17557 | * tree-ssanames.c (release_dead_ssa_names): Remove invalidated | |
17558 | cgraph edges too. | |
17559 | ||
632ac2b4 EC |
17560 | 2007-01-15 Eric Christopher <echristo@apple.com> |
17561 | ||
17562 | * ifcvt.c: Include vec.h, vecprim.h. | |
17563 | (check_cond_move_block): New argument regs. | |
17564 | Reorganize. Add registers used to regs. | |
17565 | (cond_move_process_if_block): Use regs set above as | |
17566 | loop bounds. | |
17567 | ||
7a292b24 EC |
17568 | 2007-01-15 Eric Christopher <echristo@apple.com> |
17569 | ||
17570 | * config/darwin.h: Update copyright. | |
17571 | (TARGET_OPTION_TRANSLATE_TABLE): Add umbrella. | |
17572 | (LINK_COMMAND_SPEC): Add -u. | |
17573 | (LINK_SPEC): Fix umbrella for above. | |
17574 | ||
af7a7593 JM |
17575 | 2007-01-15 Joseph S. Myers <joseph@codesourcery.com> |
17576 | ||
17577 | * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from | |
17578 | glibc CVS. | |
17579 | ||
69403237 TT |
17580 | 2007-01-15 Tom Tromey <tromey@redhat.com> |
17581 | ||
17582 | * doc/sourcebuild.texi (libgcj Tests): Don't mention jacks. | |
17583 | * doc/install.texi (Testing): Don't mention jacks. | |
17584 | (Configuration): Document --enable-java-maintainer-mode. Move | |
17585 | --with-java-home to libgcj-specific section. Document | |
17586 | --with-ecj-jar. | |
17587 | (Prerequisites): Mention --enable-java-maintainer-mode, ecj1. | |
17588 | ||
7665f023 JH |
17589 | 2007-01-15 Jan Hubicka <jh@suse.cz> |
17590 | ||
17591 | * tree-ssa-dce.c (DCE_TODOs): New. | |
17592 | (propagate_necessity): Return if something changed. | |
17593 | (eliminate_unnecessary_stmts): Likewise. | |
17594 | (perform_tree_ssa_dce): Return TODO flags when needed. | |
17595 | (pass_dce, pass_dce_loop, pass_cd_dce): Remove TODO flags. | |
17596 | ||
0ac45694 UB |
17597 | 2007-01-15 Uros Bizjak <ubizjak@gmail.com> |
17598 | ||
17599 | * config/i386/i386.md (fyl2xxf3_i387): Rename from fyl2x_xf3. | |
17600 | (fyl2x_extend<mode>xf3_i387): New insn pattern. | |
17601 | (log<mode>2): Rename from logsf2 and logdf2 and macroize insn | |
d85c7550 | 17602 | patterns using X87MODEF12 mode macro. Extend operand 1 |
0ac45694 UB |
17603 | to XFmode. Use SSE_FLOAT_MODE_P to disable patterns for SSE math. |
17604 | (log10<mode>2): Ditto. | |
17605 | (log2<mode>2): Ditto. | |
17606 | (log1p<mode>2): Ditto. | |
17607 | (logb<mode>2): Ditto. | |
17608 | (fyl2xp1xf3_i387): Rename from fyl2xp1_xf3. | |
17609 | (fyl2xp1_extend<mode>xf3_i387): New insn pattern. | |
17610 | (*fxtractxf3_i387): Rename from *fxtractxf3. | |
17611 | (fxtract_extend<mode>xf3_i387): New insn pattern. | |
17612 | (ilogbsi2): Use match_dup 3, not match_operand:XF 3. | |
0ac45694 UB |
17613 | * config/i386/i386.c (ix86_emit_i387_log1p): Use gen_fyl2xp1xf3_i387() |
17614 | and gen_fyl2xxf3_i387(). | |
17615 | ||
b4c1c7e3 ZD |
17616 | 2007-01-14 Zdenek Dvorak <dvorakz@suse.cz> |
17617 | ||
17618 | * loop-unswitch.c (unswitch_loop): Do not call fix_loop_placement. | |
17619 | * cfgloopmanip.c (fix_loop_placement): Made static. Use | |
17620 | get_loop_exit_edges. Changed return type to bool. | |
17621 | * cfgloop.h (fix_loop_placement): Declaration removed. | |
17622 | ||
acdc40df DN |
17623 | 2007-01-14 Dorit Nuzman <dorit@il.ibm.com> |
17624 | ||
17625 | * param.h (MIN_VECT_LOOP_BOUND): New. | |
17626 | * params.def (MIN_VECT_LOOP_BOUND): New. | |
17627 | * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Takes another | |
7a292b24 | 17628 | argument - minimum threshold for number of iterations. |
acdc40df DN |
17629 | * tree-vectorizer.h (slpeel_tree_peel_loop_to_edge): Add another |
17630 | argument to declaration. | |
7a292b24 | 17631 | * tree-vect-analyze.c (vect_analyze_operations): Check value of |
acdc40df DN |
17632 | MIN_VECT_LOOP_BOUND. |
17633 | * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Call | |
17634 | slpeel_tree_peel_loop_to_edge with additional argument. | |
17635 | (vect_do_peeling_for_alignment): Likewise. | |
17636 | * doc/invoke.texi (min-vect-loop-bound): Document new param option. | |
17637 | ||
37fc8424 UB |
17638 | 2007-01-14 Uros Bizjak <ubizjak@gmail.com> |
17639 | ||
17640 | PR target/30413 | |
17641 | * config/i386/i386.c (print_operand) ['z']: Output 'b' for | |
17642 | operands of size 1. | |
17643 | ||
326648f1 JH |
17644 | 2007-01-14 Jan Hubicka <jh@suse.cz> |
17645 | ||
17646 | * tree-dfa.c (remove_referenced_var): New function. | |
17647 | * tree-ssa-live.c (remove_unused_locals): Walk referenced vars and | |
17648 | prune referenced vars list too. | |
17649 | * tree-flow.h (remove_referenced_var): Declare. | |
17650 | ||
4437b50d JH |
17651 | 2007-01-14 Jan Hubicka <jh@suse.cz> |
17652 | ||
17653 | * tree-eh.c (add_stmt_to_eh_region_fn): Do not add call_exprs | |
17654 | separately. | |
17655 | (remove_stmt_from_eh_region_fn): Do not remove call_exprs. | |
17656 | (verify_eh_throw_stmt_node, verify_eh_throw_table_statements): Kill. | |
17657 | * except.h (verify_eh_throw_table_statements): Kill prototype. | |
17658 | * cfgexpand.c (expand_gimple_basic_block): Propagate Eh regions | |
17659 | into call exrepssions. | |
17660 | * tree-optimize.c (execute_free_cfg_annotatiosn): Do not call | |
17661 | eh trhow verifier. | |
17662 | * tree-cfg.c: Include pointer-set.h. | |
17663 | (verify_node_sharing): Work on pointer set. | |
17664 | (verify_eh_throw_stmt_node): New. | |
17665 | (verify_stmts): Use pointers sets, verify throw_stmt. | |
17666 | ||
2a134b73 ZD |
17667 | 2007-01-13 Zdenek Dvorak <dvorakz@suse.cz> |
17668 | ||
17669 | * ipa-reference.c (analyze_function): Consider also addresses taken | |
17670 | in phi nodes. | |
17671 | ||
8bcd6380 RS |
17672 | 2007-01-12 Roger Sayle <roger@eyesopen.com> |
17673 | ||
17674 | * c-typeck.c (null_pointer_constant_p): Replace use of | |
17675 | TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW. | |
17676 | (build_c_cast): Likewise. | |
17677 | ||
d95787e6 RS |
17678 | 2007-01-12 Roger Sayle <roger@eyesopen.com> |
17679 | ||
17680 | * tree.h (force_fit_type_double): Remove unused final argument. | |
17681 | * c-common.c (constant_expression_warning): Replace use of | |
17682 | TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW. | |
17683 | (convert_and_check): Likewise. | |
17684 | (shorten_compare): Update call to force_fit_type_double. | |
17685 | (c_common_truthvalue_conversion) <INTEGER_CST>: Use integer_zerop. | |
17686 | * convert.c (convert_to_pointer): Update call to | |
17687 | force_fit_type_double. | |
17688 | * fold-const.c (force_fit_type_double): Remove overflowed_const | |
17689 | argument. | |
17690 | (int_const_binop, fold_convert_const_int_from_int, | |
17691 | fold_convert_const_int_from_real, fold_div_compare, | |
17692 | fold_sign_changed_comparison, fold_unary, fold_negate_const, | |
17693 | fold_abs_const, fold_not_const): Remove the final argument from | |
17694 | calls to force_fit_type_double. | |
17695 | ||
714f737f AP |
17696 | 2007-01-12 Andrew Pinski <andrew_pinski@playstation.sony.com> |
17697 | ||
17698 | * configure.ac: Set insn to "nop" for spu-*-* also. | |
17699 | * configure: Regenerate. | |
17700 | ||
db9d500a OG |
17701 | 2007-01-12 Olga Golovanevsky <olga@il.ibm.com> |
17702 | ||
17703 | * builtins.def : Add BUILT_IN_FREE. | |
7a292b24 | 17704 | |
3d283195 JH |
17705 | 2007-01-12 Jan Hubicka <jh@suse.cz> |
17706 | ||
17707 | PR tree-optimization/30443 | |
17708 | * tree-inline.c (tree_function_versioning): Do not optimize when | |
17709 | cloning for inlining. | |
17710 | ||
6270df4c ZD |
17711 | 2007-01-12 Zdenek Dvorak <dvorakz@suse.cz> |
17712 | ||
17713 | * doc/loop.texi: Document recording of loop exits. | |
17714 | * cfgloopmanip.c (loopify, duplicate_loop): Use alloc_loop. | |
17715 | (update_single_exits_after_duplication, | |
17716 | update_single_exit_for_duplicated_loop, | |
17717 | update_single_exit_for_duplicated_loops): Removed. | |
17718 | (duplicate_loop_to_header_edge): Do not call | |
17719 | update_single_exits_after_duplication and | |
17720 | update_single_exit_for_duplicated_loops. | |
17721 | (loop_version): Do not update single_exit information. | |
17722 | (fix_loop_structure): Use record_loop_exits instead of | |
17723 | mark_single_exit_loops. | |
17724 | * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update | |
17725 | the lists of loop exits. | |
17726 | * cfghooks.c (redirect_edge_and_branch, redirect_edge_and_branch_force, | |
17727 | split_edge, merge_blocks): Update the lists of loop exits. | |
17728 | * modulo-sched.c (sms_schedule): Pass LOOPS_HAVE_RECORDED_EXITS to | |
17729 | loop_optimizer_init. | |
17730 | * loop-init.c (loop_optimizer_init): Call record_loop_exits instead | |
17731 | of mark_single_exit_loops. | |
17732 | (loop_optimizer_finalize): Call release_recorded_exits. | |
17733 | * tree-ssa-loop.c (tree_loop_optimizer_init): Pass | |
17734 | LOOPS_HAVE_RECORDED_EXITS to loop_optimizer_init. | |
17735 | * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg): Do not | |
17736 | update single exit information. | |
17737 | * lambda-code.c (perfect_nestify): Ditto. | |
17738 | * cfgloop.c (flow_loop_free): Destroy the list of exits of the loop. | |
17739 | (mark_single_exit_loops): Removed. | |
17740 | (alloc_loop, loop_exit_hash, loop_exit_eq, loop_exit_free, | |
17741 | get_exit_descriptions, rescan_loop_exit, record_loop_exits, | |
17742 | dump_recorded_exit, dump_recorded_exits, release_recorded_exits): New | |
17743 | functions. | |
17744 | (get_loop_exit_edges, single_exit): Use recorded exit lists. | |
17745 | (add_bb_to_loop, remove_bb_from_loops): Update the lists of loop exits. | |
17746 | (verify_loop_structure): Verify consistency of the exit lists. | |
17747 | (flow_loops_find): Use alloc_loop. Initialize exits hash. | |
17748 | (set_single_exit): Removed. | |
17749 | * cfgloop.h (struct loop_exit): New function. | |
17750 | (struct loop): single_exit_ field replaced by exits field. | |
7e08fa35 UB |
17751 | (LOOPS_HAVE_MARKED_SINGLE_EXITS): Replaced by |
17752 | LOOPS_HAVE_RECORDED_EXITS. | |
6270df4c ZD |
17753 | (struct loops): Added exits hash. |
17754 | (mark_single_exit_loops, set_single_exit): Declaration removed. | |
17755 | (release_recorded_exits, record_loop_exits, rescan_loop_exit): Declare. | |
17756 | ||
1cbe999f RS |
17757 | 2007-01-12 Richard Sandiford <richard@codesourcery.com> |
17758 | ||
17759 | * doc/invoke.texi: Avoid use of @headitem. | |
17760 | ||
192232e2 RS |
17761 | 2007-01-12 Richard Sandiford <richard@codesourcery.com> |
17762 | ||
17763 | * cse.c (cse_insn): Move HAVE_CC0 code after declarations. | |
17764 | ||
183dc04b RS |
17765 | 2007-01-12 Richard Sandiford <richard@codesourcery.com> |
17766 | ||
17767 | * doc/install.texi: Fix m68k-*-* anchor and add m68k-*-* to the | |
17768 | list of targets. | |
17769 | ||
64826589 NS |
17770 | 2007-01-12 Nathan Sidwell <nathan@codesourcery.com> |
17771 | Richard Sandiford <richard@codesourcery.com> | |
17772 | ||
17773 | * doc/invoke.texi: Document -mno-bitfield, -mno-rtd and -mno-short. | |
17774 | * config/m68k/m68k.opt: Resort options. | |
17775 | (mbitfield, mrtd, mshort): Remove RejectNegative properties. | |
17776 | ||
7eb4f044 NS |
17777 | 2007-01-12 Nathan Sidwell <nathan@codesourcery.com> |
17778 | Richard Sandiford <richard@codesourcery.com> | |
17779 | ||
17780 | * doc/invoke.texi: Document the macros that are defined by | |
17781 | m68k's -mtune and -mhard-float options. | |
17782 | * config/m68k/m68k-protos.h (m68k_cpp_cpu_ident) Declare. | |
17783 | (m68k_cpp_cpu_family): Likewise. | |
17784 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add a full set | |
17785 | of __ucfv*__ macros. Define __mcffpu__ if generating code for | |
17786 | ColdFire FPUs. Define __mcf_cpu_* and __mcf_family_* macros. | |
17787 | * config/m68k/m68k.c (m68k_cpp_cpu_ident): New function. | |
17788 | (m68k_cpp_cpu_family): Likewise. | |
17789 | ||
9321405c RS |
17790 | 2007-01-12 Richard Sandiford <richard@codesourcery.com> |
17791 | ||
17792 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Treat all mc68* | |
17793 | macros besides mc68000 as tuning macros. Use a switch statement | |
17794 | to set them and mcpu32. | |
17795 | ||
b101567e JB |
17796 | 2007-01-12 Julian Brown <julian@codesourcery.com> |
17797 | ||
17798 | * config/m68k/m68k.h: Use TARGET_68040 instead of TARGET_68040_ONLY. | |
17799 | (TARGET_68040_ONLY): Rename to... | |
17800 | (TARGET_68040): ...this. | |
17801 | * config/m68k/m68k.c: Use TARGET_68040 instead of TARGET_68040_ONLY. | |
17802 | * config/m68k/m68k.md: Likewise. | |
17803 | ||
900ec02d JB |
17804 | 2007-01-12 Julian Brown <julian@codesourcery.com> |
17805 | Nathan Sidwell <nathan@codesourcery.com> | |
17806 | Richard Sandiford <richard@codesourcery.com> | |
17807 | ||
17808 | * config.gcc (m680[012]0-*-*, m68k*-*-*): Set m68k_cpu_ident to | |
17809 | the -mcpu= argument associated with the --with-cpu setting. | |
17810 | Define M68K_DEFAULT_TUNE to the default -mtune= option, | |
17811 | if different from the one implied by the -mcpu setting. | |
17812 | Accept --with-cpu=FOO if FOO is listed in m68k-devices.def, | |
17813 | using mcpu=FOO as the default CPU option. Set target_cpu_default2. | |
17814 | * doc/invoke.texi: Mention ColdFire in the introduction to the | |
17815 | m68k options. Document the new -march, -mcpu, -mtune, -mdiv, | |
17816 | -mno-div and -mhard-float options. Make -m68881 a synonym for | |
17817 | -mhard-float. Document the previously-undocumented -m5206e, | |
17818 | -m528x, -m5307 and -m5407 options. Tweak the existing option | |
17819 | documentation for consistency. | |
17820 | * doc/install.texi: Mention new --with-cpu arguments. | |
17821 | * config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Only use the | |
17822 | default CPU if neither -mcpu nor -march are specified. | |
17823 | (ASM_CPU_SPEC): Pass down -mcpu and -march options. | |
17824 | (TARGET_CPU_CPP_BUILTINS): Set __mcfisa*__ macros from | |
17825 | TARGET_ISA*. Set the legacy __mcf*__ cpu macros in the same way, | |
17826 | using m68k_tune to decide between families that implement the | |
17827 | same ISA. Use m68k_tune to set __mcfv4e__. | |
17828 | (FL_BITFIELD, FL_68881, FL_COLDFIRE, FL_CF_HWDIV, FL_CF_MAC) | |
17829 | (FL_CF_EMAC, FL_CF_EMAC_B, FL_CF_USP, FL_CF_FPU, FL_ISA_68000) | |
17830 | (FL_ISA_68010, FL_ISA_68020, FL_ISA_68040, FL_ISA_A, FL_ISA_B) | |
17831 | (FL_ISA_C, FL_ISA_MMU): New macros. | |
17832 | (MASK_COLDFIRE): Delete. | |
17833 | (TARGET_68010, TARGET_68020, TARGET_68040_ONLY, TARGET_COLDFIRE) | |
17834 | (TARGET_ISAB): Redefine in terms of m68k_cpu_flags. | |
17835 | (TARGET_68881, TARGET_COLDFIRE_FPU): Redefine in terms of m68k_fpu. | |
17836 | (TARGET_HARD_FLOAT): Do not define here. | |
17837 | (TARGET_ISAAPLUS, TARGET_ISAC): New macros. | |
17838 | (TUNE_68000): New macro. | |
17839 | (TUNE_68000_10): Redefine in terms of TUNE_68000 and TUNE_68010. | |
17840 | (TUNE_68010, TUNE_68030, TUNE_68040, TUNE_68060, TUNE_CPU32) | |
17841 | (TUNE_CFV2): Redefine in terms of m68k_tune. | |
17842 | (uarch_type, target_device, fpu_type): New enums. | |
17843 | (m68k_cpu, m68k_tune, m68k_fpu, m68k_cpu_flags): Declare. | |
17844 | * config/m68k/m68k.c (TARGET_DEFAULT): Remove MASK_68881. | |
17845 | (FL_FOR_isa_00, FL_FOR_isa_10, FL_FOR_isa_20, FL_FOR_isa_40) | |
17846 | (FL_FOR_isa_cpu32, FL_FOR_isa_a, FL_FOR_isa_aplus, FL_FOR_isa_b) | |
17847 | (FL_FOR_isa_c): New macros. | |
17848 | (m68k_isa): New enum. | |
17849 | (m68k_target_selection): New structure. | |
17850 | (all_devices, all_isas, all_microarchs): New tables. | |
17851 | (m68k_cpu_entry, m68k_arch_entry, m68k_tune_entry, m68k_cpu) | |
17852 | (m68k_tune, m68k_fpu, m68k_cpu_flags): New variables. | |
17853 | (MASK_ALL_CPU_BITS): Delete. | |
17854 | (m68k_find_selection): New function. | |
17855 | (m68k_handle_option): Handle -mcpu=, -march= and -mtune=. | |
17856 | Map the legacy target options to a combination of the new ones. | |
17857 | (override_options): Set m68k_cpu, m68k_tune, m68k_fpu and | |
17858 | m68k_cpu_flags. Handle M68K_DEFAULT_TUNE. Use m68k_cpu_flags | |
17859 | to derive default MASK_BITFIELD, MASK_CF_HWDIV and MASK_HARD_FLOAT | |
17860 | settings. | |
17861 | * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407, mcfv4e) | |
17862 | (m68010, m68020, m68020-40, m68020-60, m68030, m68040): Remove Mask | |
17863 | properties. | |
17864 | (m68881, msoft-float): Change mask from 68881 to HARD_FLOAT. | |
17865 | (march=, mcpu=, mdiv, mhard-float, mtune=): New options. | |
17866 | * config/m68k/m68k-devices.def: New file. | |
17867 | ||
0c004537 RS |
17868 | 2007-01-12 Richard Sandiford <richard@codesourcery.com> |
17869 | Nathan Sidwell <nathan@codesourcery.com> | |
17870 | ||
17871 | * config/m68k/m68k.h (ASM_CPU_SPEC, ASM_SPEC, EXTRA_SPECS) | |
17872 | (SUBTARGET_EXTRA_SPECS): New macros. | |
17873 | * config/m68k/linux.h (ASM_SPEC): Remove CPU flags; | |
17874 | use %(asm_cpu_spec) instead. | |
17875 | * config/m68k/m68k-none.h (ASM_SPEC): Likewise. | |
17876 | * config/m68k/openbsd.h (ASM_SPEC): Likewise. | |
17877 | * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise. | |
17878 | (EXTRA_SPECS): Rename to... | |
17879 | (SUBTARGET_EXTRA_SPECS): ...this. | |
17880 | ||
59fbf3cb NS |
17881 | 2007-01-12 Nathan Sidwell <nathan@codesourcery.com> |
17882 | Richard Sandiford <richard@codesourcery.com> | |
17883 | Julian Brown <julian@codesourcery.com> | |
17884 | ||
17885 | * config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*) | |
17886 | (m68k-*-uclinux*, m68k-*-linux*, m68k-*-rtems*): Set default_m68k_cpu | |
17887 | to the configuration's default CPU. | |
17888 | (m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*): Likewise. | |
17889 | Remove default masks. | |
17890 | (m680[012]0-*-*): Set the default with_cpu to the first part of | |
17891 | the target name. | |
17892 | (m68k*-*-*): Set the default with_cpu to m$default_m68k_cpu. | |
17893 | (m68k*-*-linux): Extend the --with-cpu handling to... | |
17894 | (m680[012]0-*-*, m68k*-*-*): ...these configurations. Allow m68000 | |
17895 | and m68010. Don't set target_cpu_default2. | |
17896 | * doc/install.texi: Document --with-cpu for m68k. | |
17897 | * config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Define. | |
17898 | * config/m68k/m68k-none.h (TARGET_CPU_DEFAULT, M68K_CPU_m68k) | |
17899 | (M68K_CPU_m68000, M68K_CPU_m68010, M68K_CPU_m68020, M68K_CPU_m68030) | |
17900 | (M68K_CPU_m68040, M68K_CPU_m68302, M68K_CPU_m68332, TARGET_DEFAULT) | |
17901 | (ASM_CPU_DEFAULT_SPEC, CC1_CPU_DEFAULT_SPEC): Delete. | |
17902 | (ASM_SPEC): Remove use of %(asm_cpu_default). | |
17903 | (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS, MULTILIB_DEFAULTS): Delete. | |
17904 | * config/m68k/linux.h (TARGET_DEFAULT): Delete. | |
17905 | (CPP_SPEC): Merge definitions. Do not handle __HAVE_68881__ here. | |
17906 | * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define | |
17907 | __HAVE_FPU__ if TARGET_HARD_FLOAT. | |
17908 | (TARGET_DEFAULT): Delete. | |
17909 | (EXTRA_SPECS): Delete cpp_cpu_default_spec, cpp_cpu_spec, | |
17910 | cpp_fpu_spec, asm_default_spec and netbsd_cpp_spec. | |
17911 | (CPP_CPU_SPEC): Delete. | |
17912 | (TARGET_VERSION): Merge definitions, using TARGET_68010 to pick | |
17913 | the appropriate string. | |
17914 | (CPP_CPU_DEFAULT_SPEC, ASM_DEFAULT_SPEC, CPP_FPU_SPEC): Delete. | |
17915 | (CPP_SPEC): Define to NETBSD_CPP_SPEC. | |
17916 | (ASM_SPEC): Don't use %(asm_default_spec). | |
17917 | * config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove | |
17918 | TARGET_DEFAULT and add MASK_68881. | |
17919 | * config/m68k/m68k.md: Remove mention of TARGET_DEFAULT from comments. | |
17920 | ||
3197c489 RS |
17921 | 2007-01-12 Richard Sandiford <richard@codesourcery.com> |
17922 | ||
17923 | * config.gcc (m68010-*-netbsdelf*): Add MASK_68010. | |
17924 | (m68k*-*-netbsdelf*, m68k*-*-openbsd*, m68k*-linux*): Add | |
17925 | MASK_68010 alongside MASK_68020. | |
17926 | * doc/invoke.texi: Document -m68010. | |
17927 | * config/m68k/m68k.opt (m68010): New. | |
17928 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define mc68010 | |
17929 | if TUNE_68010. | |
17930 | (TUNE_68010): New macro. | |
17931 | * config/m68k/m68k-none.h (M68K_CPU_m68k, M68K_CPU_m68010) | |
17932 | (M68K_CPU_m68020, M68K_CPU_m68030, M68K_CPU_m68040) | |
17933 | (M68K_CPU_m68332): Add MASK_68010. | |
17934 | * config/m68k/linux.h (TARGET_DEFAULT): Add MASK_68010 to | |
17935 | fallback definition. | |
17936 | * config/m68k/netbsd-elf.h (CPP_CPU_SPEC): Remove now-redundant | |
17937 | defines. | |
17938 | * config/m68k/m68k.c (MASK_ALL_CPU_BITS): Add MASK_68010. | |
17939 | (m68k_handle_option): Handle OPT_m68010. Add MASK_68010 | |
17940 | to all entries that use MASK_68020. | |
17941 | (output_move_simode_const, output_move_himode, output_move_qimode) | |
17942 | (output_move_stricthi, output_move_strictqi): Use TARGET_68010 | |
17943 | instead of TARGET_68020 to select clr behavior. Remove comment | |
17944 | about there being no TARGET_68010. | |
17945 | * config/m68k/m68k.md: Likewise throughout. | |
17946 | ||
986e74d5 JB |
17947 | 2007-01-12 Julian Brown <julian@codesourcery.com> |
17948 | ||
17949 | * config/m68k/m68k.h (TARGET_ISAB): New macro. | |
17950 | * config/m68k/m68k.c: Use TARGET_ISAB rather than TARGET_CFV4. | |
17951 | * config/m68k/m68k.md: Likewise. | |
17952 | ||
bb5bdf70 JB |
17953 | 2007-01-12 Julian Brown <julian@codesourcery.com> |
17954 | ||
17955 | * config/m68k/m68k.h (LEGITIMATE_INDEX_P, LEGITIMIZE_ADDRESS): Use | |
17956 | TARGET_COLDFIRE_FPU instead of TARGET_CFV4E. | |
17957 | ||
9cf106c8 JB |
17958 | 2007-01-12 Julian Brown <julian@codesourcery.com> |
17959 | ||
17960 | * config/m68k/m68k.h (TUNE_68040_60): New macro. | |
17961 | * config/m68k/m68k.c (standard_68881_constant_p): Use it. | |
17962 | * config/m68k/m68k.md: Likewise. | |
17963 | ||
fe95f2f7 JB |
17964 | 2007-01-12 Julian Brown <julian@codesourcery.com> |
17965 | Richard Sandiford <richard@codesourcery.com> | |
17966 | ||
17967 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Use TUNE_68030 | |
17968 | instead of TARGET_68030, TUNE_68040 instead of TARGET_68040, | |
17969 | TUNE_68060 instead of TARGET_68060 and TUNE_CPU32 instead of | |
17970 | TARGET_CPU32. | |
17971 | (TARGET_CPU32): Rename to... | |
17972 | (TUNE_CPU32): ...this. | |
17973 | (TUNE_68000_10, TUNE_68030, TUNE_68040, TUNE_68060) | |
17974 | (TUNE_CFV2): New macros. | |
17975 | * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Simplify; | |
17976 | remove conditions that are implied by TARGET_68020. | |
17977 | * config/m68k/m68k.c (m68k_output_function_prologue): Use TUNE_68040 | |
17978 | instead of TARGET_68040 and TUNE_CPU32 instead of TARGET_CPU32. | |
17979 | (m68k_output_function_epilogue): Likewise. | |
17980 | (m68k_rtx_costs): Likewise. Use TUNE_68060 instead of TARGET_68060 | |
17981 | and TUNE_CFV2 instead of TARGET_5200. Use TUNE_68000_10 instead of | |
17982 | "!TARGET_68020 && !TARGET_COLDFIRE" to choose between 68000 and | |
17983 | non-68000 timings. Refactor multiplication and division costs. | |
17984 | (output_addsi3): Use TUNE_68040 instead of TARGET_68040 and | |
17985 | TUNE_CPU32 instead of TARGET_CPU32. | |
17986 | (standard_68881_constant_p): Use TUNE_68040 instead of TARGET_68040 | |
17987 | and TUNE_68060 instead of TARGET_68060. | |
17988 | * config/m68k/m68k.md: Use TUNE_68040 instead of TARGET_68040, | |
17989 | TUNE_68060 instead of TARGET_68060, and TUNE_CPU32 instead of | |
17990 | TARGET_CPU32. | |
17991 | (movsi_const0): Use TUNE_68000_10 rather than "!TARGET_68020 | |
17992 | && !TARGET_COLDFIRE" to choose between moveq and clr. | |
17993 | Likewise in the unnamed movsf pattern. | |
17994 | (ashlsi_17_24, lshrsi_17_24): Guard with TUNE_68000_10 rather than | |
17995 | "!TARGET_68020 && !TARGET_COLDFIRE". Likewise the unnamed | |
17996 | ashiftrt pattern. | |
17997 | ||
9c6de4a1 RS |
17998 | 2007-01-12 Richard Sandiford <richard@codesourcery.com> |
17999 | ||
18000 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Increase amount | |
18001 | of tabbing before backslashes. | |
18002 | ||
179cd3d3 JDA |
18003 | 2007-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
18004 | ||
18005 | * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine. | |
18006 | * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS. | |
18007 | (ASM_OUTPUT_INTERNAL_LABEL): Define. | |
18008 | ||
b697aed4 ZD |
18009 | 2007-01-11 Zdenek Dvorak <dvorakz@suse.cz> |
18010 | ||
18011 | * tree-ssa-loop-ivopts.c (extract_cond_operands): Split from | |
18012 | find_interesting_uses_cond. | |
18013 | (find_interesting_uses_cond): Use extract_cond_operands. | |
18014 | (rewrite_use_compare): Use extract_cond_operands and | |
18015 | force_gimple_operand_bsi. Do not call update_stmt. | |
18016 | (determine_use_iv_cost_condition): Use extract_cond_operands. | |
18017 | Return cheaper of using original bound and changing the exit bound. | |
18018 | ||
820410e0 ZD |
18019 | 2007-01-11 Zdenek Dvorak <dvorakz@suse.cz> |
18020 | ||
18021 | PR tree-optimization/29516 | |
18022 | * tree-ssa-address.c (tree_mem_ref_addr, add_to_parts, | |
18023 | most_expensive_mult_to_index, addr_to_parts, | |
18024 | create_mem_ref, maybe_fold_tmr): Make the type of | |
18025 | fields of TARGET_MEM_REF sizetype. | |
18026 | (move_fixed_address_to_symbol, move_pointer_to_base): | |
18027 | New functions. | |
18028 | * tree.def (TARGET_MEM_REF): Add comment on types of | |
18029 | the operands. | |
820410e0 | 18030 | |
14e765da JM |
18031 | 2007-01-11 Joseph Myers <joseph@codesourcery.com> |
18032 | ||
18033 | * c-common.c (vector_types_convertible_p): Treat opaque types as | |
18034 | always convertible if they have the same size, but not otherwise. | |
18035 | ||
2a33a75f SB |
18036 | 2007-01-11 Steven Bosscher <steven@gcc.gnu.org> |
18037 | ||
18038 | * ifcvt.c (struct noce_if_info): Add comments to the fields. | |
18039 | Remove the b_unconditional field. | |
18040 | (noce_try_sign_mask): Do not look at b_unconditional. | |
18041 | (noce_process_if_block): Do not use merge_if_blocks. Update | |
18042 | the CFG here. Do not set b_unconditional. | |
18043 | (cond_move_process_if_block): Likewise. | |
18044 | (find_cond_trap): Likewise. | |
18045 | (check_cond_move_block): Require simple jump insns at the end | |
18046 | of the basic block. | |
18047 | ||
7faade0f JH |
18048 | 2007-01-11 Jan Hubicka <jh@suse.cz> |
18049 | ||
18050 | PR tree-optimization/1046 | |
18051 | * tree-tailcall.c (suitable_for_tail_call_opt_p): Use TREE_ADDRESSABLE | |
18052 | when alias info is not ready. | |
18053 | (pass_tail_recursion): Do not require aliasing. | |
18054 | * tree-ssa-copyrename.c (pass_rename_ssa_cop): Likewise. | |
18055 | * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Likewise. | |
18056 | * tree-ssa-copy.c (pass_copy_prop): Likewise. | |
18057 | * tree-ssa-forwprop.c (pass_forwprop): Likewise. | |
18058 | * tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Likewise. | |
18059 | * passes.c (init_optimization_passes): Execute rename_ssa_copies, | |
18060 | ccp, forwprop, copy_prop, merge_phi, copy_prop, dce and tail recursion | |
18061 | before inlining. | |
18062 | * tree-ssa-operands.c (add_virtual_operand, get_indirect_ref_operand): | |
18063 | When aliasing is not build, mark statement as volatile. | |
18064 | ||
78392049 TT |
18065 | 2007-01-11 Tom Tromey <tromey@redhat.com> |
18066 | ||
18067 | PR preprocessor/15185, PR preprocessor/20989: | |
18068 | * doc/cppopts.texi <-MT>: Update description of algorithm for | |
18069 | computing default target. | |
18070 | <-M, -MD>: Reword "basename" text. | |
18071 | ||
455f14dd RS |
18072 | 2007-01-11 Roger Sayle <roger@eyesopen.com> |
18073 | ||
18074 | * builtins.c (expand_builtin_pow, expand_builtin_powi, | |
18075 | fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_trunc, | |
18076 | fold_builtin_floor, fold_builtin_ceil, fold_builtin_round, | |
18077 | fold_builtin_int_int_roundingfn, fold_builtin_bitop, | |
18078 | fold_builtin_bswap, real_constp, fold_builtin_pow, | |
18079 | fold_builtin_powi, fold_builtin_signbit, fold_builtin_copysign, | |
18080 | do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Replace | |
18081 | uses of the macro TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW. | |
18082 | * convert.c (convert_to_pointer): Likewise. | |
18083 | * expr.c (highest_pow2_factor, expand_expr_real_1): Likewise. | |
18084 | * fold-const.c (force_fit_type, fold_negate_expr, int_const_binop, | |
18085 | const_binop, fold_convert_const_int_from_int, | |
18086 | fold_convert_const_int_from_real, | |
18087 | fold_convert_const_real_from_real, sign_bit_p, | |
18088 | optimize_minmax_comparison, extract_muldiv_1, fold_div_compare, | |
18089 | fold_sign_changed_comparison, fold_unary, fold_comparison, | |
18090 | fold_binary, multiple_of_p, tree_Expr_non_zero_p, | |
18091 | fold_negate_const, fold_abs_const, fold_not_const): Likewise. | |
18092 | * print-tree.c (print_node_brief, print_node): Likewise. | |
18093 | * stor-layout.c (place_field, layout_type): Likewise. | |
18094 | * tree-chrec.c (keep_cast): Likewise. | |
18095 | * tree.c (build_vector, build_real, build_real_from_int_cst, | |
18096 | build_complex): Likewise. | |
18097 | ||
95fd24b6 RS |
18098 | 2007-01-11 Roger Sayle <roger@eyesopen.com> |
18099 | ||
18100 | * tree.h (TREE_CONSTANT_OVERFLOW): Obsolete. For the time being, | |
18101 | treat TREE_CONSTANT_OVERFLOW as a synonym of TREE_OVERFLOW. | |
18102 | ||
8b1f719a PB |
18103 | 2007-01-11 Paolo Bonzini <bonzini@gnu.org> |
18104 | ||
18105 | * configure.ac (strict1_warn): Rename to strict_warn. | |
18106 | (WERROR, --enable-werror, symlink hacks, stage1_cflags, | |
18107 | cc_set_by_configure, quoted_cc_set_by_configure, | |
18108 | stage_prefix_set_by_configure, quoted_stage_prefix_set_by_configure, | |
18109 | all_boot_languages, all_stagestuff): Remove. | |
18110 | (target_list): Remove bootstrap targets. | |
18111 | * Makefile.in (quickstrap): Unconditionally make a synonym of all. | |
18112 | (BOOT_LANGUAGES, STAGE1_CFLAGS, STAGE1_CHECKING, | |
18113 | REMAKEFLAGS, FLAGS_TO_PASS, PREPEND_DOTDOT_TO_RELATIVE_PATHS, | |
18114 | SUBDIR_FLAGS_TO_PASS, WERROR_FLAGS, STRICT2_WARN, LANG_STAGESTUFF, | |
18115 | VOL_FILES, POSTSTAGE1_FLAGS_TO_PASS, STAGE2_FLAGS_TO_PASS, | |
18116 | STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS, stage1_build, | |
18117 | stage1_copy, stage2_build, stage2_copy, stageprofile_build, | |
18118 | stageprofile_copy, stage3_build, stage3_copy, stagefeedback_build, | |
18119 | stagefeedback_copy, stage4_build, clean_s1, clean_sw, bootstrap, | |
18120 | bootstrap-lean, bootstrap2, bootstrap2-lean, bootstrap3, | |
18121 | bootstrap3-lean, bootstrap4, bootstrap4-lean, unstage1, unstage2, | |
18122 | unstage3, unstage4, unstageprofile, unstagefeedback, restage, restage2, | |
18123 | restage3, restage4, restageprofile, restagefeedback, bubbleestrap, | |
18124 | cleanstrap, unstrap, restrap, *compare, *compare3, *compare4, | |
18125 | *compare-lean, *compare3-lean, *compare4-lean, stage1-start, stage1, | |
18126 | stage2-start, stage2, stage3-start, stage3, stage4-start, stage4, | |
18127 | stageprofile-start, stageprofile, stagefeedback-start, stagefeedback, | |
18128 | risky-stage1, risky-stage2, risky-stage3, risky-stage4): Remove. | |
18129 | (ORDINARY_FLAGS_TO_PASS): Rename to FLAGS_TO_PASS. | |
18130 | (STAGECOPYSTUFF, STAGEMOVESTUFF): Consolidate into MOSTLYCLEANFILES. | |
18131 | (mostlyclean): Adjust. | |
18132 | (clean, distclean): Don't mention bootstrap stuff. | |
18133 | * configure: Regenerate. | |
18134 | * ada/config-lang.in, cp/config-lang.in, forttran/config-lang.in, | |
18135 | java/config-lang.in, objc/config-lang.in, objcp/config-lang.in, | |
18136 | treelang/config-lang.in (stagestuff): Remove. | |
18137 | * doc/sourcebuild.texi (stage1, stage2, stage3, stage4, | |
18138 | stageprofile, stagefeedback, stagestuff): Remove mention. | |
18139 | ||
6e3a343d NC |
18140 | 2007-01-11 Nick Clifton <nickc@redhat.com> |
18141 | ||
18142 | * config/mcore/predicates.md (mcore_general_movesrc_operand): | |
18143 | Accept CONSTs. | |
18144 | (mcore_general_movdst_operand): Do not accept CONST_INTs. | |
18145 | (mcore_arith_K_S_operand): Run the test for the S constraint not | |
18146 | the test for the M constraint. | |
18147 | (mcore_addsub_operand): Do not accept integer values that are | |
18148 | larger than 32 bits. | |
18149 | * config/mcore/mcore.md: Remove unused constraints from split. | |
18150 | (andsi3): Use HOST_WIDE_INT instead of int to hold an INTVAL. | |
18151 | (addsi3): Likewise. | |
18152 | (allocate_stack): Likewise. | |
18153 | * config/mcore/mcore.c (mcore_print_operand): Restrict output of P | |
18154 | operands to 32 bits. | |
18155 | (mcore_const_costs): Use HOST_WIDE_INT instead of int to hold an | |
18156 | INTVAL. | |
18157 | (mcore_and_cost, mcore_modify_comparison, const_ok_for_mcore, | |
18158 | mcore_const_ok_for_inline, mcore_const_trick_uses_not, | |
18159 | try_constant_tricks, mcore_num_ones, mcore_num_zeros, | |
18160 | mcore_output_bclri, mcore_output_andn, output_inline_const, | |
18161 | mcore_output_move, mcore_output_movedouble): Likewise. | |
18162 | (mcore_output_cmov): Use CONST_OK_FOR_M and CONST_OK_FOR_N. | |
18163 | (output_inline_const): Likewise. | |
18164 | (output_inline_const): Fix format strings used in sprintf | |
18165 | statements. | |
18166 | * config/mcore/mcore-protos.h: Update prototypes for changed | |
18167 | functions in mcore.c. | |
18168 | * config/mcore/mcore.h (CONST_OK_FOR_I): Cast values to | |
18169 | HOST_WIDE_INT and not int. | |
18170 | (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M, | |
18171 | CONST_OK_FOR_N): Likewise. | |
18172 | (LEGITIMATE_CONSTANT_P): Also check CONSTANT_P. | |
18173 | (GO_IF_LEGITIMATE_INDEX): Use HOST_WIDE_INT instead of int to hold | |
18174 | an INTVAL. | |
18175 | ||
ca15e365 JH |
18176 | 2007-01-10 Jan Hubicka <jh@suse.cz> |
18177 | ||
18178 | * tree-vrp.c (remove_range_assertions): Release defs. | |
18179 | * tree-ssa-loop-ivopts.c (rmeove_statement): Likewise. | |
18180 | * tree-ssa-dom.c (remove_stmt_or_phi): Likewise. | |
18181 | ||
26b53f80 PB |
18182 | 2007-01-10 Paul Brook <paul@codesourcery.com> |
18183 | ||
18184 | * config/arm/arm.c (arm_rtx_costs_1): Handle mutiply-subtract. | |
18185 | * config/arm/arm.md (mulsi3subsi): New insn. | |
18186 | ||
567b96ed ZD |
18187 | 2007-01-10 Zdenek Dvorak <dvorakz@suse.cz> |
18188 | ||
18189 | * tree-ssa-loop-manip.c (tree_unroll_loop): Make it a wrapper over ... | |
18190 | (tree_transform_and_unroll_loop): New. | |
18191 | * tree-flow.h (transform_callback, tree_transform_and_unroll_loop): | |
18192 | Declare. | |
18193 | ||
6b074ef6 RK |
18194 | 2007-01-10 Robert Kennedy <jimbob@google.com> |
18195 | ||
18196 | * fold-const.c (fold_comparison): Fold comparisons like (x * | |
18197 | 1000 < 0) to (x < 0). | |
18198 | ||
ee3202e1 ILT |
18199 | 2007-01-10 Ian Lance Taylor <iant@google.com> |
18200 | ||
18201 | * tree-pretty-print.c (dump_generic_node): Print parentheses when | |
18202 | operands have the same priority. | |
18203 | ||
08f0e79e TT |
18204 | 2007-01-10 Tom Tromey <tromey@redhat.com> |
18205 | ||
18206 | * fold-const.c (fold_truthop): Don't check can_use_bit_fields_p. | |
18207 | (fold_binary): Likewise. | |
18208 | * langhooks.c (lhd_can_use_bit_fields_p): Removed. | |
18209 | * langhooks-def.h (lhd_can_use_bit_fields_p): Removed. | |
18210 | (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed. | |
18211 | (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CAN_USE_BIT_FIELDS_P. | |
18212 | * langhooks.h (struct lang_hooks): Removed field | |
18213 | 'can_use_bit_fields_p'. | |
18214 | ||
6534c565 RC |
18215 | 2007-01-10 Ralf Corsépius <ralf.corsepius@rtems.org> |
18216 | ||
9a3e8953 | 18217 | * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS. |
6534c565 | 18218 | |
3e87758a | 18219 | 2007-01-10 Razya Ladelsky <razya@il.ibm.com> |
567b96ed ZD |
18220 | |
18221 | * function.c (get_last_funcdef_no): New function. | |
7a292b24 | 18222 | * function.h (get_last_funcdef_no): Declare. |
567b96ed ZD |
18223 | * tree-inline.c (initialize_cfun): Add initialization. |
18224 | (tree_function_versioning): Cleanup. | |
7a292b24 | 18225 | |
9b718f81 JH |
18226 | 2007-01-10 Jan Hubicka <jh@suse.cz> |
18227 | ||
18228 | * tree-inline.c (setup_one_parameter): Do not propagate into abnormal | |
18229 | PHIs. | |
18230 | ||
e1f1d97f SL |
18231 | 2007-01-10 Sa Liu <saliu@de.ibm.com> |
18232 | Ben Elliston <bje@au.ibm.com> | |
18233 | ||
18234 | * spu.h (STACK_SAVE_AREA): Use VOIDmode for SAVE_FUNCTION, SImode | |
18235 | for SAVE_NONLOCAL and Pmode for any other save level. | |
18236 | * spu-protos.h (spu_restore_stack_block): Declare. | |
18237 | * spu.md (save_stack_block): Remove. | |
18238 | (restore_stack_block): Call spu_restore_stack_block. | |
18239 | * spu.c (spu_restore_stack_block): New function. | |
18240 | (spu_expand_epilogue): Remove old comment. | |
18241 | ||
7e2ac86c ZD |
18242 | 2007-01-09 Zdenek Dvorak <dvorakz@suse.cz> |
18243 | ||
18244 | PR tree-optimization/30322 | |
18245 | * tree-ssa-loop-ivopts.c (fold_affine_expr, iv_value): Removed. | |
18246 | (cand_value_at): Return the value as aff_tree. | |
18247 | (may_eliminate_iv): Convert the bound from aff_tree to tree. | |
18248 | * tree-affine.c (aff_combination_add_cst, aff_combination_add_product, | |
18249 | aff_combination_mult): New functions. | |
18250 | (aff_combination_add): Use aff_combination_add_cst. | |
18251 | (aff_combination_convert): Allow conversions to a wider type. | |
18252 | (tree_to_aff_combination): Handle BIT_NOT_EXPR. | |
18253 | * tree-affine.h (aff_combination_mult): Declare. | |
18254 | ||
fe037b8a CD |
18255 | 2007-01-09 Carlos O'Donell <carlos@codesourcery.com> |
18256 | ||
18257 | * doc/tm.texi: Update documentation to reflect reality of exec | |
18258 | and start file search behaviours. Update copyright year. | |
18259 | * doc/invoke.texi: Explain how GCC_EXEC_PREFIX is used to find | |
18260 | header file directories. | |
18261 | ||
c648dedb UB |
18262 | 2007-01-09 Uros Bizjak <ubizjak@gmail.com> |
18263 | ||
18264 | * config/i386/i386.md (*sinxf2): Rename to *sinxf2_i387. | |
18265 | (*cosxf2): Rename to cosxf2_i387. | |
c648dedb UB |
18266 | (*sindf2, *sinsf2): Extend operand 1 to XFmode. Macroize patterns |
18267 | using X87MODEF12 mode macro. Rename patterns to | |
18268 | *sin_extend<mode>xf2_i387. Use SSE_FLOAT_MODE_P to disable patterns | |
18269 | for SSE math. | |
18270 | (*cosdf2, *cossf2): Ditto. | |
18271 | (sincosdf3, sincossf3): Ditto. Rewrite corresponding splitters | |
18272 | to match extended input operands. | |
c648dedb | 18273 | (sincos<mode>3): New expander. |
c648dedb UB |
18274 | (*sinextendsfdf2, *cosextendsfdf2, *sincosextendsfdf3): Remove |
18275 | insn patterns and corresponding splitters. | |
18276 | ||
26900826 KK |
18277 | 2007-01-09 Kaz Kojima <kkojima@gcc.gnu.org> |
18278 | ||
18279 | * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete. | |
18280 | (SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise. | |
18281 | ||
1ba008b7 NP |
18282 | 2007-01-09 Nicolas Pitre <nico@cam.org> |
18283 | ||
18284 | PR target/30173 | |
18285 | * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero. | |
18286 | ||
157600d0 GK |
18287 | 2007-01-08 Geoffrey Keating <geoffk@apple.com> |
18288 | ||
18289 | * target.h (struct gcc_target): New field library_rtti_comdat. | |
18290 | * target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New. | |
18291 | (TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT. | |
18292 | * doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT. | |
18293 | * config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define. | |
18294 | ||
b061615d GK |
18295 | 2007-01-08 Geoffrey Keating <geoffk@apple.com> |
18296 | ||
18297 | * doc/invoke.texi (Optimize Options): Correct description of -O0. | |
18298 | ||
b8fca551 RG |
18299 | 2007-01-08 Richard Guenther <rguenther@suse.de> |
18300 | ||
18301 | * tree.h (force_fit_type_double): Export. | |
18302 | (force_fit_type): Remove. | |
18303 | * fold-const.c (force_fit_type_double): New function. | |
18304 | (force_fit_type): Remove. | |
18305 | (int_const_binop): Use it. | |
18306 | (fold_convert_const_int_from_int): Likewise. | |
18307 | (fold_convert_const_int_from_real): Likewise. | |
18308 | (fold_div_compare): Likewise. | |
18309 | (fold_sign_changed_comparison): Likewise. | |
18310 | (fold_unary): Likewise. | |
18311 | (fold_negate_const): Likewise. | |
7a292b24 | 18312 | (fold_abs_const): Likewise. |
b8fca551 RG |
18313 | (fold_not_const): Likewise. |
18314 | * c-common.c (shorten_compare): Use force_fit_type_double. | |
18315 | * convert.c (convert_to_pointer): Likewise. | |
18316 | ||
2ac7cbb5 RG |
18317 | 2007-01-08 Richard Guenther <rguenther@suse.de> |
18318 | ||
18319 | * tree.h (build_int_cst_wide_type): Export. | |
18320 | * tree.c (build_int_cst_wide_type): New function. | |
18321 | (build_int_cst_wide): Fix comment. | |
18322 | * builtins.c (fold_builtin_object_size): Use build_int_cst | |
18323 | to build -1 or 0 of the correct type. Use fit_double_type | |
18324 | to check for overflow. | |
18325 | * fold-const.c (optimize_bit_field_compare): Use build_int_cst_type | |
18326 | to build the mask. | |
18327 | (decode_field_reference): Likewise. | |
18328 | (all_ones_mask_p): Likewise. | |
18329 | (native_interpret_int): Use build_int_cst_wide_type. | |
18330 | (fold_binary): Use build_int_cst_type to build an all-ones | |
18331 | value. | |
18332 | * stor-layout.c (set_sizetype): Use build_int_cst_wide_type. | |
18333 | ||
1c61ff29 DJ |
18334 | 2007-01-08 Daniel Jacobowitz <dan@codesourcery.com> |
18335 | ||
18336 | * config/pa/t-pa64 (libgcc_stub.a): Use $(T). | |
18337 | ||
df1133a6 BE |
18338 | 2007-01-09 Ben Elliston <bje@au.ibm.com> |
18339 | ||
18340 | * genautomata.c (STATS_OPTION): New option. | |
18341 | (stats_flag): New flag. | |
18342 | (gen_automata_option): Handle it. | |
18343 | (initiate_automaton_gen): Ditto. | |
18344 | (write_automata): Output statistics only if stats_flag is | |
18345 | set. Likewise, output time statistics only if time_flag is set. | |
18346 | * doc/md.texi (Processor pipeline description): Document new flag. | |
18347 | ||
2b60792f RG |
18348 | 2007-01-08 Richard Guenther <rguenther@suse.de> |
18349 | ||
18350 | * builtins.c (fold_builtin_int_roundingfn): Use fit_double_type. | |
18351 | * tree.c (build_int_cst_type): Likewise. | |
18352 | (size_in_bytes): Don't call force_fit_type on the result. | |
18353 | (int_fits_type_p): Use fit_double_type. | |
18354 | * fold-const.c (fit_double_type): New function. | |
18355 | (force_fit_type): Use it. | |
18356 | * tree.h (fit_double_type): Export. | |
18357 | ||
fe1c7546 JH |
18358 | 2007-01-08 Jan Hubicka <jh@suse.cz> |
18359 | ||
18360 | * tree-vectorizer.c (gate_increase_alignment): Fix return type. | |
4e260309 | 18361 | * ipa.c (function_and_variable_visibility): Fix return type. |
fe1c7546 | 18362 | |
7fb41a42 RG |
18363 | 2007-01-08 Richard Guenther <rguenther@suse.de> |
18364 | ||
18365 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type | |
18366 | of offset to build the index. | |
18367 | * tree-pretty-print.c (dump_generic_node): Don't build negated | |
18368 | const just for printing. | |
18369 | * c-pretty-print.c (pp_c_integer_constant): Likewise. | |
18370 | * builtins.c (fold_builtin_int_roundingfn): Check if result | |
18371 | fits the type by using force_fit_type and comparing the result. | |
18372 | * predict.c (predict_loops): Use compare_tree_int for comparison. | |
18373 | * tree.c (build_int_cst): Fall back to integer_type_node for | |
18374 | NULL_TREE type. | |
18375 | (build_int_cst_wide): Assert type is non-null. | |
18376 | ||
f255541f RC |
18377 | 2007-01-08 Roberto Costa <roberto.costa@st.com> |
18378 | ||
18379 | * tree-vrp.c (extract_range_from_cond_expr): New. | |
18380 | (extract_range_from_expr): Handle COND_EXPR nodes used as expressions. | |
18381 | * tree-ssa-ccp.c (get_maxval_strlen): Handle COND_EXPR nodes used | |
18382 | as expressions. | |
18383 | (fold_stmt): Bug fix, avoid infinite recursion when folding COND_EXPRs. | |
18384 | * tree-ssa-forwprop.c (simplify_cond, forward_propagate_into_cond, | |
18385 | tree_ssa_forward_propagate_single_use_vars): Handle COND_EXPR nodes | |
18386 | used as expressions. | |
18387 | * tree-object-size.c (cond_expr_object_size): New. | |
18388 | (collect_object_sizes_for): Handle COND_EXPR nodes used as expressions. | |
18389 | ||
feb8476a JH |
18390 | 2007-01-08 Jan Hubicka <jh@suse.cz> |
18391 | ||
18392 | * tree-ssa-forwprop.c (forward_propagate_into_cond, | |
18393 | tree_ssa_forward_propagate_single_use_va): Release defs of propagated | |
18394 | statement. | |
18395 | ||
31ab1cc9 RG |
18396 | 2007-01-08 Richard Guenther <rguenther@suse.de> |
18397 | ||
18398 | PR tree-optimization/23603 | |
18399 | * tree-vrp.c (set_value_range_to_truthvalue): New function. | |
18400 | (extract_range_from_binary): Fall back to truthvalue instead of | |
18401 | varying for TRUTH_*_EXPR. | |
18402 | (extract_range_from_comparison): Fall back to truthvalue instead of | |
18403 | varying. | |
18404 | (vrp_visit_phi_node): Don't adjust new range bounds to +INF/-INF | |
18405 | if all visited PHI values were constant. | |
18406 | ||
151e6f24 JH |
18407 | 2007-01-08 Jan Hubicka <jh@suse.cz> |
18408 | ||
18409 | * cgraphunit.c (cgraph_process_new_functions): Reset reachable flag. | |
18410 | (cgraph_analyze_function): break out from ... | |
18411 | (cgraph_finalize_compilation_unit): ... here. | |
18412 | (cgraph_expand_function): Remove forgoten commented out line. | |
18413 | (cgraph_optimize): Analyze functions. | |
18414 | ||
f4b3ca72 JH |
18415 | 2007-01-08 Jan Hubicka <jh@suse.cz> |
18416 | ||
18417 | * tree-pas.h (TODO_remove_function): New flag. | |
18418 | (TODO_update*): Renumber. | |
18419 | (pass_ipa_increase_alignment, | |
18420 | pass_ipa_function_and_variable_visibility): New passes. | |
18421 | * cgraphunit.c (cgraph_increase_alignment): Move to tree-vectorizer.c | |
18422 | (cgraph_function_and_variable_visibility): Move to ipa.c | |
18423 | (cgraph_optimize): Don't call cgraph_function_and_variable_visibility, | |
18424 | cgraph_increase_alignment. | |
18425 | * ipa-inline.c (cgraph_decide_inlining): Don't push timevar. | |
18426 | (cgraph_decide_inlining_incrementally): Push TV_INTEGRATION before | |
18427 | calling tree-inline. | |
18428 | (cgraph_early_inlining): Do not call cgraph_remove_unreachable_nodes. | |
18429 | (pass_ipa_inline, pass_early_ipa_inlining): Set TODO_remove_functions | |
18430 | * tree-vectorizer.c (increase_alignment): Move here from cgraphunit.c | |
18431 | (gate_increase_alignment): New function. | |
18432 | (pass_ipa_increase_alignment): New pass. | |
18433 | * ipa.c: Inline tree-pass.h and timevar.h | |
18434 | (function_and_variable_visibility): Move here from cgraphunit.c | |
18435 | * tree-optimize.c (pass_early_local_passes): Add TODO_remove_functions. | |
18436 | * passes.c (init_optimization_passes): Add the two new passes. | |
18437 | (execute_todo): Handle cgraph_remove_functions. | |
18438 | ||
2fe29729 NC |
18439 | 2007-01-08 Nick Clifton <nickc@redhat.com> |
18440 | ||
18441 | * config/frv/predicates.md (reg_or_0_operand): Accept | |
18442 | CONST_DOUBLEs. | |
18443 | ||
152167d5 RC |
18444 | 2007-01-08 Ralf Corsépius <ralf.corsepius@rtems.org> |
18445 | ||
18446 | * config/bfin/rtems.h, config/bfin/t-rtems: New. | |
18447 | * config.gcc: Add bfin*-rtems*. | |
18448 | ||
00c8e9f6 MS |
18449 | 2007-01-08 Mark Shinwell <shinwell@codesourcery.com> |
18450 | ||
18451 | * c.opt: Add -flax-vector-conversions. | |
18452 | * c-typeck.c (convert_for_assignment): Pass flag to | |
18453 | vector_types_convertible_p to allow emission of note. | |
18454 | (digest_init): Likewise. | |
18455 | * c-opts.c: Handle -flax-vector-conversions. | |
18456 | * c-common.c (flag_lax_vector_conversions): New. | |
18457 | (vector_types_convertible_p): Unless -flax-vector conversions | |
18458 | has been passed, disallow conversions between vectors with | |
18459 | differing numbers of subparts and/or element types. If such | |
18460 | a conversion is disallowed, possibly emit a note on the first | |
18461 | occasion only to inform the user of -flax-vector-conversions. | |
18462 | The new last argument specifies this. | |
18463 | * c-common.h (flag_lax_vector_conversions): New. | |
18464 | (vector_types_convertible_p): Add extra argument. | |
18465 | * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use | |
18466 | char_type_node for V*QI type vectors. | |
18467 | * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): | |
18468 | Update to satisfy new typechecking rules. | |
18469 | * config/rs6000/altivec.h (vec_cmple): Use vec_cmpge, for both | |
18470 | C and C++ variants. | |
18471 | * doc/invoke.texi (C Dialect Options): Document | |
18472 | -flax-vector-conversions. | |
18473 | ||
46e3b90f MS |
18474 | 2007-01-08 Mark Shinwell <shinwell@codesourcery.com> |
18475 | ||
18476 | PR tree-optimization/29877 | |
18477 | * tree-ssa-ter.c (is_replaceable_p): Deem assignments with | |
18478 | a register variable on the RHS to not be replaceable. | |
18479 | ||
99fc2502 CL |
18480 | 2007-01-08 Chen Liqin <liqin@sunnorth.com.cn> |
18481 | * config/score/t-score-elf (MULTILIB_OPTIONS): Change. | |
18482 | * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12, | |
18483 | const_simm15, const_pow2, const_npow2): Added. | |
7a292b24 | 18484 | * config/score/misc.md (insv, extv, extzv, movmemsi, |
99fc2502 | 18485 | move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug. |
7a292b24 | 18486 | * config/score/score.c (score_address_cost, score_select_cc_mode): |
99fc2502 CL |
18487 | Added. |
18488 | Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define. | |
18489 | Update score_rtx_costs for MACRO TARGET_RTX_COSTS. | |
18490 | Update score_print_operand. | |
18491 | * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added. | |
18492 | Adjust register allocate order and update some macro define. | |
18493 | * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store, | |
18494 | mdx_block_move_straight, mdx_block_move_loop_head, | |
7e08fa35 UB |
18495 | mdx_block_move_loop_body, mdx_block_move_loop_foot, |
18496 | mdx_block_move_loop, mdx_block_move): Added. | |
99fc2502 CL |
18497 | (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi, |
18498 | mdp_limm): Updated and fix some bug and typo. | |
18499 | * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated. | |
18500 | (movsf, movdf, doloop_end): Added. | |
18501 | ||
7a085dce KH |
18502 | 2007-01-08 Kazu Hirata <kazu@codesourcery.com> |
18503 | ||
18504 | * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md, | |
18505 | config/arm/thumb2.md: Fix comment typos. | |
18506 | * doc/extend.texi: Fix a typo. | |
18507 | ||
a6ccdbab EC |
18508 | 2007-01-07 Eric Christopher <echristo@apple.com> |
18509 | ||
18510 | * configure.ac: Check for __stack_chk_fail for darwin. | |
18511 | * configure: Regenerate. | |
18512 | ||
b881887e RG |
18513 | 2007-01-07 Richard Guenther <rguenther@suse.de> |
18514 | ||
18515 | * tree-vrp.c (extract_range_from_assert): CSE calls to | |
18516 | compare_values where possible. | |
18517 | (extract_range_from_unary_expr): Likewise. | |
18518 | ||
696e990b AS |
18519 | 2007-01-07 Anatoly Sokolov <aesok@post.ru> |
18520 | ||
18521 | * config/avr/avr-protos.h (call_insn_operand): Delete prototype. | |
18522 | * config/avr/avr.c (call_insn_operand): Delete function. | |
18523 | * config/avr/avr.md (*pushqi, *pushhi, *pushsi, *pushsf): Use REG_SP | |
18524 | instead of register number. Use predicates. | |
a6ccdbab | 18525 | * config/avr/predicates.md (const0_operand, reg_or_0_operand, |
696e990b AS |
18526 | call_insn_operand): Add. |
18527 | ||
2dee695b JH |
18528 | 2007-01-06 Jan Hubicka <jh@suse.cz> |
18529 | ||
18530 | * tree-pass.h (pass_build_cgraph_edges): Declare. | |
18531 | * cgraphunit.c (record_refernece): Move to cgraphbuild.c | |
18532 | (visited_nodes): Remove. | |
18533 | (cgraph_create_edges): Move to cgraphbuild.c; rename to | |
18534 | build_cgrpah_edges; make visited_nodes local. | |
18535 | (cgraph_process_new_functions): DO not call initialize_inline_failed. | |
18536 | (record_references_in_initializer): Move to cgraphbuild.c | |
18537 | (initialize_inline_failed, rebuild_cgraph_edges, | |
18538 | pass_rebuild_cgraph_edges): Move to cgraphbuild.c. | |
18539 | (verify_cgraph_node): Make visited_nodes local. | |
18540 | (cgraph_analyze_function): Do not call cgraph_create_edges and | |
18541 | initialize_inline_failed. | |
18542 | (cgraph_expand_function): Do not call cgraph_lower_function; | |
18543 | assert that function is already lowered. | |
18544 | * Makefile.in (cgraphbuild.o): New. | |
18545 | * passes.c (init_optimization_passes): Add pass_build_cgraph_edges | |
18546 | at the end of lowering passes. | |
18547 | ||
dc1f5a11 SB |
18548 | 2007-01-06 Steven Bosscher <steven@gcc.gnu.org> |
18549 | ||
18550 | * ifcvt.c (cond_move_convert_if_block): New function, code | |
18551 | factored out from... | |
18552 | (cond_move_process_if_block): ...here. Call the new function | |
18553 | on the THEN and ELSE blocks. | |
18554 | (merge_if_block): Do not copy global_live_at_end, merge_blocks | |
18555 | already takes care of this. | |
18556 | ||
59c0753d MLI |
18557 | 2007-01-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
18558 | ||
18559 | PR c/19978 | |
18560 | * tree.h (TREE_OVERFLOW_P): New. | |
18561 | * c-typeck.c (parser_build_unary_op): Warn only if result | |
18562 | overflowed and operands did not. | |
18563 | (parser_build_binary_op): Likewise. | |
18564 | (convert_for_assignment): Remove redundant overflow_warning. | |
18565 | * c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW. | |
18566 | ||
c2658540 MLI |
18567 | 2007-01-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
18568 | ||
18569 | * c-typeck.c (store_init_value): Split over two lines to follow | |
18570 | the GNU coding style. | |
18571 | ||
c573f4d5 BK |
18572 | 2007-01-05 Benjamin Kosnik <bkoz@redhat.com> |
18573 | ||
18574 | * c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to | |
18575 | __GXX_EXPERIMENTAL_CXX0X__. | |
18576 | * doc/cpp.texi: Same. | |
18577 | ||
afe1a916 RG |
18578 | 2007-01-05 Richard Guenther <rguenther@suse.de> |
18579 | ||
18580 | PR middle-end/27826 | |
18581 | * tree.c (get_narrower): Do not construct COMPONENT_REFs | |
18582 | with mismatched types. Instead explicitly build a | |
18583 | conversion NOP_EXPR. | |
18584 | ||
b3c6d2ea ILT |
18585 | 2007-01-05 Ian Lance Taylor <iant@google.com> |
18586 | ||
18587 | * c-common.c (decl_with_nonnull_addr_p): New function. | |
18588 | (c_common_truthvalue_conversion): Call it. | |
18589 | * c-typeck.c (build_binary_op): Likewise. | |
18590 | * c-common.h (decl_with_nonnull_addr_p): Declare. | |
18591 | ||
698ac934 JJ |
18592 | 2007-01-05 Jakub Jelinek <jakub@redhat.com> |
18593 | ||
18594 | PR c/30360 | |
18595 | * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of | |
18596 | denom against 0.0. | |
18597 | ||
4b322f43 JB |
18598 | 2007-01-05 Joel Brobecker <brobecker@adacore.com> |
18599 | ||
18600 | * doc/install.texi (Final install): Document the fact that | |
18601 | the GNAT runtime should not be stripped. | |
18602 | ||
9477eb38 JH |
18603 | 2007-01-04 Jan Hubicka <jh@suse.cz> |
18604 | ||
18605 | * tree-inline.c (fold_marked_statements): Update operand caches | |
18606 | and EH after folding | |
18607 | ||
dfd0a3de ILT |
18608 | 2007-01-04 Ian Lance Taylor <iant@google.com> |
18609 | ||
18610 | * c-common.c (check_function_nonnull): Whitespace fix. | |
18611 | ||
59e50498 JH |
18612 | 2007-01-04 Jan Hubicka <jh@suse.cz> |
18613 | ||
18614 | * tree-optimize.c (execute_fixup_cfg): Correct previously mistakely | |
18615 | comitted older version of patch. | |
18616 | (pass_fixup_cfg): Add TODOs to verify flow and statements, dump | |
18617 | function, celanup cfg and collect garbage. | |
18618 | ||
a87948f7 MS |
18619 | 2007-01-04 Mike Stump <mrs@apple.com> |
18620 | ||
18621 | * Makefile.in (mostlyclean): Don't remove libgcc anymore. | |
18622 | (clean): Likewise. | |
18623 | ||
e4b6bec2 EC |
18624 | 2007-01-04 Eric Christopher <echristo@apple.com> |
18625 | ||
18626 | * libgcc2.c (__bswapsi2): Use SItype. | |
18627 | (__bswapdi2): Use DItype. | |
18628 | * libgcc2.h: Update for above. | |
18629 | ||
d6c397b0 PB |
18630 | 2007-01-04 Paul Brook <paul@codesourcery.com> |
18631 | ||
18632 | * config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0, | |
18633 | mulsi_compare0_scratch, mulsi3addsi, mulsi3addsi_compare0, | |
18634 | mulsi3addsi_compare0_scratch, mulsidi3adddi, mulsidi3, | |
18635 | umulsidi3, umulsidi3adddi, smulsi3_highpart, | |
18636 | umulsi3_highpart): Make conditional on !arm_arch6. | |
18637 | (arm_mulsi3_v6, thumb_mulsi3_v6, mulsi3_compare0_v6, | |
18638 | mulsi_compare0_scratch_v6, mulsi3addsi_v6, mulsi3addsi_compare0_v6, | |
18639 | mulsi3addsi_compare0_scratch_v6, mulsidi3adddi_v6, mulsidi3_v6, | |
18640 | umulsidi3_v6, umulsidi3adddi_v6, smulsi3_highpart_v6, | |
18641 | umulsi3_highpart_v6): New insns. | |
18642 | ||
bd7e4636 RS |
18643 | 2007-01-04 Roger Sayle <roger@eyesopen.com> |
18644 | ||
18645 | * fold-const.c (fold_convert): When casting an expression to void, | |
18646 | fold_ignored_result may discover a GIMPLE_MODIFY_STMT which doesn't | |
18647 | have a type. Instead of attempting to build a NOP_EXPR, return | |
18648 | these "special" trees directly. | |
18649 | ||
762c919f JM |
18650 | 2007-01-04 Joseph Myers <joseph@codesourcery.com> |
18651 | ||
18652 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for | |
18653 | MULT inside MINUS as either argument. Use rs6000_cost->dmul - | |
18654 | rs6000_cost->fp not 0 as adjustment for outer NEG. | |
18655 | ||
3a40c18a JH |
18656 | 2007-01-04 Jan Hubicka <jh@suse.cz> |
18657 | ||
18658 | * cgraph.c (cgraph_release_function_body): New function. | |
18659 | (cgraph_remove_node): Use it. | |
18660 | * cgraph.h (cgraph_release_function_body): Declare. | |
18661 | * cgraphunit.c (cgraph_expand_function): Use it. | |
18662 | * ipa.c (cgraph_remove_unreahchable_nodes): Use it. | |
18663 | * tree-ssa.c (delete_tree_ssa): Allow to be called before aliasing | |
18664 | is initialized and while compilation of other function is running. | |
18665 | * tree-optimize.c (execute_free_cfg_annotations): Move code to clear | |
18666 | statement CFG annotations from here to ... | |
18667 | * tree-cfg.c (delete_tree_cfg_annotations): ... here. | |
18668 | ||
b06e8639 ZD |
18669 | 2007-01-04 Zdenek Dvorak <dvorakz@suse.cz> |
18670 | ||
18671 | * cfgloop.h (enum li_flags): Make the constants powers of two. | |
18672 | ||
b8a00a4d JH |
18673 | 2007-01-04 Jan Hubicka <jh@suse.cz> |
18674 | ||
18675 | * tree-inline.c (copy_bb): Insert new statements to statements_to_fold | |
18676 | set. | |
18677 | (fold_marked_statements): New function. | |
18678 | (optimize_inline_calls, tree_function_versioning): Fold new statements. | |
b06e8639 | 18679 | * tree-inline.h (copy_body_data): Add statements_to_fold. |
b8a00a4d | 18680 | |
fa958513 DJ |
18681 | 2007-01-03 Daniel Jacobowitz <dan@codesourcery.com> |
18682 | ||
18683 | * config.gcc: Mention libgcc/config.host. | |
18684 | * Makefile.in: Update comments mentioning libgcc. | |
18685 | (LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete. | |
18686 | (all.cross, start.encap, rest.encap, rest.cross): Update | |
18687 | dependencies for libgcc move. | |
18688 | (libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib) | |
18689 | (clean-target, clean-target-libgcc): Delete. | |
18690 | (srcdirify, GCC_EXTRA_PARTS): New macros. | |
18691 | (libgcc-support, libgcc.mvars): New rules. | |
18692 | (distclean): Remove mention of mklibgcc. | |
18693 | (install): Don't reference INSTALL_LIBGCC. | |
18694 | (install-common): Don't reference EXTRA_PARTS. | |
18695 | (install-libgcc, install-multilib): Delete rules. | |
18696 | * mklibgcc.in: Delete file. | |
18697 | * doc/configfiles.texi: Don't mention mklibgcc. | |
18698 | ||
18699 | * config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc). | |
18700 | * config/i386/t-darwin64 (SHLIB_VERPFX): Likewise. | |
18701 | * config/rs6000/t-darwin (SHLIB_VERPFX): Likewise. | |
18702 | * config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES) | |
18703 | (mklibgcc, ldblspecs): Likewise. | |
18704 | ||
18705 | * config/i386/t-nwld (libgcc.def, libc.def, libpcre.def) | |
18706 | (posixpre.def): Use $(T). | |
18707 | (SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP) | |
18708 | (SHLIB_SRC, SHLIB_INSTALL): Delete. | |
18709 | (SHLIB_LINK): Make dummy. | |
18710 | * config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK. | |
18711 | ||
18712 | * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear. | |
18713 | ||
18714 | * config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS. | |
18715 | * config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30, | |
18716 | config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos, | |
18717 | config/rs6000/t-newas, config/sparc/t-elf: Likewise. | |
18718 | ||
18719 | * configure.ac (all_outputs): Remove mklibgcc. | |
18720 | * configure: Regenerated. | |
18721 | ||
7816b87e JC |
18722 | 2007-01-03 Josh Conner <jconner@apple.com> |
18723 | ||
18724 | PR middle-end/29683 | |
18725 | * calls.c (compute_argument_addresses): Set stack and stack_slot | |
18726 | for partial args, too. | |
18727 | (store_one_arg): Use locate.size.constant for the size when | |
18728 | generating a save_area. | |
18729 | ||
611021e1 RK |
18730 | 2007-01-03 Robert Kennedy <jimbob@google.com> |
18731 | ||
18732 | * tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results | |
18733 | whose definitions are deleted due to basic block merging. | |
18734 | ||
a15908a4 PB |
18735 | 2007-01-03 Paul Brook <paul@codesourcery.com> |
18736 | ||
18737 | PR target/16634 | |
18738 | * config/arm/arm.c (output_return_instruction): Pop PC in interrupt | |
18739 | functions. | |
18740 | (use_return_insn): Return 0 for Thumb interrupt functions. | |
18741 | (print_multi_reg): Add rfe argument for IRQ returns. | |
18742 | (arm_output_epilogue): Pop interrupt return address directly into PC. | |
18743 | (arm_expand_prologue): Only adjust IRQ return address in Arm mode. | |
18744 | ||
5b3e6663 PB |
18745 | 2007-01-03 Paul Brook <paul@codesourcery.com> |
18746 | ||
18747 | Merge from sourcerygxx-4_1. | |
18748 | * config/arm/thumb2.md: New file. | |
18749 | * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Return True for | |
18750 | Thumb-2. | |
18751 | * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Ditto. | |
18752 | * config/arm/aout.h (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion. | |
18753 | (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump tables. | |
18754 | * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump | |
18755 | tables. | |
18756 | (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion. | |
18757 | * config/arm/ieee754-df.S: Use macros for Thumb-2/Unified asm | |
18758 | comptibility. | |
18759 | * config/arm/ieee754-sf.S: Ditto. | |
18760 | * config/arm/arm.c (thumb_base_register_rtx_p): Rename... | |
18761 | (thumb1_base_register_rtx_p): ... to this. | |
18762 | (thumb_index_register_rtx_p): Rename... | |
18763 | (thumb1_index_register_rtx_p): ... to this. | |
18764 | (thumb_output_function_prologue): Rename... | |
18765 | (thumb1_output_function_prologue): ... to this. | |
18766 | (thumb_legitimate_address_p): Rename... | |
18767 | (thumb1_legitimate_address_p): ... to this. | |
18768 | (thumb_rtx_costs): Rename... | |
18769 | (thumb1_rtx_costs): ... to this. | |
18770 | (thumb_compute_save_reg_mask): Rename... | |
18771 | (thumb1_compute_save_reg_mask): ... to this. | |
18772 | (thumb_final_prescan_insn): Rename... | |
18773 | (thumb1_final_prescan_insn): ... to this. | |
18774 | (thumb_expand_epilogue): Rename... | |
18775 | (thumb1_expand_epilogue): ... to this. | |
18776 | (arm_unwind_emit_stm): Rename... | |
18777 | (arm_unwind_emit_sequence): ... to this. | |
18778 | (thumb2_legitimate_index_p, thumb2_legitimate_address_p, | |
18779 | thumb1_compute_save_reg_mask, arm_dwarf_handle_frame_unspec, | |
18780 | thumb2_index_mul_operand, output_move_vfp, arm_shift_nmem, | |
18781 | arm_save_coproc_regs, thumb_set_frame_pointer, arm_print_condition, | |
18782 | thumb2_final_prescan_insn, thumb2_asm_output_opcode, arm_output_shift, | |
18783 | thumb2_output_casesi): New functions. | |
18784 | (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define. | |
18785 | (FL_THUMB2, FL_NOTM, FL_DIV, FL_FOR_ARCH6T2, FL_FOR_ARCH7, | |
18786 | FL_FOR_ARCH7A, FL_FOR_ARCH7R, FL_FOR_ARCH7M, ARM_LSL_NAME, | |
18787 | THUMB2_WORK_REGS): Define. | |
18788 | (arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv, arm_condexec_count, | |
18789 | arm_condexec_mask, arm_condexec_masklen)): New variables. | |
18790 | (all_architectures): Add armv6t2, armv7, armv7a, armv7r and armv7m. | |
18791 | (arm_override_options): Check new CPU capabilities. | |
18792 | Set new architecture flag variables. | |
18793 | (arm_isr_value): Handle v7m interrupt functions. | |
18794 | (user_return_insn): Return 0 for v7m interrupt functions. Handle | |
18795 | Thumb-2. | |
18796 | (const_ok_for_arm): Handle Thumb-2 constants. | |
18797 | (arm_gen_constant): Ditto. Use movw when available. | |
18798 | (arm_function_ok_for_sibcall): Return false for v7m interrupt | |
18799 | functions. | |
18800 | (legitimize_pic_address, arm_call_tls_get_addr): Handle Thumb-2. | |
18801 | (thumb_find_work_register, arm_load_pic_register, | |
18802 | legitimize_tls_address, arm_address_cost, load_multiple_sequence, | |
18803 | emit_ldm_seq, emit_stm_seq, arm_select_cc_mode, get_jump_table_size, | |
18804 | print_multi_reg, output_mov_long_double_fpa_from_arm, | |
18805 | output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm, | |
18806 | output_mov_double_fpa_from_arm, output_move_double, | |
18807 | arm_compute_save_reg_mask, arm_compute_save_reg0_reg12_mask, | |
18808 | output_return_instruction, arm_output_function_prologue, | |
18809 | arm_output_epilogue, arm_get_frame_offsets, arm_regno_class, | |
18810 | arm_output_mi_thunk, thumb_set_return_address): Ditto. | |
18811 | (arm_expand_prologue): Handle Thumb-2. Use arm_save_coproc_regs. | |
18812 | (arm_coproc_mem_operand): Allow POST_INC/PRE_DEC. | |
18813 | (arithmetic_instr, shift_op): Use arm_shift_nmem. | |
18814 | (arm_print_operand): Use arm_print_condition. Handle '(', ')', '.', | |
18815 | '!' and 'L'. | |
18816 | (arm_final_prescan_insn): Use extract_constrain_insn_cached. | |
18817 | (thumb_expand_prologue): Use thumb_set_frame_pointer. | |
18818 | (arm_file_start): Output directive for unified syntax. | |
18819 | (arm_unwind_emit_set): Handle stack alignment instruction. | |
18820 | * config/arm/lib1funcs.asm: Remove default for __ARM_ARCH__. | |
18821 | Add v6t2, v7, v7a, v7r and v7m. | |
18822 | (RETLDM): Add Thumb-2 code. | |
18823 | (do_it, shift1, do_push, do_pop, COND, THUMB_SYNTAX): New macros. | |
18824 | * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __thumb2__. | |
18825 | (TARGET_THUMB1, TARGET_32BIT, TARGET_THUMB2, TARGET_DSP_MULTIPLY, | |
18826 | TARGET_INT_SIMD, TARGET_UNIFIED_ASM, ARM_FT_STACKALIGN, IS_STACKALIGN, | |
18827 | THUMB2_TRAMPOLINE_TEMPLATE, TRAMPOLINE_ADJUST_ADDRESS, | |
18828 | ASM_OUTPUT_OPCODE, THUMB2_GO_IF_LEGITIMATE_ADDRESS, | |
18829 | THUMB2_LEGITIMIZE_ADDRESS, CASE_VECTOR_PC_RELATIVE, | |
18830 | CASE_VECTOR_SHORTEN_MODE, ADDR_VEC_ALIGN, ASM_OUTPUT_CASE_END, | |
18831 | ADJUST_INSN_LENGTH): Define. | |
18832 | (TARGET_REALLY_IWMMXT, TARGET_IWMMXT_ABI, CONDITIONAL_REGISTER_USAGE, | |
18833 | STATIC_CHAIN_REGNUM, HARD_REGNO_NREGS, INDEX_REG_CLASS, | |
18834 | BASE_REG_CLASS, MODE_BASE_REG_CLASS, SMALL_REGISTER_CLASSES, | |
18835 | PREFERRED_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS, | |
18836 | SECONDARY_INPUT_RELOAD_CLASS, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, | |
18837 | TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE, HAVE_PRE_INCREMENT, | |
18838 | HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HAVE_PRE_MODIFY_DISP, | |
18839 | HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_REG, HAVE_POST_MODIFY_REG, | |
18840 | REGNO_MODE_OK_FOR_BASE_P, LEGITIMATE_CONSTANT_P, | |
18841 | REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, GO_IF_LEGITIMATE_ADDRESS, | |
18842 | LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS, | |
18843 | GO_IF_MODE_DEPENDENT_ADDRESS, MEMORY_MOVE_COST, BRANCH_COST, | |
18844 | ASM_APP_OFF, ASM_OUTPUT_CASE_LABEL, ARM_DECLARE_FUNCTION_NAME, | |
18845 | FINAL_PRESCAN_INSN, PRINT_OPERAND_PUNCT_VALID_P, | |
18846 | PRINT_OPERAND_ADDRESS): Adjust for Thumb-2. | |
18847 | (arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv): New declarations. | |
18848 | * config/arm/arm-cores.def: Add arm1156t2-s, cortex-a8, cortex-r4 and | |
18849 | cortex-m3. | |
18850 | * config/arm/arm-tune.md: Regenerate. | |
18851 | * config/arm/arm-protos.h: Update prototypes. | |
18852 | * config/arm/vfp.md: Enable patterns for Thumb-2. | |
18853 | (arm_movsi_vfp): Add movw alternative. Use output_move_vfp. | |
18854 | (arm_movdi_vfp, movsf_vfp, movdf_vfp): Use output_move_vfp. | |
18855 | (thumb2_movsi_vfp, thumb2_movdi_vfp, thumb2_movsf_vfp, | |
18856 | thumb2_movdf_vfp, thumb2_movsfcc_vfp, thumb2_movdfcc_vfp): New. | |
18857 | * config/arm/libunwind.S: Add Thumb-2 code. | |
18858 | * config/arm/constraints.md: Update include Thumb-2. | |
18859 | * config/arm/ieee754-sf.S: Add Thumb-2/Unified asm support. | |
18860 | * config/arm/ieee754-df.S: Ditto. | |
18861 | * config/arm/bpabi.S: Ditto. | |
18862 | * config/arm/t-arm (MD_INCLUDES): Add thumb2.md. | |
18863 | * config/arm/predicates.md (low_register_operand, | |
18864 | low_reg_or_int_operand, thumb_16bit_operator): New. | |
18865 | (thumb_cmp_operand, thumb_cmpneg_operand): Rename... | |
18866 | (thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this. | |
18867 | * config/arm/t-arm-elf: Add armv7 multilib. | |
18868 | * config/arm/arm.md: Update patterns for Thumb-2 and Unified asm. | |
18869 | Include thumb2.md. | |
18870 | (UNSPEC_STACK_ALIGN, ce_count): New. | |
18871 | (arm_incscc, arm_decscc, arm_umaxsi3, arm_uminsi3, | |
18872 | arm_zero_extendsidi2, arm_zero_extendqidi2): New | |
18873 | insns/expanders. | |
18874 | * config/arm/fpa.md: Update patterns for Thumb-2 and Unified asm. | |
18875 | (thumb2_movsf_fpa, thumb2_movdf_fpa, thumb2_movxf_fpa, | |
18876 | thumb2_movsfcc_fpa, thumb2_movdfcc_fpa): New insns. | |
18877 | * config/arm/cirrus.md: Update patterns for Thumb-2 and Unified asm. | |
18878 | (cirrus_thumb2_movdi, cirrus_thumb2_movsi_insn, | |
18879 | thumb2_cirrus_movsf_hard_insn, thumb2_cirrus_movdf_hard_insn): New | |
18880 | insns. | |
18881 | * doc/extend.texi: Document ARMv7-M interrupt functions. | |
18882 | * doc/invoke.texi: Document Thumb-2 new cores+architectures. | |
18883 | ||
f8e7718c JJ |
18884 | 2007-01-03 Jakub Jelinek <jakub@redhat.com> |
18885 | ||
18886 | * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define. | |
18887 | (struct _Unwind_Context): Rename args_size to flags, remove | |
18888 | signal_frame field, add a new args_size field and version field. | |
18889 | (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame, | |
18890 | _Unwind_IsExtendedContext): New inline functions. | |
18891 | (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): | |
18892 | Assume by_value array is only present if _Unwind_IsExtendedContext. | |
18893 | (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use | |
18894 | _Unwind_IsSignalFrame. | |
18895 | (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT. | |
18896 | (uw_update_context_1): Use _Unwind_SetSignalFrame. | |
18897 | (uw_init_context_1): Initialize context->flags to | |
18898 | EXTENDED_CONTEXT_BIT. | |
18899 | * config/rs6000/linux-unwind.h (frob_update_context): Use | |
18900 | _Unwind_SetSignalFrame. | |
18901 | ||
d9c2d296 AP |
18902 | 2007-01-03 Andrew Pinski <andrew_pinski@playstation.sony.com> |
18903 | ||
798d1cc9 | 18904 | PR middle-end/30353 |
d9c2d296 AP |
18905 | * gimplify.c (gimplify_modify_expr_complex_part): Move below |
18906 | tree_to_gimple_tuple. Call tree_to_gimple_tuple when we need | |
18907 | the value. | |
18908 | ||
8a2fcf91 KH |
18909 | 2007-01-03 Kazu Hirata <kazu@codesourcery.com> |
18910 | ||
18911 | * config/i386/i386.h (NON_STACK_REG_P, REGNO_OK_FOR_SIREG_P, | |
18912 | REGNO_OK_FOR_DIREG_P, REWRITE_ADDRESS, ASM_OPERAND_LETTER, | |
18913 | RET, AT_SP): Remove. | |
18914 | * config/i386/i386.md (*sse_prologue_save_insn): Use return | |
18915 | instead of RET. | |
18916 | ||
a590ac65 KH |
18917 | * alias.c (init_alias_analysis): Use VEC_safe_grow_cleared. |
18918 | * cfgbuild.c (find_basic_blocks): Likewise. | |
18919 | * cfgrtl.c (rtl_create_basic_block): Likewise. | |
18920 | * function.c (temp_slots_at_level): Likewise. | |
18921 | * reg-stack.c (stack_regs_mentioned): Likewise. | |
18922 | * regclass.c (allocate_reg_info): Likewise. | |
18923 | * tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb, | |
18924 | set_bb_for_stmt, move_block_to_fn): Likewise. | |
18925 | * tree-complex.c (tree_lower_complex): Likewise. | |
18926 | * vec.h (VEC_safe_grow_cleared): New. | |
18927 | ||
d60ab196 KH |
18928 | * cgraphunit.c, tree-ssa-alias.c: Fix comment typos. |
18929 | ||
a590ac65 | 18930 | 2007-01-03 Zdenek Dvorak <dvorakz@suse.cz> |
03cb2019 ZD |
18931 | |
18932 | * loop-unswitch.c (unswitch_loop): Pass probabilities to loopify. | |
18933 | * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass probabilities | |
18934 | to loop_version. | |
18935 | * cfgloopmanip.c (scale_loop_frequencies): Export. | |
18936 | (loopify): Scale the frequencies by prescribed coefficients. | |
18937 | (set_zero_probability): New function. | |
18938 | (duplicate_loop_to_header_edge): Improve updating of frequencies. | |
18939 | (lv_adjust_loop_entry_edge, loop_version): Set probabilities | |
18940 | and frequencies according to arguments. | |
18941 | * tree-ssa-loop-manip.c (tree_unroll_loop): Set probabilities | |
18942 | correctly. | |
18943 | * cfg.c (scale_bbs_frequencies_int): Allow scaling the frequencies up. | |
18944 | * modulo-sched.c (sms_schedule): Set probabilities for entering | |
18945 | versioned loop correctly. | |
18946 | * tree-vect-transform.c (vect_transform_loop): Ditto. | |
18947 | * cfgloop.h (loopify, loop_version): Declaration changed. | |
18948 | (scale_loop_frequencies): Declared. | |
18949 | ||
7a388ee4 JH |
18950 | 2007-01-02 Jan Hubicka <jh@suse.cz> |
18951 | ||
18952 | * cgraph.c: Include tree-flow.h | |
18953 | (cgraph_add_new-function): Handle IPA_SSA mode; execute | |
18954 | early_local_passes. | |
18955 | * cgraph.h (enum cgraph_state): Add CGRAPH_STATE_IPA_SSA. | |
18956 | * tree-pass.h (pass_all_early_optimizations): Declare. | |
18957 | * cgraphunit.c (cgraph_process_new_functions): Add IPA_SSA; execute | |
18958 | early_local_passes. | |
18959 | (cgraph_analyze_function): Do early_local_passes. | |
18960 | * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for): | |
18961 | Do not add referenced vars. | |
18962 | * tree-optimize.c (gate_all_optimizations): Do not execute when not in | |
18963 | SSA form. | |
18964 | (gate_all_early_local_passes): New gate. | |
18965 | (pass_early_local_passes): Use new gate. | |
18966 | (execute_early_local_optimizations): New functions. | |
18967 | (gate_all_early_optimizations): New gate. | |
18968 | (pass_all_early_optimizations): New pass. | |
18969 | (execute_free_datastructures): Free SSA only when initialized. | |
18970 | (gate_init_datastructures): Init only when optimizing. | |
18971 | (tree_lowering_passes): Do early local passes when called late. | |
18972 | * tree-profile.c (do_tree_profiling): Don't profile functions added | |
18973 | late. | |
18974 | (do_early_tree_profiling, pass_early_tree_profile): Kill. | |
18975 | * tree-cfg.c (update_modified_stmts): Do not update when operands are | |
18976 | not active. | |
18977 | * passes.c (init_optimizations_passes): Reorder so we go into SSA | |
18978 | during early_local_passes. | |
18979 | * Makefile.in (cgraph.o): Add dependency on tree-flow.h. | |
18980 | ||
18981 | ||
ce7b00a8 CD |
18982 | 2007-01-02 Carlos O'Donell <carlos@codesourcery.com> |
18983 | ||
18984 | * Makefile.in: Update copyright year. | |
18985 | ||
b3e7b87f CD |
18986 | 2007-01-02 Carlos O'Donell <carlos@codesourcery.com> |
18987 | ||
18988 | * Makefile.in: Export GCC_EXEC_PREFIX before calling $(RUNTEST) | |
18989 | in $(lang_checks) and check-consistency targets. | |
18990 | ||
ed1a2abd JH |
18991 | 2007-01-02 Jan Hubicka <jh@suse.cz> |
18992 | ||
03cb2019 ZD |
18993 | * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for): |
18994 | Do not add referenced vars. | |
18995 | * tree-cfg.c (update_modified_stmts): Do not update when SSA operands | |
18996 | are not active. | |
18997 | * passes.c (init_optimization_passes): Put mudflap_2 after | |
18998 | free_datastructures. | |
ed1a2abd | 18999 | |
de6bd996 JH |
19000 | 2007-01-02 Jan Hubicka <jh@suse.cz> |
19001 | ||
19002 | * tree-optimize (execute_fixup_cfg): Set after_inlining flag. | |
19003 | Set NOTHROW flag on call statements proved to be nothrow. | |
19004 | Update statement of local calls so new pure/const functions are | |
19005 | updated. Update_ssa when in ssa form. Mark PHI nodes of nonlocal | |
19006 | goto receivers. | |
19007 | (tree_rest_of_compilation): Register hooks and initialize bitmap | |
19008 | early. Do not set after_inlining flag. | |
19009 | ||
a063525a SE |
19010 | 2007-01-02 Steve Ellcey <sje@cup.hp.com> |
19011 | ||
19012 | * sbitmap.c (HOST_BITS_PER_LONG_LONG): Change to | |
e4b6bec2 | 19013 | HOST_BITS_PER_LONGLONG |
a063525a | 19014 | |
b405ac80 MLI |
19015 | 2007-01-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
19016 | ||
19017 | PR c/19977 | |
19018 | * c-typeck.c (store_init_value): Don't emit pedantic overflow | |
19019 | warning for non-static initializers. | |
e4b6bec2 | 19020 | |
bd94cb6e SB |
19021 | 2007-01-02 Steven Bosscher <steven@gcc.gnu.org> |
19022 | ||
19023 | * config/alpha/alpha.md, arm/arm.c, darwin.c, frv/frv.md, | |
19024 | m32r/m32r.c, m32r/m32r.c, mn10300/mn10300.md, pa/pa.c, | |
19025 | rs6000/rs6000.c, s390/s390.md, sh/sh.md, sparc/sparc.c: | |
19026 | Always use set_unique_reg_note to add REG_EQUAL notes. | |
19027 | ||
61465e75 KH |
19028 | 2007-01-02 Kazu Hirata <kazu@codesourcery.com> |
19029 | ||
19030 | Revert: | |
19031 | 2007-01-02 Kazu Hirata <kazu@codesourcery.com> | |
19032 | ||
19033 | * alias.c (init_alias_analysis): Use VEC_safe_grow_cleared. | |
19034 | * cfgbuild.c (find_basic_blocks): Likewise. | |
19035 | * cfgrtl.c (rtl_create_basic_block): Likewise. | |
19036 | * function.c (temp_slots_at_level): Likewise. | |
19037 | * reg-stack.c (stack_regs_mentioned): Likewise. | |
19038 | * regclass.c (allocate_reg_info): Likewise. | |
19039 | * tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb, | |
19040 | set_bb_for_stmt, move_block_to_fn): Likewise. | |
19041 | * tree-complex.c (tree_lower_complex): Likewise. | |
19042 | * vec.h (VEC_safe_grow_cleared): New. | |
19043 | ||
19044 | 2007-01-02 Ian Lance Taylor <iant@google.com> | |
fbc8d2d3 ILT |
19045 | |
19046 | * c-common.c (c_common_truthvalue_conversion): When warning about | |
19047 | using an assignment as a truth value, set TREE_NO_WARNING. | |
19048 | ||
b1ed4cb4 MLI |
19049 | 2007-01-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
19050 | ||
19051 | PR middle-end/7651 | |
19052 | * c.opt (Wold-style-declaration): New. | |
19053 | * doc/invoke.texi (C-only Warning Options): New. | |
19054 | (Wold-style-declaration): Document it. | |
19055 | (Wextra): Enabled by -Wextra. | |
19056 | * c-opts.c (c_common_post_options): Enabled by -Wextra. | |
19057 | * c-decl.c (declspecs_add_scspec): Replace -Wextra with | |
19058 | -Wold-style-declaration. | |
e4b6bec2 | 19059 | |
d887a682 KH |
19060 | 2007-01-02 Kazu Hirata <kazu@codesourcery.com> |
19061 | ||
19062 | * alias.c (init_alias_analysis): Use VEC_safe_grow_cleared. | |
19063 | * cfgbuild.c (find_basic_blocks): Likewise. | |
19064 | * cfgrtl.c (rtl_create_basic_block): Likewise. | |
19065 | * function.c (temp_slots_at_level): Likewise. | |
19066 | * reg-stack.c (stack_regs_mentioned): Likewise. | |
19067 | * regclass.c (allocate_reg_info): Likewise. | |
19068 | * tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb, | |
19069 | set_bb_for_stmt, move_block_to_fn): Likewise. | |
19070 | * tree-complex.c (tree_lower_complex): Likewise. | |
19071 | * vec.h (VEC_safe_grow_cleared): New. | |
19072 | ||
06d40de8 DG |
19073 | 2007-01-02 Douglas Gregor <doug.gregor@gmail.com> |
19074 | ||
5b081108 | 19075 | * c-common.c (c_common_nodes_and_builtins): Since variants of |
06d40de8 | 19076 | void_type_node get built before it is given a name, we need to |
e4b6bec2 | 19077 | give those variants the name, too. |
06d40de8 DG |
19078 | (complete_array_type): We need to work with the canonical main |
19079 | type of the array, from which we will build the qualified version. | |
19080 | * params.def (PARAM_VERIFY_CANONICAL_TYPES): New. | |
19081 | * print-tree.c (print_node): Display canonical type information | |
19082 | for each type. | |
19083 | * stor-layout.c (layout_type): When we don't know the | |
19084 | alignment of a type for which we're building an array, we end up | |
19085 | guessing wrong, so make the type require structural equality. | |
19086 | * tree.c (make_node_stat): When we build a new type, it is its | |
19087 | own canonical type. | |
19088 | (build_type_attribute_qual_variant): When building an attribute | |
19089 | variant, its canonical type is the non-attribute variant. However, | |
19090 | if the attributes are target-dependent and they differ, we need to | |
19091 | use structural equality checks for this type. | |
19092 | (build_qualified_type): A qualified type is not equivalent to its | |
19093 | unqualified variant; set the canonical type appropriately. | |
19094 | (build_distinct_type_copy): When building a distinct type from | |
19095 | another type, the new type is its own canonical type. | |
19096 | (build_variant_type_copy): When building a new type variant, we | |
19097 | assume that it is equivalent to the original type. | |
19098 | (build_pointer_type_for_mode): When building a pointer type, also | |
19099 | build a canonical type pointer. | |
19100 | (build_reference_type_for_mode): When building a reference type, | |
19101 | also build a canonical type reference. | |
19102 | (build_index_type): When we can't hash an index type (e.g., | |
19103 | because its maximum value is negative), the index type requires | |
19104 | structural equality tests. | |
19105 | (build_array_type): Build the canonical form of an array type. | |
19106 | (build_function_type): Function types require structural equality, | |
e4b6bec2 | 19107 | because they contain default arguments, attributes, etc. |
06d40de8 DG |
19108 | (build_method_type_directly): Ditto for method types. |
19109 | (build_offset_type): Build the canonical offset type. | |
19110 | (build_complex_type): Build the canonical vector type. | |
19111 | (make_vector_type): Build the canonical vector type. | |
19112 | * tree.h (TYPE_CANONICAL): New. | |
19113 | (TYPE_STRUCTURAL_EQUALITY_P): New. | |
19114 | (SET_TYPE_STRUCTURAL_EQUALITY): New. | |
19115 | (struct tree_type): Added "canonical" field. | |
19116 | * params.h (VERIFY_CANONICAL_TYPES): New. | |
19117 | * doc/c-tree.texi (TYPE_CANONICAL): Document. | |
19118 | (TYPE_STRUCTURAL_EQUALITY_P): Document. | |
19119 | (SET_TYPE_STRUCTURAL_EQUALITY): Document. | |
19120 | * doc/invoke.texi (verify-canonical-types): Document --param | |
19121 | parameter for verifying canonical types. | |
19122 | ||
eca0d5e8 JM |
19123 | 2007-01-02 Joseph Myers <joseph@codesourcery.com> |
19124 | ||
19125 | * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*, | |
19126 | powerpc-*-eabisim*, powerpc-*-eabialtivec*, powerpc-*-eabi*, | |
19127 | powerpc-*-rtems*, powerpc-wrs-vxworks, powerpc-wrs-vxworksae, | |
19128 | powerpcle-*-eabisim*, powerpcle-*-eabi*): Add rs6000/e500.h to | |
19129 | tm_file. | |
19130 | * config/rs6000/e500.h: New. | |
19131 | * config/rs6000/eabi.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500, | |
19132 | TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, TARGET_E500_DOUBLE): | |
19133 | Remove. | |
19134 | * config/rs6000/linuxspe.h (TARGET_SPE_ABI, TARGET_SPE, | |
19135 | TARGET_E500, TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, | |
19136 | TARGET_E500_DOUBLE): Remove. | |
19137 | * config/rs6000/vxworks.h (TARGET_SPE_ABI, TARGET_SPE, | |
19138 | TARGET_E500, TARGET_ISEL, TARGET_FPRS): Remove. | |
19139 | * config/rs6000/rs6000.h (CHECK_E500_OPTIONS): Define. | |
19140 | * config/rs6000/rs6000.c (rs6000_override_options): Use | |
19141 | CHECK_E500_OPTIONS. | |
19142 | ||
8ef65e3d JM |
19143 | 2007-01-02 Joseph Myers <joseph@codesourcery.com> |
19144 | ||
19145 | * config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE || | |
19146 | TARGET_E500_DOUBLE), not TARGET_E500, for %y. | |
19147 | (rs6000_generate_compare, rs6000_emit_sCOND, output_cbranch, | |
19148 | rs6000_emit_cmove): Don't check TARGET_E500. | |
19149 | * config/rs6000/rs6000.md (bunordered, bordered, sunordered, | |
19150 | sordered): Don't check TARGET_E500. | |
19151 | ||
d8934cf1 EC |
19152 | 2007-01-01 Eric Christopher <echristo@apple.com> |
19153 | ||
19154 | * config/mips/mips.c (mips_regno_mode_ok_for_base_p): Use | |
19155 | HARD_REGISTER_NUM_P. | |
19156 | ||
cf06e5c1 RS |
19157 | 2007-01-01 Roger Sayle <roger@eyesopen.com> |
19158 | ||
19159 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold "(X^C1) eq/ne C2" into | |
19160 | "X eq/ne (C1^C2)". Fold "(X^Z) eq/ne (Y^Z)" as "X eq/ne Y" when Z | |
19161 | has no side-effects. Fold "(X^C1) eq/ne (Y^C2)" as "(X^(C1^C2)) | |
19162 | eq/ne Y". | |
19163 | ||
e68ea32e MS |
19164 | 2007-01-01 Mike Stump <mrs@apple.com> |
19165 | ||
19166 | * configure.ac: Remove support for building with Apple's gcc-3.1. | |
19167 | ||
a446b4e8 JM |
19168 | 2007-01-02 Joseph Myers <joseph@codesourcery.com> |
19169 | ||
19170 | PR middle-end/30311 | |
19171 | * caller-save.c (add_stored_regs): Only handle SUBREGs if inner | |
19172 | REG is a hard register. Do not modify REG before calling | |
19173 | subreg_nregs. | |
19174 | * rtlanal.c (subreg_get_info): Don't assert size of XMODE is a | |
19175 | multiple of the size of YMODE for certain lowpart cases. | |
19176 | ||
c0893ec0 AP |
19177 | 2007-01-01 Andrew Pinski <pinskia@gmail.com> |
19178 | ||
19179 | PR middle-end/30253 | |
19180 | * gimplify (voidify_wrapper_expr): Update for | |
e7073e64 | 19181 | GIMPLE_MODIFY_STMT. |
c0893ec0 | 19182 | |
ae1e2d4c AS |
19183 | 2007-01-01 Andreas Schwab <schwab@suse.de> |
19184 | ||
19185 | PR target/29166 | |
19186 | * config/ia64/ia64.c (ia64_compute_frame_size): Account space for | |
19187 | save of BR0 in extra_spill_size instead of spill_size. | |
19188 | (ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill | |
19189 | area. | |
19190 | (ia64_expand_epilogue): Restore BR0 from its new location. | |
19191 | ||
9bed0a34 AP |
19192 | 2007-01-01 Andrew Pinski <pinskia@gmail.com> |
19193 | ||
19194 | * gimplify.c (gimplify_init_constructor <case VECTOR_TYPE>): | |
19195 | Use a temporary variable if the left hand side is not a gimple | |
19196 | register. | |
19197 | ||
a441d616 AP |
19198 | 2007-01-01 Andrew Pinski <pinskia@gmail.com> |
19199 | ||
19200 | * gimplify.c (gimplify_return_expr): Make the temporary variable | |
19201 | for the return expression, a gimple register variable. | |
19202 | ||
95e2a53b JH |
19203 | 2007-01-01 Jan Hubicka <jh@suse.cz> |
19204 | ||
19205 | * emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for | |
19206 | INSN_LIST. | |
19207 | ||
5708d18d MS |
19208 | 2007-01-01 Mike Stump <mrs@apple.com> |
19209 | ||
19210 | * configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for | |
19211 | .literal16. | |
19212 | * config/darwin.c (machopic_select_rtx_section): Use | |
19213 | HAVE_GAS_LITERAL16. | |
19214 | (darwin_mergeable_constant_section): Likewise. | |
19215 | * configure: Regenerate. | |
19216 | * config.in: Regenerate. | |
19217 | ||
03c72655 JH |
19218 | 2007-01-01 Jan Hubicka <jh@suse.cz> |
19219 | Andrew Pinski <pinskia@gmail.com> | |
19220 | ||
19221 | * cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions | |
19222 | before starting IPA passes. |