]>
Commit | Line | Data |
---|---|---|
f1aea409 MS |
1 | 2006-12-31 Richard Guenther <rguenther@suse.de> |
2 | ||
3 | PR middle-end/30137 | |
4 | * fold-const.c (fold_comparison): Fold comparison of addresses | |
5 | of components. | |
6 | ||
7 | 2006-12-31 Roger Sayle <roger@eyesopen.com> | |
8 | ||
9 | PR middle-end/30322 | |
10 | * fold-const.c (fold_binary): Fold X + ~X and ~X + X into -1 when | |
11 | we don't care about trapping overflow. Only convert -A - 1 into ~A | |
12 | when we don't care about trapping overflow. | |
13 | ||
14 | 2006-12-31 Richard Guenther <rguenther@suse.de> | |
15 | ||
16 | PR middle-end/30338 | |
17 | * fold-const.c (fold_binary): Fix type-mismatch in folding | |
18 | of -1 - A to ~A. | |
19 | ||
20 | 2006-12-30 Kazu Hirata <kazu@codesourcery.com> | |
21 | ||
22 | * tree-inline.c: Fix a comment typo. | |
23 | ||
24 | 2006-12-30 Jan Hubicka <jh@suse.cz> | |
25 | ||
26 | * ipa-pure-const.c (check_operand): SSA_NAME is safe. | |
27 | * ipa-type-escape.c (scan_for_refs): Look into SSA_NAMEs. | |
28 | ||
29 | 2006-12-30 Jan Hubicka <jh@suse.cz> | |
30 | ||
31 | * tree.h (DECL_CALL_CLOBBERED): Remove. | |
32 | (tree_decl_common): Remove call_clobbered flag. | |
33 | * tree-flow.h (struct var_ann_d): Add call_clobbered flag. | |
34 | * tree-ssa-alias.c (mark_non_addressable, reset_cc_flags): Update. | |
35 | * tree-flow-inline.h (is_call_clobbered, mark_call_clobbered, | |
36 | clear_call_clobbered): Update. | |
37 | * tree-ssa.c (verify_call_clobbering): Update. | |
38 | ||
39 | 2006-12-30 Jan Hubicka <jh@suse.cz> | |
40 | ||
41 | * tree-ssa-alias.c (create_structure_vars): When in SSA, update operand | |
42 | caches. | |
43 | * tree-ssa-operands.c (build_ssa_operands): Recompute addresses_taken | |
44 | bitmap. | |
45 | ||
46 | 2006-12-30 Jan Hubicka <jh@suse.cz> | |
47 | Vladimir Yanovsky <volodyan@gmail.com> | |
48 | ||
49 | * emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential | |
50 | amount of copies of INSN_NOTEs list. | |
51 | ||
52 | 2006-12-29 Jan Hubicka <jh@suse.cz> | |
53 | ||
609610af | 54 | * cgraph.c (cgraph_expand_queue): Rename to... |
f1aea409 MS |
55 | (cgraph_new_nodes): ... this one. |
56 | (cgraph_state): New global variable. | |
57 | (cgraph_add_new_function): Work in more cases. | |
58 | * cgraph.h (cgraph_expand_queue): Rename to ... | |
59 | (cgraph_new_nodes): ... this one. | |
60 | (cgraph_state): New enum and static variable. | |
61 | (cgraph_add_new_function): Update prototype. | |
62 | (cgraph_process_new_functions): New. | |
63 | * omp-low.c (expand_omp_parallel): Update. | |
64 | * cgraphunit.c (initialize_inline_failed): Declare early. | |
65 | (cgraph_process_new_functions): New function. | |
66 | (cgraph_assemble_pending_functions): Use it. | |
67 | (cgraph_expand_all_functions): Use it. | |
68 | (cgraph_optimize): Use it; set cgraph_state. | |
69 | * passes.c (execute_one_pass, execute_ipa_pass_list): Process new | |
70 | functions | |
71 | ||
72 | 2006-12-29 Kazu Hirata <kazu@codesourcery.com> | |
73 | ||
74 | * tree-cfg.c (last_stmt_ptr): Remove. | |
75 | * tree-flow.h: Remove the prototype for last_stmt_ptr. | |
76 | ||
77 | * config/i386/i386.h (NON_QI_REG_P): Remove. | |
78 | * config/i386/predicates.md (non_q_regs_operand): Remove. | |
79 | ||
80 | 2006-12-29 Ian Lance Taylor <iant@google.com> | |
81 | ||
82 | * c-common.c (c_define_builtins): New static function broken out | |
83 | of c_common_nodes_and_builtins. | |
84 | (c_common_nodes_and_builtins): Call c_define_builtins unless only | |
85 | doing preprocessing. | |
86 | ||
87 | 2006-12-29 Jan Hubicka <jh@suse.cz> | |
88 | ||
89 | * tree-inline.c (remap_ssa_name): New function. | |
90 | (remap_decl): Update SSA datastructures for DECLs. | |
91 | (copy_body_r): Deal with SSA_NAMEs; add referenced global vars. | |
92 | (copy_bb): Set SSA_NAME def stmts. | |
93 | (update_ssa_acorss_eh_edges): New function. | |
94 | (copy_edge_for_bb): Call it; mark new vars for renaming. | |
95 | (copy_phis_for_bb): New function. | |
96 | (initialize_cfun): Break out from ... | |
97 | (copy_cfg_body): ... here; maintain AUX map for both directions; | |
98 | call SSA updating workers; do not produce copy of cfun to be copied. | |
99 | (setup_one_parameter): Do propagation across SSA form. | |
100 | (declare_return_variable): Work on SSA; use return_slot instead of | |
101 | address of return slot of argument to avoid folding back and forth. | |
102 | (expand_call_inline): Update SSA from on return values. | |
103 | (optimize_inline_calls): Do sanity checking, dead blocks removal, | |
104 | update SSA form. | |
105 | (tree_function_verioning): Update initialize_cfun. | |
106 | ||
107 | 2006-12-29 Marcin Dalecki <martin@dalecki.de> | |
108 | ||
109 | * doc/invoke.texi: Replace no longer supported -fno-strength-reduce | |
110 | with -fmerge-constants in sample code. | |
111 | ||
112 | 2006-12-28 Kazu Hirata <kazu@codesourcery.com> | |
113 | ||
114 | * Makefile.in (OBJS-common): Remove conflict.o | |
115 | (conflict.o): Remove. | |
116 | * basic-block.h: Remove the prototypes for conflict.c. | |
117 | * conflict.c: Remove. | |
118 | ||
119 | 2006-12-27 Daniel Berlin <dberlin@dberlin.org> | |
120 | ||
121 | * sbitmap.c (BITMAP_DEBUGGING): New macro. | |
122 | (do_popcount): Ditto. | |
123 | (sbitmap_verify_popcount): New function. | |
124 | (sbitmap_alloc): Set popcount to NULL, remove set of bytes | |
125 | member. | |
126 | (sbitmap_alloc_with_popcount): New function. | |
127 | (sbitmap_resize): Remove uses of bytes member and update | |
128 | popcount. | |
129 | (sbitmap_realloc): Remove uses of bytes member. | |
130 | (sbitmap_copy): Copy popcount. | |
131 | (sbitmap_copy_n): New function. | |
132 | (sbitmap_zero): Update popcount cache. | |
133 | (sbitmap_ones): Ditto. | |
134 | (sbitmap_a_and_b): Ditto. | |
135 | (sbitmap_a_or_b): Ditto. | |
136 | (sbitmap_a_xor_b): Ditto. | |
137 | (sbitmap_union_of_diff_cg): Assert non-existence of popcount | |
138 | cache. | |
139 | (sbitmap_union_of_diff): Ditto. | |
140 | (sbitmap_not): Ditto. | |
141 | (sbitmap_difference): Ditto. | |
142 | (sbitmap_a_and_b_cg): Ditto. | |
143 | (sbitmap_a_xor_b_cg): Ditto. | |
144 | (sbitmap_a_or_b_cg): Ditto. | |
145 | (sbitmap_a_or_b_and_c_cg): Ditto. | |
146 | (sbitmap_a_and_b_or_c_cg): Ditto. | |
147 | (sbitmap_intersection_of_succs): Ditto. | |
148 | (sbitmap_intersection_of_preds): Ditto. | |
149 | (sbitmap_union_of_succs): Ditto. | |
150 | (sbitmap_union_of_preds): Ditto. | |
151 | (popcount_table): New. | |
152 | (sbitmap_elt_popcount): New function. | |
153 | (sbitmap_popcount): Ditto. | |
154 | ||
155 | * sbitmap.h (sbitmap): Remove bytes member. | |
156 | Add popcount member. | |
157 | (SET_BIT): Macro turned into function. | |
158 | (RESET_BIT): Ditto. | |
159 | (SBITMAP_SIZE_BYTES): New macro. | |
160 | (sbitmap_free): Free popcount too. | |
161 | (sbitmap_alloc_with_popcount): New prototype. | |
162 | (sbitmap_copy_n): Ditto. | |
163 | (sbitmap_verify_popcount): Ditto. | |
164 | ||
165 | 2006-12-27 Ian Lance Taylor <iant@google.com> | |
166 | ||
167 | PR debug/26964 | |
168 | * dwarf2out.c (gen_type_die): Don't write out a DIE for | |
169 | ENUMERAL_TYPE if it was already written out. | |
170 | ||
171 | 2006-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
172 | ||
173 | PR middle-end/29335 | |
174 | * builtins.c (do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3, | |
175 | do_mpfr_sincos): Ensure target base equals two. | |
176 | ||
177 | 2006-12-26 Kazu Hirata <kazu@codesourcery.com> | |
178 | ||
179 | * tree-ssa-operands.c: Fix a comment typo. | |
180 | ||
181 | 2006-12-25 Kazu Hirata <kazu@codesourcery.com> | |
182 | ||
183 | * tree-vectorizer.h (VECT_SMODULO): Remove. | |
184 | ||
185 | 2006-12-24 Andreas Tobler <a.tobler@schweiz.org> | |
186 | ||
187 | * config/pa/pa.c: Remove heap vector type defines. | |
188 | ||
189 | 2006-12-24 Jan Hubicka <jh@suse.cz> | |
190 | ||
191 | * tree-ssa-operands.h (struct ssa_operand_memory_d): | |
192 | add ssa_operand_mem_size. | |
193 | * tree-ssa-operands.c (operands_bitmap_obstack): New. | |
194 | (ssa_operand_mem_size): Remove. | |
195 | (init_ssa_operands): Initialize obstack; use it. | |
196 | (fini_ssa_operands): Release obstack. | |
197 | (ssa_operand_alloc): Update. | |
198 | (finalize_ssa_vdefs, finalize_ssa_vuse_ops, copy_virtual_operands, | |
199 | get_mpt_for): Use obstack. | |
200 | * tree-ssa.c (delete_tree_ssa): Call fini_ssa_operands. | |
201 | * tree-outof-ssa.c: (remove_ssa_form): Don't call it here. | |
202 | ||
203 | 2006-12-24 Jan Hubicka <jh@suse.cz> | |
204 | ||
205 | * tree-mudflap.c (ml_decl_cache_locals, md_build_check_statement_for): | |
206 | add newly referenced vars. | |
207 | ||
208 | 2006-12-24 Kazu Hirata <kazu@codesourcery.com> | |
209 | ||
210 | * basic-block.h: Remove the prototype for | |
211 | expected_value_to_br_prob. | |
212 | * rtl.h: Remove the prototypes for expand_builtin_expect_jump | |
213 | and purge_line_number_notes. | |
214 | ||
215 | 2006-12-23 Zdenek Dvorak <dvorakz@suse.cz> | |
216 | ||
217 | * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne, | |
218 | assert_no_overflow_lt, assert_loop_rolls_lt, | |
219 | number_of_iterations_lt, number_of_iterations_le, | |
220 | number_of_iterations_cond, number_of_iterations_exit): | |
221 | Use integer_zerop/integer_nonzerop instead of | |
222 | null_or_integer_zerop/nonnull_and_integer_nonzerop. | |
223 | * tree.h (null_or_integer_zerop, nonnull_and_integer_nonzerop): | |
224 | Removed. | |
225 | * tree-scalar-evolution.c (simple_iv): Return zero for step of | |
226 | an invariant. | |
227 | * tree-ssa-loop-ivopts.c (alloc_iv): Do not set step of invariants | |
228 | to zero. | |
229 | (get_iv): Return NULL for non-scalar types. Use zero as a step | |
230 | of an invariant. | |
231 | (determine_biv_step, find_interesting_uses_op, | |
232 | find_interesting_uses_cond, find_interesting_uses_stmt, | |
233 | add_old_ivs_candidates, determine_use_iv_cost_condition, | |
234 | rewrite_use_compare, remove_unused_ivs): | |
235 | Use integer_zerop instead of null_or_integer_zerop. | |
236 | (struct ifs_ivopts_data): Replace step_p field with step field. | |
237 | (idx_find_step): Use zero as a step of an invariant. Modify | |
238 | step instead of *step_p. | |
239 | (find_interesting_uses_address): Use zero as a step of an invariant. | |
240 | Use integer_zerop instead of null_or_integer_zerop. | |
241 | (find_interesting_uses_outside): Call find_interesting_uses_op only | |
242 | for phi nodes for real operands. | |
243 | (add_candidate_1): Expect step to be non-NULL. | |
244 | * tree-ssa-loop-prefetch.c (idx_analyze_ref): Expect step to be | |
245 | non-NULL. | |
246 | ||
247 | 2006-12-23 Andrew Pinski <pinskia@gmail.com> | |
248 | ||
249 | * vec.c: Don't include tree.h. | |
250 | * Makefile.in (vec.o): Update dependencies. | |
251 | (build/vec.o): Likewise. | |
252 | ||
253 | 2006-12-23 Kazu Hirata <kazu@codesourcery.com> | |
254 | ||
255 | * common.opt (flag_force_mem): Remove. | |
256 | * doc/invoke.texi (-fforce-mem): Remove. | |
257 | * opts.c (common_handle_option): Don't handle OPT_fforce_mem. | |
258 | ||
259 | * Makefile.in (final.o): Depend on vecprim.h. | |
260 | * final.c: Include vecprim.h. | |
261 | (insn_addresses_): Change the type to VEC(int,heap)*. | |
262 | * insn-addr.h (INSN_ADDRESSES_DEFN): Remove. | |
263 | (INSN_ADDRESSES, INSN_ADDRESSES_ALLOC, INSN_ADDRESSES_SIZE, | |
264 | INSN_ADDRESSES_NEW): Use VEC instead of VARRAY. | |
265 | ||
266 | 2006-12-23 Marcin Dalecki <martin@dalecki.de> | |
267 | ||
268 | * cgraphunit.c (cgraph_optimize): Fixed obvious thinko in memory | |
269 | consumption reporting. | |
270 | ||
271 | 2006-12-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> | |
272 | ||
273 | PR middle-end/7651 | |
274 | * c.opt (Wmissing-parameter-type): New. | |
275 | * doc/invoke.texi (Wmissing-parameter-type): Document it. | |
276 | (Wextra): Enabled by -Wextra. | |
277 | * c-opts.c (c_common_post_options): Enabled by -Wextra. | |
278 | * c-decl.c (store_parm_decls_oldstyle): Replace Wextra with | |
279 | Wmissing-parameter-type. | |
280 | ||
281 | 2006-12-23 Eric Botcazou <ebotcazou@adacore.com> | |
282 | ||
283 | * dwarf2out.c (dbx_reg_number): Do leaf register remapping | |
284 | only if the function is leaf. | |
285 | (multiple_reg_loc_descriptor): Likewise. | |
286 | ||
287 | 2006-12-23 Kazu Hirata <kazu@codesourcery.com> | |
288 | ||
289 | * rtl.h (NOTE_EXPECTED_VALUE): Remove. | |
290 | ||
291 | 2006-12-23 Jan Hubicka <jh@suse.cz> | |
292 | ||
293 | * toplev.c (dump_memory_report): Break out from... | |
294 | (finalize): Here. | |
295 | * toplev.h (dump_memory_report): Declare. | |
296 | (cmp_statistic): Rename to ... | |
297 | (final_cmp_statistic): ... this one | |
298 | (cmp_statistic): New. | |
299 | (dump_ggc_loc_staitsitcs): New FINAL parpameter. | |
300 | * common.opt (-fpre-ipa-mem-report, -fpost-ipa-mem-report): Declare. | |
301 | * varray.c (dump_varray_staitiscs): Do not segfault when no varray was | |
302 | allocated so far. | |
303 | * cgraphunit.c (cgraph_optimize): Dump the memory reports. | |
304 | ||
305 | 2006-12-22 Mike Stump <mrs@apple.com> | |
306 | ||
307 | * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Add | |
308 | -mmacosx-version-min=10.4. | |
309 | (crt2.o): Add $(DARWIN_EXTRA_CRT_BUILD_CFLAGS). | |
310 | ||
311 | 2006-12-23 Jan Hubicka <jh@suse.cz> | |
312 | ||
313 | * tree-flow-inline.h (var_ann): External variable annotations are | |
314 | unshared too. | |
315 | (tree_common_ann): Handle correctly unshared variables annotations. | |
316 | * tree-dfa.c (create_var_ann): External variable annotations are | |
317 | unshared too. | |
318 | ||
319 | 2006-12-22 Kazu Hirata <kazu@codesourcery.com> | |
320 | ||
321 | * basic-block.h: Remove the prototype for | |
322 | commit_edge_insertions_watch_calls. | |
323 | * cfgrtl.c (commit_edge_insertion): Drop the last argument. | |
324 | Simplify. | |
325 | (commit_edge_insertions_watch_calls): Remove. | |
326 | (commit_edge_insertions): Adjust the call to | |
327 | commit_one_edge_insertion. | |
328 | ||
329 | 2006-12-22 Zdenek Dvorak <dvorakz@suse.cz> | |
330 | ||
331 | * tree-ssa-loop-niter.c (zero_p, nonzero_p): Removed. | |
332 | (number_of_iterations_ne, number_of_iterations_lt_to_ne, | |
333 | assert_no_overflow_lt, assert_loop_rolls_lt, | |
334 | number_of_iterations_lt, number_of_iterations_le, | |
335 | number_of_iterations_cond, tree_simplify_using_condition_1, | |
336 | number_of_iterations_exit, find_loop_niter, loop_niter_by_eval, | |
337 | implies_nonnegative_p, implies_ge_p, record_nonwrapping_iv, | |
338 | idx_infer_loop_bounds, n_of_executions_at_most, scev_probably_wraps_p): | |
339 | Do not use zero_p/nonzero_p. | |
340 | * tree-ssa-loop-manip.c (determine_exit_conditions): Ditto. | |
341 | * tree-ssa-loop-ivopts.c (niter_for_exit, determine_biv_step, | |
342 | find_interesting_uses_op, find_interesting_uses_cond, | |
343 | find_interesting_uses_address, find_interesting_uses_stmt, | |
344 | strip_offset_1, add_candidate_1, add_old_ivs_candidates, | |
345 | difference_cost, determine_use_iv_cost_condition, | |
346 | rewrite_use_compare, remove_unused_ivs): Ditto. | |
347 | * tree-ssa-address.c (tree_mem_ref_addr, create_mem_ref_raw): Ditto. | |
348 | * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto. | |
349 | * tree-cfg.c (find_taken_edge_cond_expr): Ditto. | |
350 | * tree.h (zero_p): Declaration removed. | |
351 | (null_or_integer_zerop, nonnull_and_integer_nonzerop): New. | |
352 | ||
353 | 2006-12-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> | |
354 | ||
355 | PR middle-end/7651 | |
356 | * c.opt (Wclobbered): New. | |
357 | * doc/invoke.texi (Wclobbered): Document it. | |
358 | (Wextra): Enabled by -Wextra. | |
359 | * c-opts.c (c_common_post_options): Enabled by -Wextra. | |
360 | * flow.c (rest_of_handle_life): Replace Wextra with Wclobbered. | |
361 | * function.c (setjmp_vars_warning): Only warn for Wclobbered. | |
362 | (setjmp_args_warning): Likewise. | |
363 | ||
364 | 2006-12-22 Kazu Hirata <kazu@codesourcery.com> | |
365 | ||
366 | * config/elfos.h, config/spu/spu.c, tree-ssa-operands.h, | |
367 | tree-ssa-ter.c: Fix comment typos. | |
368 | ||
369 | 2006-12-22 Paolo Bonzini <bonzini@gnu.org> | |
370 | ||
371 | PR rtl-optimization/29840 | |
372 | ||
373 | * fwprop.c (forward_propagate_into): Reject artificial uses/defs. | |
374 | (fwprop_init): Add DF_HARD_REGS to df_init call. | |
375 | ||
376 | 2006-12-21 Andrew Pinski <pinskia@gmail.com> | |
377 | ||
378 | * tree-nested.c (create_tmp_var_for): Check for vector type | |
379 | when setting DECL_GIMPLE_REG_P. | |
380 | ||
381 | 2006-12-21 Roger Sayle <roger@eyesopen.com> | |
382 | ||
383 | * tree-pretty-print.c (dump_generic_node): Avoid outputing "(void) 0;" | |
384 | as the else branch of a COND_EXPR. | |
385 | ||
386 | 2006-12-22 Kazu Hirata <kazu@codesourcery.com> | |
387 | ||
388 | * cgraphunit.c, config/i386/i386.c, config/ia64/ia64.c, cse.c, | |
389 | output.h, toplev.c, tree-affine.h, tree-flow.h, | |
390 | tree-ssa-alias.c, tree-ssa-coalesce.c, tree-ssa-live.c, | |
391 | tree-ssa-live.h, tree-ssa-operands.c, tree-ssa-ter.c, | |
392 | tree-vrp.c, varpool.c: Fix comment typos. | |
393 | ||
394 | * cgraphunit.c, varpool.c: Fix comment typos. | |
395 | ||
396 | 2006-12-22 Ulrich Weigand <uweigand@de.ibm.com> | |
397 | ||
398 | * config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Define. | |
399 | * config/spu/spu.c (spu_expand_prologue): Set RTX_FRAME_RELATED_P | |
400 | for insn setting up the frame pointer. Do not set it for insns | |
401 | setting up scratch registers or storing the backchain. | |
402 | ||
403 | 2006-12-21 Eric Botcazou <ebotcazou@adacore.com> | |
404 | ||
405 | PR other/29639 | |
406 | * configure.ac (HAVE_LD_EH_GC_SECTIONS): Check that exception tables | |
407 | are kept for .gnu.linkonce.t sections if COMDAT groups are disabled. | |
408 | * configure: Regenerate. | |
409 | ||
410 | 2006-12-21 Joseph Myers <joseph@codesourcery.com> | |
411 | ||
412 | * rtlanal.c (subreg_get_info): Do not make register size | |
413 | computations for mode sizes not divisible by the number of | |
414 | registers. | |
415 | ||
416 | 2006-12-21 Daniel Berlin <dberlin@dberlin.org> | |
417 | ||
418 | * tree-ssa-structalias.c (build_constraint_graph): Insert complex | |
419 | offsetted constraints into rhsvar, not lhsvar. | |
420 | ||
421 | 2006-12-21 Jakub Jelinek <jakub@redhat.com> | |
422 | ||
423 | PR middle-end/30262 | |
424 | PR middle-end/30263 | |
425 | * tree-nested.c (walk_asm_expr): New function. | |
426 | (walk_stmts): Use it for ASM_EXPR. | |
427 | ||
428 | PR target/30230 | |
429 | * config/ia64/ia64.c (ia64_add_bundle_selector_before): New function. | |
430 | (bundling): Use it. | |
431 | ||
432 | 2006-12-21 Nathan Sidwell <nathan@codesourcery.com> | |
433 | ||
434 | PR target/28966 | |
435 | PR target/29248 | |
436 | * reload1.c (reload): Realign stack after it changes size. | |
437 | ||
438 | 2006-12-20 Roger Sayle <roger@eyesopen.com> | |
439 | ||
440 | * simplify-rtx.c (simplify_subreg): Use the correct mode when | |
441 | determining whether a SUBREG of a CONCAT refers to the first or | |
442 | second component. | |
443 | ||
444 | 2006-12-21 Ben Elliston <bje@au.ibm.com> | |
445 | ||
446 | * config/spu/spu.c (spu_builtin_mul_widen_even): Remove unused | |
447 | local variable `d'. | |
448 | ||
449 | 2006-12-20 Jan Hubicka <jh@suse.cz> | |
450 | ||
451 | * tree-dfa.c (add_referenced_var): Walk initializers of | |
452 | non-constant/readonly static vars. | |
453 | ||
454 | 2006-12-20 Jan Hubicka <jh@suse.cz> | |
455 | ||
456 | * tree-flow-inline.h (gimple_var_anns): New function. | |
457 | (var_ann): Use hashtable for static functions. | |
458 | * tree-dfa.c (create_var_ann): Likewise. | |
459 | * tree-ssa.c (var_ann_eq, var_ann_hash): New functions. | |
460 | (init_tree_ssa): Initialize var anns. | |
461 | (delete_tree_ssa): Delete var anns; also clear out gimple_df. | |
462 | * tree-flow.h (struct static_var_ann_d): New structure. | |
463 | (gimple_df): Add var_anns. | |
464 | ||
465 | 2006-12-20 Carlos O'Donell <carlos@codesourcery.com> | |
466 | ||
467 | PR bootstrap/30242 | |
468 | * gcc/c-incpath.c (add_standard_paths): Only relocate paths that | |
469 | begin with the configured prefix. | |
470 | ||
471 | 2006-12-20 Jan Hubicka <jh@suse.cz> | |
472 | ||
473 | PR target/30213 | |
474 | * i386.c (expand_setmem_epilogue): Fix formating. | |
475 | (dsmalest_pow2_greater_than): New function. | |
476 | (ix86_expand_movmem): Improve comments; avoid re-computing of | |
477 | epilogue size. | |
478 | (promote_duplicated_reg_to_size): Break out from ... | |
479 | (expand_setmem): ... this one; reorganize promotion code; | |
480 | improve comments; avoid recomputation of epilogue size. | |
481 | ||
482 | 2006-12-20 Andrew Pinski <pinskia@gmail.com> | |
483 | ||
484 | PR middle-end/30143 | |
485 | * omp-low.c (init_tmp_var): New function. | |
486 | (save_tmp_var): New function. | |
487 | (lower_omp_1): Use them for VAR_DECL. | |
488 | ||
489 | 2006-12-20 Andrew Pinski <pinskia@gmail.com> | |
490 | ||
491 | * tree-gimple.c (is_gimple_min_invariant): Treat constant vector | |
492 | CONSTRUCTORs as min invariants. | |
493 | ||
494 | 2006-12-20 Joseph Myers <joseph@codesourcery.com> | |
495 | ||
496 | * rtlanal.c (struct subreg_info, subreg_get_info, subreg_nregs): | |
497 | New. | |
498 | (subreg_regno_offset, subreg_offset_representable_p): Change to | |
499 | wrappers about subreg_get_info. | |
500 | (refers_to_regno_p, reg_overlap_mentioned_p): Use subreg_nregs. | |
501 | * rtl.h (subreg_nregs): Declare. | |
502 | * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING): Update to refer to | |
503 | subreg_get_info. | |
504 | * caller-save.c (mark_set_regs, add_stored_regs): Use | |
505 | subreg_nregs. | |
506 | * df-scan.c (df_ref_record): Use subreg_nregs. | |
507 | * flow.c (mark_set_1): Use subreg_nregs. | |
508 | * postreload.c (move2add_note_store): Use subreg_nregs. | |
509 | * reload.c (decompose, refers_to_regno_for_reload_p, | |
510 | reg_overlap_mentioned_for_reload_p): Use subreg_nregs. | |
511 | * resource.c (update_live_status, mark_referenced_resources, | |
512 | mark_set_resources): Use subreg_nregs. | |
513 | ||
514 | 2006-12-20 Zdenek Dvorak <dvorakz@suse.cz> | |
515 | ||
516 | * loop-unswitch.c (unswitch_loop): Update arguments of | |
517 | duplicate_loop_to_header_edge call. | |
518 | * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Ditto. | |
519 | * loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations, | |
520 | unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid): | |
521 | Ditto. | |
522 | * cfgloopmanip.c (loop_version): Ditto. | |
523 | (duplicate_loop_to_header_edge): Change | |
524 | type of to_remove to VEC(edge), remove n_to_remove argument. | |
525 | * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge): | |
526 | Change type of to_remove to VEC(edge), remove n_to_remove argument. | |
527 | (tree_unroll_loop): Update arguments of | |
528 | tree_duplicate_loop_to_header_edge call. | |
529 | * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge): | |
530 | Change type of to_remove to VEC(edge), remove n_to_remove argument. | |
531 | * cfghooks.h (struct cfg_hooks): Type of | |
532 | cfg_hook_duplicate_loop_to_header_edge changed. | |
533 | (cfg_hook_duplicate_loop_to_header_edge): Declaration changed. | |
534 | * cfgloop.h (duplicate_loop_to_header_edge): Ditto. | |
535 | * tree-flow.h (tree_duplicate_loop_to_header_edge): Ditto. | |
536 | ||
537 | 2006-12-20 Dorit Nuzman <dorit@il.ibm.com> | |
538 | ||
539 | * config/spu/spu.md (vec_widen_umult_hi_v8hi): New. | |
540 | (vec_widen_umult_lo_v8hi, vec_widen_smult_hi_v8hi): New. | |
541 | (vec_widen_smult_lo_v8hi): New. | |
542 | * config/spu/spu.c (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined. | |
543 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined. | |
544 | (spu_builtin_mul_widen_even, spu_builtin_mul_widen_odd): New. | |
545 | ||
546 | 2006-12-20 Jan Hubicka <jh@suse.cz> | |
547 | ||
548 | * cgraph.c: Update overall comment; fix vertical spacing. | |
549 | * ipa-inline.c (cgraph_decide_inlining): Remove now redundant check. | |
550 | ||
551 | 2006-12-20 Jan Hubicka <jh@suse.cz> | |
552 | ||
553 | * cgraph.h (FOR_EACH_STATIC_VARIABLE, FOR_EACH_STATIC_INITIALIZER): New | |
554 | macros. | |
555 | (varpool_first_static_initializer, varpol_next_static_initializer): New | |
556 | inline functions. | |
557 | * ipa-reference.c (analyze_variable): Simplify. | |
558 | (static_execute): Use FOR_EACH_STATIC_INITIALIZER. | |
559 | * ipa-type-escape.c (type_escape_execute): Use FOR_EACH_STATIC_VARIABLE. | |
560 | ||
561 | 2006-12-19 Andrew Pinski <pinskia@gmail.com> | |
562 | ||
563 | PR tree-opt/30045 | |
564 | * tree-vrp.c (nonnull_arg_p): Treat the static decl as always | |
565 | non null. | |
566 | ||
567 | 2006-12-20 Ben Elliston <bje@au.ibm.com> | |
568 | ||
569 | * doc/invoke.texi (Optimize Options): Typo fix. | |
570 | ||
571 | 2006-12-19 Eric Christopher <echristo@apple.com> | |
572 | ||
573 | * config/darwin.c (machopic_select_section): Rewrite. | |
574 | (darwin_text_section): New. | |
575 | (darwin_rodata_section): Ditto. | |
576 | (darwin_mergeable_string_section): Ditto. | |
577 | (darwin_mergeable_constant_section): Ditto. | |
578 | * config/darwin-sections.def: Add SECTION_STRINGS for cstring_section. | |
579 | ||
580 | 2006-12-19 Steve Ellcey <sje@cup.hp.com> | |
581 | ||
582 | * config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL): Add undef. | |
583 | ||
584 | 2006-12-19 Paolo Bonzini <bonzini@gnu.org> | |
585 | ||
586 | PR bootstrap/29544 | |
587 | * gcc/Makefile.in (STAGE1_CHECKING): Rename to... | |
588 | (STAGE1_CHECKING_CFLAGS): ... this. | |
589 | ||
590 | 2006-12-18 Andrew Pinski <pinskia@gmail.com> | |
591 | ||
592 | PR target/29779 | |
593 | * config/rs6000/rs6000.c (altivec_init_builtins): Change to set | |
594 | READONLY on __builtin_altivec_mask_for_load instead of adding | |
595 | the attribute. | |
596 | ||
597 | 2006-12-18 Roger Sayle <roger@eyesopen.com> | |
598 | Eric Christopher <echristo@apple.com> | |
599 | ||
600 | PR target/29302 | |
601 | * real.c (real_maxval): Correctly handle IBM extended double format. | |
602 | ||
603 | 2006-12-19 Jan Hubicka <jh@suse.cz> | |
604 | ||
605 | * expmed.c (expand_mult_const): Force operand to constant. | |
606 | * rs6000.c (rs6000_emit_set_const, rs6000_emit_set_long_const): Add | |
607 | copy_rtx to arguments. | |
608 | ||
609 | 2006-12-19 Ben Elliston <bje@au.ibm.com> | |
610 | ||
611 | * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. | |
612 | ||
613 | 2006-12-19 Ben Elliston <bje@au.ibm.com> | |
614 | ||
615 | * cse.c (cse_insn): Fix formatting. | |
616 | ||
617 | 2006-12-18 Geoffrey Keating <geoffk@apple.com> | |
618 | ||
619 | * doc/invoke.texi (Debugging Options): Document -g0. | |
620 | * config/darwin.h (LINK_COMMAND_SPEC): Replace -gnone with -g0. | |
621 | * config/darwin9.h (LINK_COMMAND_SPEC): Likewise. | |
622 | ||
623 | 2006-12-18 Ian Lance Taylor <iant@google.com> | |
624 | ||
625 | * c.opt (Wmissing-declarations): Add C++ and ObjC++. | |
626 | * doc/invoke.texi (Warning Options): -Wmissing-declarations now | |
627 | works for C++. | |
628 | ||
629 | 2006-12-18 Andrew MacLeod <amacleod@redhat.com> | |
630 | ||
631 | * tree-ssa-operands.h (struct vdef_optype_d): Rename to voptype_d. | |
632 | (struct vuse_optype_d): Delete. | |
633 | (SSA_OPERAND_MEMORY_SIZE): Delete. | |
634 | (struct ssa_operand_memory_d): Change mem array to size one. | |
635 | (NUM_VOP_FREE_BUCKETS): Define. | |
636 | (free_vuses, free_vdefs): Replace with vop_free_buckets array. | |
637 | (vdef_ops, vuse_ops, struct ssa_operand_iterator_d): Use voptype_d type. | |
638 | * tree-pretty-print.c (dump_vops): Use voptype_d type. | |
639 | * tree-ssa-operands.c (vop_free_bucket_size): New. Number of operands | |
640 | which fit into a chunk of memory from a specific bucket. | |
641 | (vop_free_bucket_index): New. Find correct size memory bucket. | |
642 | (init_vop_buckets): New. Initialize VOP free memory buckets. | |
643 | (add_vop_to_freelist): New. Add a VOP to the correct free list. | |
644 | (ssa_operand_mem_size): New. Current size of an operand memory chunk. | |
645 | (init_ssa_operands): Initialize operand memory and free lists. | |
646 | (fini_ssa_operands): Remove references to free_vuses and free_vdefs. | |
647 | (ssa_operand_alloc): Use graduated size memory allocation. | |
648 | (APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, | |
649 | INITIALIZE_USE): Remove. | |
650 | (alloc_vop): New. Allocate a virtual operand. | |
651 | (alloc_vdef, alloc_vuse): Delete. | |
652 | (add_def_op, add_use_op): Directly setup pointers. | |
653 | (add_vop): New. Add a virtual operand. | |
654 | (add_vuse_op, add_vdef_op): Call add_vop. | |
655 | (realloc_vop): New. Reallocate a virtual operand. | |
656 | (realloc_vdef, realloc_vuse): Call realloc_vop. | |
657 | (finalize_ssa_def_ops): Delete. Move content to finalize_ssa_defs. | |
658 | (finalize_ssa_defs): Optimize for common case, remove code based on | |
659 | sorted pointers which was a waste of time. | |
660 | (finalize_ssa_use_ops): Delete. Move content to finalize_ssa_uses. | |
661 | (finalize_ssa_uses): Update last pointer. | |
662 | (finalize_ssa_vdef_ops): Delete. Move content to finalize_ssa_vdefs. | |
663 | (finalize_ssa_vdefs, finalize_ssa_vuse_ops): Use voptype_d and | |
664 | directly manipulate pointers. | |
665 | (copy_virtual_operands): Use voptype_d, and no need to update pointers. | |
666 | ||
667 | 2006-12-18 Nathan Sidwell <nathan@codesourcery.com> | |
668 | ||
669 | * config/rs6000/rs6000.md (*movdf_hardfloat32): Use %X format to | |
670 | determine if memory operand is an indexed address or not. | |
671 | ||
672 | 2006-12-17 Steven Bosscher <steven@gcc.gnu.org> | |
673 | ||
674 | * cselib.c (struct cselib_val_struct): Make val_rtx its | |
675 | own field, remove the union that contained it. | |
676 | * cselib.c: Update accordingly where necessary. | |
677 | ||
678 | 2006-12-17 Steven Bosscher <steven@gcc.gnu.org> | |
679 | ||
680 | * cse.c (have_eh_succ_edges): New function. | |
681 | (cse_insn): Don't remove dead EH edges here | |
682 | (cse_extended_basic_block): Do it here. | |
683 | (rest_of_handle_cse, rest_of_handle_cse2): Don't assert | |
684 | that we have removed all dead edges. | |
685 | ||
686 | 2006-12-17 Matthias Klose <doko@debian.org> | |
687 | ||
688 | PR libstdc++/11953 | |
689 | * gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend. | |
690 | ||
691 | 2006-12-17 Steven Bosscher <steven@gcc.gnu.org> | |
692 | ||
693 | * cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING. | |
694 | (cse_extended_basic_block): When truncating a path while processing | |
695 | it, make sure to clear the visited bit on the basic blocks in the | |
696 | truncated part of the path. | |
697 | (cse_main): Use reverse completion order, not DFS order, to walk | |
698 | the CFG. | |
699 | (gate_handle_cse): Revert erroneous commit of a counter. | |
700 | ||
701 | 2006-12-17 Steven Bosscher <steven@gcc.gnu.org> | |
702 | ||
703 | * cse.c (this_insn_cc0, this_insn_cc0_mode): New global | |
704 | variables, moved out from cse_insn. | |
705 | (prev_insn): Remove this global variable). | |
706 | (new_basic_block): Don't set it. | |
707 | (cse_insn): Idem. Also, move code to delete unused CC0-setter | |
708 | insns and code to set prev_insn_cc0 and prev_insn_cc0_mode | |
709 | from here... | |
710 | (cse_extended_basic_block): ...to here. Do not clear | |
711 | prev_insn_cc0 until after recording equivalences from jumps. | |
712 | ||
713 | 2006-12-16 Jan Hubicka <jh@suse.cz> | |
714 | ||
715 | * cgraphunit.c (ipa_passes): Clear current_function_decl. | |
716 | ||
717 | 2006-12-16 Andreas Tobler <a.tobler@schweiz.org> | |
718 | ||
719 | * passes.c (verify_curr_properties): Define only for ENABLE_CHECKING. | |
720 | ||
721 | 2006-12-16 Jan Hubicka <jh@suse.cz> | |
722 | ||
723 | * omp-low.c (expand_omp_parallel): Set function properties. | |
724 | * function.h (struct function): Add curr_properties and last_verified. | |
725 | * passes.c (register_dump_files): Do not set TODO_set_props for the | |
726 | first pass | |
727 | (init_optimization_passes): Set it here; reorder initialization so the | |
728 | dump files appear in more logical order. | |
729 | (last_verified, curr_properties): Kill. | |
730 | (do_per_function): New function. | |
731 | (execute_function_todo): Break out from ... | |
732 | (execute_todo): ... here; handle per-function flags. | |
733 | (clear_last_verified, verify_curr_properties, | |
734 | update_properties_after_pass): New functions. | |
735 | (execute_one_pass): Handle per-function properties. | |
736 | (execute_ipa_pass_list): Use do_per_function; sanity check that cfun | |
737 | and current_function_decls are cleared out. | |
738 | * ipa-cp.c (constant_val_insert): Clear cfun/current_function_decl | |
739 | after use. | |
740 | ||
741 | 2006-12-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org> | |
742 | ||
743 | PR middle-end/7651 | |
744 | * c.opt (Wempty-body): New. | |
745 | * doc/invoke.texi (Wempty-body): Document it. | |
746 | (Wextra): Enabled by -Wextra. | |
747 | * c-opts.c (c_common_post_options): Enabled by -Wextra. | |
748 | * c-common.c (empty_body_warning): Replace Wextra with Wempty-body. | |
749 | * c-parser.c (c_parser_c99_block_statement): Likewise. | |
750 | ||
751 | 2006-12-15 Jakub Jelinek <jakub@redhat.com> | |
752 | ||
753 | PR target/30185 | |
754 | * config/rs6000/rs6000.md (div<mode>3): Use correct mode in | |
755 | force_reg call. | |
756 | ||
757 | 2006-12-15 Andrew Pinski <pinski@gmail.com> | |
758 | ||
759 | PR tree-opt/30140 | |
760 | * tree-inline.c (setup_one_parameter): Gimplify the statement if | |
761 | the variable is not a gimple register variable. | |
762 | ||
763 | 2006-12-15 Uros Bizjak <ubizjak@gmail.com> | |
764 | ||
765 | * invoke.texi (mstringop-strategy): Add missing "byte_loop" value. | |
766 | ||
767 | 2006-12-14 Jan Hubicka <jh@suse.cz> | |
768 | ||
769 | * tree-flow.h (struct stmt_ann_d): Move bitfield references_memory | |
770 | to proper place. | |
771 | ||
772 | 2006-12-14 Richard Guenther <rguenther@suse.de> | |
773 | ||
774 | PR tree-optimization/30197 | |
775 | * builtins.c (fold_builtin_cexp): New function to fold cexp | |
776 | to cexpi and exp parts. | |
777 | * tree-ssa-pre.c (try_combine_conversion): Also handle | |
778 | REALPART_EXPR and IMAGPART_EXPR. | |
779 | ||
780 | 2006-12-14 Richard Guenther <rguenther@suse.de> | |
781 | ||
782 | PR middle-end/30172 | |
783 | * fold-const.c (fold_binary): Fold __complex__ ( x, 0 ) | |
784 | + __complex__ ( 0, y ) to __complex__ ( x, y ). | |
785 | Fold __complex__ (x, y) * +-I to __complex__ (-+y, +-x). | |
786 | ||
787 | 2006-12-14 Richard Guenther <rguenther@suse.de> | |
788 | ||
789 | PR tree-optimization/30198 | |
790 | * fold-const.c (fold_unary): Fold REALPART_EXPR of cexpi to cos. | |
791 | Fold IMAGPART_EXPR of cexpi to sin. | |
792 | ||
793 | 2006-12-14 Dorit Nuzman <dorit@il.ibm.com> | |
794 | Trevor Smigiel <trevor_smigiel@playstation.sony.com> | |
795 | ||
796 | * spu.c (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Defined. | |
797 | (spu_init_builtins): Mark the SPU_MASK_FOR_LOAD builtin decl as read | |
798 | only. | |
799 | (spu_expand_builtin_1): Handle the SPU_MASK_FOR_LOAD builtin. | |
800 | (spu_builtin_mask_for_load): New. | |
801 | * spu-builtins.def (SPU_MASK_FOR_LOAD): Define new builtin. | |
802 | * spu.md (UNSPEC_SPU_REALIGN_LOAD, UNSPEC_SPU_MASK_FOR_LOAD):New. | |
803 | (vec_realign_load_<mode>, spu_lvsr): New. | |
804 | ||
805 | 2006-12-13 Ian Lance Taylor <iant@google.com> | |
806 | ||
807 | PR c++/19564 | |
808 | PR c++/19756 | |
809 | * c-typeck.c (parser_build_binary_op): Move parentheses warnings | |
810 | to warn_about_parentheses in c-common.c. | |
811 | * c-common.c (warn_about_parentheses): New function. | |
812 | * c-common.h (warn_about_parentheses): Declare. | |
813 | * doc/invoke.texi (Warning Options): Update -Wparentheses | |
814 | description. | |
815 | ||
816 | 2006-12-13 Zdenek Dvorak <dvorakz@suse.cz> | |
817 | ||
818 | * tree-ssa-loop-ivopts.c: Include tree-affine.h. | |
819 | (divide): Removed. | |
820 | (constant_multiple_of): Fix order of operators for division. | |
821 | (aff_combination_const, aff_combination_elt, aff_combination_scale, | |
822 | aff_combination_add_elt, aff_combination_add, aff_combination_convert, | |
823 | tree_to_aff_combination, add_elt_to_tree, unshare_aff_combination, | |
824 | aff_combination_to_tree): Moved to tree-affine.c and made to work with | |
825 | double_int coefficients. | |
826 | (get_computation_aff, get_computation_at): Work with double_int | |
827 | coefficients. | |
828 | (get_computation_cost_at): Do not use divide. | |
829 | (rewrite_use_nonlinear_expr, rewrite_use_address, rewrite_use_compare): | |
830 | Assert that expressing the computation did not fail. | |
831 | * tree-ssa-address.c: Include tree-affine.h. | |
832 | (add_to_parts, most_expensive_mult_to_index, addr_to_parts, | |
833 | create_mem_ref): Work with double_int coefficients. | |
834 | * tree-affine.c: New file. | |
835 | * tree-affine.h: New file. | |
836 | * tree-flow.h (struct affine_tree_combination): Removed. | |
837 | * Makefile.in (tree-affine.o): Add. | |
838 | (tree-ssa-address.o, tree-ssa-loop-ivopts.o): Add tree-affine.h | |
839 | dependency. | |
840 | ||
841 | 2006-12-13 Peter Bergner <bergner@vnet.ibm.com> | |
842 | ||
843 | PR middle-end/30191 | |
844 | Revert: | |
845 | * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and | |
846 | the offset == 0 "then" clauses. | |
847 | * config/rs6000/predicates.md (gpc_reg_operand): Check for | |
848 | reload_in_progress. | |
849 | ||
850 | 2006-12-13 Uros Bizjak <ubizjak@gmail.com> | |
851 | ||
852 | * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 53. | |
853 | (FIXED_REGISTERS, CALL_USED_REGISTERS): Remove dir register. | |
854 | (REG_ALLOC_ORDER): Remove one element due to removal of dir register. | |
855 | (FRAME_POINTER_REGNUM): Update register number to 20. | |
856 | (REG_CLASS_CONTENTS): Update contents due to removed dir register. | |
857 | (HI_REGISTER_NAMES): Remove "dirflag". | |
858 | ||
859 | * config/i386/i386.c (regclass_map): Remove dirflag entry. | |
860 | (dbx_register_map, dbx64_register_map, svr4_dbx_register_map): | |
861 | Remove "dir" entry. | |
862 | (ix86_md_asm_clobbers): Remove "dirflag" default asm clobber. | |
863 | ||
864 | * config/i386/i386.md (R10_REG, R11_REG): Renumber. | |
865 | (sse_prologue_save, *sse_prologue_save_insn): Renumber | |
866 | hardcoded SSE register numbers. | |
867 | ||
868 | * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber | |
869 | hardcoded MMX register numbers. | |
870 | ||
871 | ||
872 | 2006-12-13 Mark Shinwell <shinwell@codesourcery.com> | |
873 | ||
874 | * config/arm/arm.c (arm_output_fldmx): Output FLDMD instead of | |
875 | FLDMX. Rename function to... | |
876 | (vfp_output_fldmd): ...this. | |
877 | (vfp_output_fstmx): Output FSTMD instead of FSTMX. Rename | |
878 | function to... | |
879 | (vfp_output_fstmd): ...this. | |
880 | (vfp_emit_fstmx): Don't leave space in the frame layout for the | |
881 | FSTMX format word. Rename function to... | |
882 | (vfp_emit_fstmd): ...this. | |
883 | (arm_get_vfp_saved_size): Don't add in space for the FSTMX format | |
884 | word. | |
885 | (arm_output_epilogue): Adjust comment to reflect use of FSTMD. | |
886 | (arm_unwind_emit_sequence): Don't compensate for the FSTMX format | |
887 | word. Also emit "vsave" assembler directives in such cases rather | |
888 | than "save". | |
889 | * config/arm/libunwind.S (gnu_Unwind_Restore_VFP, | |
890 | gnu_Unwind_Save_VFP): Adjust comments. | |
891 | (gnu_Unwind_Restore_VFP_D, gnu_Unwind_Save_VFP_D): New functions | |
892 | for saving and restoring using FSTMD and FLDMD rather than | |
893 | FSTMX and FLDMX. | |
894 | (gnu_Unwind_Restore_VFP_D_16_to_31, gnu_Unwind_Restore_VFP_D_16_to_31): | |
895 | New functions for saving and restoring the VFPv3 registers 16 .. 31. | |
896 | * config/arm/pr-support.c (gnu_unwind_execute): Add conditional | |
897 | compilation case to correctly handle unwind opcode 0xc8 when using | |
898 | VFP. | |
899 | * config/arm/unwind-arm.c (struct vfpv3_regs): New. | |
900 | (DEMAND_SAVE_VFP_D, DEMAND_SAVE_VFP_V3): New flags. | |
901 | (__gnu_Unwind_Save_VFP_D, __gnu_Unwind_Restore_VFP_D, | |
902 | __gnu_Unwind_Save_VFP_D_16_to_31, __gnu_Unwind_Restore_VFP_D_16_to_31): | |
903 | Declare. | |
904 | (restore_non_core_regs): Restore registers using FLDMD rather than | |
905 | FLDMX if required. Also handle restoration of VFPv3 registers. | |
906 | (_Unwind_VRS_Pop): Handle saving and restoring of registers using | |
907 | FSTMD and FLDMD if required; also handle VFPv3 registers 16 .. 31, | |
908 | including cases where the caller specifies a range of registers | |
909 | that overlaps the d15/d16 boundary. | |
910 | ||
911 | 2006-12-13 Diego Novillo <dnovillo@redhat.com> | |
912 | ||
913 | PR 30089 | |
914 | * tree-ssa-operands.h (SSA_OPERAND_MEMORY_SIZE): Add space to | |
915 | accomodate 511 operands. | |
916 | ||
917 | 2006-12-13 Richard Guenther <rguenther@suse.de> | |
918 | ||
919 | * builtins.c (expand_builtin_cexpi): Fix typo. | |
920 | ||
921 | 2006-12-13 Jan Hubicka <jh@suse.cz> | |
922 | ||
923 | * Makefile.in: Add dependencies. | |
924 | * tree-pretty-print.c: Include value-prof.h | |
925 | (dump_generic_bb_buff): Dump histograms | |
926 | * value-prof.c: Include pointer-set.h | |
927 | (gimple_alloc_histogram_value, histogram_hash, histogram_eq, | |
928 | set_histogram_value, gimple_histogram_value, | |
929 | gimple_add_histogram_value, gimple_remove_histogram_value, | |
930 | gimple_histogram_value_of_type, dump_histogram_value, | |
931 | dump_histograms_for_stmt, gimple_remove_stmt_histograms, | |
932 | gimple_duplicate_stmt_histograms, visit_hist, | |
933 | verify_histograms): New functions. | |
934 | (tree_value_profile_transformations): Update for new histogram API. | |
935 | (tree_divmod_fixed_value): Update for new histogram API. | |
936 | (tree_divmod_fixed_value_transform): Update for new histogram API. | |
937 | (tree_mod_pow2): Update for new histogram API. | |
938 | (tree_mod_pow2_value_transform): Update for new histogram API. | |
939 | (tree_mod_subtract): Update for new histogram API. | |
940 | (tree_mod_subtract_transform): Update for new histogram API. | |
941 | (tree_stringops_transform): Update for new histogram API. | |
942 | (tree_divmod_values_to_profile): Update for new histogram API. | |
943 | (tree_stringops_values_to_profile): Update for new histogram API. | |
944 | (tree_find_values_to_profile): Update for new histogram API. | |
945 | * value-prof.h (gimple_histogram_value): Declare. | |
946 | (gimple_histogram_value_of_type): Declare. | |
947 | (gimple_add_histogram_value): Declare. | |
948 | (gimple_remove_histogram_value): Declare. | |
949 | (dump_histograms_for_stmt): Declare. | |
950 | (gimple_remove_histogram_value): Declare. | |
951 | (gimple_remove_stmt_histograms): Declare. | |
952 | (gimple_duplicate_stmt_histograms): Declare. | |
953 | (verify_histograms): Declare. | |
954 | * function.h | |
955 | (struct funrction): Add value_histograms hash. | |
956 | (VALUE_HISTOGRAMS): New macro. | |
957 | * profile.c (compute_value_histograms): update for new API. | |
958 | * tree-inline.c: Include value-prof.h | |
959 | (copy_bb): Update histograms. | |
960 | * tree-flow.h (struct stmt_ann_d): Do not contain pointer to histograms; | |
961 | reorder to get smaller memory layout. | |
962 | * tree-cfg.c: Include value-prof.h | |
963 | (bsi_remove): Update histograms. | |
964 | (bsi_replace): Update histograms. | |
965 | (verify_stmts): Call histogram verifier. | |
966 | (tree_duplicate_bb): Update histograms. | |
967 | (move_block_to_fn): Update histograms. | |
968 | ||
969 | 2006-12-13 Richard Guenther <rguenther@suse.de> | |
970 | ||
971 | * ipa-inline.c (cgraph_flatten_node): Replace leafify with | |
972 | flatten. | |
973 | (cgraph_decide_inlining): Likewise. | |
974 | ||
975 | 2006-12-13 Richard Guenther <rguenther@suse.de> | |
976 | ||
977 | PR tree-optimization/17687 | |
978 | * builtins.def (BUILT_IN_CEXPI, BUILT_IN_CEXPIF, BUILT_IN_CEXPIL): | |
979 | New builtins for imaginary argument cexp. | |
980 | * builtin-types.def (BT_FN_COMPLEX_FLOAT_FLOAT, | |
981 | BT_FN_COMPLEX_DOUBLE_DOUBLE, BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE): | |
982 | New required builtin types. | |
983 | * builtins.c (expand_builtin_cexpi): Declare. | |
984 | (mathfn_built_in): Handle BUILT_IN_CEXPI. | |
985 | (expand_builtin_cexpi): New static helper. | |
986 | (expand_builtin): Call it. | |
987 | (do_mpfr_sincos): Adjust for CEXPI evaluation. | |
988 | (fold_builtin_sincos): New function to fold sincos to cepxi. | |
989 | ||
990 | 2006-12-13 Richard Guenther <rguenther@suse.de> | |
991 | ||
992 | * ipa-reference.c (scan_for_static_refs): Also scan | |
993 | tcc_comparison class trees. | |
994 | ||
995 | 2006-12-12 David Daney <ddaney@avtrex.com> | |
996 | ||
997 | * config/mips/mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before | |
998 | define. | |
999 | ||
1000 | 2006-12-12 Andrew Pinski <pinskia@gmail.com> | |
1001 | ||
1002 | * tree-vect-transform.c (vect_permute_load_chain): | |
1003 | Set DECL_GIMPLE_REG_P to true for the vect_perm_* | |
1004 | temp variables. | |
1005 | ||
1006 | 2006-12-13 Sa Liu <saliu@de.ibm.com> | |
1007 | Ben Elliston <bje@au.ibm.com> | |
1008 | ||
1009 | * config/spu/spu.h (C_COMMON_OVERRIDE_OPTIONS): Define. | |
1010 | (REGISTER_TARGET_PRAGMAS): Don't zero warn_main flag. | |
1011 | * config/spu/spu-protos.h (spu_c_common_override_options): | |
1012 | Declare. | |
1013 | * config/spu/spu-c.c (spu_c_common_override_options): New. | |
1014 | * config/spu/spu.c (spu_override_options): Whitespace fix. | |
1015 | ||
1016 | 2006-12-12 Trevor Smigiel <trevor_smigiel@playstation.sony.com> | |
1017 | ||
1018 | * config/spu/spu.c (cpat_info): Fix an incorrectly identified case. | |
1019 | ||
1020 | 2006-12-12 Geoffrey Keating <geoffk@apple.com> | |
1021 | ||
1022 | * mips-tdump.c: Replace CROSS_COMPILE with | |
1023 | CROSS_DIRECTORY_STRUCTURE. | |
1024 | * mips-tfile.c: Likewise. | |
1025 | * gcc.c: Likewise. | |
1026 | * configure.ac: Likewise. | |
1027 | * cppdefault.c: Likewise. | |
1028 | * Makefile.in: Likewise. | |
1029 | * config/alpha/osf.h: Likewise. | |
1030 | * config/i386/cygwin.h: Likewise. | |
1031 | * config/i386/beos-elf.h: Likewise. | |
1032 | * config/i386/nto.h: Likewise. | |
1033 | * config/fr30/fr30.h: Likewise. | |
1034 | * config/svr4.h: Likewise. | |
1035 | * config/rs6000/aix.h: Likewise. | |
1036 | * config/rs6000/sysv4.h: Likewise. | |
1037 | * config/pa/pa64-hpux.h: Likewise. | |
1038 | * config/pa/pa-hpux10.h: Likewise. | |
1039 | * config/pa/pa-hpux11.h: Likewise. | |
1040 | * collect2.c: Likewise. | |
1041 | * configure: Regenerate. | |
1042 | ||
1043 | * doc/tm.texi (Alignment Output): Document that ASM_OUTPUT_SKIP | |
1044 | actually takes an unsigned HOST_WIDE_INT for its second parameter. | |
1045 | ||
1046 | 2006-12-13 Ulrich Weigand <uweigand@de.ibm.com> | |
1047 | ||
1048 | * config/spu/spu.c (TARGET_ENCODE_SECTION_INFO): Define. | |
1049 | (spu_encode_section_info): New. | |
1050 | * config/spu/spu.h (ALIGNED_SYMBOL_REF_P): Adjust. | |
1051 | (SYMBOL_FLAG_ALIGN1): New. | |
1052 | ||
1053 | 2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
1054 | ||
1055 | PR tree-opt/28624 | |
1056 | * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary | |
1057 | bitmap for EXECUTE_IF_SET_IN_BITMAP. | |
1058 | ||
1059 | 2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
1060 | ||
1061 | PR tree-opt/28436 | |
1062 | * tree.h (DECL_COMPLEX_GIMPLE_REG_P): Rename to ... | |
1063 | (DECL_GIMPLE_REG_P): This. | |
1064 | * fold-const.c (fold_indirect_ref_1): Fold *(foo *)&vectorfoo into | |
1065 | using BIT_FIELD_REF. | |
1066 | * omp-low.c (omp_copy_decl_2): Use the renamed DECL_GIMPLE_REG_P. | |
1067 | * tree-gimple.c (is_gimple_reg): Use the renamed DECL_GIMPLE_REG_P | |
1068 | and check for VECTOR_TYPE. | |
1069 | * expr.c (get_inner_reference): Set the mode for BIT_FIELD_REF with | |
1070 | vector types. | |
1071 | * tree-flow-inline.h (var_can_have_subvars): Use the renamed | |
1072 | DECL_GIMPLE_REG_P. | |
1073 | * gimplify.c (internal_get_tmp_var): Use the renamed DECL_GIMPLE_REG_P | |
1074 | and check for VECTOR_TYPE. | |
1075 | (gimplify_bind_expr): Likewise. | |
1076 | (gimplify_function_tree): Likewise. | |
1077 | * expmed.c: Include target.h. | |
1078 | (extract_bit_field): For vector mode, try find a better mode first. | |
1079 | If that fails use gen_lowpart (for vectors only). | |
1080 | * tree-dfa.c (make_rename_temp): Use the renamed DECL_GIMPLE_REG_P | |
1081 | and check for VECTOR_TYPE. | |
1082 | * tree-ssa-pre.c (create_expressions_by_pieces): Likewise. | |
1083 | (insert_into_preds_of_block): Likewise. | |
1084 | (insert_fake_stores): Create gimple register store_tmps for | |
1085 | vector types. | |
1086 | * tree-sra.c (sra_elt): New field, is_vector_lhs. | |
1087 | (sra_walk_expr <case BIT_FIELD_REF>): For vector types that | |
1088 | are the left hand side, set the element's is_vector_lhs to true. | |
1089 | (instantiate_element): For vector types which were on the left | |
1090 | hand size, set DECL_GIMPLE_REG_P to false. | |
1091 | * tree-nested.c (create_tmp_var_for): Use the renamed | |
1092 | DECL_GIMPLE_REG_P. | |
1093 | * tree-inline.c (declare_return_variable): Use the renamed | |
1094 | DECL_GIMPLE_REG_P and check for VECTOR_TYPE. | |
1095 | (copy_decl_to_var): Use the renamed DECL_GIMPLE_REG_P. | |
1096 | (copy_result_decl_to_var): Likewise. | |
1097 | * tree-vect-transform.c (vect_get_new_vect_var): For vector types, | |
1098 | create a gimple register variable. | |
1099 | (vect_permute_store_chain): Set DECL_GIMPLE_REG_P to true for the | |
1100 | vect_inter_* temp variables. | |
1101 | * Makefile.in (expmed.o): Update dependencies. | |
1102 | ||
1103 | 2006-12-12 Peter Bergner <bergner@vnet.ibm.com> | |
1104 | ||
1105 | * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and | |
1106 | the offset == 0 "then" clauses. | |
1107 | * config/rs6000/predicates.md (gpc_reg_operand): Check for | |
1108 | reload_in_progress. | |
1109 | ||
1110 | 2006-12-12 Marcin Dalecki <martin@dalecki.de> | |
1111 | ||
1112 | * doc/passes.texi: remove docs about "redundant PHI removal". | |
1113 | * tree-pass.h: remove orphaned declaration of pass_redundant_phi, | |
1114 | remove redundant pass_partition_blocks declaration. | |
1115 | ||
1116 | 2006-12-12 Andrew Macleod <amacleod@redhat.com> | |
1117 | ||
1118 | PR tree-optimization/30159 | |
1119 | * tree-ssa-coalesce.c (coalesce_ssa_name): Process single ssa_name | |
1120 | functions in case a default_def coalesce is required. | |
1121 | ||
1122 | 2006-12-12 Jakub Jelinek <jakub@redhat.com> | |
1123 | ||
1124 | PR libstdc++/11953 | |
1125 | * gthr-posix.h (_REENTRANT): Only define if __osf__ is defined. | |
1126 | ||
1127 | * config/ia64/linux.h (CPP_SPEC): Define. | |
1128 | * config/s390/linux.h (CPP_SPEC): Define. | |
1129 | ||
1130 | 2006-12-12 Jim Wilson <wilson@specifix.com> | |
1131 | Jakub Jelinek <jakub@redhat.com> | |
1132 | ||
1133 | PR rtl-optimization/27761 | |
1134 | * combine.c (try_combine): Don't create a useless garbage SET | |
1135 | if PATTERN (i2) is a PARALLEL. If added_sets_1, save | |
1136 | PATTERN (i1) resp. SET from i1src to i1dest in i1pat | |
1137 | and use it to prevent accidental modification of i1src. | |
1138 | ||
1139 | 2006-12-12 Ira Rosen <irar@il.ibm.com> | |
1140 | ||
1141 | * tree-vect-analyze.c (vect_analyze_data_ref_access): Add another check | |
1142 | for stores with gaps. | |
1143 | * tree-vect-transform.c (vect_permute_store_chain): Create | |
1144 | interleave_high or interleave_low according to the endianess. | |
1145 | ||
1146 | 2006-12-12 Richard Guenther <rguenther@suse.de> | |
1147 | ||
1148 | PR middle-end/30147 | |
1149 | * fold-const.c (fold_read_from_constant_string): Only fold read | |
1150 | from constant string if the result type is integer. | |
1151 | ||
1152 | 2006-12-12 Olivier Hainque <hainque@adacore.com> | |
1153 | ||
1154 | * config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA. | |
1155 | ||
1156 | 2006-12-12 Olivier Hainque <hainque@adacore.com> | |
1157 | ||
1158 | * config/vxlib.c: Extract tls related routines into ... | |
1159 | * config/vxlib-tls.c: New file. | |
1160 | * config/t-vxworks: Add vxlib-tls.c to LIB2FUNCS_EXTRA. | |
1161 | ||
1162 | 2006-12-12 Sa Liu <saliu@de.ibm.com> | |
1163 | Ben Elliston <bje@au.ibm.com> | |
1164 | ||
1165 | * config/spu/spu.opt (mfixed-range): New option. | |
1166 | * config/spu/spu.h (spu_fixed_range_string): Declare. | |
1167 | * config/spu/spu.c (spu_override_options): Handle -mfixed-range. | |
1168 | (fix_range): New function. | |
1169 | * doc/invoke.texi (SPU Options): Document -mfixed-range. | |
1170 | * testsuite/gcc.target/spu/fixed-range.c: New. | |
1171 | * testsuite/gcc.target/spu/fixed-range-bad.c: Ditto. | |
1172 | ||
1173 | 2006-12-11 H.J. Lu <hongjiu.lu@intel.com> | |
1174 | ||
1175 | PR middle-end/17982 | |
1176 | PR middle-end/20218 | |
1177 | * cgraphunit.c (cgraph_optimize): Remove call to | |
1178 | process_pending_assemble_externals. | |
1179 | ||
1180 | * config/elfos.h (ASM_OUTPUT_EXTERNAL): New. | |
1181 | ||
1182 | * config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed. | |
1183 | ||
1184 | * config/ia64/ia64.c (ia64_asm_output_external): Rewritten. | |
1185 | (ia64_hpux_add_extern_decl): Removed. | |
1186 | (ia64_hpux_file_end): Likewise. | |
1187 | (extern_func_list): Likewise. | |
1188 | (extern_func_head): Likewise. | |
1189 | ||
1190 | * output.h (assemble_external): Update comments. | |
1191 | (default_elf_asm_output_external): New. | |
1192 | (maybe_assemble_visibility): New. | |
1193 | ||
1194 | * toplev.c (compile_file): Update comment. | |
1195 | ||
1196 | * varasm.c (assemble_external): Always put it on | |
1197 | pending_assemble_externals. | |
1198 | (maybe_assemble_visibility): Make it extern and return int. | |
1199 | (default_elf_asm_output_external): New. | |
1200 | ||
1201 | 2006-12-11 Daniel Berlin <dberlin@dberlin.org> | |
1202 | ||
1203 | * tree-ssa-structalias.c (handle_ptr_arith): Return false when we | |
1204 | can't handle the pointer arithmetic. | |
1205 | ||
1206 | 2006-12-11 Diego Novillo <dnovillo@redhat.com> | |
1207 | ||
1208 | * doc/tree-ssa.texi: Update documentation for virtual operands | |
1209 | and the use of push_stmt_changes/pop_stmt_changes. | |
1210 | * doc/invoke.texi: Remove documentation for params | |
1211 | global-var-threshold. | |
1212 | Update documentation on max-aliased-vops. | |
1213 | ||
1214 | * tree-into-ssa.c: Cleanup comments, variables and | |
1215 | spacing in various functions. | |
1216 | (regs_to_rename): Declare. | |
1217 | (mem_syms_to_rename): Declare. | |
1218 | (dump_update_ssa): Declare. | |
1219 | (debug_update_ssa): Declare. | |
1220 | (dump_names_replaced_by): Declare. | |
1221 | (debug_names_replaced_by): Declare. | |
1222 | (dump_def_blocks): Declare. | |
1223 | (debug_def_blocks): Declare. | |
1224 | (dump_defs_stack): Declare. | |
1225 | (debug_defs_stack): Declare. | |
1226 | (dump_currdefs): Declare. | |
1227 | (debug_currdefs): Declare. | |
1228 | (mark_def_sites): Do not handle virtual operands. | |
1229 | (compute_idf): Rename from find_idf. Update users. | |
1230 | (register_new_def): Make local. Convert second argument | |
1231 | to 'tree'. | |
1232 | Use BLOCK_DEFS_STACK directly. | |
1233 | If pushing a non-register, also push the underlying | |
1234 | symbol. | |
1235 | (rewrite_stmt): Do not handle virtual operands. | |
1236 | (dump_tree_ssa): Call dump_def_blocks, dump_defs_stack, | |
1237 | dump_currdefs and dump_tree_ssa_stats. | |
1238 | (dump_tree_ssa_stats): Also dump REPL_TBL. | |
1239 | (replace_use): Remove. Update all users to call SET_USE | |
1240 | instead. | |
1241 | (rewrite_blocks): Move code to free memory to | |
1242 | fini_ssa_renamer. | |
1243 | (mark_def_site_blocks): Move initialization code to | |
1244 | init_ssa_renamer. | |
1245 | (init_ssa_renamer): New. | |
1246 | (fini_ssa_renamer): New. | |
1247 | (rewrite_into_ssa): Call them. | |
1248 | (prepare_block_for_update): Process SSA_OP_ALL_USES first | |
1249 | and SSA_OP_ALL_DEFS later. Do not process virtual | |
1250 | operands separately. | |
1251 | (dump_update_ssa): Call dump_decl_set. | |
1252 | (init_update_ssa): Initialize regs_to_rename and | |
1253 | mem_syms_to_rename. | |
1254 | Call init_ssa_renamer. | |
1255 | (delete_update_ssa): Call fini_ssa_renamer. | |
1256 | Free blocks_with_phis_to_rewrite. | |
1257 | (mark_sym_for_renaming): If the variable has | |
1258 | sub-variables, also mark them. | |
1259 | If the variable belongs to a partition, also mark it. | |
1260 | (mark_set_for_renaming): Call mark_sym_for_renaming on | |
1261 | every symbol in the set. | |
1262 | (switch_virtuals_to_full_rewrite): Call | |
1263 | mark_set_for_renaming. | |
1264 | (update_ssa): Separate syms_to_rename into regs_to_rename | |
1265 | and mem_syms_to_rename. | |
1266 | ||
1267 | * tree-dump.c (dump_options): Add TDF_MEMSYMS. | |
1268 | * tree-pretty-print.c (debug_generic_expr): Add TDF_MEMSYMS. | |
1269 | (debug_generic_stmt): Likewise. | |
1270 | (debug_tree_chain): Likewise. | |
1271 | (dump_symbols): New. | |
1272 | (dump_generic_node): Check for TDF_MEMSYMS. | |
1273 | Handle MEMORY_PARTITION_TAG. | |
1274 | If the statement references memory and TDF_MEMSYMS is | |
1275 | given, call dump_symbols. | |
1276 | Indicate default names with (D). | |
1277 | (dump_vops): Update for new virtual operator format. | |
1278 | ||
1279 | * tree.c (init_ttree): Add MEMORY_PARTITION_TAG to | |
1280 | tree_contains_struct. | |
1281 | (tree_code_size): Handle MEMORY_PARTITION_TAG. | |
1282 | (tree_node_structure): Likewise. | |
1283 | (needs_to_live_in_memory): Handle SSA names. | |
1284 | * tree.h (MTAG_P): Likewise. | |
1285 | (struct tree_memory_partition_tag): Declare. | |
1286 | (MPT_SYMBOLS): Define. | |
1287 | (union tree_node): Add field 'mpt'. | |
1288 | * treestruct.def (TS_MEMORY_PARTITION_TAG): Define. | |
1289 | * tree.def (MEMORY_PARTITION_TAG): Define. | |
1290 | ||
1291 | * tree-pass.h (TDF_MEMSYMS): Define. | |
1292 | ||
1293 | * params.h (GLOBAL_VAR_THRESHOLD): Remove. | |
1294 | ||
1295 | * tree-ssa-alias.c: Include pointer-set.h | |
1296 | (struct alias_map_d): Remove fields total_alias_vops, | |
1297 | grouped_p and may_aliases. Update all users. | |
1298 | (struct mp_info_def): Declare. | |
1299 | (mp_info_t): New type. | |
1300 | (get_smt_for): Rename from get_tmt_for. Update all | |
1301 | users. | |
1302 | (add_may_alias): Add argument ALREADY_ADDED. If given, | |
1303 | use it to avoid adding duplicate entries to alias sets. | |
1304 | (replace_may_alias): Remove. Update all users. | |
1305 | (total_alias_vops_cmp): Remove. Update all users. | |
1306 | (group_aliases_into): Remove. Update all users. | |
1307 | (tree_pointer_compare): Remove. Update all users. | |
1308 | (compact_name_tags): Remove. Update all users. | |
1309 | (group_aliases): Remove. Update all users. | |
1310 | (mark_non_addressable): Move from tree-flow-inline.h. | |
1311 | Remove the symbol from the partition holding it, if | |
1312 | needed. | |
1313 | (dump_mp_info): New. | |
1314 | (debug_mp_info): New. | |
1315 | (sort_mp_info): New. | |
1316 | (create_partition_for): New. | |
1317 | (rewrite_alias_set_for): New. | |
1318 | (compute_memory_partitions): New. | |
1319 | (compute_may_aliases): Call it. | |
1320 | (init_alias_info): If computing aliases for the first | |
1321 | time, mark every memory symbol for renaming. | |
1322 | (have_common_aliases_p): New. | |
1323 | (compute_flow_insensitive_aliasing): Call it. | |
1324 | (setup_pointers_and_addressables): Do not cache | |
1325 | num_referenced_vars. | |
1326 | For register promoted symbols, mark their former | |
1327 | partition for renaming. | |
1328 | (maybe_create_global_var): Only create .GLOBAL_VAR if | |
1329 | there are no call-clobbered variables and a mix of pure | |
1330 | and non-pure functions were found. | |
1331 | (may_alias_p): Tidy comments. | |
1332 | (create_tag_raw): Remove unused variable new_type. | |
1333 | (dump_alias_info): call dump_memory_partitions. | |
1334 | (dump_points_to_info_for): Call dump_decl_set. | |
1335 | (may_be_aliased): Tidy comments and formatting. | |
1336 | ||
1337 | * timevar.def (TV_MEMORY_PARTITIONING): Define. | |
1338 | * tree-vectorizer.c (vect_memsyms_to_rename): Rename from | |
1339 | vect_vnames_to_rename. Set DECL_UIDs instead of SSA name | |
1340 | versions in it. | |
1341 | (slpeel_update_phi_nodes_for_guard1): Ignore memory PHIs. | |
1342 | * tree-vect-transform.c (vect_transform_loop): Call | |
1343 | mark_set_for_renaming with vect_memsyms_to_rename. | |
1344 | * tree-flow-inline.h (zero_imm_uses_p): New. | |
1345 | (memory_partition): New. | |
1346 | (set_memory_partition): New. | |
1347 | (factoring_name_p): New. | |
1348 | (symbol_mem_tag): New. Update every function that used | |
1349 | to access the annotation directly. | |
1350 | (set_symbol_mem_tag): Likewise. | |
1351 | ||
1352 | * tree-ssa-copy.c (may_propagate_copy): Allow copies | |
1353 | between a partition and a symbol as long as the symbol | |
1354 | belongs to the partition. | |
1355 | (merge_alias_info): Ignore merge requests when memory | |
1356 | partitions are involved. | |
1357 | ||
1358 | * tree-ssa.c (verify_ssa_name): Check that default | |
1359 | definitions have empty defining statements. | |
1360 | (verify_use): Remove argument IS_VIRTUAL. | |
1361 | Don't call verify_ssa_name. | |
1362 | (verify_phi_args): Call verify_ssa_name. | |
1363 | (verify_flow_insensitive_alias_info): Handle MPTs. | |
1364 | (verify_flow_sensitive_alias_info): Likewise. | |
1365 | (verify_name_tags): Likewise. | |
1366 | (verify_call_clobbering): Likewise. | |
1367 | (verify_ssa): Check for VOPs only after aliasing | |
1368 | information is available. | |
1369 | Check virtuals and real operands separately. | |
1370 | Call verify_ssa_name on every operand. | |
1371 | (stmt_references_memory_p): Move to tree-ssa-operands.c. | |
1372 | (walk_use_def_chains_1): Guard against NULL PHI | |
1373 | arguments. | |
1374 | ||
1375 | * tree-ssa-operands.c (stmt_references_memory_p): Move from | |
1376 | tree-ssa.c. | |
1377 | (get_mpt_for): New. | |
1378 | (dump_memory_partitions): New. | |
1379 | (debug_memory_partitions): New. | |
1380 | ||
1381 | * tree-flow.h (struct var_ann_d): Add field mpt. | |
1382 | (struct stmt_ann_d): Add bitfield references_memory. | |
1383 | * Makefile.in (tree-ssa-structalias.o): Include | |
1384 | pointer-set.h | |
1385 | (tree-ssa-alias.o): Likewise. | |
1386 | * tree-ssa-structalias.c: (update_alias_info): Use | |
1387 | STORED_SYMS to determine which variables are being | |
1388 | written to by the store operation. | |
1389 | * tree-ssa-structalias.h (struct alias_info) | |
1390 | <total_alias_vops>: Remove. Update all users. | |
1391 | <written_vars>: Change to a pointer set. Update all | |
1392 | users. | |
1393 | <dereferenced_ptrs_store>: Likewise. | |
1394 | <dereferenced_ptrs_load>: Likewise. | |
1395 | (NUM_REFERENCES): Remove. Update all users. | |
1396 | (NUM_REFERENCES_CLEAR): Remove. Update all users. | |
1397 | (NUM_REFERENCES_INC): Remove. Update all users. | |
1398 | (NUM_REFERENCES_SET): Remove. Update all users. | |
1399 | ||
1400 | * params.def (PARAM_GLOBAL_VAR_THRESHOLD): Remove. | |
1401 | Update all users. | |
1402 | (PARAM_MAX_ALIASED_VOPS): Set to 10. | |
1403 | * tree-ssanames.c (make_ssa_name): Initialize | |
1404 | SSA_NAME_IS_DEFAULT_DEF to 0. | |
1405 | ||
1406 | 2006-12-11 Aldy Hernandez <aldyh@redhat.com> | |
1407 | ||
1408 | * tree-ssa-dse.c (aggregate_vardecl_d): New. | |
1409 | (dse_global_data): Add aggregate_vardecl field. | |
1410 | (dse_possible_dead_store_p): New. | |
1411 | Add prev_defvar variable. | |
1412 | Allow immediate uses and previous immediate uses to differ | |
1413 | if they are setting different parts of the whole. | |
1414 | (get_aggregate_vardecl): New. | |
1415 | (dse_record_partial_aggregate_store): New. | |
1416 | (dse_whole_aggregate_clobbered_p): New. | |
1417 | (dse_partial_kill_p): New. | |
1418 | (dse_optimize_stmt): Abstract code checking a possible dead store | |
1419 | into new function dse_possible_dead_store_p(). | |
1420 | Call dse_maybe_record_aggregate_store(). | |
1421 | When checking whether a STMT and its USE_STMT refer to the | |
1422 | same memory address, check also for partial kills that clobber | |
1423 | the whole. | |
1424 | Move some variable definitions to the block where they are used. | |
1425 | (aggregate_vardecl_hash): New. | |
1426 | (aggregate_vardecl_eq): New. | |
1427 | (aggregate_vardecl_free): New. | |
1428 | (aggregate_whole_store_p): New. | |
1429 | (tree_ssa_dse): Initialize and free aggregate_vardecl. | |
1430 | Mark which aggregate stores we care about. | |
1431 | ||
1432 | 2006-12-11 Andrew Macleod <amacleod@redhat.com> | |
1433 | ||
1434 | * tree-ssa-operands.h (struct vuse_element_d): Declare. | |
1435 | (vuse_element_t): Declare. | |
1436 | (struct vuse_vec_d): Declare. | |
1437 | (vuse_vec_p): Declare. | |
1438 | (VUSE_VECT_NUM_ELEM): Define. | |
1439 | (VUSE_VECT_ELEMENT_NC): Define. | |
1440 | (VUSE_ELEMENT_PTR_NC): Define. | |
1441 | (VUSE_ELEMENT_VAR_NC): Define. | |
1442 | (VUSE_VECT_ELEMENT): Define. | |
1443 | (VUSE_ELEMENT_PTR): Define. | |
1444 | (VUSE_ELEMENT_VAR): Define. | |
1445 | (struct maydef_optype_d) <use_var>: Remove. | |
1446 | <use_ptr>: Remove. | |
1447 | <usev>: Add. | |
1448 | (struct vuse_optype_d) <kill_var>: Remove. | |
1449 | <use_ptr>: Remove. | |
1450 | <usev>: Add. | |
1451 | (struct mustdef_optype_d) <kill_var>: Remove. | |
1452 | <use_ptr>: Remove. | |
1453 | <usev>: Add. | |
1454 | (VUSE_OP_PTR): Add argument. Use VUSE_ELEMENT_PTR. | |
1455 | (VUSE_OP): Add argument. Use VUSE_ELEMENT_PTR. | |
1456 | (VUSE_NUM): Define. | |
1457 | (VUSE_VECT): Define. | |
1458 | (MAYDEF_OP_PTR): Add argument. Use VUSE_OP_PTR. | |
1459 | (MAYDEF_OP): Add argument. Use VUSE_OP. | |
1460 | (MAYDEF_NUM): Define. | |
1461 | (MAYDEF_VECT): Define. | |
1462 | (MUSTDEF_KILL_PTR): Use VUSE_OP_PTR. | |
1463 | (MUSTDEF_KILL): Use VUSE_OP. | |
1464 | (MUSTDEF_NUM): Define. | |
1465 | (MUSTDEF_VECT): Define. | |
1466 | (realloc_maydef): Declare. | |
1467 | (realloc_vuse): Declare. | |
1468 | (struct ssa_operand_iterator_d) <vuse_index>: Add. | |
1469 | <mayuse_index>: Add. | |
1470 | (LOADED_SYMS): Define. | |
1471 | (STORED_SYMS): Define. | |
1472 | (FOR_EACH_SSA_MUSTDEF_OPERAND): Call op_iter_next_mustdef. | |
1473 | * tree-into-ssa.c: Adapt for multi-operand V_MAY_DEF and VUSE | |
1474 | operators. | |
1475 | * tree-pretty-print.c: Likewise. | |
1476 | * tree-ssa-dse.c: Likewise. | |
1477 | * tree-flow-inline.h: Likewise. | |
1478 | (op_iter_next_mustdef): New. | |
1479 | * tree-ssa-operands.c: Likewise. | |
1480 | (ALLOC_OPTYPE): Remove. | |
1481 | Update all users. | |
1482 | (alloc_def): New. | |
1483 | (alloc_use): New. | |
1484 | (alloc_maydef): New. | |
1485 | (alloc_vuse): New. | |
1486 | (alloc_mustdef): New. | |
1487 | (realloc_maydef): New. | |
1488 | (realloc_vuse): New. | |
1489 | ||
1490 | 2006-12-11 Aldy Hernandez <aldyh@redhat.com> | |
1491 | ||
1492 | * tree-ssa-operands.c: Remove build_v_must_defs. | |
1493 | (init_ssa_operands): Delete build_v_must_defs. | |
1494 | (finalize_ssa_v_must_def_ops): Remove. | |
1495 | (finalize_ssa_v_must_defs): Remove. | |
1496 | (finalize_ssa_stmt_operands): Do not call | |
1497 | finalize_ssa_v_must_defs. | |
1498 | (start_ssa_stmt_operands): Do not check build_v_must_defs. | |
1499 | (append_v_must_def): Delete. | |
1500 | (copy_virtual_operands): Do not copy V_MUST_DEFs. | |
1501 | (get_modify_expr_operands): Remove reference to V_MUST_DEF from | |
1502 | comment. Remove opf_kill_def. | |
1503 | (build_ssa_operands): Remove references to v_must_defs. | |
1504 | (copy_virtual_operands): Same. | |
1505 | (copy_virtual_operands): Same. | |
1506 | (fini_ssa_operands): Same. | |
1507 | (free_ssa_operands): Same. | |
1508 | (add_mustdef_op): Remove. | |
1509 | Remove mustdef_optype_p. | |
1510 | (alloc_mustdef): Remove. | |
1511 | Remove references to V_MUST_DEFs in comment at top of file. | |
1512 | (get_expr_operands): Remove opf_kill_def. | |
1513 | (opf_kill_def): Remove. | |
1514 | (add_virtual_operand): Remove opf_kill_def. | |
1515 | (get_indirect_ref_operands): Same. | |
1516 | (get_tmr_operands): Same. | |
1517 | ||
1518 | * tree-vectorizer.c (rename_variables_in_bb): Remove | |
1519 | SSA_OP_ALL_KILLS. | |
1520 | ||
1521 | * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Remove | |
1522 | SSA_OP_ALL_KILLS. | |
1523 | (check_loop_closed_ssa_stmt): Same. | |
1524 | ||
1525 | * tree-ssa.c (verify_def): Remove V_MUST_DEF from comment. | |
1526 | (verify_use): Same. | |
1527 | (verify_ssa): Remove V_MUST_DEFs traces. | |
1528 | (verify_ssa): Remove SSA_OP_ALL_KILLS. | |
1529 | ||
1530 | * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTDEF to | |
1531 | SSA_OP_VMAYDEF. | |
1532 | (rewrite_update_stmt): Remove SSA_OP_VIRTUAL_KILLS. | |
1533 | (rewrite_stmt): Remove SSA_OP_ALL_KILLS. | |
1534 | ||
1535 | * tree-ssa-operands.h (struct stmt_operands_d): Remove V_MUST_DEF | |
1536 | references. | |
1537 | (MUSTDEF_OPS): Remove. | |
1538 | (SSA_OP_VMUSTDEF): Remove. | |
1539 | (FOR_EACH_SSA_MUSTDEF_OPERAND): Remove. | |
1540 | (struct mustdef_optype_d): Remove. | |
1541 | Remove mustdef_optype_p. | |
1542 | (struct stmt_operands_d): Remove mustdef_ops. | |
1543 | (ssa_operand_iterator_d): Remove mustdefs and mustkills. | |
1544 | (SSA_OP_VIRTUAL_DEFS): Remove SSA_OP_VMUSTDEF. | |
1545 | (MUSTDEF_RESULT_PTR): Remove. | |
1546 | (MUSTDEF_RESULT): Remove. | |
1547 | (MUSTDEF_KILL_PTR): Remove. | |
1548 | (MUSTDEF_KILL): Remove. | |
1549 | (MUSTDEF_NUM): Remove. | |
1550 | (MUSTDEF_VECT): Remove. | |
1551 | (SSA_OP_VIRTUAL_KILLS): Remove. | |
1552 | (SSA_OP_ALL_VIRTUALS): Remove SSA_OP_VIRTUAL_KILLS. | |
1553 | (SSA_OP_VMUSTKILL): Remove. | |
1554 | (SSA_OP_ALL_KILLS): Remove. | |
1555 | (SSA_OP_ALL_OPERANDS): Remove SSA_OP_ALL_KILLS. | |
1556 | ||
1557 | * tree-flow-inline.h (op_iter_init_def): Remove | |
1558 | SSA_OP_VIRTUAL_KILLS. | |
1559 | (delink_stmt_imm_use): Remove SSA_OP_ALL_KILLS. | |
1560 | ||
1561 | * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove | |
1562 | SSA_OP_VIRTUAL_KILLS. | |
1563 | ||
1564 | * tree-ssa-loop-im.c (determine_max_movement): Remove | |
1565 | SSA_OP_VIRTUAL_KILLS. | |
1566 | (gather_mem_refs_stmt): Same. | |
1567 | (gather_mem_refs_stmt): Same. | |
1568 | ||
1569 | * tree-ssa-dce.c (mark_really_necessary_kill_operand_phis): Delete. | |
1570 | (perform_tree_ssa_dce): Remove call to | |
1571 | mark_really_necessary_kill_operand_phis. | |
1572 | ||
1573 | * tree-flow-inline.h (op_iter_init): Remove setting of mustdefs | |
1574 | and mustkills. | |
1575 | (op_iter_next_use): Do not check mustkills. | |
1576 | (op_iter_next_def): Do not check mustdefs. | |
1577 | (op_iter_next_tree): Do not check mustkills or mustdefs. | |
1578 | (clear_and_done_ssa_iter): Do not set mustdefs or mustkills. | |
1579 | (op_iter_next_maymustdef): Do not check mustkills. | |
1580 | (op_iter_init_must_and_may_def): Remove SSA_OP_VMUSTKILL. | |
1581 | (op_iter_init_mustdef): Remove. | |
1582 | ||
1583 | * tree-ssa-live.c (create_ssa_var_map): Change SSA_OP_VMUSTDEF to | |
1584 | SSA_OP_VMAYDEF. | |
1585 | ||
1586 | * tree-ssa-dse.c (dse_optimize_stmt): Remove SSA_OP_VMUSTDEF. | |
1587 | ||
1588 | * tree-ssa-ccp.c: Remove V_MUST_DEF traces from comments. | |
1589 | (visit_assignment): Same. | |
1590 | ||
1591 | * tree-ssa-copy.c (copy_prop_visit_assignment): Same. | |
1592 | ||
1593 | * tree-sra.c (mark_all_v_defs_1): Remove V_MUST_DEF from comment. | |
1594 | ||
1595 | * tree-outof-ssa.c (check_replaceable): Remove SSA_OP_VMUSTDEF. | |
1596 | ||
1597 | * tree-pretty-print.c (dump_vops): Remove printing of V_MUST_DEF. | |
1598 | Remove kill_p variable. | |
1599 | ||
1600 | * tree-dfa.c (struct dfa_stats_d): Remove num_v_must_defs. | |
1601 | (dump_dfa_stats): Remove code related to V_MUST_DEFs. | |
1602 | (collect_dfa_stats_r): Do not set num_v_must_defs. | |
1603 | (mark_new_vars_to_rename): Remove v_must_defs_{before,after} | |
1604 | code. | |
1605 | ||
1606 | * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTKILL to | |
1607 | SSA_OP_VMAYUSE. | |
1608 | ||
1609 | * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove | |
1610 | SSA_OP_VMUSTDEF and SSA_OP_VMUSTKILL. | |
1611 | ||
1612 | * tree-ssa-propagate.c (stmt_makes_single_store): Remove | |
1613 | SSA_OP_VMUSTDEF. | |
1614 | ||
1615 | 2006-12-11 Zdenek Dvorak <dvorakz@suse.cz> | |
1616 | ||
1617 | PR rtl-optimization/30113 | |
1618 | * loop-iv.c (implies_p): Require the mode of the operands to be | |
1619 | scalar. | |
1620 | ||
1621 | 2006-12-11 Diego Novillo <dnovillo@redhat.com> | |
1622 | ||
1623 | * tree-ssa-operands.h (create_ssa_artificial_load_stmt): | |
1624 | Rename from create_ssa_artficial_load_stmt. Update all users. | |
1625 | * tree-into-ssa.c (register_new_def): Make static. | |
1626 | * tree.c (is_global_var): Handle SSA_NAMEs. | |
1627 | * tree.h (SSA_NAME_IS_DEFAULT_DEF): Define. Update all users | |
1628 | that used to call gimple_default_def. | |
1629 | * tree-ssa-operands.c (push_stmt_changes): New. | |
1630 | (pop_stmt_changes): New. Update every pass that modifies | |
1631 | statements to bracket modifications with | |
1632 | push_stmt_changes/pop_stmt_changes. | |
1633 | (discard_stmt_changes): New. | |
1634 | * tree-ssa-dom.c (stmts_to_rescan): Change to stack of | |
1635 | 'tree *' instead of 'tree'. Update all users. | |
1636 | * tree-flow-inline.h (zero_imm_uses_p): New. | |
1637 | (symbol_mem_tag): New. Update every function that used | |
1638 | to access the annotation directly. | |
1639 | (set_symbol_mem_tag): Likewise. | |
1640 | * tree-dfa.c (dump_variable): Always show the escape mask. | |
1641 | (mark_symbols_for_renaming): Rename from | |
1642 | mark_new_vars_to_rename. Update all users. | |
1643 | Only mark to rename naked symbols in real and virtual | |
1644 | operands. | |
1645 | ||
1646 | 2006-12-11 Andreas Schwab <schwab@suse.de> | |
1647 | ||
1648 | * varasm.c (elf_record_gcc_switches): Cast second argument of | |
1649 | ASM_OUTPUT_SKIP to unsigned HOST_WIDE_INT. | |
1650 | ||
1651 | 2006-12-11 Diego Novillo <dnovillo@redhat.com> | |
1652 | ||
1653 | * tree-scalar-evolution.c (scev_const_prop): | |
1654 | * tree-phinodes.c (remove_phi_node): Add argument | |
1655 | RELEASE_LHS_P. If given, release the SSA name on the LHS of | |
1656 | the PHI node. | |
1657 | Update all users. | |
1658 | * tree-ssa-dce.c: Remove forward declarations for static | |
1659 | functions. Re-arrange functions bodies as needed. | |
1660 | (find_obviously_necessary_stmts): Never mark PHI nodes as | |
1661 | obviously necessary. | |
1662 | ||
1663 | 2006-12-11 Carlos O'Donell <carlos@codesourcery.com> | |
1664 | ||
1665 | * config/arm/elf.h (MAX_OFILE_ALIGNMENT): Remove definition. | |
1666 | ||
1667 | 2006-12-11 Jan Hubicka <jh@suse.cz> | |
1668 | ||
1669 | * value-prof.c (tree_stringops_transform): New. | |
1670 | (tree_value_profile_transformations): Require count to be non-zero; | |
1671 | call stringop transform; reset stmt BSI after BB changed. | |
1672 | (tree_divmod_fixed_value, tree_mod_pow2): Don't emit unnecesary label. | |
1673 | (interesting_stringop_to_profile_p, tree_stringop_fixed_value): New. | |
1674 | (tree_stringops_values_to_profile): New. | |
1675 | (tree_values_to_profile): Call tree_stringops_values_to_profile. | |
1676 | * tree.h (build_string_literal): Tidy prototype. | |
1677 | (validate_arglist, builtin_memset_read_str, get_pointer_alignment): | |
1678 | Declare. | |
1679 | * builtins.c (validate_arglist, builtin_memset_read_str, | |
1680 | get_pointer_alignment): Export. | |
1681 | ||
1682 | 2006-12-11 Uros Bizjak <ubizjak@gmail.com> | |
1683 | ||
1684 | PR target/30120 | |
1685 | Revert: | |
1686 | 2006-11-15 Uros Bizjak <ubizjak@gmail.com> | |
1687 | ||
1688 | * config/i386/i386.opt: New target option -mx87regparm. | |
1689 | ||
1690 | * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno, | |
1691 | float_in_x87: Add new variables. mmx_words, sse_words: Remove. | |
1692 | (X87_REGPARM_MAX): Define. | |
1693 | ||
1694 | * config/i386/i386.c (override_options): Error out for | |
1695 | -mx87regparm but no 80387 support. | |
1696 | (ix86_attribute_table): Add x87regparm. | |
1697 | (ix86_handle_cconv_attribute): Update comments for x87regparm. | |
1698 | (ix86_comp_type_attributes): Check for mismatched x87regparm types. | |
1699 | (ix86_function_x87regparm): New function. | |
1700 | (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating | |
1701 | point registers. | |
1702 | (init_cumulative_args): Initialize x87_nregs and float_in_x87 | |
1703 | variables. | |
1704 | (function_arg_advance): Process x87_nregs and x87_regno when | |
1705 | floating point argument is to be passed in 80387 register. | |
1706 | (function_arg): Pass XFmode arguments in 80387 registers for local | |
1707 | functions. Pass SFmode and DFmode arguments to local functions | |
1708 | in 80387 registers when flag_unsafe_math_optimizations is set. | |
1709 | ||
1710 | * reg-stack.c (convert_regs_entry): Disable NaN load for | |
1711 | stack registers that are used for argument passing. | |
1712 | ||
1713 | * doc/extend.texi: Document x87regparm function attribute. | |
1714 | * doc/invoke.texi: Document -mx87regparm. | |
1715 | ||
1716 | 2006-12-11 Jan Hubicka <jh@suse.cz> | |
1717 | ||
1718 | Move all varpool routines out of cgraph/cgraphunit to varpool.c | |
1719 | * cgraph.c: Update comments. | |
1720 | (cgraph_varpool_hash, | |
1721 | cgraph_varpool_nodes, cgraph_varpool_last_needed_node | |
1722 | cgraph_varpool_node_name, cgraph_varpool_node, | |
1723 | cgraph_varpol_mode_for_asm, cgraph_varpool_mark_needed_node, | |
1724 | cgraph_variable_initializer_availability): Move to | |
1725 | varpool.c and drop cgraph_ prefixes. | |
1726 | (cgraph_varpool_enqueue_needed_node, cgraph_varpool_reset_queue, | |
1727 | cgraph_varpool_first_unanalyzed_node, cgraph_varpool_finalize_decl): | |
1728 | move to varpool.c; drop cgraph_ prefix; make static. | |
1729 | (dump_cgraph_varpool_node): Move to varpool.c under name | |
1730 | dump_varpool_node. | |
1731 | (dump_varpool, hash_varpool_node, eq_varpool_node, | |
1732 | decide_is_variable_needed): Move to varpool.c | |
1733 | (decl_assembler_name_equal): Move to tree.c. | |
1734 | (availability_names): Rename to ... | |
1735 | (cgraph_availability_names): ... this one. | |
1736 | (dump_cgraph_node): Update. | |
1737 | * cgraph.h: Reorder declarations now in varpool.c | |
1738 | (cgraph_vailablity_names): Declare. | |
1739 | (struct cgraph_varpool_node): Rename to ... | |
1740 | (struct varpool_node): ... this one. | |
1741 | (cgraph_varpool_first_unanalyzed_node, cgraph_varpool_nodes_queue, | |
1742 | cgraph_varpool_first_unanalyzed_node, cgraph_varpool_node, | |
1743 | cgraph_varpool_node_for_asm, cgraph_varpool_mark_needed_node, | |
1744 | cgraph_varpool_finalize_decl, cgraph_varpool_enqueue_needed_node, | |
1745 | cgraph_varpool_reset_queue, cgraph_varpool_assemble_pending_decls, | |
1746 | cgraph_variable_initializer_availability): Rename to ... | |
1747 | (varpool_first_unanalyzed_node, varpool_nodes_queue, | |
1748 | varpool_first_unanalyzed_node, varpool_node, | |
1749 | varpool_node_for_asm, varpool_mark_needed_node, | |
1750 | varpool_finalize_decl, varpool_enqueue_needed_node, | |
1751 | varpool_assemble_pending_decls, variable_initializer_availability): | |
1752 | Rename to ... | |
1753 | * tree.c (decl_assembler_name_equal): Move here from cgraph.c. | |
1754 | * tree.h (decl_assembler_name_equal): Declare. | |
1755 | * omp-low.c (lower_omp_critical): Update. | |
1756 | * ipa-reference (analyze_variable, static_execute): Likewise. | |
1757 | * toplev.c (wrapup_global_declaration_2, compile_file): Update. | |
1758 | * cgraphunit.c: Update comments. | |
1759 | (cgraph_varpool_assembled_nodes_queue): Move to varpool.c under name | |
1760 | varpool_assembled_nodes_queue. | |
1761 | (cgraph_varpool_analyze_pending_decls): Move to varpool.c under name | |
1762 | varpool_analyze_pending_decls. | |
1763 | (cgraph_varpool_remove_unreferenced_decls): Move to varpool.c under name | |
1764 | varpool_remove_unreferenced_decls. | |
1765 | (record_reference): Update. | |
1766 | (cgraph_create_edges): Update. | |
1767 | (record_referneces_in_initializer): New function. | |
1768 | (cgraph_varpool_assemble_decl): Move to varpool.c under name | |
1769 | varpool_assemble_decl; make global. | |
1770 | (cgraph_varpool_assemble_pending_decls): Move to varpool.c under name | |
1771 | varpool_assemble_pending_decls. | |
1772 | (process_function_and_variable_attributes, cgraph_finalize_compilation_unit, | |
1773 | struct cgraph_order_sort, cgraph_output_in_order, | |
1774 | cgraph_function_and_variable_invisibility, cgraph_optimize, | |
1775 | cgraph_increase_alignment): Update. | |
1776 | * dwarf2out.c (decls_for_scope): Likewise. | |
1777 | * ipa-type-escape.c (analyze_variable, type_escape_execute): Likewise. | |
1778 | * except.c (output_ttype): Likewise. | |
1779 | * varasm.c (mark_decl_referenced): Likewise. | |
1780 | (find_decl_and_mark_referenced, assemble_alias): update. | |
1781 | * Makefile.in: Add varpool.c, gt-varpool.c and remove gt-cgraphunit.c | |
1782 | * passes.c (rest_of_decl_compilation): Update. | |
1783 | ||
1784 | 2006-12-11 Ira Rosen <irar@il.ibm.com> | |
1785 | ||
1786 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Use | |
1787 | GIMPLE_STMT_OPERAND. | |
1788 | * tree-vect-transform.c (vect_permute_store_chain): Likewise. | |
1789 | (vect_setup_realignment): Likewise. | |
1790 | ||
1791 | 2006-12-11 Sa Liu <saliu@de.ibm.com> | |
1792 | Ben Elliston <bje@au.ibm.com> | |
1793 | ||
1794 | * config/spu/spu-elf.h (STARTFILE_SPEC): Update. | |
1795 | (ENDFILE_SPEC): Likewise. | |
1796 | * config/spu/spu.opt (mstdmain): New option. | |
1797 | * config/spu/crti.asm: Remove. | |
1798 | * config/spu/crtn.asm: Likewise. | |
1799 | * config/spu/crt0.c: Likewise. | |
1800 | * config/spu/crtend.c: Likewise. | |
1801 | * config/spu/t-spu-elf (EXTRA_MULTILIB_PARTS): Remove crt0 files | |
1802 | listed above. | |
1803 | ($(T)crti.o, $(T)crtn.o, $(T)crt1.o, $(T)crtend1.o): Remove. | |
1804 | * doc/invoke.texi (SPU Options): Document -mstdmain. | |
1805 | ||
1806 | 2006-12-10 Zdenek Dvorak <dvorakz@suse.cz> | |
1807 | ||
1808 | * doc/loop.texi: Document number_of_latch_executions and | |
1809 | number_of_cond_exit_executions. | |
1810 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
1811 | chrec_is_positive, number_of_iterations_for_all_loops, | |
1812 | scev_const_prop): Use number_of_latch_executions. | |
1813 | (set_nb_iterations_in_loop): Do not increase the value of the | |
1814 | number of iterations. | |
1815 | (number_of_iterations_in_loop): Renamed to ... | |
1816 | (number_of_latch_executions): ... this. | |
1817 | (number_of_exit_cond_executions): New function. | |
1818 | * tree-scalar-evolution.h (number_of_iterations_in_loop): Declaration | |
1819 | removed. | |
1820 | (number_of_latch_executions, number_of_exit_cond_executions): Declare. | |
1821 | * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Use | |
1822 | number_of_latch_executions. | |
1823 | * tree-data-ref.c (get_number_of_iters_for_loop): Use | |
1824 | number_of_exit_cond_executions. | |
1825 | * tree-vect-analyze.c (vect_get_loop_niters): Ditto. | |
1826 | * cfgloop.h (struct loop): Improve description of the nb_iterations | |
1827 | field. | |
1828 | ||
1829 | 2006-12-10 Daniel Berlin <dberlin@dberlin.org> | |
1830 | ||
1831 | * tree-ssa-alias.c (compact_name_tags): Use sort_tags_by_id. | |
1832 | (tree_pointer_compare): Remove. | |
1833 | ||
1834 | 2006-12-10 Zdenek Dvorak <dvorakz@suse.cz> | |
1835 | ||
1836 | * tree-vrp.c (adjust_range_with_scev): Use get_chrec_loop. | |
1837 | * loop-unswitch.c (unswitch_loops): Use FOR_EACH_LOOP. | |
1838 | * tree-loop-linear.c (linear_transform_loops): Ditto. | |
1839 | * tree-ssa-loop-im.c (determine_lsm): Ditto. | |
1840 | * tree-ssa-loop-niter.c (estimate_numbers_of_iterations, | |
1841 | free_numbers_of_iterations_estimates): Ditto. | |
1842 | * tree_ssa_unswitch_loops (tree_ssa_unswitch_loops): Ditto. | |
1843 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
1844 | * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto. | |
1845 | * modulo-sched.c (sms_schedule): Ditto. | |
1846 | * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables, | |
1847 | tree_unroll_loops_completely): Ditto. | |
1848 | * predict.c (predict_loops): Ditto. | |
1849 | * tree-if-conv.c (main_tree_if_conversion): Ditto. | |
1850 | * loop-unroll.c (unroll_and_peel_loops, peel_loops_completely, | |
1851 | decide_unrolling_and_peeling): Ditto. | |
1852 | * cfgloopmanip.c (unloop): Use delete_loop. | |
1853 | (place_new_loop): Access larray vector instead of parray. | |
1854 | (create_preheaders, force_single_succ_latches, | |
1855 | fix_loop_structure): Use FOR_EACH_LOOP and delete_loop.. | |
1856 | * loop-doloop.c (doloop_optimize_loops): Ditto. | |
1857 | * loop-invariant.c (move_loop_invariants): Ditto. | |
1858 | * tree-cfg.c (replace_uses_by): Ditto. | |
1859 | * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Ditto. | |
1860 | * tree-chrec.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE): | |
1861 | Moved to ... | |
1862 | * tree.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE): | |
1863 | ... here. | |
1864 | * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop, | |
1865 | compute_overall_effect_of_inner_loop, chrec_is_positive): Use | |
1866 | get_loop and get_chrec_loop. | |
1867 | (number_of_iterations_for_all_loops): Use number_of_loops. | |
1868 | (scev_initialize, scev_reset, scev_const_prop): Use FOR_EACH_LOOP. | |
1869 | * tree-scalar-evolution.h (get_chrec_loop): New inline function. | |
1870 | * cfgloopanal.c (mark_irreducible_loops): Use number_of_loops, | |
1871 | and FOR_EACH_LOOP. | |
1872 | * tree-chrec.c (evolution_function_is_invariant_rec_p, | |
1873 | chrec_convert_1): Use get_loop and get_chrec_loop. | |
1874 | * loop-init.c (loop_optimizer_init): Use number_of_loops. | |
1875 | (loop_optimizer_init): Use FOR_EACH_LOOP. | |
1876 | * tree-vectorizer.c (vect_loops_num): Removed. | |
1877 | (vectorize_loops): Store number of loops locally. Use | |
1878 | FOR_EACH_LOOP and get_loop. | |
1879 | * tree-vectorizer.h (vect_loops_num): Removed. | |
1880 | * tree-data-ref.c (get_number_of_iters_for_loop): Use get_loop. | |
1881 | (find_data_references_in_loop): Do not set parallel_p. | |
1882 | * tree-data-ref.h: Do not declare VEC(loop_p). | |
1883 | * cfgloop.c (flow_loops_dump, mark_single_exit_loops, | |
1884 | verify_loop_structure): Use FOR_EACH_LOOP. | |
1885 | (flow_loops_free): Use FOR_EACH_LOOP, free larray vector. | |
1886 | (initialize_loops_parallel_p): Removed. | |
1887 | (flow_loops_find): Push the loops into a vector. | |
1888 | (delete_loop): New function. | |
1889 | (cancel_loop): Use delete_loop. | |
1890 | * cfgloop.h: Declare VEC(loop_p). | |
1891 | (struct loop): Remove parallel_p field. | |
1892 | (struct loops): Replace num and parray field by larray vector. | |
1893 | Remove shared_headers field. | |
1894 | (delete_loop): Declare. | |
1895 | (get_loop, get_loops, number_of_loops, fel_next, fel_init, | |
1896 | FOR_EACH_LOOP): New. | |
1897 | * doc/loop.tex: Document new accessor functions. | |
1898 | ||
1899 | 2006-12-10 Andrew MacLeod <amacleod@redhat.com> | |
1900 | ||
1901 | * common.opt (-ftree-lrs): Remove live range splitting option. | |
1902 | * makefile.in: Add tree-ssa-coalesce.o and reduce header dependancies. | |
1903 | * opts.c (decode_options): Remove flag_tree_live_range_split. | |
1904 | * tree-flow.h (struct var_ann_d): Rename fields from root_ to base_. | |
1905 | * tree-flow-inline.h (single_imm_use_p): New. Check for single use. | |
1906 | * tree-outof-ssa.c: Remove header files which aren't needed. | |
1907 | (SSANORM_*): Remove flags. | |
1908 | (print_exprs_edge, coalesce_abnormal_edges, coalesce_phi_operands, | |
1909 | coalesce_result_decls_and_copies, coalesce_asm_operands): Remove. | |
1910 | (coalesce_ssa_name): Move to tree-ssa-coalesce.c. | |
1911 | (assign_vars): Use Basevar instead of root_var structure. | |
1912 | (replace_def_variable): Dont do anything if def is replaceable. | |
1913 | (remove_ssa_form): Integrate functional changes. | |
1914 | (rewrite_out_of_ssa): Remove live-range_split option. | |
1915 | * tree-ssa-coalesce.c: New File for ssa-name coalescing. | |
1916 | (coalesce_cost): Calculate the cost of a coalesce. | |
1917 | (coalesce_cost_bb): Calculate the coalesce cost within a BB. | |
1918 | (coalesce_cost_edge): Calculate the coalesce cost on an edge. | |
1919 | (pop_cost_one_pair): Remove the best coalesce with cost 1 from the list. | |
1920 | (pop_best_coalesce): Remove the best coalesce from the list. | |
1921 | (coalesce_pair_map_hash): Calculate coalesce pair hash. | |
1922 | (coalesce_pair_map_eq): Compare 2 coalesce pairs for hash function. | |
1923 | (create_coalesce_list): Create a coalesce list object. | |
1924 | (delete_coalesce_list): Free a coalesce list object. | |
1925 | (find_coalesce_pair): Find matching pair in the coalesce list. | |
1926 | (add_cost_one_coalesce): Add a coalesce to the "cost one" list. | |
1927 | (add_coalesce): Add a coalesce to the coalesce list. | |
1928 | (compare_pairs): Comparision function to determine pair sorted order. | |
1929 | (num_coalesce_pairs): Number of coalesced pairs. | |
1930 | (first_coalesce_pair, end_coalesce_pair_p, next_coalesce_pair): | |
1931 | Coalesce pair iterator functions. | |
1932 | (sort_coalesce_list): Sort coalesce pairs in order of expense. | |
1933 | (dump_coalesce_list): Show coalesce list. | |
1934 | (ssa_conflicts_new): Create an SSA conflict graph. | |
1935 | (ssa_conflicts_delete): Delete an SSA conflict graph. | |
1936 | (ssa_conflicts_test_p): Test for conflicts. | |
1937 | (ssa_conflicts_add_one): Add a single conflict. | |
1938 | (ssa_conflicts_add): Add a conflict pair. | |
1939 | (ssa_conflicts_merge): Merge conflicts. | |
1940 | (struct live_track_d): Struct for tracking live partitions. | |
1941 | (new_live_track): Create new live_track object. | |
1942 | (delete_live_track): Delete a live_track object. | |
1943 | (live_track_remove_partition): Remove a partition from the live list. | |
1944 | (live_track_add_partition): Add a partition from the live list. | |
1945 | (live_track_clear_var): Take VAR from the live list. | |
1946 | (live_track_live_p): Is var live? | |
1947 | (live_track_process_use): Make var come alive. | |
1948 | (live_track_process_def): Make var go dead, add conflicts. | |
1949 | (live_track_init): Initialize to a live on exit set. | |
1950 | (live_track_clear_base_vars): Clear live partitions. | |
1951 | (build_ssa_conflict_graph): Build a conflict graph. | |
1952 | (print_exprs): Common debug output routine. | |
1953 | (abnormal_corrupt): Output info about a failed coalesce across an | |
1954 | abnormal edge. | |
1955 | (fail_abnormal_edge_coalesce): Output info about a failed MUST_COALESCE. | |
1956 | (create_outofssa_var_map): Create a var map and coalesce list. | |
1957 | (attempt_coalesce): Coalesce a pair. | |
1958 | (coalesce_partitions): Coalesce all pairs in a coalesce list. | |
1959 | (coalesce_ssa_name): Entry point. Determine what ssa_names to coalesce. | |
1960 | * tree-ssa-live.c: Remove header files which aren't needed. | |
1961 | (var_map_base_init): New. Initialize a basevar list. | |
1962 | (var_map_base_fini): New. Finish a basevar list. | |
1963 | (init_var_map): Initialize new fields. | |
1964 | (delete_var_map): Free new fields. | |
1965 | (var_union): Use renamed fields. | |
1966 | (compact_var_map): Remove. | |
1967 | (partition_to_view_init): Use renamed fields, change order of an if. | |
1968 | (partition_view_fini): Use renamed fields. | |
1969 | (partition_view_normal): Create basevar list if requested. | |
1970 | (partition_view_bitmap): Create a view based on a bitmap of partitions. | |
1971 | (change_partition_var): Use renamed fields. | |
1972 | (create_ssa_var_map): Remove. | |
1973 | (tpa_init, tpa_remove_partition, tpa_delete, tpa_compact, | |
1974 | root_var_init): Remove. | |
1975 | (partition_pair_map_hash, partition_pair_map_eq, create_coalesce_list, | |
1976 | delete_coalesce_list, find_partition_pair, coalesce_cost, add_coalesce, | |
1977 | compare_pairs, num_coalesce_pairs, first_partition_pair, | |
1978 | end_partition_pair_p, next_partition_pair, sort_coalesce_list, | |
1979 | pop_best_coalesce, add_conflicts_if_valid, set_if_valid, | |
1980 | build_tree_conflict_graph, coalesce_tpa_members, dump_coalesce_list, | |
1981 | tpa_dump): Moved to tree-ssa-coalesce.c and/or renamed there. | |
1982 | (dump_var_map): Use renamed fields. | |
1983 | * tree-ssa-live.h (struct _var_map): Modify fields. | |
1984 | (partition_to_var, version_to_var, var_to_partition): Use renamed | |
1985 | fields. | |
1986 | (basevar_index): New. Index of the base variable of a partition. | |
1987 | (num_basevars): New. Number of unique base variables in partition map. | |
1988 | (register_ssa_partition): Use renamed fields. | |
1989 | (struct tree_partition_associator_d): Remove. | |
1990 | (tpa_num_trees, tpa_tree, tpa_first_partition, tpa_next_partition, | |
1991 | tpa_find_tree, tpa_decompact, root_var_init, root_var_num, | |
1992 | root_var, root_var_first_partition, root_var_next_partition, | |
1993 | root_var_dump, root_var_delete, root_var_remove_partition, | |
1994 | root_var_find, root_var_compact, root_var_decompact): Remove. | |
1995 | (struct partition_pair, struct coalesce_list_d): Moved to | |
1996 | tree-ssa-coalesce.c | |
1997 | * tree-ssa-ter.c: Remove header files which aren't needed. | |
1998 | ||
1999 | 2006-12-10 Steven Bosscher <steven@gcc.gnu.org> | |
2000 | ||
2001 | * cse.c: (struct cse_basic_block_data): Remove LAST field. | |
2002 | (struct branch_path): Remove BRANCH and TAKEN fields. Add new | |
2003 | BB field. | |
2004 | (cse_visited_basic_blocks): New static bitmap. | |
2005 | (cse_end_of_basic_block, cse_basic_block): Remove. | |
2006 | (cse_find_path, cse_dump_path, cse_prescan_path, | |
2007 | cse_extended_basic_block): New static functions. | |
2008 | (cse_insn): Don't CSE over setjmp calls. Use the CFG to find | |
2009 | basic block boundaries. Don't record jump equivalences here. | |
2010 | Update the CFG after doing in-place replacement of the SET_SRC. | |
2011 | (cse_main): Rewrite. Look for extended basic block headers | |
2012 | and call cse_extended_basic_block on them until all paths that | |
2013 | start at this header are exhausted. | |
2014 | (rest_of_handle_cse): Verify that the CFG is incrementally updated | |
2015 | and correct after cse_main. | |
2016 | Don't call delete_trivially_dead_insns, let cfgcleanup do that. | |
2017 | (rest_of_handle_cse2): Verify the CFG here, too, after cse_main. | |
2018 | (pass_cse): Add TODO_verify_flow. | |
2019 | (pass_cse2): Likewise. | |
2020 | ||
2021 | 2006-12-10 Rask Ingemann Lambertsen <rask@sygehus.dk> | |
2022 | ||
2023 | * reload1.c (choose_reload_regs): Don't set byte offset when | |
2024 | resolving subregs of hard regs. | |
2025 | ||
2026 | 2006-12-09 Zack Weinberg <zackw@panix.com> | |
2027 | ||
2028 | * c-opts.c (c_common_parse_file): Unconditionally give a warning, | |
2029 | suitable for the language, if set_yydebug is true. | |
2030 | * c-pragma.h: Define enum pragma_omp_clause here. Don't define | |
2031 | YYDEBUG or declare yydebug. | |
2032 | * c-parser.c (yydebug, enum pragma_omp_clause): Delete. | |
2033 | ||
2034 | 2006-12-09 Jan Hubicka <jh@suse.cz> | |
2035 | ||
2036 | * cgraph.c: Update copyright. | |
2037 | * cgraph.h: Likewise | |
2038 | (cgraph_update_pending_function): Remove prototype. | |
2039 | * cgraphunit.c: Update copyright; update overall comment. | |
2040 | (cgraph_assemble_pending_functions): Make local. | |
2041 | ||
2042 | 2006-12-09 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
2043 | ||
2044 | * haifa-sched.c (schedule_block): Remove excessive sanity check. | |
2045 | ||
2046 | 2006-12-08 Trevor Smigiel <trevor_smigiel@playstation.sony.com> | |
2047 | ||
2048 | * config/spu/spu-protos.h (spu_split_immediate): Renamed from | |
2049 | spu_split_address. | |
2050 | (cpat_const_p, gen_cpat_const): Add. | |
2051 | * config/spu/spu.c (immediate_class): New enum. | |
2052 | (cpat_info, classify_immediate): New. | |
2053 | (print_operand): Use S, D, T instead of F, G, H. Use | |
2054 | classify_immediate. Handle cpat cases. | |
2055 | (spu_split_immediate): Renamed from spu_split_address. Split all | |
2056 | immediates that can be split. | |
2057 | (immediate_load_p): Use classify_immediate. | |
2058 | (spu_legitimate_constant_p): Accept everything except some cases of | |
2059 | CONST_VECTOR. | |
2060 | (spu_expand_move): Use spu_split_immedate. | |
2061 | (fsmbi_const_p): Use classify_immediate. | |
2062 | (cpat_const_p): New. | |
2063 | (gen_cpat_const: New. | |
2064 | * config/spu/constraints.md (j,k,l): New constraints for cpat | |
2065 | instructions. | |
2066 | * config/spu/spu.md (unnamed splitter): Change address splitter to | |
2067 | handle all immediates. | |
2068 | (_mov<mode>, _movdi, _movti): Handle i, j, k constraints for cpat | |
2069 | instructions. | |
2070 | (cpat, _cpat, splitter): Generate a TImode constant for cpat patterns | |
2071 | when possible. | |
2072 | ||
2073 | 2006-12-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
2074 | ||
2075 | PR target/30039 | |
2076 | * pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit | |
2077 | patterns. Correct length of high:DI instruction sequence. | |
2078 | ||
2079 | 2006-12-08 Mike Stump <mrs@apple.com> | |
2080 | ||
2081 | * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build | |
2082 | libgcc with -mmacosx-version-min=10.4. | |
2083 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to | |
2084 | G4 for 10.5+ unless doing kernel builds. | |
2085 | ||
2086 | 2006-12-08 Uros Bizjak <ubizjak@gmail.com> | |
2087 | ||
2088 | PR target/30120 | |
2089 | * reg-stack.c (convert_regs_entry): Mark current argument passing | |
2090 | registers as live. | |
2091 | ||
2092 | * config/i386/i386.h (X87_REGPARM_MAX): Set to 0 to disable passing | |
2093 | of float arguments in x87 registers. | |
2094 | ||
2095 | 2006-12-08 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca> | |
2096 | ||
2097 | * pa.h (LEGITIMATE_CONSTANT_P): Simplify. | |
2098 | ||
2099 | 2006-12-08 Mark Shinwell <shinwell@codesourcery.com> | |
2100 | ||
2101 | * recog.c (mode_dependent_address_p): Identify pre-increment, | |
2102 | pre-decrement, post-increment and post-decrement addressing as always | |
2103 | being mode-dependent. | |
2104 | * config/m32c/m32c.c (m32c_mode_dependent_address): Delete. | |
2105 | * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2106 | * config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete. | |
2107 | * config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC, | |
2108 | PRE_INC and POST_INC checks. | |
2109 | * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2110 | * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2111 | * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2112 | * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2113 | * config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC, | |
2114 | PRE_INC, POST_DEC and POST_INC cases. | |
2115 | * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p): | |
2116 | Delete POST_INC and PRE_DEC cases. | |
2117 | * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to | |
2118 | no-op. | |
2119 | * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2120 | * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to | |
2121 | no-op. | |
2122 | * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2123 | * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2124 | * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete | |
2125 | PRE_INC and PRE_DEC cases. | |
2126 | * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2127 | * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2128 | * config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete. | |
2129 | (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2130 | * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2131 | * config/vax/vax.c (vax_mode_dependent_address_p): Delete | |
2132 | auto-increment cases. | |
2133 | * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete | |
2134 | auto-increment cases. | |
2135 | * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
2136 | ||
2137 | 2006-12-08 Andrew MacLeod <amacleod@redhat.com> | |
2138 | ||
2139 | * Makefile.in: Add new file tree-ssa-ter.c. | |
2140 | * tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table, | |
2141 | free_temp_expr_table, add_value_to_version_list, | |
2142 | add_value_to_partition_list, remove_value_from_partition_list, | |
2143 | add_dependence, check_replaceable, finish_expr, mark_replaceable, | |
2144 | kill_expr, kill_virtual_exprs, find_replaceable_in_bb, | |
2145 | find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c. | |
2146 | * tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add | |
2147 | prototypes. | |
2148 | * tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c. | |
2149 | (struct value_expr_d): Remove. | |
2150 | (struct temp_expr_table_d): Rename fields, add explicit vector of | |
2151 | replaceable expressions instead of sharing. Change value_expr_p's to | |
2152 | bitmap. Delete free_list. | |
2153 | (new_temp_expr_table): Rename fields, count number of ssa_names in | |
2154 | each partition. | |
2155 | (free_temp_expr_table): Rename field, free new fields. | |
2156 | (new_value_expr, free_value_expr, find_value_in_list, add_value_to_list, | |
2157 | add_info_to_list, remove_value_from_list): Delete. | |
2158 | (version_to_be_replaced_p): New. Is an ssa-name replaceable? | |
2159 | (make_dependent_on_partition): New. Set bit in version list, allocating | |
2160 | a bitmap if need be. | |
2161 | (add_to_partition_kill_list): New. Set bit in the partition list, | |
2162 | allocating a bitmap if need be. | |
2163 | (remove_from_partition_kill_list): New. Remove a bit from the | |
2164 | partition list, free the bitmap if it is empty. | |
2165 | (add_dependence): Use renamed field, cleanup. Don't add a dependence | |
2166 | on partitions with only one member. | |
2167 | (is_replaceable_p): New. Split out replaceability check from | |
2168 | check_replaceable. | |
2169 | (process_replaceable): New. Code split from check_replaceable. | |
2170 | (check_replaceable): Removed. | |
2171 | (finished_with_expr): Renamed from finish_expr. | |
2172 | (kill_expr): Use renamed fields and less parameters. | |
2173 | (kill_virtual_exprs): Less parameters. | |
2174 | (mark_replaceable): Use renamed fields. | |
2175 | (find_replaceable_in_bb): Use renamed fields, cleanup. | |
2176 | (find_replaceable_exprs): Use renamed routines, cleanup. | |
2177 | (dump_replaceable_exprs): Don't go past end of ssa_names list. | |
2178 | (debug_ter): New. Debug routine to dump state. | |
2179 | ||
2180 | 2006-12-08 Bernd Schmidt <bernd.schmidt@analog.com> | |
2181 | ||
2182 | * config/bfin/bfin.c (effective_address_32bit_p): Return true for | |
2183 | anything involving the GOT. | |
2184 | (bfin_adjust_cost): Don't take the REGNO of a MEM. | |
2185 | (trapping_loads_p): Look inside the pattern of an insn to find the | |
2186 | SET. | |
2187 | * config/bfin/bfin.md (attr "type"): Add movcc. | |
2188 | (insn_reservation "alu"): Likewise. | |
2189 | (movsicc_insn1, movsicc_insn2): Change type to movcc. | |
2190 | ||
2191 | 2006-12-07 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
2192 | ||
2193 | * config/spu/spu-c.c (spu_build_overload_builtin): Delete. | |
2194 | (spu_resolve_overloaded_builtin): Check for non scalar instead | |
2195 | of vector type and check the function call argument type also for | |
2196 | non scalar. | |
2197 | Call build_function_call instead of spu_build_overload_builtin. | |
2198 | ||
2199 | 2006-12-07 Trevor Smigiel <trevor_smigiel@playstation.sony.com> | |
2200 | ||
2201 | * config/spu/spu.c (array_to_constant): Correct the order of arguments | |
2202 | to the calls of hwint_to_const_double. | |
2203 | ||
2204 | 2006-12-07 Nick Clifton <nickc@redhat.com> | |
2205 | ||
2206 | * config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to | |
2207 | elf_record_gcc_switches. | |
2208 | ||
2209 | 2006-12-07 Andrew Macleod <amacleod@redhat.com> | |
2210 | ||
2211 | * expr.c (string_constant): Account for non-zero lower bound arrays. | |
2212 | ||
2213 | 2006-12-07 Richard Guenther <rguenther@suse.de> | |
2214 | ||
2215 | * builtins.c (expand_builtin_pow): Adjust predicates for | |
2216 | pow to cbrt expansion to unsafe math and !HONOR_NANS for | |
2217 | negative base. | |
2218 | ||
2219 | 2006-12-07 Jan Hubicka <jh@suse.cz> | |
2220 | ||
2221 | * i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset | |
2222 | codegen. | |
2223 | ||
2224 | 2006-12-07 Jan Hubicka <jh@suse.cz> | |
2225 | ||
2226 | * tree-vrp.c (compare_values): Short circuit INTEGER_CST; | |
2227 | use fold_constant_to_binary; tolerate wrong type constants. | |
2228 | (value_intersect_p): Do just two tests. | |
2229 | ||
2230 | 2006-12-07 Bernd Schmidt <bernd.schmidt@analog.com> | |
2231 | ||
2232 | * config/bfin/bfin.c (print_operand): New modifier 'N' for constants. | |
2233 | * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3, | |
2234 | lshifthi3): Use it, and fix the order of alternatives. | |
2235 | ||
2236 | 2006-12-07 Nick Clifton <nickc@redhat.com> | |
2237 | ||
2238 | * common.opt (record-gcc-switches): New command line switch. | |
2239 | * target.h (print_switch_type): New enum. | |
2240 | (print_switch_fn_type): New typedef for a function pointer. | |
2241 | (struct gcc_target): Add record_gcc_switches and | |
2242 | record_gcc_switches_section fields. | |
2243 | * target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a | |
2244 | default definition. | |
2245 | (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default | |
2246 | definition. | |
2247 | * toplev.c (print_single_switch): Simplify by providing a | |
2248 | pointer to function that will format and output the switch | |
2249 | appropriately. | |
2250 | (print_switch_values): Likewise. | |
2251 | (print_to_asm_out_file): New function. | |
2252 | (print_to_stderr): New function. | |
2253 | (init_asm_output): If flag_record_gcc_switches is set then if | |
2254 | the target supports recording the switches then emit them into | |
2255 | the assembler output file, otherwise tell the user that the | |
2256 | switch is not supported. | |
2257 | * varasm.c (eld_record_gcc_switches): New function. Example | |
2258 | handler for the record_gcc_switches target hook. | |
2259 | * doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new | |
2260 | target hook. | |
2261 | (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise. | |
2262 | * doc/invoke.texi (-frecord-gcc-switches): Document. | |
2263 | ||
2264 | 2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
2265 | ||
2266 | PR target/29794 | |
2267 | * sched-rgn.c (add_block1): Use correct initializer. | |
2268 | ||
2269 | 2006-12-07 Richard Guenther <rguenther@suse.de> | |
2270 | ||
2271 | * tree-vect-transform.c (vectorizable_call): Fix leftover of | |
2272 | TREE_OPERAND to GIMPLE_STMT_OPERAND conversion. | |
2273 | ||
2274 | 2006-12-06 Aldy Hernandez <aldyh@redhat.com> | |
2275 | ||
2276 | PR/30079 | |
2277 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR | |
2278 | not GIMPLE_MODIFY_STMT. | |
2279 | ||
2280 | 2006-12-06 Jan Hubicka <jh@suse.cz> | |
2281 | ||
2282 | * tree-vrp.c (operand_less_p): New. | |
2283 | (compare_values, value_inside_range): Rewrite in terms of | |
2284 | operand_less_p. | |
2285 | ||
2286 | 2006-12-06 Uros Bizjak <ubizjak@gmail.com> | |
2287 | ||
2288 | * config/i386/i386.md (DIRFLAG_REG): Remove constant. | |
2289 | (type): Remove cld. | |
2290 | (length_immediate): Do not depend on cld type attribute. | |
2291 | (length_address): Ditto. | |
2292 | (modrm): Ditto. | |
2293 | (memory): Ditto. | |
2294 | (cld): Remove insn pattern. | |
2295 | (strmov_singleop): Do not use DIRFLAG_REG. | |
2296 | (*strmovdi_rex_1): Ditto. | |
2297 | (*strmovsi_1): Ditto. | |
2298 | (*strmovsi_rex_1): Ditto. | |
2299 | (*strmovhi_1): Ditto. | |
2300 | (*strmovhi_rex_1): Ditto. | |
2301 | (*strmovqi_1): Ditto. | |
2302 | (*strmovqi_rex_1): Ditto. | |
2303 | (rep_mov): Ditto. | |
2304 | (*rep_movdi_rex64): Ditto. | |
2305 | (*rep_movsi): Ditto. | |
2306 | (*rep_movsi_rex64): Ditto. | |
2307 | (*rep_movqi): Ditto. | |
2308 | (*rep_movqi_rex64): Ditto. | |
2309 | (strset_singleop): Ditto. | |
2310 | (*strsetdi_rex_1): Ditto. | |
2311 | (*strsetsi_1): Ditto. | |
2312 | (*strsetsi_rex_1): Ditto. | |
2313 | (*strsethi_1): Ditto. | |
2314 | (*strsethi_rex_1): Ditto. | |
2315 | (*strsetqi_1): Ditto. | |
2316 | (*strsetqi_rex_1): Ditto. | |
2317 | (rep_stos): Ditto. | |
2318 | (*rep_stosdi_rex64): Ditto. | |
2319 | (*rep_stossi): Ditto. | |
2320 | (*rep_stossi_rex64): Ditto. | |
2321 | (*rep_stosqi): Ditto. | |
2322 | (*rep_stosqi_rex64): Ditto. | |
2323 | (cmpstrnsi): Do not generate cld insn. | |
2324 | (cmpstrnqi_nz_1): Do not use DIRFLAG_REG. | |
2325 | (*cmpstrnqi_nz_1): Ditto. | |
2326 | (*cmpstrnqi_nz_rex_1): Ditto. | |
2327 | (cmpstrnqi_1): Ditto. | |
2328 | (*cmpstrnqi_1): Ditto. | |
2329 | (*cmpstrnqi_rex_1): Ditto. | |
2330 | (strlenqi_1): Ditto. | |
2331 | (*strlenqi_1): Ditto. | |
2332 | (*strlenqi_rex_1): Ditto. | |
2333 | ||
2334 | * config/i386/geode.md (shift): Do not depend on cld type attribute. | |
2335 | * config/i386/pentium.md (pent_cld): Remove insn reservation. | |
2336 | * config/i386/athlon.md (athlon_decode): Do not depend on cld | |
2337 | type attribute. | |
2338 | * config/i386/ppro.md (ppro_cld): Remove insn reservation. | |
2339 | * config/i386/k6.md (k6_alux_only): Do not depend on cld type | |
2340 | attribute. | |
2341 | (k6_alux_only_load): Ditto. | |
2342 | (k6_alux_only_store): Ditto. | |
2343 | ||
2344 | * config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean. | |
2345 | Do not emit cld instruction. | |
2346 | (ix86_expand_setmem): Ditto. | |
2347 | (ix86_expand_strlen): Do not emit cld instruction. | |
2348 | ||
2349 | 2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com> | |
2350 | ||
2351 | * config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak | |
2352 | old ones. | |
2353 | ||
2354 | 2006-12-06 Diego Novillo <dnovillo@redhat.com> | |
2355 | ||
2356 | * gdbinit.in: Set complaints to 0. | |
2357 | ||
2358 | 2006-12-06 Jan Hubicka <jh@suse.cz> | |
2359 | ||
2360 | * statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO, | |
2361 | ALONE_MEM_STAT_DECL): New macros. | |
2362 | * bitmap.h: Include statistics.h | |
2363 | (struct bitmap_head_def): Add variant with pointer to bitmap descriptor. | |
2364 | (bitmap_initialize_stat): Rename from bitmap_initialize; add statistics. | |
2365 | (bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare. | |
2366 | * bitmap.c: Include hashtab.h | |
2367 | (bitmap_descriptor): New. | |
2368 | (bitmap_hash): New static variable | |
2369 | (hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead): | |
2370 | New static functions. | |
2371 | (bitmap_register): New. | |
2372 | (bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from, | |
2373 | bitmap_obstack_release): Do accounting. | |
2374 | (bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do | |
2375 | accounting. | |
2376 | (bitmap_gc_alloc_stat): Likewise. | |
2377 | (bitmap_obstack_free, bitmap_find_bit): Do statictics. | |
2378 | (print_statistics, dump_bitmap_statistics): New functions. | |
2379 | * toplev.c (finalize): Dump bitmap statistics. | |
2380 | ||
2381 | 2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com> | |
2382 | ||
2383 | * reload1.c (delete_output_reload): Count occurrences in | |
2384 | CALL_INSN_FUNCTION_USAGE. | |
2385 | * rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without | |
2386 | crashing at the end of the list. | |
2387 | ||
2388 | 2006-12-05 Daniel Berlin <dberlin@dberlin.org> | |
2389 | ||
2390 | * tree-ssa-structalias.c (set_used_smts): Re-fix pr29156. | |
2391 | Optimize to avoid marking more SMT's as used when they aren't. | |
2392 | ||
2393 | 2006-12-05 Eric Christopher <echristo@apple.com> | |
2394 | ||
2395 | * config/i386/i386.c (x86_output_aligned_bss): Move out | |
2396 | of COMMON_ASM_OP ifdef. | |
2397 | ||
2398 | 2006-12-05 Eric Christopher <echristo@apple.com> | |
2399 | ||
2400 | * config/darwin.h (DARWIN_EXTRA_SPECS): New. | |
2401 | (STARTFILE_SPEC): Use. | |
2402 | (DARWIN_DYLIB1_SPEC): New. | |
2403 | (DARWIN_CRT1_SPEC): New. | |
2404 | * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use | |
2405 | DARWIN_EXTRA_SPECS. | |
2406 | * config/i386/darwin.h: Ditto. | |
2407 | * config/rs6000/darwin.h: Ditto. | |
2408 | ||
2409 | 2006-12-05 Daniel Berlin <dberlin@dberlin.org> | |
2410 | ||
2411 | * tree-vrp.c (pass_vrp): Remove PROP_smt_usage. | |
2412 | * tree-complex.c (pass_lower_complex): Ditto. | |
2413 | * tree-ssa-ccp.c (pass_ccp): Ditto. | |
2414 | (pass_store_ccp): Ditto. | |
2415 | * tree-ssa-dom.c (pass_dominator): Ditto. | |
2416 | (pass_phi_only_cprop): Ditto. | |
2417 | * tree-sra.c (pass_sra): Ditto. | |
2418 | * tree-ssa-forwprop.c (pass_forwprop): Ditto. | |
2419 | * tree-flow.h (updating_used_alone): Remove. | |
2420 | (updating_used_alone): Ditto. | |
2421 | * tree-ssa-alias.c (updating_used_alone): Remove variable. | |
2422 | (lhs_may_store_to): Remove function. | |
2423 | (recalculate_used_alone): Ditto. | |
2424 | (compute_may_aliases): Remove used_alone calculation. | |
2425 | * tree.h (struct tree_memory_tag): Remove is_used_alone and | |
2426 | old_used_alone. Remove SMT_USED_ALONE and SMT_OLD_USED_ALONE. | |
2427 | * tree-pass.h (PROP_smt_usage): Remove. | |
2428 | * passes.c (execute_todo): Remove used alone recalculation. | |
2429 | (execute_one_pass): Ditto. | |
2430 | * tree-ssa-operands.c (add_virtual_operand): Remove used_alone | |
2431 | stuff. | |
2432 | ||
2433 | 2006-12-05 Brooks Moses <brooks.moses@codesourcery.com> | |
2434 | ||
2435 | * doc/include/texinfo.tex: Update to version 2006-11-08.17. | |
2436 | ||
2437 | 2006-12-05 Zdenek Dvorak <dvorakz@suse.cz> | |
2438 | ||
2439 | PR tree-optimization/14784 | |
2440 | * tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix. | |
2441 | ||
2442 | 2006-12-05 Aldy Hernandez <aldyh@redhat.com> | |
2443 | ||
2444 | Merge from gimple-tuples-branch. | |
2445 | ||
2446 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
2447 | ||
2448 | * config/s390/s390.c (s390_va_start): Replace MODIFY_EXPR with | |
2449 | GIMPLE_MODIFY_STMT. | |
2450 | (s390_gimplify_va_arg): Same. | |
2451 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Same. | |
2452 | * config/sh/sh.c (sh_va_start): Same. | |
2453 | (sh_gimplify_va_arg_expr): Same. | |
2454 | * config/xtensa/xtensa.c (xtensa_va_start): Same. | |
2455 | (xtensa_gimplify_va_arg_expr): Same. | |
2456 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Same. | |
2457 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Same. | |
2458 | * config/mips/mips.c (mips_va_start): Same. | |
2459 | (mips_gimplify_va_arg_expr): Same. | |
2460 | ||
2461 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
2462 | ||
2463 | * Merge from mainline at revision 119445. | |
2464 | ||
2465 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
2466 | ||
2467 | * config/spu/spu.c (spu_va_start): Change MODIFY_EXPR to | |
2468 | GIMPLE_MODIFY_STMT. | |
2469 | (spu_gimplify_va_arg_expr): Same. | |
2470 | ||
2471 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
2472 | ||
2473 | * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start): | |
2474 | Change uses of MODIFY_EXPR to GIMPLE_MODIFY_STMT. | |
2475 | (xstormy16_expand_builtin_va_arg): Same. | |
2476 | ||
2477 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
2478 | ||
2479 | * config/frv/frv.c (frv_expand_builtin_va_start): Change MODIFY_EXPR | |
2480 | to GIMPLE_MODIFY_STMT. | |
2481 | ||
2482 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
2483 | ||
2484 | * config/alpha/alpha.c (va_list_skip_additions): Change all | |
2485 | occurrences of MODIFY_EXPR to GIMPLE_MODIFY_STMT. | |
2486 | (alpha_va_start): Same. | |
2487 | (alpha_gimplify_va_arg_1): Same. | |
2488 | (alpha_gimplify_va_arg): Same. | |
2489 | ||
2490 | 2006-12-01 Aldy Hernandez <aldyh@redhat.com> | |
2491 | ||
2492 | * gimplify.c (gimplify_modify_expr): Remove FIXME comment. | |
2493 | ||
2494 | 2006-12-01 Aldy Hernandez <aldyh@redhat.com> | |
2495 | ||
2496 | * tree-ssa-loop-im.c: Rename all PROTECTED_TREE_OPERAND to | |
2497 | GENERIC_TREE_OPERAND, and all PROTECTED_TREE_TYPE to | |
2498 | GENERIC_TREE_TYPE. | |
2499 | * tree-complex.c: Same. | |
2500 | * tree-pretty-print.c: Same. | |
2501 | * tree.c: Same. | |
2502 | * tree.h: Same. | |
2503 | * builtins.c: Same. | |
2504 | * fold-const.c: Same. | |
2505 | * tree-ssa-dom.c: Same. | |
2506 | * tree-ssa-propagate.c: Same. | |
2507 | * tree-ssa-alias.c: Same. | |
2508 | * gimple-low.c: Same. | |
2509 | * dwarf2out.c: Same. | |
2510 | * c-pretty-print.c: Same. | |
2511 | * gimplify.c: Same. | |
2512 | * tree-inline.c: Same. | |
2513 | * tree-outof-ssa.c: Same. | |
2514 | * tree-ssa-structalias.c: Same. | |
2515 | * tree-ssa-reassoc.c: Same. | |
2516 | * stmt.c: Same. | |
2517 | ||
2518 | 2006-11-16 Aldy Hernandez <aldyh@redhat.com> | |
2519 | ||
2520 | * tree.c (build2_stat): Fix comment. | |
2521 | ||
2522 | 2006-11-13 Aldy Hernandez <aldyh@redhat.com> | |
2523 | ||
2524 | * tree-ssa-propagate.c (get_rhs): Use GIMPLE_MODIFY_STMT and | |
2525 | TREE_OPERAND when appropriate. | |
2526 | ||
2527 | 2006-11-04 Aldy Hernandez <aldyh@redhat.com> | |
2528 | ||
2529 | * java/java-tree.h (lang_tree_node): Handle gimple tuples. | |
2530 | (EXPR_WFL_EMIT_LINE_NOTE): Look inside base. | |
2531 | (EXPR_WFL_LINECOL): Use EXPR_LOCUS macro instead of exp.locus. | |
2532 | * java/java-gimplify.c (java_gimplify_expr): Comment on why we do | |
2533 | not handle GIMPLE_MODIFY_STMT in the switch statement. | |
2534 | (java_gimplify_modify_expr): Call build2 with GIMPLE_MODIFY_STMT. | |
2535 | (java_gimplify_new_array_init): Same. | |
2536 | ||
2537 | 2006-11-03 Aldy Hernandez <aldyh@redhat.com> | |
2538 | ||
2539 | * gimplify.c (gimplify_omp_for): Allow gimple statements. | |
2540 | * tree-outof-ssa.c (check_replaceable): Use PROTECTED_TREE_OPERAND. | |
2541 | * fold-const.c (fold_binary): Allow gimple statements. | |
2542 | (fold): Same. | |
2543 | * fortran/trans-array.c (gfc_conv_descriptor_data_set_internal): | |
2544 | Rename from gfc_conv_descriptor_data_set. | |
2545 | Call gfc_add_modify instead of gfc_add_modify_expr. | |
2546 | * fortran/trans-array.h (gfc_conv_descriptor_data_set_internal): | |
2547 | Rename from gfc_conv_descriptor_data_set. | |
2548 | (gfc_conv_descriptor_data_set): New macro. | |
2549 | (gfc_conv_descriptor_data_set_tuples): New macros. | |
2550 | * fortran/trans-openmp.c (gfc_omp_clause_default_ctor): Call | |
2551 | gfc_conv_descriptor_data_set_tuples. | |
2552 | * fortran/trans.c (gfc_add_modify): Rename from gfc_add_modify_expr. | |
2553 | Generate GIMPLE_MODIFY_STMT when appropriate. | |
2554 | * fortran/trans.h (gfc_add_modify): Rename from gfc_add_modify_expr. | |
2555 | (gfc_add_modify_expr): New macro. | |
2556 | (gfc_add_modify_stmt): New macro. | |
2557 | * fortran/f95-lang.c (lang_tree_node): Handle gimple statements. | |
2558 | ||
2559 | 2006-11-01 Aldy Hernandez <aldyh@redhat.com> | |
2560 | ||
2561 | * Merge from mainline at revision 118200. | |
2562 | ||
2563 | 2006-10-09 Aldy Hernandez <aldyh@redhat.com> | |
2564 | ||
2565 | * tree-inline.c (copy_bb): Check for GIMPLE_MODIFY_STMT, and adjust | |
2566 | accordingly. | |
2567 | ||
2568 | 2006-10-09 Aldy Hernandez <aldyh@redhat.com> | |
2569 | ||
2570 | * tree.h (TREE_CHAIN, TREE_TYPE): Add versions for non GCC or not | |
2571 | enable checking. | |
2572 | Also, add __extension__ to GCC versions. | |
2573 | * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE. | |
2574 | * tree-inline.c (copy_tree_r): Initialize chain to assuage the warning | |
2575 | patrol. | |
2576 | ||
2577 | 2006-10-05 Aldy Hernandez <aldyh@redhat.com> | |
2578 | ||
2579 | * tree-complex.c (expand_complex_libcall): Adjust for | |
2580 | GIMPLE_MODIFY_STMT. | |
2581 | (expand_complex_comparison): Same. | |
2582 | * tree-pretty-print.c (dump_generic_node): Is_expr should include | |
2583 | GIMPLE_STMT_P statements. | |
2584 | * value-prof.c (tree_divmod_fixed_value_transform): Adjust for | |
2585 | GIMPLE_MODIFY_STMT. | |
2586 | (tree_mod_pow2_value_transform): Same. | |
2587 | (tree_mod_subtract_transform): Same. | |
2588 | * tree.c (build2_stat): Check for gimplified function in cfun. | |
2589 | * tree.h (DECL_GIMPLIFIED): Delete. | |
2590 | (struct tree_function_decl): Remove gimplified_flag. | |
2591 | * omp-low.c (lower_omp_for): Adjust for GIMPLE_MODIFY_STMT. | |
2592 | * cp/cp-gimplify.c (cp_gimplify_expr): Adjust for GIMPLE_MODIFY_STMT. | |
2593 | (cxx_omp_clause_apply_fn): Adjust for GIMPLE_MODIFY_STMT. | |
2594 | (cxx_omp_clause_copy_ctor): Same. | |
2595 | (cxx_omp_clause_assign_op): Same. | |
2596 | * c-pretty-print.c (pp_c_conditional_expression): Same. | |
2597 | (pp_c_expression): Same. | |
2598 | * langhooks.c (lhd_omp_predetermined_sharing): Same. | |
2599 | * function.h (struct function): Add gimplified field. | |
2600 | * tree-if-conv.c (add_to_dst_predicate_list): Adjust for | |
2601 | GIMPLE_MODIFY_STMT. | |
2602 | (find_phi_replacement_condition): Same. | |
2603 | * gimplify.c (gimplify_modify_expr_to_memcpy): Same. | |
2604 | (gimplify_modify_expr_to_memset): Same. | |
2605 | (gimplify_init_ctor_eval_range): Same. | |
2606 | (gimplify_modify_expr_complex_part): Same. | |
2607 | (tree_to_gimple_tuple): Same. | |
2608 | (gimplify_modify_expr): Same. | |
2609 | (gimple_push_cleanup): Same. | |
2610 | (gimplify_omp_for): Same. | |
2611 | (gimplify_omp_atomic_pipeline): Same. | |
2612 | (gimplify_omp_atomic_mutex): Same. | |
2613 | (gimplify_expr): Same. | |
2614 | (gimplify_one_sizepos): Same. | |
2615 | (gimplify_function_tree): Same. | |
2616 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Same. | |
2617 | (vect_recog_widen_sum_pattern): Same. | |
2618 | * tree-vect-transform.c (get_initial_def_for_reduction): Same. | |
2619 | (vect_create_epilog_for_reduction): Same. | |
2620 | (vectorizable_reduction): Same. | |
2621 | ||
2622 | 2006-09-28 Aldy Hernandez <aldyh@redhat.com> | |
2623 | ||
2624 | * tree-ssa-math-opts.c (replace_reciprocal): Use GIMPLE_STMT_OPERAND. | |
2625 | * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): Same. | |
2626 | (ifc_temp_var): Same. | |
2627 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Check | |
2628 | for gimple statements. | |
2629 | (vect_analyze_operations): Same. | |
2630 | (exist_non_indexing_operands_for_use_p): Use GIMPLE_STMT_OPERAND. | |
2631 | * gimplify.c (gimplify_return_expr): Handle gimple statements. | |
2632 | * lambda-code.c (can_put_in_inner_loop): Same. | |
2633 | (can_put_after_inner_loop): Same. | |
2634 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same. | |
2635 | (vect_create_data_ref_ptr): Same. | |
2636 | (vect_init_vector): Same. | |
2637 | (vect_get_vec_def_for_operand): Same. | |
2638 | (vect_create_epilog_for_reduction): Same. | |
2639 | (vectorizable_reduction): Same. | |
2640 | (vectorizable_assignment): Same. | |
2641 | (vectorizable_operation): Same. | |
2642 | (vectorizable_load): Same. | |
2643 | (vectorizable_condition): Same. | |
2644 | * config/rs6000/rs6000.c (rs6000_va_start): Do not create MODIFY_EXPRs. | |
2645 | (rs6000_gimplify_va_arg): Same. | |
2646 | ||
2647 | 2006-09-25 Aldy Hernandez <aldyh@redhat.com> | |
2648 | ||
2649 | * tree-vrp.c (simplify_div_or_mod_using_ranges): Use | |
2650 | GIMPLE_STMT_OPERAND. | |
2651 | (simplify_abs_using_ranges): Same. | |
2652 | * tree-complex.c (expand_complex_operations_1): Use | |
2653 | PROTECTED_TREE_OPERAND. | |
2654 | * tree-ssa-loop-niter.c (simplify_replace_tree): Check for gimple | |
2655 | stmt. | |
2656 | (get_val_for): Use GIMPLE_STMT_OPERAND. | |
2657 | * tree-tailcall.c (adjust_accumulator_values): Same. | |
2658 | (adjust_return_value): Same. | |
2659 | * tree.c (walk_tree): Use IS_GIMPLE_STMT_CODE_CLASS on default | |
2660 | case. Remove special case for tcc_gimple_stmt. | |
2661 | * tree.h (CAN_HAVE_LOCATION_P): New. | |
2662 | * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Check for | |
2663 | GIMPLE_STMT_P. | |
2664 | * tree-stdarg.c (va_list_counter_bump): Use GIMPLE_STMT_OPERAND. | |
2665 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Same. | |
2666 | * tree-nrv.c (execute_return_slot_opt): Same. | |
2667 | * tree-ssa-alias.c (count_uses_and_derefs): Check for GIMPLE_STMT_P. | |
2668 | * tree-vn.c (set_value_handle): Same. | |
2669 | (get_value_handle): Same. | |
2670 | * c-decl.c (add_stmt): Use CAN_HAVE_LOCATION_P. | |
2671 | * tree-vectorizer.c (find_loop_location): Same. | |
2672 | * c-typeck.c (c_process_expr_stmt): Same. | |
2673 | (c_finish_stmt_expr): Same. | |
2674 | * gimplify.c (should_carry_locus_p): Same. | |
2675 | (tree_to_gimple_tuple): Delete definition and use of unecessary | |
2676 | variable save_tree_block. | |
2677 | * tree-ssa-pre.c (phi_translate): Check for GIMPLE_STMT_P. | |
2678 | (create_expression_by_pieces): Use GIMPLE_STMT_OPERAND. | |
2679 | (realify_fake_stores): Same. | |
2680 | * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_arr): | |
2681 | Use TREE_OPERAND. | |
2682 | * tree-inline.c (copy_body_r): Check for EXPR_P and GIMPLE_STMT_P. | |
2683 | (copy_tree_r): Check for IS_GIMPLE_STMT_CODE_CLASS. | |
2684 | * tree-cfg.c (move_stmt_r): Use EXPR_P. Check for GIMPLE_STMT_P. | |
2685 | * c-parser.c (c_parser_typeof_specifier): Use CAN_HAVE_LOCATION_P. | |
2686 | (c_parser_statement_after_labels): Same. | |
2687 | (c_parser_paren_condition): Same. | |
2688 | (c_parser_for_statement): Same. | |
2689 | (c_parser_omp_for_loop): Same. | |
2690 | * tree-ssa-reassoc.c (linearize_expr): Use GIMPLE_STMT_OPERAND. | |
2691 | (linearize_expr_tree): Same. | |
2692 | * dwarf2out.c (reference_to_unused): Check for GIMPLE_STMT_P. | |
2693 | * function.c (instantiate_expr): Same. | |
2694 | ||
2695 | 2006-09-22 Aldy Hernandez <aldyh@redhat.com> | |
2696 | ||
2697 | * tree.c (expr_location): Use GIMPLE_STMT_LOCUS. | |
2698 | (set_expr_location): Same. | |
2699 | (expr_locus): Same. | |
2700 | (set_expr_locus): Same. | |
2701 | (expr_filename): Same. | |
2702 | (expr_lineno): Same. | |
2703 | (tree_block): Use GIMPLE_STMT_BLOCK. | |
2704 | (protected_tree_operand): Use GIMPLE_STMT_OPERAND. | |
2705 | * tree.h (struct gimple_stmt): Remove prev and next. | |
2706 | (GIMPLE_STMT_OPERAND_CHECK): New. | |
2707 | (TREE_TO_GIMPLE_STMT): Delete. | |
2708 | (GIMPLE_STMT_TO_TREE): Delete. | |
2709 | (GIMPLE_STMT_OPERAND): Use union, not cast. | |
2710 | (GIMPLE_STMT_LOCUS): New. | |
2711 | (GIMPLE_STMT_BLOCK): New. | |
2712 | * gimplify.c (tree_to_gimple_tuple): Use union. Do not cast | |
2713 | to tree_base. | |
2714 | * tree-cfg.c (verify_gimple_tuples_1): Call gcc_unreachable. | |
2715 | ||
2716 | 2006-09-21 Aldy Hernandez <aldyh@redhat.com> | |
2717 | ||
2718 | * tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Change common.base | |
2719 | to base. | |
2720 | * tree-tailcall.c (adjust_return_value): Same. | |
2721 | * tree.c (tree_code_size): Remove GIMPLE_STATEMENT_LIST case. | |
2722 | (copy_node_stat): Change common.base to base. | |
2723 | (tree_node_structure): Return TS_GIMPLE_STATEMENT for tcc_gimple_stmt. | |
2724 | Remove GIMPLE_STATEMENT_LIST case. | |
2725 | * tree.h (struct gimple_stmt): Make operands of type tree. | |
2726 | (TREE_CODE, TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL, | |
2727 | CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN, | |
2728 | TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED, | |
2729 | TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC, | |
2730 | TYPE_CACHED_VALUES_P, TREE_SIDE_EFFECTS, FORCED_LABEL, | |
2731 | TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY, | |
2732 | TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED, | |
2733 | BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, TREE_USED, | |
2734 | TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, DECL_BY_REFERENCE, | |
2735 | CALL_FROM_THUNK_P, TYPE_ALIGN_OK, TREE_PRIVATE, TREE_PROTECTED, | |
2736 | TREE_DEPRECATED, IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT, | |
2737 | TREE_LANG_FLAG_*, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, | |
2738 | SSA_NAME_IN_FREE_LIST, TYPE_VOLATILE, TYPE_READONLY, BINFO_VIRTUAL_P): | |
2739 | Change common.base to base. | |
2740 | (GIMPLE_STATEMENT_LIST*): Remove. | |
2741 | (union tree_node): Add base. Remove gimple_statement_list. | |
2742 | Remove pointer from gstmt. | |
2743 | * tree-ssa-propagate.c (set_rhs): Change common.base to base. | |
2744 | * treestruct.def: Add TS_BASE. Remove TS_GIMPLE_STATEMENT_LIST. | |
2745 | * tree-vn.c (vn_compute): Change common.base to base. | |
2746 | * tree-eh.c (verify_eh_throw_stmt_node): Same. | |
2747 | * tree-flow-inline.h (var_ann): Same. | |
2748 | (function_ann): Same. | |
2749 | (stmt_ann): Same. | |
2750 | (mark_non_addressable): Same. | |
2751 | * gimplify.c (tree_to_gimple_tuple): Same. | |
2752 | * tree.def (DEFTREECODE): Remove GIMPLE_STATEMENT_LIST. | |
2753 | * tree-dfa.c (create_var_ann): Change common.base to base. | |
2754 | (create_function_ann): Same. | |
2755 | (create_stmt_ann): Same. | |
2756 | (create_tree_ann): Same. | |
2757 | (collect_dfa_stats_r): Same. | |
2758 | * tree-ssa-pre.c (NECESSARY): Change common.base to base. | |
2759 | * tree-ssa-dce.c (NECESSARY): Same. | |
2760 | * tree-ssa.c (delete_tree_ssa): Same. | |
2761 | * tree-optimize.c (execute_free_cfg_annotations): Same. | |
2762 | * tree-flow.h: Same. | |
2763 | ||
2764 | 2006-09-19 Aldy Hernandez <aldyh@redhat.com> | |
2765 | ||
2766 | * tree.c (tree_code_size): Handle GIMPLE_STATEMENT_LIST. | |
2767 | (tree_node_structure): Handle GIMPLE_STATEMENT_LIST and | |
2768 | GIMPLE_MODIFY_STMT. | |
2769 | * tree.h (struct gimple_stmt): Add prev and next fields. | |
2770 | (GIMPLE_STMT_TO_TREE): Cast, do not call GIMPLE_STMT_CHECK. | |
2771 | (GIMPLE_STATEMENT_LIST_HEAD): New. | |
2772 | (GIMPLE_STATEMENT_LIST_TAIL): New. | |
2773 | (struct gimple_statement_list): New. | |
2774 | (union tree_node): Add gimple_stmt_list and gstmt. | |
2775 | * treestruct.def: Add TS_GIMPLE_STATEMENT_LIST, TS_GIMPLE_STATEMENT. | |
2776 | * tree.def: Add GIMPLE_STATEMENT_LIST. | |
2777 | ||
2778 | 2006-09-06 Aldy Hernandez <aldyh@redhat.com> | |
2779 | ||
2780 | * tree-dump.c (dequeue_and_dump): Handle GIMPLE_MODIFY_STMT. | |
2781 | * tree-vrp.c (build_assert_expr_for): Change uses of | |
2782 | MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. | |
2783 | (find_assert_locations): Same. | |
2784 | (remove_range_assertions): Same. | |
2785 | (stmt_interesting_for_vrp): Same. | |
2786 | (vrp_visit_assignment): Same. | |
2787 | (vrp_visit_stmt): Same. | |
2788 | (simplify_cond_using_ranges): Same. | |
2789 | * tree-into-ssa.c (REGISTER_DEFS_IN_THIS_STMT): Adjust for new | |
2790 | tree structure. | |
2791 | * tree-ssa-loop-im.c (movement_possibility): Change uses of | |
2792 | MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. | |
2793 | (stmt_cost): Same. | |
2794 | (determine_invariantness_stmt): Same. | |
2795 | (schedule_sm): Same. | |
2796 | (gather_mem_refs_stmt): Same. | |
2797 | * tree-complex.c (init_dont_simulate_again): Same. | |
2798 | (complex_visit_stmt): Same. | |
2799 | (set_component_ssa_name): Same. | |
2800 | (expand_complex_move): Same. | |
2801 | (expand_complex_div_wide): Same. | |
2802 | (expand_complex_comparison): Same. | |
2803 | (expand_complex_operations_1): Same. | |
2804 | * tree-ssa-loop-niter.c (expand_simple_operations): Same. | |
2805 | (chain_of_csts_start): Same. | |
2806 | (infer_loop_bounds_from_undefined): Same. | |
2807 | * tree-pretty-print.c (dump_generic_node): Same. | |
2808 | (op_prio): Same. | |
2809 | (op_symbol_1): Same. | |
2810 | * tree-ssa-loop-manip.c (create_iv): Same. | |
2811 | * value-prof.c (tree_divmod_fixed_value): Same. | |
2812 | (tree_divmod_fixed_value_transform): Same. | |
2813 | (tree_mod_pow2): Same. | |
2814 | (tree_mod_pow2_value_transform): Same. | |
2815 | (tree_mod_subtract): Same. | |
2816 | (tree_mod_subtract_transform): Same. | |
2817 | (tree_divmod_values_to_profile): Same. | |
2818 | * tree-tailcall.c (process_assignment): Same. | |
2819 | (find_tail_calls): Same. | |
2820 | (adjust_accumulator_values): Same. | |
2821 | (adjust_return_value): Same. | |
2822 | (eliminate_tail_call): Same. | |
2823 | * tree.c (tree_code_size): Handle tcc_gimple_stmt. | |
2824 | (make_node_stat): Same. | |
2825 | (copy_node_stat): Handle gimple tuples. | |
2826 | (expr_align): Handle GIMPLE_MODIFY_STMT. Abort on MODIFY_EXPR. | |
2827 | (tree_node_structure): Handle tcc_gimple_stmt. | |
2828 | (build2_stat): Abort on MODIFY_EXPR after gimplification. Handle | |
2829 | tcc_gimple_stmt. | |
2830 | (build2_gimple_stat): New. | |
2831 | (expr_location): New. | |
2832 | (set_expr_location): New. | |
2833 | (expr_has_location): New. | |
2834 | (expr_locus): New. | |
2835 | (set_expr_locus): New. | |
2836 | (expr_filename): New. | |
2837 | (expr_lineno): New. | |
2838 | (walk_tree): Handle tcc_gimple_stmt. | |
2839 | (tree_block): New. | |
2840 | (protected_tree_operand): New. | |
2841 | (protected_tree_type): New. | |
2842 | (tree_code_kind): Add gimple statements. | |
2843 | * tree.h (tree_code_class): Add tcc_gimple_stmt. | |
2844 | (IS_GIMPLE_STMT_CODE_CLASS): New. | |
2845 | (struct tree_base): New. | |
2846 | (struct tree_common): Shrink. | |
2847 | (struct gimple_stmt): New. | |
2848 | (struct gimple_expr): New. | |
2849 | (TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL, | |
2850 | CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN, | |
2851 | TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED, | |
2852 | TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC, | |
2853 | TYPE_CACHED_VALUES_P, SAVE_EXPR_RESOLVED_P, TREE_SIDE_EFFECTS, | |
2854 | FORCED_LABEL, TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY, | |
2855 | TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED, | |
2856 | BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, | |
2857 | TREE_USED, TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, | |
2858 | DECL_BY_REFERENCE, CALL_FROM_THUNK_P, TYPE_ALIGN_OK, | |
2859 | TREE_PRIVATE, TREE_PROTECTED, TREE_DEPRECATED, | |
2860 | IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT, | |
2861 | TREE_LANG_FLAG_[0-6], SSA_NAME_CHECK, SSA_NAME_IN_FREE_LIST, | |
2862 | TYPE_VOLATILE, TYPE_READONLY, TREE_VISITED, BINFO_VIRTUAL_P): | |
2863 | Adjust for new `common' layout. | |
2864 | (struct tree_function_decl): Add gimplified_flag. | |
2865 | (DECL_GIMPLIFIED): NEW. | |
2866 | (EXPR_LOCATION, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LOCUS, | |
2867 | SET_EXPR_LOCUS, SET_EXPR_LOCATION, EXPR_LINENO, | |
2868 | EXPR_HAS_LOCATION): Call corresponding function. | |
2869 | (GIMPLE_STMT_CHECK): New. | |
2870 | (TREE_OPERAND_CHECK, TREE_TYPE, TREE_CHAIN): Abort on gimple tuples. | |
2871 | (TREE_BLOCK): Call tree_block. | |
2872 | (GIMPLE_STMT_P): New. | |
2873 | (GIMPLE_TUPLE_P): New. | |
2874 | (TREE_TO_GIMPLE_STMT): New. | |
2875 | (GIMPLE_STMT_TO_TREE): New. | |
2876 | (GIMPLE_STMT_OPERAND): New. | |
2877 | (GIMPLE_TUPLE_HAS_LOCUS_P): New. | |
2878 | (PROTECTED_TREE_OPERAND): New. | |
2879 | (PROTECTED_TREE_TYPE): New. | |
2880 | (build2_gimple_stat): Protoize. | |
2881 | (build2_gimple): New. | |
2882 | (expr_location): Protoize. | |
2883 | (set_expr_location): Protoize. | |
2884 | (expr_has_location): Protoize. | |
2885 | (expr_locus): Protoize. | |
2886 | (set_expr_locus): Protoize. | |
2887 | (expr_filename): Protoize. | |
2888 | (expr_lineno): Protoize. | |
2889 | (tree_block): Protoize. | |
2890 | (protected_tree_operand): Protoize. | |
2891 | (protected_tree_type): Protoize. | |
2892 | (enum tree_node_kind): Add gimple_stmt_kind. | |
2893 | * c-decl.c (union lang_tree_node): Tuples do not have a | |
2894 | TREE_CHAIN. | |
2895 | * ipa-cp.c (constant_val_insert): Change uses of MODIFY_EXPR to | |
2896 | GIMPLE_MODIFY_STMT and adjust accordingly. | |
2897 | * tree-scalar-evolution.c (follow_ssa_edge): Same. | |
2898 | (interpret_condition_phi): Same. | |
2899 | (pointer_used_p): Same. | |
2900 | (analyze_scalar_evolution_1): Same. | |
2901 | (scev_const_prop): Same. | |
2902 | (interpret_rhs_modify_stmt): Rename from | |
2903 | interpret_rhs_modify_expr. | |
2904 | * builtins.c (std_expand_builtin_va_start): Change uses of | |
2905 | MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. | |
2906 | (std_gimplify_va_arg_expr): Same. | |
2907 | (expand_builtin_va_copy): Same. | |
2908 | (integer_valued_real_p): Same. | |
2909 | * fold-const.c (maybe_lvalue_p): Same. | |
2910 | (fold_unary): Same. | |
2911 | (tree_expr_nonnegative_p): Same. | |
2912 | (tree_expr_nonzero_p): Same. | |
2913 | * omp-low.c (extract_omp_for_data): Same. | |
2914 | (lower_rec_input_clauses): Same. | |
2915 | (lower_reduction_clauses): Same. | |
2916 | (lower_copyprivate_clauses): Same. | |
2917 | (lower_send_clauses): Same. | |
2918 | (lower_send_shared_vars): Same. | |
2919 | (expand_parallel_call): Same. | |
2920 | (expand_omp_parallel): Same. | |
2921 | (expand_omp_for_generic): Same. | |
2922 | (expand_omp_for_static_nochunk): Same. | |
2923 | (expand_omp_for_static_chunk): Same. | |
2924 | (expand_omp_sections): Same. | |
2925 | (lower_omp_single_copy): Same. | |
2926 | (lower_omp_parallel): Same. | |
2927 | * tree-ssa-dse.c (memory_address_same): Same. | |
2928 | (dse_optimize_stmt): Same. | |
2929 | * ipa-reference.c (scan_for_static_refs): Same. | |
2930 | * tree-gimple.c (is_gimple_reg_rhs): Same. | |
2931 | (get_call_expr_in): Same. | |
2932 | (recalculate_side_effects): Same. | |
2933 | * cgraphunit.c (cgraph_create_edges): Same. | |
2934 | * tree-ssa-copyrename.c (rename_ssa_copies): Same. | |
2935 | * tree-ssa-ccp.c (get_default_value): Same. | |
2936 | (likely_value): Same. | |
2937 | (visit_assignment): Same. | |
2938 | (ccp_visit_stmt): Same. | |
2939 | (get_maxval_strlen): Same. | |
2940 | (ccp_fold_builtin): Same. | |
2941 | * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Same. | |
2942 | (find_givs_in_stmt): Same. | |
2943 | (find_interesting_uses_op): Same. | |
2944 | (find_interesting_uses_stmt): Same. | |
2945 | (rewrite_use_nonlinear_expr): Same. | |
2946 | * ipa-pure-const.c (scan_function): Same. | |
2947 | * tree-stdarg.c (va_list_counter_bump): Same. | |
2948 | (check_all_va_list_escapes): Same. | |
2949 | (execute_optimize_stdarg): Same. | |
2950 | * tree-ssa-math-opts.c (compute_merit): Same. | |
2951 | (insert_reciprocals): Same. | |
2952 | (execute_cse_reciprocals): Same. | |
2953 | * tree-ssa-dom.c (initialize_hash_element): Same. | |
2954 | (simple_iv_increment_p): Same. | |
2955 | (record_equivalences_from_stmt): Same. | |
2956 | (optimize_stmt): Same. | |
2957 | (remove_stmt_or_phi): Same. | |
2958 | (get_rhs_or_phi_arg): Same. | |
2959 | (get_lhs_or_phi_result): Same. | |
2960 | (propagate_rhs_into_lhs): Same. | |
2961 | * tree-nrv.c (tree_nrv): Same. | |
2962 | (execute_return_slot_opt): Same. | |
2963 | * tree-ssa-propagate.c (get_rhs): Same. | |
2964 | (set_rhs): Same. | |
2965 | (stmt_makes_single_load): Same. | |
2966 | (stmt_makes_single_store): Same. | |
2967 | (replace_vuses_in): Same. | |
2968 | (fold_predicate_in): Same. | |
2969 | (substitute_and_fold): Same. | |
2970 | * tree-ssa-alias.c (compute_call_clobbered): Same. | |
2971 | (recalculate_used_alone): Same. | |
2972 | (count_uses_and_derefs): Same. | |
2973 | (is_escape_site): Same. | |
2974 | (find_used_portions): Same. | |
2975 | * gimple-low.c (lower_stmt): Same. | |
2976 | (block_may_fallthru): Same. | |
2977 | (lower_return_expr): Same. | |
2978 | * tree-ssa-sink.c (is_hidden_global_store): Same. | |
2979 | (statement_sink_location): Same. | |
2980 | * dwarf2out.c (loc_descriptor_from_tree_1): Same. | |
2981 | * expr.c (safe_from_p): Same. | |
2982 | (expand_expr_real): Same. | |
2983 | (expand_expr_real_1): Same. | |
2984 | * tree-ssa-loop-ivcanon.c (empty_loop_p): Same. | |
2985 | * predict.c (expr_expected_value): Same. | |
2986 | (strip_builtin_expect): Same. | |
2987 | (apply_return_prediction): Same. | |
2988 | (tree_bb_level_predictions): Same. | |
2989 | (tree_estimate_probability): Same. | |
2990 | * tree-vn.c (vn_compute): Same. | |
2991 | * tree-eh.c (add_stmt_to_eh_region_fn): Same. | |
2992 | (remove_stmt_from_eh_region_fn): Same. | |
2993 | (do_return_redirection): Same. | |
2994 | (honor_protect_cleanup_actions): Same. | |
2995 | (lower_try_finally_switch): Same. | |
2996 | (lower_eh_constructs_1): Same. | |
2997 | (tree_could_throw_p): Same. | |
2998 | (verify_eh_throw_stmt_node): Same. | |
2999 | * function.c (gimplify_parameters): Same. | |
3000 | * tree-vectorizer.c (vect_is_simple_use): Same. | |
3001 | (vect_is_simple_reduction): Same. | |
3002 | * ipa-type-escape.c (scan_for_refs): Same. | |
3003 | * tree-if-conv.c (tree_if_conversion): Same. | |
3004 | (tree_if_convert_stmt): Same. | |
3005 | (if_convertible_gimplify_modify_stmt_p): Rename from | |
3006 | if_convertible_modify_expr_p. | |
3007 | (if_convertible_stmt_p): Adjust for GIMPLE_MODIFY_STMT. | |
3008 | (ifc_temp_var): Same. | |
3009 | (replace_phi_with_cond_modify_stmt): Rename from | |
3010 | replace_phi_with_cond_modify_expr. | |
3011 | (process_phi_nodes): Call replace_phi_with_cond_modify_stmt. | |
3012 | * tree.def (DEFTREECODE): Add GIMPLE_MODIFY_STMT. | |
3013 | * tree-data-ref.c (find_data_references_in_loop): Adjust for | |
3014 | GIMPLE_MODIFY_STMT. | |
3015 | * tree-flow-inline.h (var_ann): Same. | |
3016 | (function_ann): Same. | |
3017 | (stmt_ann): Same. | |
3018 | (mark_non_addressable): Same. | |
3019 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Same. | |
3020 | * gimplify.c (tree_to_gimple_tuple): New. | |
3021 | (build_stack_save_restore): Adjust for GIMPLE_MODIFY_STMT. | |
3022 | (gimplify_return_expr): Same. | |
3023 | (gimplify_decl_expr): Same. | |
3024 | (gimplify_self_mod_expr): Same. | |
3025 | (gimplify_cond_expr): Same. | |
3026 | (gimplify_init_constructor): Same. | |
3027 | (gimplify_modify_expr): Same. | |
3028 | (gimplify_expr): Same. | |
3029 | (gimplify_function_tree): Same. | |
3030 | (force_gimple_operand): Same. | |
3031 | * tree-ssa-phiopt.c (conditional_replacement): Same. | |
3032 | (minmax_replacement): Same. | |
3033 | (abs_replacement): Same. | |
3034 | * tree-dfa.c (create_var_ann): Same. | |
3035 | (create_function_ann): Same. | |
3036 | (create_stmt_ann): Same. | |
3037 | (create_tree_ann): Same. | |
3038 | (collect_dfa_stats_r): Same. | |
3039 | * tree-ssa-pre.c (find_or_generate_expression): Same. | |
3040 | (create_expression_by_pieces): Same. | |
3041 | (try_look_through_load): Same. | |
3042 | (insert_fake_stores): Same. | |
3043 | (realify_fake_stores): Same. | |
3044 | (compute_avail): Same. | |
3045 | (eliminate): Same. | |
3046 | (init_pre): Same. | |
3047 | (poolify_modify_stmt): Rename from poolify_modify_stmt. | |
3048 | Adjust for GIMPLE_MODIFY_STMT. | |
3049 | (NECESSARY): Adjust for new `common' layout. | |
3050 | * tree-ssa-live.c (build_tree_conflict_graph): Adjust for | |
3051 | GIMPLE_MODIFY_STMT. | |
3052 | * tree-sra.c (sra_walk_modify_stmt): Rename from | |
3053 | sra_walk_modify_expr. | |
3054 | (sra_walk_function): Adjust for GIMPLE_MODIFY_STMT. | |
3055 | (generate_copy_inout): Same. | |
3056 | (generate_element_copy): Same. | |
3057 | (generate_element_zero): Same. | |
3058 | (scalarize_copy): Same. | |
3059 | * tree-mudflap.c (mf_decl_cache_locals): Same. | |
3060 | (mf_build_check_statement_for): Same. | |
3061 | (mf_xform_derefs): Same. | |
3062 | * ipa-prop.c (ipa_method_modify_stmt): Same. | |
3063 | * print-tree.c (print_node): Handle gimple tuples. | |
3064 | Add case for tcc_gimple_stmt. | |
3065 | * tree-ssa-copy.c (stmt_may_generate_copy): Adjust for | |
3066 | GIMPLE_MODIFY_STMT. | |
3067 | (copy_prop_visit_assignment): Same. | |
3068 | (copy_prop_visit_stmt): Same. | |
3069 | (init_copy_prop): Same. | |
3070 | * tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): Same. | |
3071 | (forward_propagate_into_cond_1): Same. | |
3072 | (find_equivalent_equality_comparison): Same. | |
3073 | (tidy_after_forward_propagate_addr): Same. | |
3074 | (forward_propagate_addr_expr_1): Same. | |
3075 | (simplify_not_neg_expr): Same. | |
3076 | (simplify_switch_expr): Same. | |
3077 | * tree-ssa-dce.c (find_pdom): Same. | |
3078 | (mark_stmt_if_obviously_necessary): Same. | |
3079 | (NECESSARY): Adjust for new `common' layout. | |
3080 | * tree-flow.h: Same. | |
3081 | * tree-vect-patterns.c (widened_name_p): Adjust for | |
3082 | GIMPLE_MODIFY_STMT. | |
3083 | (vect_recog_dot_prod_pattern): Same. | |
3084 | (vect_recog_widen_sum_pattern): Same. | |
3085 | (vect_pattern_recog_1): Same. | |
3086 | * tree-nested.c (init_tmp_var): Same. | |
3087 | (save_tmp_var): Same. | |
3088 | (walk_stmts): Same. | |
3089 | (convert_call_expr): Same. | |
3090 | (finalize_nesting_tree_1): Same. | |
3091 | * tree-ssa.c (verify_ssa): Same. | |
3092 | (delete_tree_ssa): Same. | |
3093 | * lambda-code.c (lbv_to_gcc_expression): Same. | |
3094 | (lle_to_gcc_expression): Same. | |
3095 | (lambda_loopnest_to_gcc_loopnest): Same. | |
3096 | (can_put_in_inner_loop): Same. | |
3097 | (can_convert_to_perfect_nest): Same. | |
3098 | (perfect_nestify): Same. | |
3099 | * tree-ssa-loop-prefetch.c (gather_memory_references): Same. | |
3100 | * tree-inline.c (copy_body_r): Same. | |
3101 | (setup_one_parameter): Same. | |
3102 | (initialize_inlined_parameters): Same. | |
3103 | (estimate_num_insns_1): Same. | |
3104 | (expand_call_inline): Same. | |
3105 | (gimple_expand_calls_inline): Same. | |
3106 | (copy_tree_r): Same. | |
3107 | * tree-optimize.c (execute_free_cfg_annotations): Same. | |
3108 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same. | |
3109 | (vect_align_data_ref): Same. | |
3110 | (vect_create_data_ref_ptr): Same. | |
3111 | (vect_init_vector): Same. | |
3112 | (vect_create_epilog_for_reduction): Same. | |
3113 | (vectorizable_reduction): Same. | |
3114 | (vectorizable_assignment): Same. | |
3115 | (vectorizable_operation): Same. | |
3116 | (vectorizable_store): Same. | |
3117 | (vectorizable_load): Same. | |
3118 | (vectorizable_live_operation): Same. | |
3119 | (vectorizable_condition): Same. | |
3120 | (vect_generate_tmps_on_preheader): Same. | |
3121 | (vect_create_cond_for_align_checks): Same. | |
3122 | * tree-object-size.c (collect_object_sizes_for): Same. | |
3123 | (check_for_plus_in_loops_1): Same. | |
3124 | (check_for_plus_in_loops): Same. | |
3125 | * tree-outof-ssa.c (insert_copy_on_edge): Same. | |
3126 | (replace_use_variable): Same. | |
3127 | (check_replaceable): Same. | |
3128 | (rewrite_trees): Same. | |
3129 | (identical_copies_p): Same. | |
3130 | (insert_backedge_copies): Same. | |
3131 | * tree-profile.c (tree_gen_edge_profiler): Same. | |
3132 | * tree-vect-generic.c (expand_vector_operations_1): Same. | |
3133 | * tree-ssa-structalias.c (update_alias_info): Same. | |
3134 | (find_func_aliases): Same. | |
3135 | * tree-cfg.c (factor_computed_gotos): Same. | |
3136 | (make_edges): Same. | |
3137 | (make_goto_expr_edges): Same. | |
3138 | (tree_merge_blocks): Same. | |
3139 | (remove_useless_stmts_cond): Same. | |
3140 | (remove_useless_stmts_1): Same. | |
3141 | (tree_find_edge_insert_loc): Same. | |
3142 | (verify_expr): Same. | |
3143 | (gimplify_val): Same. | |
3144 | (verify_gimple_tuples_1): New. | |
3145 | (verify_gimple_tuples): New. | |
3146 | (verify_stmts): Call verify_gimple_tuples. | |
3147 | * tree-ssa-reassoc.c (get_rank): Adjust for GIMPLE_MODIFY_STMT. | |
3148 | (get_unary_op): Same. | |
3149 | (linearize_expr): Same. | |
3150 | (get_single_immediate_use): Same. | |
3151 | (negate_value): Same. | |
3152 | (should_break_up_subtract): Same. | |
3153 | (break_up_subtract): Same. | |
3154 | (repropagate_negates): Same. | |
3155 | (break_up_subtract_bb): Same. | |
3156 | (reassociate_bb): Same. | |
3157 | * config/i386/i386.c (ix86_va_start): Same. | |
3158 | (ix86_gimplify_va_arg): Same. | |
3159 | * stmt.c (expand_expr_stmt): Same. | |
3160 | (warn_if_unused_value): Same. | |
3161 | (expand_return): Same. | |
3162 | * tree-ssanames.c (make_ssa_name): Same. | |
3163 | * tree-ssa-threadedge.c (lhs_of_dominating_assert): Same. | |
3164 | * tree-ssa-operands.c (finalize_ssa_defs): Same. | |
3165 | (add_virtual_operand): Same. | |
3166 | (get_expr_operands): Same. | |
3167 | (parse_ssa_operands): Same. | |
3168 | (get_modify_stmt_operands): Rename from get_modify_expr_operands. | |
3169 | ||
3170 | 2006-12-05 H.J. Lu <hongjiu.lu@intel.com> | |
3171 | ||
3172 | * config.host: Remove extra blank line. | |
3173 | ||
3174 | 2006-12-05 Bernd Schmidt <bernd.schmidt@analog.com> | |
3175 | ||
3176 | * config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if | |
3177 | target is also an x86 variant. | |
3178 | ||
3179 | 2006-12-05 Richard Guenther <rguenther@suse.de> | |
3180 | ||
3181 | * config/i386/i386.c (ix86_builtin_vectorized_function): Declare. | |
3182 | (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define. | |
3183 | (ix86_builtin_vectorized_function): New function to vectorize | |
3184 | sqrt. | |
3185 | ||
3186 | 2006-12-05 Bernd Schmidt <bernd.schmidt@analog.com> | |
3187 | ||
3188 | * config/bfin/bfin.c (output_file_start): Fix comment which referred to | |
3189 | ia64_override_options. | |
3190 | ||
3191 | 2006-12-04 Jan Hubicka <jh@suse.cz> | |
3192 | ||
3193 | * cfgexpand.c (expand_one_var): Guard expand_one_stack_var by | |
3194 | really_expand. | |
3195 | ||
3196 | 2006-12-04 Bernd Schmidt <bernd.schmidt@analog.com> | |
3197 | ||
3198 | * rtlanal.c (note_uses): Deal with SEQUENCEs. | |
3199 | * config/bfin/bfin.c: Include "timevar.h". | |
3200 | (bfin_flag_schedule_insns2, splitting_for_sched, | |
3201 | bfin_flag_var_tracking): New variables. | |
3202 | (print_operand): Handle '%!'. | |
3203 | (override_options): Disable normal sched2 pass, instead set | |
3204 | bfin_flag_schedule_insns2 for reorg to handle it. | |
3205 | (output_file_start): Likewise for var-tracking. | |
3206 | (bfin_optimize_loop): Take some care not to stumble over SEQUENCEs. | |
3207 | (gen_one_bundle, bfin_gen_bundles, type_for_anomaly, trapping_loads_p): | |
3208 | New functions. | |
3209 | (bfin_reorg): Do second scheduling pass here, and call | |
3210 | bfin_gen_bundles. Use type_for_anomaly and trapping_loads_p instead | |
3211 | of examining insns directly. If bfin_flag_var_tracking, call | |
3212 | var-tracking pass when done with everything else. | |
3213 | * config/bfin/bfin.h (PRINT_OPERAND_PUNCT_VALID_P): '!' is valid. | |
3214 | * config/bfin/bfin.md (UNSPEC_32BIT): New constant. | |
3215 | (movsi_insn32): New pattern, with two new splits to create it | |
3216 | before the final scheduling pass. | |
3217 | (neghi2): Not a dsp32 insn, rather alu0. | |
3218 | (movbi, pushsi_insn, popsi_insn, movsi_insn, movv2hi_insn, movhi_insn, | |
3219 | movqi_insn, movsf_insn, movsi_insv, extendhisi2, zero_extendhisi2, | |
3220 | extendqihi2, extendqisi2, zero_extendqihi2, zero_extendqisi2, | |
3221 | mulhisi3, umulhisi3, ssadsi3, sssubsi3, smaxsi3, sminsi3, abssi2, | |
3222 | ssnegsi2, signbitssi2, smaxhi3, sminhi3, abshi2, ssneghi2, signbitshi2, | |
3223 | movhi_low2high, movhi_high2high, movhi_low2low, movhi_high2low, | |
3224 | movhiv2hi_low, movhiv2hi_high, composev2hi, packv2hi, movv2hi_hi, | |
3225 | ssaddhi3, sssubhi3, addv2hi3, ssaddv2hi3, subv2hi3, sssubv2hi3, | |
3226 | addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, sublohiv2hi3, | |
3227 | subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, addlohiv2hi3, | |
3228 | addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, sminv2hi3, smaxv2hi3, | |
3229 | flag_mulhi, flag_mulhisi, flag_mulhisi_parts, flag_machi, | |
3230 | flag_machi_acconly, flag_macinithi, flag_macinit1hi, mulv2hi3, | |
3231 | flag_mulv2hi, flag_mulv2hi_parts, flag_macv2hi_parts, | |
3232 | flag_macv2hi_parts_acconly, flag_macinitv2hi_parts, | |
3233 | flag_macinit1v2hi_parts, mulhisi_ll, mulhisi_lh, mulhisi_hl, | |
3234 | mulhisi_hh, ssnegv2hi2, absv2hi2, ssashiftv2hi3, ssashifthi3, | |
3235 | lshiftv2hi3, lshifthi3): Use '%!' to terminate all dsp32/load/store | |
3236 | variants instead of ';'. | |
3237 | (ror_one, rol_one): Likewise. Make them dsp32 insns. | |
3238 | (ashlsi3_insn, ashrsi3, lshrsi3): Add dsp32 variants. | |
3239 | (align8, align16, align24): Now named patterns; also using '%!'. | |
3240 | (mnop): New insn. | |
3241 | ||
3242 | 2006-12-05 Kazu Hirata <kazu@codesourcery.com> | |
3243 | ||
3244 | * config/i386/darwin.h, config/spu/spu.c, tree-ssa-live.c, | |
3245 | tree-vect-generic.c, tree-vect-transform.c: Fix comment typos. | |
3246 | ||
3247 | 2006-12-04 Trevor Smigiel <trevor_smigiel@playstation.sony.com> | |
3248 | ||
3249 | * config/spu/spu-protos.c (spu_split_address): Add. | |
3250 | * config/spu/spu.c (spu_split_address): Add. | |
3251 | (print_operand): Handle HIGH. | |
3252 | (spu_legitimate_address): Don't test for aligned CONST. | |
3253 | (spu_expand_mov): Don't split addresses here. | |
3254 | * config/spu/constraints.md (A): Don't test legitimate_const. | |
3255 | * config/spu/spu.md: Add split of movsi patterns for PIC mode. | |
3256 | (ceq_di): Use correct predicates. | |
3257 | ||
3258 | 2006-12-04 Eric Christopher <echristo@apple.com> | |
3259 | ||
3260 | * config/darwin.h: Update copyright notice. | |
3261 | * config/i386/darwin.h: Ditto. | |
3262 | ||
3263 | 2006-12-04 Jan Hubicka <jh@suse.cz> | |
3264 | ||
3265 | * builtins.c (fold_builtin_memory_op): Check that expr_size match. | |
3266 | * explow.c (expr_size, int_expr_size): Assert that size is non_NULL. | |
3267 | ||
3268 | 2006-12-04 Daniel Berlin <dberlin@dberlin.org> | |
3269 | ||
3270 | * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call | |
3271 | set_used_smts. | |
3272 | * tree-ssa-structalias.c (set_used_smts): Export. | |
3273 | (find_what_p_points_to): Don't call set_used_smts here. | |
3274 | * tree-ssa-structalias.h (set_used_smts): Add prototype. | |
3275 | ||
3276 | 2006-12-04 Daniel Berlin <dberlin@dberlin.org> | |
3277 | ||
3278 | * tree-ssa-alias.c (compute_may_aliases): | |
3279 | Compute flow sensitive before flow insensitive. | |
3280 | (compute_flow_sensitive_aliasing): Don't try to add | |
3281 | a symbol memory tag to itself. | |
3282 | ||
3283 | * alias.h (alias_set_subset_of): New prototype. | |
3284 | ||
3285 | * alias.c (alias_set_subset_of): New function. | |
3286 | ||
3287 | * tree-ssa-structalias.c: Update comments. | |
3288 | (struct variable_info): Add finished_solution. | |
3289 | (new_varinfo): Set finished solution to NULL. | |
3290 | (var_escaped_vars): Remove. | |
3291 | (escaped_vars_tree): Remove. | |
3292 | (escaped_vars_id): Remove. | |
3293 | (nonlocal_vars_id): Remove. | |
3294 | (constraint_expr_type): Add INCLUDES. | |
3295 | (graph_size): Removed. | |
3296 | (dump_constraint): Support INCLUDES. | |
3297 | (build_constraint_graph): Ditto. | |
3298 | (collapse_nodes): Add merge_solutions argument. | |
3299 | Don't merge attributes. | |
3300 | (process_unification_queue): Just use collapse_nodes. | |
3301 | (perform_var_substitution): Update call to collapse_nodes. | |
3302 | (get_constraint_exp_from_ssa_var): Use INCLUDES. | |
3303 | (process_constraint): Fix non-field sensitive handling | |
3304 | Handle includes. | |
3305 | (get_constraint_for): Use INCLUDES. | |
3306 | (make_constraint_from_anything): Renamed from | |
3307 | make_constraint_from_escaped. | |
3308 | (make_constraint_to_escaped): Removed. | |
3309 | (find_global_initializers): Removed. | |
3310 | (create_variable_info_for): Do not make constraints to escaped | |
3311 | vars anymore. | |
3312 | (dump_solution_for_var): Don't print out the equivalent points-to | |
3313 | sets, just use the name of the variable it shares it with. | |
3314 | (intra_create_variable_infos): Use INCLUDES. | |
3315 | Change nonlocal variable sets to anything sets. | |
3316 | (init_base_vars): Remove escaped_vars and nonlocal_var | |
3317 | initialization. | |
3318 | (find_escape_constraints): Removed. | |
3319 | (delete_points_to_sets): Remove dead code. | |
3320 | (used_smt_calculated): New variable. | |
3321 | (set_used_smts): New function. | |
3322 | (merge_smts_into): New function. | |
3323 | (find_what_p_points_to): Modify to use SMTs. | |
3324 | (create_nonlocal_var): Remove. | |
3325 | ||
3326 | * tree-ssa-operands.c (access_can_touch_variable): Remove | |
3327 | reference to nonlocal_all. | |
3328 | ||
3329 | * tree-ssa.c (verify_name_tags): Remove. | |
3330 | ||
3331 | 2006-12-04 Carlos O'Donell <carlos@codesourcery.com> | |
3332 | ||
3333 | * config/arm/unwind-arm.c: Adjust __cxa_type_match declaration. | |
3334 | (__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match. | |
3335 | ||
3336 | 2006-12-04 Andrew MacLeod <amacleod@redhat.com> | |
3337 | ||
3338 | * tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges. | |
3339 | * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info): Update. | |
3340 | (add_livein_if_notdef): Delete. | |
3341 | (loe_visit_block): New. Propogate live on entry info for a block into | |
3342 | each predecessor. If it changes, make sure it is visited again. | |
3343 | (live_worklist): Visit every block and update the live on entry info | |
3344 | for preds. Iterate over any that changed. | |
3345 | (set_var_live_on_entry): Populate the live on entry blocks with bits | |
3346 | based on the immediate uses of a var. | |
3347 | (calculate_live_on_entry): Remove. | |
3348 | (calculate_live_on_exit): Calculate live on exit based on the newly | |
3349 | oriented live on entry bits. | |
3350 | (calculate_live_ranges): Build live on entry and exit vectors. | |
3351 | (dump_live_info): Use new orientation of live on entry bitmaps. | |
3352 | (verify_live_on_entry): New. Split out verification code from old | |
3353 | calculate_live_on_entry routine. | |
3354 | * tree-ssa-live.h (struct tree_live_info_d): Add Working stack. | |
3355 | (live_entry_blocks): Rename to live_on_entry and return bitmap for a | |
3356 | basic_block instead of for a partition. | |
3357 | (live_merge_and_clear): Add asserts. | |
3358 | (make_live_on_entry): Set partition bit in basic block vector. | |
3359 | ||
3360 | 2006-12-04 Jakub Jelinek <jakub@redhat.com> | |
3361 | ||
3362 | PR libgomp/29947 | |
3363 | * omp-low.c (expand_omp_for_static_nochunk, | |
3364 | expand_omp_for_static_chunk): Do all arithmetics in signed rather than | |
3365 | unsigned type. | |
3366 | ||
3367 | PR middle-end/29965 | |
3368 | * omp-low.c (determine_parallel_type): Don't try to optimize combined | |
3369 | parallels if region->exit or region->inner->exit is NULL. | |
3370 | (expand_omp_parallel): Handle NULL region->exit even if cfg is already | |
3371 | built. | |
3372 | (expand_omp_for_generic): Handle NULL region->cond and region->exit. | |
3373 | (expand_omp_for): Use expand_omp_for_generic if either region->cond | |
3374 | or region->exit is NULL. | |
3375 | (expand_omp_sections): Handle NULL region->cond or region->exit. | |
3376 | (expand_omp_synch): | |
3377 | ||
3378 | 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> | |
3379 | ||
3380 | * config/sparc/sp64-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Delete. | |
3381 | * config/sparc/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise. | |
3382 | ||
3383 | 2006-12-04 Eric Botcazou <ebotcazou@adacore.com> | |
3384 | ||
3385 | * tree.c (walk_type_fields): Do not handle TYPE_MIN_VALUE and | |
3386 | TYPE_MAX_VALUE for scalar types here but... | |
3387 | (walk_tree): ...there instead. Return NULL_TREE if the TYPE_DECL | |
3388 | is attached an error mark, and the return value of the callback | |
3389 | if it is not NULL_TREE. | |
3390 | ||
3391 | 2006-12-04 Ben Elliston <bje@au.ibm.com> | |
3392 | ||
3393 | * config/spu/spu.md (_mulv4si3): Remove unused local variables. | |
3394 | ||
3395 | 2006-12-03 Eric Christopher <echristo@apple.com> | |
3396 | ||
3397 | PR target/24598 | |
3398 | * config/t-slibgcc-darwin: Pass -install_name. | |
3399 | * config/darwin.h (LINK_COMMAND_SPEC): Remove use of | |
3400 | libtool. Only pass through options that the linker recognizes. | |
3401 | (LINK_SPEC): Update comment. Translate options. | |
3402 | (STARTFILE_SPEC): Add dylib1.o for shared libraries. | |
3403 | * config/darwin9.h (LINK_COMMAND_SPEC): Ditto above. | |
3404 | ||
3405 | 2006-12-03 Dorit Nuzman <dorit@il.ibm.com> | |
3406 | ||
3407 | * config/spu/spu.md (smaxv4sf3, sminv4sf3): New. | |
3408 | ||
3409 | 2006-12-03 Uros Bizjak <ubizjak@gmail.com> | |
3410 | ||
3411 | PR target/30041 | |
3412 | * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and | |
3413 | operands[1] in insn constraint. Correct type attribute to sselog1. | |
3414 | ||
3415 | 2006-12-02 H.J. Lu <hongjiu.lu@intel.com> | |
3416 | ||
3417 | PR target/30040 | |
3418 | * config/i386/driver-i386.c: Include "coretypes.h" and "tm.h". | |
3419 | (bit_SSSE3): New. | |
3420 | (host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite | |
3421 | processor detection. | |
3422 | ||
3423 | * config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for | |
3424 | -march=native if there is no -mtune=*. | |
3425 | ||
3426 | * config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H) | |
3427 | coretypes.h. | |
3428 | ||
3429 | 2006-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
3430 | ||
3431 | * doc/install.texi: Update recommended MPFR version. Remove | |
3432 | obsolete reference to cumulative patch. | |
3433 | ||
3434 | 2006-12-02 Lee Millward <lee.millward@codesourcery.com> | |
3435 | ||
3436 | PR c/27953 | |
3437 | * c-decl.c (store_parm_decls_oldstyle): Robustify. | |
3438 | ||
3439 | 2006-11-30 Jan Hubicka <jh@suse.cz> | |
3440 | Uros Bizjak <ubizjak@gmail.com> | |
3441 | ||
3442 | * config/i386/i386.c (pentium4_cost, nocona_cost): Update | |
3443 | 32bit memcpy/memset decriptors. | |
3444 | (decide_alg): With -minline-all-stringops and sizes that are best | |
3445 | to be copied via libcall still work hard enough to pick non-libcall | |
3446 | strategy. | |
3447 | ||
3448 | 2006-12-02 Kazu Hirata <kazu@codesourcery.com> | |
3449 | ||
3450 | * doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos. | |
3451 | ||
3452 | * builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c, | |
3453 | config/i386/i386.c, config/i386/i386.h, config/mips/mips.h, | |
3454 | config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c, | |
3455 | config/sh/sh4-300.md, config/spu/spu-builtins.def, | |
3456 | config/spu/spu-c.c, config/spu/spu-modes.def, | |
3457 | config/spu/spu.c, config/spu/spu.md, | |
3458 | config/spu/spu_internals.h, config/spu/vmx2spu.h, | |
3459 | fold-const.c, fwprop.c, predict.c, tree-data-ref.h, | |
3460 | tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, | |
3461 | tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c, | |
3462 | tree-vectorizer.c, tree-vrp.c: Fix comment typos. Follow | |
3463 | spelling conventions. | |
3464 | ||
3465 | * config/i386/i386.c: Fix a comment typo. | |
3466 | ||
3467 | 2006-12-01 Trevor Smigiel <trevor_smigiel@playstation.sony.com> | |
3468 | ||
3469 | * config/spu/spu.c (spu_immediate): Remove trailing comma. | |
3470 | (reloc_diagnostic): Call warning when -mwarn-reloc is specified. | |
3471 | * config/spu/spu.md: (zero_extendhisi2): Expand instead of split for | |
3472 | better optimization. | |
3473 | (floatv4siv4sf2): New. | |
3474 | (fix_truncv4sfv4si2): New. | |
3475 | (floatunsv4siv4sf2): New. | |
3476 | (fixuns_truncv4sfv4si2): New. | |
3477 | (addv16qi3): New. | |
3478 | (subv16qi3): New. | |
3479 | (negv16qi2): New. | |
3480 | (mulv8hi3): New. | |
3481 | (mulsi3): Remove. | |
3482 | (mul<mode>3): New. | |
3483 | (_mulv4si3): New. | |
3484 | (cmp<mode>): Don't accept constant arguments for DI, TI and SF. | |
3485 | * config/spu/spu_internals.h: Handle overloaded intrinsics in C++ with | |
3486 | spu_resolve_overloaded_builtin instead of static inline functions. | |
3487 | ||
3488 | 2006-12-01 Eric Botcazou <ebotcazou@adacore.com> | |
3489 | ||
3490 | * fold-const.c (fold_binary) <LT_EXPR>: Use the precision of the | |
3491 | type instead of the size of its mode to compute the highest and | |
3492 | lowest possible values. Still check the size of the mode before | |
3493 | flipping the signedness of the comparison. | |
3494 | ||
3495 | 2006-12-01 Trevor Smigiel <trevor_smigiel@playstation.sony.com> | |
3496 | ||
3497 | * config/spu/predicates.md (spu_mov_operand): Add. | |
3498 | * config/spu/spu.c (spu_expand_extv): Remove unused code. | |
3499 | (print_operand_address, print_operand): Handle addresses containing AND. | |
3500 | (spu_split_load, spu_split_store): Use updated movti pattern. | |
3501 | * config/spu/spu.md: (_mov<mode>, _movdi, _movti): Handle loads and | |
3502 | stores in mov patterns for correct operation of reload. | |
3503 | (lq, lq_<mode>, stq, stq_<mode>): Remove. | |
3504 | ||
3505 | 2006-12-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
3506 | ||
3507 | PR c++/30021 | |
3508 | * c-common.c (check_main_parameter_types): Check for error_mark_node. | |
3509 | ||
3510 | 2006-12-01 Andrew MacLeod <amacleod@redhat.com> | |
3511 | ||
3512 | * common.opt (ftree-combine-temps): Remove. | |
3513 | * tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove. | |
3514 | (coalesce_ssa_name): Don't check for combine-temps. | |
3515 | (coalesce_vars): Remove. | |
3516 | (check_replaceable): Use num_imm_uses. | |
3517 | (remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't | |
3518 | check for combine-temps. | |
3519 | (rewrite_out_of_ssa): Never create a ref_count in the var_map. | |
3520 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms | |
3521 | to register_ssa_partition calls. | |
3522 | * tree-ssa-live.c (register_ssa_partition): Remove prototype. | |
3523 | (init_var_map, delete_var_map): remove refernces to ref_count. | |
3524 | (create_ssa_var_map): Never calculate a ref count. | |
3525 | (type_var_init): Remove. | |
3526 | * tree-ssa-live.h (typedef struct _var_map): Remove ref_count. | |
3527 | (SSA_VAR_MAP_REF_COUNT): Delete. | |
3528 | (create_ssa_var_map): Change Prototype to have no parameters. | |
3529 | (version_ref_count): Delete. | |
3530 | (register_ssa_partition): Remove 'is_use' paramater and don't set the | |
3531 | ref_count vector. | |
3532 | (type_var_num, type_var, type_var_first_partition, | |
3533 | type_var_next_partition, type_var_dump, type_var_delete, | |
3534 | type_var_remove_partition, type_var_find, type_var_compact, | |
3535 | type_var_decompact): Remove. | |
3536 | ||
3537 | 2006-12-01 Bernd Schmidt <bernd.schmidt@analog.com> | |
3538 | ||
3539 | * config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype | |
3540 | attribute. | |
3541 | ||
3542 | 2006-12-01 Richard Guenther <rguenther@suse.de> | |
3543 | ||
3544 | PR c++/29433 | |
3545 | * dwarf2out.c (struct pubname_struct): Make name const. | |
3546 | (add_pubtype): Do not xstrdup identifiers. | |
3547 | ||
3548 | 2006-12-01 Bernd Schmidt <bernd.schmidt@analog.com> | |
3549 | ||
3550 | * config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures | |
3551 | multiword accesses are in range. | |
3552 | ||
3553 | 2006-12-01 Zdenek Dvorak <dvorakz@suse.cz> | |
3554 | ||
3555 | PR tree-optimization/29921 | |
3556 | * tree-ssa-ccp.c (canonicalize_float_value): New function. | |
3557 | (set_lattice_value): Use canonicalize_float_value. | |
3558 | ||
3559 | 2006-11-30 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
3560 | ||
3561 | * config/spu/spu.c (spu_builtin_range): Move from spu-c.c | |
3562 | (TARGET_RESOLVE_OVERLOADED_BUILTIN): Delete. | |
3563 | (spu_cpu_cpp_builtins): Remove. | |
3564 | (spu_override_options): Don't set warn_main. | |
3565 | (spu_force_reg): Move from spu-c.c. | |
3566 | (spu_check_builtin_parm): Likewise. | |
3567 | (expand_builtin_args): Likewise. | |
3568 | (spu_expand_builtin_1): Likewise. | |
3569 | (spu_expand_builtin): Likewise. | |
3570 | * config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Define, set | |
3571 | warn_main and targetm.resolve_overloaded_builtin. | |
3572 | * config/spu/spu-c.c (spu_builtin_range): Remove. | |
3573 | (spu_check_builtin_parm): Remove. | |
3574 | (expand_builtin_args): Remove. | |
3575 | (spu_expand_builtin_1): Remove. | |
3576 | (spu_expand_builtin): Remove. | |
3577 | (spu_cpu_cpp_builtins): Moved from spu.c | |
3578 | (spu_force_reg): Remove. | |
3579 | ||
3580 | 2006-12-01 Joseph Myers <joseph@codesourcery.com> | |
3581 | David Edelsohn <edelsohn@gnu.org> | |
3582 | ||
3583 | PR target/24036 | |
3584 | * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING, | |
3585 | HARD_REGNO_NREGS_WITH_PADDING): Document new target macros. | |
3586 | * defaults.h (HARD_REGNO_NREGS_HAS_PADDING, | |
3587 | HARD_REGNO_NREGS_WITH_PADDING): Define. | |
3588 | * config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING, | |
3589 | HARD_REGNO_NREGS_WITH_PADDING): Define. | |
3590 | * rtlanal.c (subreg_regno_offset, subreg_offset_representable_p): | |
3591 | Use new macros to detect modes with holes; do not look at integer | |
3592 | units. | |
3593 | (subreg_offset_representable_p): Check for and disallow cases | |
3594 | where the modes use different numbers of bits from registers. | |
3595 | * config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode | |
3596 | constant for soft-float. | |
3597 | (rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs | |
3598 | containing doubles. | |
3599 | (rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves | |
3600 | in E500 double case. | |
3601 | * config/rs6000/rs6000.md (movtf): Allow soft-float. | |
3602 | (movtf_softfloat): New. | |
3603 | ||
3604 | 2006-11-30 Richard Sandiford <richard@codesourcery.com> | |
3605 | ||
3606 | * simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than | |
3607 | simplify_gen_subreg. | |
3608 | ||
3609 | 2006-11-30 Andrew Macleod <amacleod@redhat.com> | |
3610 | ||
3611 | * tree-ssa-live.c (create_coalesce_list): Create a hash table. | |
3612 | (COALESCE_HASH_FN): New. Define hash function. | |
3613 | (partition_pair_map_hash): New. Hash value for a partition pair. | |
3614 | (partition_pair_map_eq): New. Equality for hash pairs. | |
3615 | (create_coalesce_list): Create hash table. | |
3616 | (delete_coalesce_list): Free hash table. | |
3617 | (find_partition_pair): Find/create pairs in hash table. | |
3618 | (compare_pairs): Sort pairs in ascending order now. | |
3619 | (num_coalesce_pairs): New. Number of pairs in hash table. | |
3620 | (struct partition_pair_iterator): Iterator struct for pair table. | |
3621 | (first_partition_pair): Iterator function for first pair. | |
3622 | (end_partition_pair_p): Iterator function for end of iteration. | |
3623 | (next_partition_pair): Iterator function for next pair. | |
3624 | (FOR_EACH_PARTITION_PAIR): Macro for iterating over pairs. | |
3625 | (sort_coalesce_list): Sort pairs from hash table into an array. | |
3626 | (pop_best_coalesce): Take pairs from the array. | |
3627 | (dump_coalesce_list): Update to use hash table or sorted array. | |
3628 | * tree-ssa-live.h (struct partition_pair_d): Remove next field. | |
3629 | (struct coalesce_list_d): Add hash table related fields. | |
3630 | ||
3631 | 2006-11-30 Jan Hubicka <jh@suse.cz> | |
3632 | ||
3633 | PR middle-end/30028 | |
3634 | * builtins.c (fold_builtin_memory_op): Fix typo in the check for | |
3635 | memmove/bcopy->memcpy conversion. | |
3636 | ||
3637 | 2006-11-30 Carlos O'Donell <carlos@codesourcery.com> | |
3638 | ||
3639 | * doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default. | |
3640 | * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT): | |
3641 | Default is the largest alignment supported for 32-bit ELF and | |
3642 | representable on a 32-bit host. | |
3643 | ||
3644 | 2006-11-30 Janis Johnson <janis187@us.ibm.com> | |
3645 | ||
3646 | * config/dfp-bit.c (DFP_TO_INT): Use wider precision. | |
3647 | ||
3648 | 2006-11-30 Jan Hubicka <jh@suse.cz> | |
3649 | ||
3650 | * tree-ssa-operands.h (struct ssa_operands): New. | |
3651 | * tree-flow-inline.h (gimple_ssa_operands): New function. | |
3652 | * tree-flow.h: (struct gimple_df): Add ssa_operands. | |
3653 | * Makefile.in: Remove gt-tree-ssa-operands.h | |
3654 | * tree-ssa-operands.c: Do not include gt-tree-ssa-operands.h | |
3655 | (free_defs, free_uses, free_vuses, free_maydefs, free_mustdefs, | |
3656 | operand_memory, operand_memory_index, ops_active): Remove statics. | |
3657 | (ALLOC_OPTYPE): Update. | |
3658 | (operand_build_sort_virtual): Update. | |
3659 | (ssa_operands_active): Update. | |
3660 | (init_ssa_operands): Update. | |
3661 | (fini_ssa_operands): Update. | |
3662 | (ssa_operand_alloc): Update. | |
3663 | (INITIALIZE_USE): Update. | |
3664 | (finalize_ssa_use_ops): Update. | |
3665 | (finalize_ssa_v_may_def_ops): Update. | |
3666 | (finalize_ssa_vuse_ops): Update. | |
3667 | (finalize_ssa_v_must_def_ops): Update. | |
3668 | ||
3669 | 2006-11-30 Richard Guenther <rguenther@suse.de> | |
3670 | ||
3671 | * tree-vectorizer.h (vectorizable_function): Export. | |
3672 | * tree-vect-transform.c (vectorizable_function): Likewise. | |
3673 | * tree-vect-patterns.c (vect_recog_pow_pattern): Set | |
3674 | type_in to scalar type in recognition of squaring. | |
3675 | Make sure the target can vectorize sqrt in recognition | |
3676 | of sqrt, set type_in to vector type in this case. | |
3677 | ||
3678 | 2006-11-30 Uros Bizjak <ubizjak@gmail.com> | |
3679 | ||
3680 | * config/i386/i386.md (R10_REG): New constant. | |
3681 | * config/i386/i386.c (pro_epilogue_adjust_stack): Use R11_REG. | |
3682 | (ix86_emit_restore_regs_using_mov): Ditto. | |
3683 | (ix86_expand_call): Ditto. | |
3684 | (x86_output_mi_thunk): Ditto. Also use R10_REG. | |
3685 | ||
3686 | 2006-11-30 Steven Bosscher <steven@gcc.gnu.org> | |
3687 | ||
3688 | * cselib.c (cselib_init): Use special MEM rtx form for callmem. | |
3689 | * alias.c (canon_true_dependence): Update comment. | |
3690 | ||
3691 | 2006-11-30 Steven Bosscher <steven@gcc.gnu.org> | |
3692 | ||
3693 | * cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline | |
3694 | at the end of a diagnostics message. | |
3695 | ||
3696 | * alloc-pool.c (pool_free): Postpone clearing the pool entry | |
3697 | until after asserting that it was allocated in the right pool. | |
3698 | ||
3699 | * cfgrtl.c (print_rtl_with_bb): Print predecessor and | |
3700 | successor edge information as well. Make output of live regs | |
3701 | on exit consistent with live regs on entry. | |
3702 | ||
3703 | 2006-11-30 Uros Bizjak <ubizjak@gmail.com> | |
3704 | ||
3705 | PR target/29852 | |
3706 | * config/i386/i386.md (*truncxfsf2_mixed, *truncxfdf2_mixed): Enable | |
3707 | insn patterns for TARGET_80387. | |
3708 | (*truncxfsf2_i387, *truncxfdf2_i387): Remove. | |
3709 | (*truncxfsf2_i387_1): Rename to *truncxfsf2_i387. | |
3710 | (*truncxfdf2_i387_1): Rename to *truncxfdf2_i387. | |
3711 | (fmod<mode>3, remainder<mode>3): Enable expaders for SSE math. | |
3712 | Generate truncxf<mode>2 insn patterns for strict SSE math. | |
3713 | ||
3714 | 2006-11-30 Uros Bizjak <ubizjak@gmail.com> | |
3715 | ||
3716 | * config/i386/i386.md (movsf_1): Enable pattern for standard | |
3717 | 80387 constants before reload when optimizing for size. | |
3718 | (*movdf_nointeger, *movdf_integer): Ditto. | |
3719 | (*movxf_nointeger, *movxf_integer): Disable patterns for standard | |
3720 | 80387 constants before reload when not optimizing for size. | |
3721 | ||
3722 | (*fop_xf_4_i387, *fop_xf_5_i387, *fop_xf_6_i387): Avoid float | |
3723 | extension of XFmode input operands. | |
3724 | ||
3725 | 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
3726 | ||
3727 | * config/spu/crt0.c (__dso_handle): Define. | |
3728 | ||
3729 | 2006-11-30 Kaz Kojima <kkojima@gcc.gnu.org> | |
3730 | ||
3731 | * emit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially | |
3732 | when clearing the used flags. | |
3733 | ||
3734 | 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
3735 | ||
3736 | * config/spu/spu.md (extend_compare): Fix whitespace formatting. | |
3737 | ||
3738 | 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
3739 | ||
3740 | PR target/29945 | |
3741 | * config/spu/spu.md (extend_compare<mode>): New pattern. | |
3742 | (extend_compare): Change to expand and use the above pattern. | |
3743 | ||
3744 | 2006-11-29 Janis Johnson <janis187@us.ibm.com> | |
3745 | ||
3746 | * config/dfp-bit.c (DFP_TO_INT): Fix rounding mode. | |
3747 | ||
3748 | * config/dfp-bit.h (CONTEXT_ROUND): Delete. | |
3749 | (DFP_INIT_ROUNDMODE): Define. | |
3750 | * config/dfp-bit.c: Replace CONTEXT_ROUND with DFP_INIT_ROUNDMODE. | |
3751 | * mklibgcc.in: Fix dependencies for dfp-bit.c. | |
3752 | ||
3753 | 2006-11-29 Tehila Meyzels <tehila@il.ibm.com> | |
3754 | ||
3755 | * haifa-sched.c: Remove define LINE_NOTE(INSN). Remove line_note_head. | |
3756 | Update documentation. | |
3757 | (associate_line_notes_with_blocks): Kill. | |
3758 | (extend_bb): Remove basic block argument, put void instead. | |
3759 | Remove line number handling for each bb. | |
3760 | (save_line_notes): Kill. | |
3761 | (restore_line_notes): Kill. | |
3762 | (sched_init): Remove line_note_head initialization. | |
3763 | Change extend_bb call. | |
3764 | (sched_finish): Remove free of line_note_head. | |
3765 | (add_block): Change extend_bb call. | |
3766 | * sched-ebb.c (schedule_ebb): Remove save_line_notes, | |
3767 | rm_line_notes and restore_line_notes calls. | |
3768 | (schedule_ebbs): Remove rm_redundant_line_notes. | |
3769 | * sched-int.h (struct haifa_insn_data): Remove line_note. | |
3770 | (save_line_notes): Remove declaration. | |
3771 | (restore_line_notes): Remove declaration. | |
3772 | * modulo-sched.c (loop_canon_p): Update debug info printing | |
3773 | by using insn locators instead of line note. | |
3774 | (sms_schedule): Update debug info printing, by using insn | |
3775 | locators instead of line note. | |
3776 | * sched-rgn.c (debug_dependencies): Remove handling of case | |
3777 | n>0 (line number), since it's a dead code. | |
3778 | (schedule_region): Remove save_line_notes and | |
3779 | restore_line_notes calls. | |
3780 | ||
3781 | 2006-11-29 Joseph Myers <joseph@codesourcery.com> | |
3782 | ||
3783 | * config/rs6000/predicates.md (gpc_reg_operand): Check | |
3784 | invalid_e500_subreg. | |
3785 | * config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any | |
3786 | SImode subregs of SPE vectors. | |
3787 | * config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs. | |
3788 | * jump.c (true_regnum): Require subregs to satisfy | |
3789 | subreg_offset_representable_p. | |
3790 | ||
3791 | 2006-11-29 Daniel Berlin <dberlin@dberlin.org> | |
3792 | Steven Bosscher <stevenb.gcc@gmail.com> | |
3793 | ||
3794 | * Makefile.in (tree-ssanames.o): Remove gt-tree-ssanames.h, | |
3795 | since it no longer exists. | |
3796 | ||
3797 | 2006-11-29 Duncan Sands <baldrick@free.fr> | |
3798 | ||
3799 | PR tree-optimization/23744 | |
3800 | * tree-vrp.c (vrp_meet): do not require ranges to intersect. | |
3801 | ||
3802 | 2006-11-29 Duncan Sands <baldrick@free.fr> | |
3803 | ||
3804 | PR tree-optimization/23744 | |
3805 | * testsuite/gcc.dg/tree-ssa/pr23744.c: new test. | |
3806 | ||
3807 | 2006-11-29 Duncan Sands <baldrick@free.fr> | |
3808 | ||
3809 | PR tree-optimization/23744 | |
3810 | * testsuite/gcc.dg/tree-ssa/update-threading.c: xfail. | |
3811 | ||
3812 | 2006-11-29 Jie Zhang <jie.zhang@analog.com> | |
3813 | ||
3814 | * doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately. | |
3815 | ||
3816 | 2006-11-29 J"orn Rennecke <joern.rennecke@st.com> | |
3817 | ||
3818 | * sh.opt (minline-ic_invalidate): New option. | |
3819 | (musermode): Adjust comment. | |
3820 | * sh.c (sh_initialize_trampoline): Emit library call unless | |
3821 | is set; if it is set, don't emit library call if we can use icbi | |
3822 | instead. | |
3823 | * sh.md (ic_invalidate_line, ic_invalidate_line_sh4a): Also use | |
3824 | icbi for TARGET_SH4_300. | |
3825 | * t-sh (LIB1ASMFUNCS_CACHE): Set. | |
3826 | * doc/invoke.texi: Document -minline-ic_invalidate; Update | |
3827 | -musermode documentation. | |
3828 | ||
3829 | 2006-11-29 Jim Tison <jtison@us.ibm.com> | |
3830 | ||
3831 | * gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, | |
3832 | __gthread_recursive_mutex_init): Define. | |
3833 | ||
3834 | 2006-11-29 Joseph Myers <joseph@codesourcery.com> | |
3835 | ||
3836 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If | |
3837 | STRICT_ALIGNMENT and the type is more aligned than the saved | |
3838 | registers, copy via a temporary. | |
3839 | ||
3840 | 2006-11-28 Andrew Pinski <pinskia@gmail.com> | |
3841 | ||
3842 | PR tree-opt/29984 | |
3843 | * tree-ssa-reassoc.c (eliminate_duplicate_pair): Handle MAX_EXPR | |
3844 | and MIN_EXRP. | |
3845 | ||
3846 | 2006-11-28 Bob Wilson <bob.wilson@acm.org> | |
3847 | ||
3848 | * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit. | |
3849 | ||
3850 | 2006-11-28 Jan Hubicka <jh@suse.cz> | |
3851 | ||
3852 | Privatize SSA variables into gimple_df. | |
3853 | * tree-flow-inline.h | |
3854 | (gimple_in_ssa_p, gimple_aliases_computed_p, gimple_addressable_vars, | |
3855 | gimple_call_clobbered_vars, gimple_referenced_vars, gimple_global_var, | |
3856 | gimple_nonlocal_all): New accessors. | |
3857 | (first_referenced_var): Update. | |
3858 | (mark_stmt_modified): Update. | |
3859 | (is_call_clobbered): Update. | |
3860 | (mark_call_clobbered): Update. | |
3861 | (clear_call_clobbered): Update. | |
3862 | (mark_non_addressable): Update. | |
3863 | * tree-vrp.c (get_value_range): Update. | |
3864 | * tree-into-ssa.c (in_ssa_p): Kill. | |
3865 | (get_default_def_for): Update. | |
3866 | (rewrite_into_ssa): Update. | |
3867 | * tree-complex.c (init_parameter_lattice_values): Update. | |
3868 | (update_complex_assignment): Update. | |
3869 | (update_parameter_components): Update. | |
3870 | (expand_complex_libcall): Update. | |
3871 | (expand_complex_operations_1): Update. | |
3872 | * tree-tailcall.c (arg_needs_copy_p): Update. | |
3873 | (add_virtual_phis): Update. | |
3874 | (tree_optimize_tail_calls_1): Update. | |
3875 | * tree-ssa-dse.c (memory_ssa_name_same): Update. | |
3876 | * tree-ssa-copyrename.c | |
3877 | (copy_rename_partition_coalesce): Update. | |
3878 | * tree-ssa-math-opts.c (execute_cse_reciprocals): Update. | |
3879 | * tree-ssa-propagate.c (set_rhs): Update. | |
3880 | * tree-ssa-alias.c (aliases_computed_p, call_clobbered_vars, | |
3881 | addressable_vars, global_var):Kill. | |
3882 | (set_initial_properties): Update. | |
3883 | (init_alias_info): Update. | |
3884 | (finalize_ref_all_pointers): Update. | |
3885 | (setup_pointers_and_addressables): Update. | |
3886 | (maybe_create_global_var): Update. | |
3887 | (create_global_var): Update. | |
3888 | (dump_points_to_info): Update. | |
3889 | * function.h (struct gimple_df): Forward declare. | |
3890 | (struct function): Add GIMPLE_DF field. | |
3891 | * gimplify.c (force_gimple_operand): Update. | |
3892 | * tree-dfa.c (referenced_vars, default_defs): KIll. | |
3893 | (make_rename_temp): Update. | |
3894 | (dump_variable): Update. | |
3895 | (referenced_var_lookup): Update. | |
3896 | (referenced_var_check_and_insert): Update. | |
3897 | (default_def): Rename to ... | |
3898 | (gimple_default_def): ... this one; accept cfun argument. | |
3899 | (set_default_def): Update. | |
3900 | * tree-cfgcleanup.c (modified_noreturn_calls): Kill. | |
3901 | (cleanup_control_flow): Update. | |
3902 | * tree-ssa-pre.c (compute_avail): Update | |
3903 | * tree-ssa-live.c (calculate_live_on_entry): Update. | |
3904 | * tree-ssa.c (verify_use): Update. | |
3905 | (verify_call_clobbering): Update. | |
3906 | (verify_call_clobbering): Update. | |
3907 | (init_tree_ssa): Update. | |
3908 | (delete_tree_ssa): Update. | |
3909 | * tree-outof-ssa.c (coalesce_ssa_name): Update. | |
3910 | (rewrite_out_of_ssa): Update. | |
3911 | * tree-flow.h (gimple_df): New structure collecting dataflow variables. | |
3912 | (FREE_SSANAMES, SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS): New | |
3913 | private accessors. | |
3914 | (in_ssa_p, modified_noreturn_calls, referenced_vars, default_defs, | |
3915 | ssa_names, global_var, nonlocal_all, call_clobbered_vars, | |
3916 | addressable_vars, aliases_computed_p): Kill. | |
3917 | (default_def): Rename to... | |
3918 | (gimple_default_def): ... this one. | |
3919 | (defaule_def_fn): Kill. | |
3920 | (num_referenced_vars, ssa_names, num_ssa_names): Update. | |
3921 | * tree-ssa-structalias.c (nonlocal_all): Kill. | |
3922 | (get_constraint_exp_from_ssa_var): Update. | |
3923 | (create_nonlocal_var): Update. | |
3924 | (get_constraint_for): Update. | |
3925 | (update_alias_info): Update. | |
3926 | (find_global_initializers): Update. | |
3927 | (intra_create_variable_infos): Update. | |
3928 | (intra_create_variable_infos): | |
3929 | (find_what_p_points_to): Update. | |
3930 | (init_alias_heapvars): Update. | |
3931 | * tree-cfg.c (remove_bb): Update. | |
3932 | (gimplify_val): Update. | |
3933 | * tree-ssa-reassoc.c (get_rank): Update. | |
3934 | (init_reassoc): Update. | |
3935 | * tree-ssanames.c: Do not include gt-tree-ssanames.h | |
3936 | (ssa_names, free_ssanames): Kill. | |
3937 | (init_ssanames): Update. | |
3938 | (make_ssa_name): Update. | |
3939 | (release_ssa_name): Update. | |
3940 | (release_defs): Update. | |
3941 | (replace_ssa_name_symbol): Update. | |
3942 | * tree-ssa-operands.c (access_can_touch_variable): Update. | |
3943 | (add_virtual_operand): Update. | |
3944 | (add_call_clobber_ops): Update. | |
3945 | (add_call_read_ops): Update. | |
3946 | (get_call_expr_operands): Update. | |
3947 | (get_asm_expr_operands): Update. | |
3948 | ||
3949 | 2006-11-28 Jan Hubicka <jh@suse.cz> | |
3950 | ||
3951 | * builtins.c: Include tree-flow.h. | |
3952 | (fold_builtin_memory_op): Be more aggressive on converting memcpy to | |
3953 | assignment; convert memmove to memcpy for sizes greater than 1 where | |
3954 | alignment of operands prohibit the partial overlap. | |
3955 | ||
3956 | 2006-11-28 Jan Hubicka <jh@suse.cz> | |
3957 | ||
3958 | * invoke.texi (large-stack-frame, large-stack-frame-growth): New params. | |
3959 | * cgraph.c (dump_cgraph_node): Dump stack usage. | |
3960 | * cgraph.h (cgraph_local_info): Add estimated_self_stack_size. | |
3961 | (cgraph_global_info): Add estimated_stack_size and stack_frame_offset. | |
3962 | * cgraphunit.c (cgraph_analyze_function): Analyze stack sizes. | |
3963 | * ipa-inline.c (cgraph_clone_inlined_nodes): Propagate stack usage. | |
3964 | (cgraph_check_inline_limits): Limit stack growth. | |
3965 | * cfgexpand.c: Include tree-inline.h. | |
3966 | (account_stack_vars): New function. | |
3967 | (expand_one_var): New param to just account the stack; return estimated | |
3968 | size. | |
3969 | (expand_used_vars_for_block): Update call of expand_one_var. | |
3970 | (account_used_vars_for_block): New function. | |
3971 | (estimated_stack_frame_size): Likewise. | |
3972 | (init_vars_expansion, fini_vars_expansion): Break out from.. | |
3973 | (expand_used_vars): ... here. | |
3974 | * tree-inline.h (estimated_stack_frame_size): Declare. | |
3975 | * params.def (PARAM_LARGE_STACK_FRAME, PARAM_STACK_FRAME_GROWTH): New. | |
3976 | ||
3977 | 2006-11-28 Richard Guenther <rguenther@suse.de> | |
3978 | ||
3979 | * ggc-page.c (ggc_print_statistics): Use %ul and a cast to | |
3980 | unsigned long for printing OBJECT_SIZE. | |
3981 | ||
3982 | 2006-11-27 Steven Bosscher <steven@gcc.gnu.org> | |
3983 | ||
3984 | * alias.c (init_alias_analysis): Remove simplification loop | |
3985 | after propagating pointers. | |
3986 | ||
3987 | 2006-11-27 Uros Bizjak <ubizjak@gmail.com> | |
3988 | ||
3989 | * config/i386/i386.c (x86_ext_80387_constants): Add m_K8, m_CORE2 | |
3990 | and m_GENERIC64. | |
3991 | ||
3992 | 2006-11-27 Bob Wilson <bob.wilson@acm.org> | |
3993 | ||
3994 | * config/xtensa/xtensa.h (XCHAL_HAVE_MUL32_HIGH): Provide default. | |
3995 | ||
3996 | 2006-11-27 Roger Sayle <roger@eyesopen.com> | |
3997 | Manuel Lopez-Ibanez <manu@gcc.gnu.org> | |
3998 | ||
3999 | * c-common.c (constant_fits_type_p): Delete. | |
4000 | (unsigned_conversion_warning): Delete. | |
4001 | (conversion_warning): Integrate Wconversion warning from | |
4002 | unsigned_conversion_warning. | |
4003 | (convert_and_check): Integrate Woverflow warning from | |
4004 | unsigned_conversion_warning. Reorganize and simplify to avoid | |
4005 | dependence upon the middle-end setting TREE_OVERFLOW on integral | |
4006 | conversions, by using int_fits_type_p directly. | |
4007 | ||
4008 | 2006-11-27 Tobias Burnus <burnus@net-b.de> | |
4009 | ||
4010 | * doc/invoke.texi: Fixed typo. | |
4011 | ||
4012 | 2006-11-27 Michael Matz <matz@suse.de> | |
4013 | Andreas Krebbel <krebbel1@de.ibm.com> | |
4014 | ||
4015 | PR target/29319 | |
4016 | * config/s390/predicates.md (larl_operand): Check addend of larl | |
4017 | operand to be in range of -/+2GB. | |
4018 | * config/s390/s390.c (legitimize_pic_address): Likewise. | |
4019 | Changed type of variable even to HOST_WIDE_INT. | |
4020 | ||
4021 | 2006-11-27 Jan Hubicka <jh@suse.cz> | |
4022 | ||
4023 | * expr.c (emit_block_move_via_libcall): Export. | |
4024 | (clear_storage_via_libcall): Rename to ... | |
4025 | (set_storage_via_libcall): ... this one; handle arbitrary value to set. | |
4026 | (clear_storage): Update to set_storage_via_libcall. | |
4027 | * expr.h (emit_block_move_via_libcall): Declare | |
4028 | * config/i386/i386.h (stringop_alg): New enum. | |
4029 | (MAX_STRINGOP_ALGS): New constant. | |
4030 | (stringop_algs): New struct. | |
4031 | (processor_costs): Add memcpy/memset descriptors. | |
4032 | (TARGET_REP_MOVEL_OPTIMAL): Remove. | |
4033 | * config/i386/i386.md (movsi_insv_1_rex64): New pattern. | |
4034 | (strmovsi, strmovdi, strsetsi, strsetdi): Update; accept all operands | |
4035 | for memset. | |
4036 | * config/i386/i386.opt (minline-stringops-dynamically, | |
4037 | mstringop-strategy): New | |
4038 | parameters. | |
4039 | * config/i386/i386-prostos.h (ix86_expand_movmem): Update prototype. | |
4040 | (ix86_expand-clrmem): Rename to ... | |
4041 | (ix86_expand_setmem): ... this one; update prototype. | |
4042 | * config/i386/i386.c (DUMMY_STRINGOP_ALGS): New constant. | |
4043 | (size_cost, i386_cost, i486_cost, pentium_cost, pentiumpro_cost, | |
4044 | geode_cost, k6_cost, athlon_cost, k8_cost, pentium4_cost, | |
4045 | nocona_cost, core2_cost, generic_cost, generic64_cost, | |
4046 | generic32_cost): Add memcpy/memset descriptors. | |
4047 | (x86_rep_movl_optimal): Remove. | |
4048 | (stringop_alg): New static variable. | |
4049 | (ix86_expand_aligntest): Handle predictions. | |
4050 | (override_options): Add strgop_alg handling. | |
4051 | (predict_jump): New function. | |
4052 | (scale_counter): New function. | |
4053 | (expand_set_or_movmem_via_loop): New function. | |
4054 | (expand_movmem_via_rep_mov): New function. | |
4055 | (expand_setmem_via_rep_stots): New function. | |
4056 | (emit_strmov): New function. | |
4057 | (expand_movmem_epilogue): New function. | |
4058 | (expand_setmem_epilogue_via_loop): New function. | |
4059 | (expand_setmem_epilogue): New function. | |
4060 | (expand_movmem_prologue): New function. | |
4061 | (expand_setmem_prologue): New function. | |
4062 | (decide_alg): New function. | |
4063 | (decide_alignment): New function. | |
4064 | (ix86_exand_movmem): Rewrite. | |
4065 | (promote_duplicated_reg): New function. | |
4066 | (ix86_expand_clrmem): Rename to ... | |
4067 | (ix86_expand_setmem): ... this one. Rewrite. | |
4068 | ||
4069 | * invoke.texi (minline-stringops-dynamically): New command line option. | |
4070 | (mstringop-strategy): Likewise. | |
4071 | ||
4072 | 2006-11-27 Jan Hubicka <jh@suse.cz> | |
4073 | ||
4074 | * cfgexpand.c (construct_exit_block): Don't disturb end of last BB. | |
4075 | * rtl.texi (NOTE_INSN_FUNCTION_END): Remove. | |
4076 | * final.c (final_scan_insn): Don't scan NOTE_INSN_FUNCTION_END. | |
4077 | * insn-notes.def (FUNCTION_END): Remove. | |
4078 | * jump.c (delete_related_insns): Don't worry about FUNCTION_END. | |
4079 | (redicect_jump_2): Don't accept -1 parameter to remove FUNCTION_END | |
4080 | note. | |
4081 | * ifcvt.c (dead_or_predictable): Update call of redirect_jump_2. | |
4082 | * function.c (expand_function_end): Don't emit NOTE_INSN_FUNCTION_END | |
4083 | * cfglayout.c (duplicate_insn_chain): Don't worry about | |
4084 | NOTE_FUNCTION_END. | |
4085 | ||
4086 | 2006-11-27 Richard Guenther <rguenther@suse.de> | |
4087 | Zdenek Dvorak <dvorakz@suse.cz> | |
4088 | ||
4089 | * target.h (struct gcc_target): Add builtin_vectorized_function | |
4090 | target hook. | |
4091 | * target-def.h (TARGET_VECTORIZE): Likewise. | |
4092 | * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): | |
4093 | Document new target hook. | |
4094 | * targhooks.h (default_builtin_vectorized_function): Declare. | |
4095 | * targhooks.c (default_builtin_vectorized_function): Define. | |
4096 | * tree-vectorizer.h (stmt_vec_info_type): Add call_vec_info_type. | |
4097 | (vectorizable_call): Declare. | |
4098 | * tree-vect-analyze.c (vect_analyze_operations): Call | |
4099 | vectorizable_call. | |
4100 | * tree-vect-transform.c (vectorizable_function): New static function. | |
4101 | (build_vectorized_function_call): Likewise. | |
4102 | (vectorizable_call): New function. | |
4103 | (vect_transform_stmt): Handle vectorizable calls. | |
4104 | ||
4105 | 2006-11-27 Richard Guenther <rguenther@suse.de> | |
4106 | ||
4107 | PR middle-end/25620 | |
4108 | * builtins.c (expand_builtin_pow): Optimize non integer valued | |
4109 | constant exponents using sqrt or cbrt if possible. Always fall back | |
4110 | to expanding via optabs. | |
4111 | ||
4112 | 2006-11-27 Ira Rosen <irar@il.ibm.com> | |
4113 | ||
4114 | PR tree-optimization/22372 | |
4115 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Convert | |
4116 | the type of the base address. | |
4117 | (vect_create_data_ref_ptr): Add an argument, type of the data-ref. Use | |
4118 | it in the data-ref pointer creation. | |
4119 | (vect_init_vector): Add an argument, type of the init vector. Use it in | |
4120 | the stmt creation. | |
4121 | (vect_get_vec_def_for_operand): Fix calls to vect_init_vector. | |
4122 | (get_initial_def_for_reduction): Likewise. | |
4123 | (vect_create_epilog_for_reduction): Change type of MODIFY_EXPR to | |
4124 | void_type_node. | |
4125 | (vectorizable_assignment, vect_permute_store_chain): Likewise. | |
4126 | (vectorizable_store): Fix call to vect_create_data_ref_ptr. Use the | |
4127 | correct type in stmt creation. | |
4128 | (vect_setup_realignment): Use the correct type in stmt creation. | |
4129 | (vect_permute_load_chain): Change type of MODIFY_EXPR to | |
4130 | void_type_node. | |
4131 | (vectorizable_load): Fix calls to vect_create_data_ref_ptr. Change type | |
4132 | of MODIFY_EXPR to void_type_node. | |
4133 | (vectorizable_condition): Change type of MODIFY_EXPR to | |
4134 | void_type_node. | |
4135 | (vect_update_ivs_after_vectorizer): Use the correct type in stmt | |
4136 | creation. | |
4137 | ||
4138 | 2006-11-27 Uros Bizjak <ubizjak@gmail.com> | |
4139 | ||
4140 | Revert: | |
4141 | 2006-05-08 Uros Bizjak <uros@kss-loka.si> | |
4142 | * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For | |
4143 | standard 80387 constants, raise the cost to prevent | |
4144 | compress_float_constant() to generate load from memory. | |
4145 | ||
4146 | * config/i386/i386.md: Add new splitter pattern to split | |
4147 | float_extended load of constant from constant pool into | |
4148 | pure constant load. | |
4149 | ||
4150 | 2006-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
4151 | ||
4152 | * doc/install.texi: Move GMP/MPFR configure options from Fortran | |
4153 | section to general section. Remove documentation for | |
4154 | --with-mpfr-dir and --with-gmp-dir, add documentation for | |
4155 | --with-mpfr-include, --with-mpfr-lib, --with-gmp-include and | |
4156 | --with-gmp-lib. | |
4157 | ||
4158 | * builtins.c (fold_builtin_fmin_fmax): Handle NaN arguments. | |
4159 | ||
4160 | 2006-11-26 Razya Ladklesky <razya@il.ibm.com> | |
4161 | ||
4162 | * testsuite/gcc.dg/ipa/ipa-6.c: New. | |
4163 | ||
4164 | 2006-11-26 Razya Ladklesky <razya@il.ibm.com> | |
4165 | ||
4166 | PR tree-optimization/29122 | |
4167 | * tree-inline.c (tree_function_versioning): Update DECL_ASSEMBLER_NAME | |
4168 | for the new version. Assign NULL to DECL_RTL of the new version. | |
4169 | ||
4170 | 2006-11-25 Uros Bizjak <ubizjak@gmail.com> | |
4171 | ||
4172 | * reg-stack.c (get_true_reg): Fix UNSPEC_TRUNC_NOOP handling. | |
4173 | ||
4174 | 2006-11-25 Steven Bosscher <steven@gcc.gnu.org> | |
4175 | ||
4176 | * cse.c (cse_altered): Remove. | |
4177 | (record_jump_equiv): Make true/false argument a bool instead | |
4178 | of an int. | |
4179 | (cse_insn): Don't set cse_altered. Use delete_insn_and_edges | |
4180 | where appropriate. Emit a new jump before the existing one | |
4181 | instead of after so that delete_insn_and_edges removes the | |
4182 | dead edges properly. Check any_condjump_p before calling | |
4183 | record_jump_equiv. | |
4184 | (cse_basic_block): Check any_condjump_p before calling | |
4185 | record_jump_equiv. | |
4186 | (cse_main): Don't set/check cse_altered. Remove USE_C_ALLOCA. | |
4187 | ||
4188 | 2006-11-25 Brooks Moses <brooks.moses@codesourcery.com> | |
4189 | ||
4190 | * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and | |
4191 | -ffixed-line-length-* options. | |
4192 | ||
4193 | 2006-11-25 Uros Bizjak <ubizjak@gmail.com> | |
4194 | ||
4195 | * config/i386/i386.md (fpremxf4): Rename to fpremxf4_i387. | |
4196 | (fprem1xf4): Rename to fprem1xf4_i387. | |
4197 | ||
4198 | (fmodsf3, fmoddf3): Macroize patterns using X87MODEF12 mode macro. | |
4199 | Rename patterns to fmod<mode>3. Use general_operand operand | |
4200 | constraint for operands 1 and 2. Use SSE_FLOAT_MODE_P to disable | |
4201 | patterns for SSE math. | |
4202 | (remaindersf3, remainderdf3): Ditto. | |
4203 | ||
4204 | 2006-11-25 Joseph Myers <joseph@codesourcery.com> | |
4205 | ||
4206 | * function.c (instantiate_virtual_regs_in_insn): Call force_reg | |
4207 | inside start_sequence / end_sequence pair. | |
4208 | ||
4209 | 2006-11-25 Steven Bosscher <steven@gcc.gnu.org> | |
4210 | ||
4211 | * jump.c (mark_all_labels): Work in cfglayout mode. | |
4212 | * cfgcleanup.c (cleanup_cfg): Do not call delete_dead_jumptables | |
4213 | when in cfglayout mode, because there are no dead jumptables | |
4214 | visible. | |
4215 | * cfgrtl.c (commit_one_edge_insertion): Don't set bb->aux when | |
4216 | in cfglayout mode. | |
4217 | (commit_edge_insertions): Do not allow insertion of instructions | |
4218 | with control flow insns when in cfglayout mode. | |
4219 | ||
4220 | 2006-11-25 Zdenek Dvorak <dvorakz@suse.cz> | |
4221 | ||
4222 | * tree-vrp.c (execute_vrp): Do not pass loops structure through | |
4223 | arguments. | |
4224 | * loop-unswitch.c (unswitch_loops, unswitch_single_loop, | |
4225 | unswitch_loop): Ditto. | |
4226 | * tree-loop-linear.c (linear_transform_loops): Ditto. | |
4227 | * tree-ssa-loop-im.c (determine_lsm, tree_ssa_lim_initialize, | |
4228 | tree_ssa_lim): Ditto. | |
4229 | * tree-ssa-loop-niter.c (estimate_numbers_of_iterations, | |
4230 | free_numbers_of_iterations_estimates): Ditto. | |
4231 | * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops, | |
4232 | tree_unswitch_single_loop, tree_unswitch_loop): Ditto. | |
4233 | * cfgloopmanip.c (fix_bb_placement, fix_bb_placements, | |
4234 | remove_path, add_loop, loopify, unloop, fix_loop_placements, | |
4235 | place_new_loop, duplicate_loop, duplicate_subloops, | |
4236 | update_single_exit_for_duplicated_loops, copy_loops_to, | |
4237 | duplicate_loop_to_header_edge, create_preheaders, | |
4238 | force_single_succ_latches, loop_version, fix_loop_structure): | |
4239 | Ditto. | |
4240 | * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge, | |
4241 | tree_unroll_loop): Ditto. | |
4242 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
4243 | * tree-scalar-evolution.c (select_loops_exit_conditions, | |
4244 | scev_initialize, scev_analysis): Ditto. | |
4245 | * tree-scalar-evolution.h (scev_initialize): Ditto. | |
4246 | * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge): Ditto. | |
4247 | * cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto. | |
4248 | * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto. | |
4249 | * modulo-sched.c (sms_schedule): Ditto. | |
4250 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. | |
4251 | * loop-init.c (loop_optimizer_init, rtl_move_loop_invariants, | |
4252 | rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): Ditto. | |
4253 | * ifcvt.c (if_convert): Ditto. | |
4254 | * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely, | |
4255 | canonicalize_loop_induction_variables, | |
4256 | canonicalize_induction_variables, | |
4257 | tree_unroll_loops_completely, remove_empty_loops): Ditto. | |
4258 | * tree-ssa-loop.c (tree_ssa_loop_init, tree_ssa_loop_im, | |
4259 | tree_ssa_loop_unswitch, tree_vectorize, tree_linear_transform, | |
4260 | tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds, | |
4261 | tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts, | |
4262 | tree_ssa_loop_done): Ditto. | |
4263 | * predict.c (predict_loops, tree_estimate_probability, estimate_loops, | |
4264 | estimate_bb_frequencies): Ditto. | |
4265 | * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg, | |
4266 | slpeel_tree_peel_loop_to_edge, vectorize_loops): Ditto. | |
4267 | * loop-unroll.c (unroll_and_peel_loops, peel_loops_completely, | |
4268 | decide_unrolling_and_peeling, peel_loop_completely, | |
4269 | unroll_loop_constant_iterations, unroll_loop_runtime_iterations, | |
4270 | peel_loop_simple, unroll_loop_stupid): Ditto. | |
4271 | * loop-doloop.c (doloop_optimize_loops): Ditto. | |
4272 | * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Ditto. | |
4273 | * loop-invariant.c (move_loop_invariants): Ditto. | |
4274 | * tree-ssa-dce.c (tree_ssa_dce_loop): Ditto. | |
4275 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays, | |
4276 | tree_ssa_prefetch_arrays): Ditto. | |
4277 | * lambda-code.c (gcc_loopnest_to_lambda_loopnest, perfect_nestify): | |
4278 | Ditto. | |
4279 | * tree-vect-transform.c (vect_do_peeling_for_loop_bound, | |
4280 | vect_do_peeling_for_alignment, vect_transform_loop): Ditto. | |
4281 | * cfgloop.c (flow_loops_cfg_dump, flow_loops_dump, | |
4282 | mark_single_exit_loops, cancel_loop, cancel_loop_tree, | |
4283 | verify_loop_structure): Ditto. | |
4284 | * tree-flow.h (vectorize_loops, tree_ssa_lim, tree_ssa_unswitch_loops, | |
4285 | canonicalize_induction_variables, tree_unroll_loops_completely, | |
4286 | tree_ssa_prefetch_arrays, remove_empty_loops, tree_ssa_iv_optimize, | |
4287 | estimate_numbers_of_iterations, free_numbers_of_iterations_estimates, | |
4288 | tree_duplicate_loop_to_header_edge, tree_ssa_loop_version, | |
4289 | tree_unroll_loop, linear_transform_loops): Declaration changed. | |
4290 | * basic-block.h: Remove declaration of struct loops. | |
4291 | * cfghooks.h (struct cfg_hooks): Change type of | |
4292 | cfg_hook_duplicate_loop_to_header_edge. | |
4293 | (cfg_hook_duplicate_loop_to_header_edge): Declaration changed. | |
4294 | * tree-vectorizer.h (slpeel_tree_peel_loop_to_edge, | |
4295 | vect_transform_loop): Declaration changed. | |
4296 | * lambda.h (gcc_loopnest_to_lambda_loopnest): Declaration changed. | |
4297 | * cfgloop.h (flow_loops_dump, fix_loop_structure, | |
4298 | mark_irreducible_loops, mark_single_exit_loops, mark_loop_exit_edges, | |
4299 | cancel_loop_tree, create_preheaders, force_single_succ_latches, | |
4300 | verify_loop_structure, duplicate_loop, duplicate_loop_to_header_edge, | |
4301 | loopify, loop_version, remove_path, unswitch_loops, | |
4302 | unroll_and_peel_loops, doloop_optimize_loops, move_loop_invariants): | |
4303 | Declaration changed. | |
4304 | ||
4305 | 2006-11-24 Uros Bizjak <ubizjak@gmail.com> | |
4306 | ||
4307 | * config/i386/i386.md (UNSPEC_TRUNC_NOOP): New unspec definition. | |
4308 | (X87MODEF): New mode macro. | |
4309 | (ssemodefsuffix): New mode attribute. | |
4310 | (truncxf<mode>2_i387_noop_unspec): New insn pattern. | |
4311 | (sqrt_extend<mode>xf2_i387): New insn pattern. | |
4312 | (sqrt<mode>2): For non-SSE sqrt, emit sqrt_extend<mode>xf2_i387 | |
4313 | insn and truncate result back to original mode using | |
4314 | UNSPEC_TRUNC_NOOP truncation. | |
4315 | (*sqrt<mode>2_sse): Implement using SSEMODEF mode macro and | |
4316 | ssemodefsuffix mode attribute. | |
4317 | (*sqrtsf2_mixed, *sqrtsf2_i387, *sqrtdf2_mixed, *sqrtdf2_i387) | |
4318 | (*sqrtextendsfdf2_i387, *sqrtextendsfxf2_i387) | |
4319 | (*sqrtextenddfxf2_i387): Remove insn patterns. | |
4320 | ||
4321 | (fmodsf3, fmoddf3, remaindersf3, remainderdf3): Use noop | |
4322 | truncation patterns. | |
4323 | ||
4324 | * reg-stack.c (get_true_reg): Handle UNSPEC_TRUNC_NOOP. | |
4325 | ||
4326 | 2006-11-24 Jakub Jelinek <jakub@redhat.com> | |
4327 | ||
4328 | PR c/29955 | |
4329 | * c-tree.h (c_maybe_initialize_eh): New prototype. | |
4330 | * c-decl.c (finish_decl): Move EH initialization... | |
4331 | (c_maybe_initialize_eh): ... here. New function. | |
4332 | * c-parser.c (c_parser_omp_construct): Call c_maybe_initialize_eh | |
4333 | if not #pragma omp atomic. | |
4334 | ||
4335 | PR c/29736 | |
4336 | * c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE | |
4337 | or UNION_TYPE inner types. | |
4338 | ||
4339 | 2006-11-24 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
4340 | ||
4341 | PR tree-opt/29964 | |
4342 | * ipa-pure-const.c (check_tree): If the original tree | |
4343 | is volatile return early and say the function is not pure | |
4344 | nor const. Remove the volatile check for writes. | |
4345 | (analyze_function): Print out the result of the local | |
4346 | analysis pass. | |
4347 | ||
4348 | 2006-11-24 Joseph Myers <joseph@codesourcery.com> | |
4349 | ||
4350 | * config/rs6000/eabispe.h (TARGET_DEFAULT): Include | |
4351 | MASK_STRICT_ALIGN. | |
4352 | * config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise. | |
4353 | * config/rs6000/rs6000.c (rs6000_override_options): Use | |
4354 | MASK_STRICT_ALIGN for 8540 and 8548. Add MASK_STRICT_ALIGN to | |
4355 | POWERPC_MASKS. | |
4356 | ||
4357 | 2006-11-24 Andreas Krebbel <krebbel1@de.ibm.com> | |
4358 | ||
4359 | * config/s390.c (s390_emit_compare_and_swap): New function. | |
4360 | (s390_expand_cs_hqi, s390_expand_atomic): Call | |
4361 | s390_emit_compare_and_swap. | |
4362 | ||
4363 | 2006-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
4364 | ||
4365 | * pa.c (return_addr_rtx): Change 0xe0400002 to -532676606. | |
4366 | ||
4367 | 2006-11-24 Manuel Lopez-Ibanez <manu@gcc.gnu.org> | |
4368 | ||
4369 | PR c/2707 | |
4370 | PR c++/26167 | |
4371 | * c-common.c (conversion_warning): New. | |
4372 | (convert_and_check): Call conversion_warning unless there is an | |
4373 | overflow warning. | |
4374 | * doc/invoke.texi (-Wconversion): Update description. | |
4375 | ||
4376 | 2006-11-23 Daniel Berlin <dberlin@dberlin.org> | |
4377 | ||
4378 | * tree-ssa-alias.c (tree_pointer_compare): New function. | |
4379 | (compact_name_tags): New function. | |
4380 | (group_aliases): Call compact_name_tags. | |
4381 | ||
4382 | 2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> | |
4383 | ||
4384 | * real.h (real_isinteger): Declare. | |
4385 | * real.c (real_isinteger): Define. | |
4386 | * builtins.c (integer_valued_real_p): Use it. | |
4387 | ||
4388 | 2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> | |
4389 | ||
4390 | PR c/9072 | |
4391 | * c.opt (Wtraditional-conversion): New. | |
4392 | (Wconversion): Update description. | |
4393 | * c-typeck.c (convert_arguments): Warnings for prototypes causing | |
4394 | type conversions different from what would happen in the absence | |
4395 | of prototype are now handled by Wtraditional-conversion. | |
4396 | * doc/invoke.texi (Wtraditional-conversion): New. | |
4397 | (Wconversion): Update description. | |
4398 | * doc/trouble.texi (Wconversion): Replace Wconversion by | |
4399 | Wtraditional-conversion. | |
4400 | ||
4401 | 2006-11-23 Andrew Pinski <pinskia@gmail.com> | |
4402 | ||
4403 | * predict.c (tree_estimate_probability): Check to make | |
4404 | sure current_loops is non null before calling flow_loops_dump. | |
4405 | ||
4406 | 2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com> | |
4407 | ||
4408 | * var-tracking.c (emit_note_insn_var_location): Revert previous patch. | |
4409 | ||
4410 | 2006-11-23 David Ung <davidu@mips.com> | |
4411 | ||
4412 | * config/mips/mips.h (ISA_HAS_FP4): Add MIPS32R2 + 64bit fpu | |
4413 | combination. | |
4414 | (ISA_HAS_MXHC1): True if ISA supports mfhc1 and mthc1 opcodes. | |
4415 | (ASM_SPEC): Pass along -mfp32 and -mfp64. | |
4416 | * config/mips/mips.c (mips_split_64bit_move): Use gen_mthc1 to set | |
4417 | high part of FP register when in 64-bit FP register mode. Similarly | |
4418 | use gen_mfhc1 to load high part of FP register. | |
4419 | (override_options): Allow -mgp32 and -mfp64 combination if | |
4420 | ISA_HAS_MXHC1 (currently for O32 only). | |
4421 | (mips_cannot_change_mode_class): If floating-point registers are | |
4422 | bigger than word size. disallow conversion of float register from a | |
4423 | large integer mode to a float mode smaller than the float register | |
4424 | size. | |
4425 | (mips_class_max_nregs): Handle float registers case seperately. | |
4426 | * config/mips/mips.md (define_constants): Add UNSPEC_MFHC1, | |
4427 | UNSPEC_MTHC1. | |
4428 | (movdi_32bit): Use !TARGET_FLOAT64 in condition pattern. | |
4429 | (movdf_hardfloat_32bit): Similarly. | |
4430 | (movdi_gp32_fp64): New DImode pattern for MIPS32R2 which optionally | |
4431 | support a full 64-bit fpu. | |
4432 | (mthc1): New pattern to generate MTHC1 instruction. | |
4433 | (mfhc1): New pattern to generate MFHC1 instruction. | |
4434 | * doc/invoke.texi (MIPS Options): Document the -mgp32 -mfp64 | |
4435 | option for the MIPS32R2 and mention its use under O32 ABI. | |
4436 | ||
4437 | 2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com> | |
4438 | ||
4439 | * var-tracking.c (emit_note_insn_var_location): Take care not to | |
4440 | cause verify_flow_info failures. | |
4441 | ||
4442 | 2006-11-22 Daniel Berlin <dberlin@dberlin.org> | |
4443 | ||
4444 | * tree-ssa-structalias.c: Remove edge weights in favor of just | |
4445 | processing them as complex constraints. | |
4446 | (struct constraint_graph): Remove weighted succs and preds. Rename | |
4447 | nonweighted succs and preds. | |
4448 | (constraint_edge): Removed. | |
4449 | (constraint_edge_t): Ditto. | |
4450 | (constraint_edge_pool): Ditto. | |
4451 | (new_constraint_edge): Ditto. | |
4452 | (constraint_edge_equal): Ditto. | |
4453 | (constraint_edge_less): Ditto. | |
4454 | (constraint_edge_vec_find): Ditto. | |
4455 | (erase_self_graph_edge): Ditto. | |
4456 | (add_graph_edge): Removed. | |
4457 | (get_graph_weights): Ditto. | |
4458 | (allocate_graph_weights): Ditto. | |
4459 | (valid_weighted_graph_edge): Ditto | |
4460 | (bitmap_other_than_zero_bit_set): Ditto. | |
4461 | (int_add_graph_edge): Renamed to add_graph_edge. | |
4462 | (clear_edges_for_node): Remove support for weighted edges. | |
4463 | (merge_graph_nodes): Ditto. | |
4464 | (valid_graph_edge): Ditto. | |
4465 | (build_constraint_graph): Ditto. | |
4466 | (scc_visit): Ditto. | |
4467 | (collapse_nodes): Ditto. | |
4468 | (process_unification_queue): Ditto. | |
4469 | (topo_visit): Ditto. | |
4470 | (do_ds_constraint): Ditto. | |
4471 | (perform_var_subsitution): Ditto. | |
4472 | (solve_graph): Ditto. | |
4473 | (init_alias_vars): Ditto. | |
4474 | (delete_points_to_sets): Ditto. | |
4475 | (do_complex_constraint): Support offsetted copies here. | |
4476 | ||
4477 | 2006-11-23 Ulrich Weigand <uweigand@de.ibm.com> | |
4478 | ||
4479 | * config/spu/spu_intrinsics.h (SPU_RdEventStatMask): Rename to | |
4480 | SPU_RdEventMask. | |
4481 | * config/spu/spu_mfcio.h (spu_read_event_mask): Update. | |
4482 | ||
4483 | * config/spu/spu_mfcio.h (struct mfc_list_element): Change width | |
4484 | of size bitfield. | |
4485 | ||
4486 | 2006-11-23 Ben Elliston <bje@au.ibm.com> | |
4487 | ||
4488 | * config/spu/spu-elf.h (LIB_SPEC): Do not link with -lc_p. | |
4489 | ||
4490 | 2006-11-23 Zdenek Dvorak <dvorakz@suse.cz> | |
4491 | ||
4492 | PR tree-optimization/29921 | |
4493 | * fold-const.c (operand_equal_p): Without HONOR_SIGNED_ZEROS, consider | |
4494 | signed and unsigned zero equal. | |
4495 | ||
4496 | 2006-11-22 Peter Bergner <bergner@vnet.ibm.com> | |
4497 | ||
4498 | * config/rs6000/rs6000.c (get_store_dest): New. | |
4499 | (adjacent_mem_locations): Use get_store_dest() to get | |
4500 | the rtl of the store destination. | |
4501 | ||
4502 | 2006-11-22 Joseph Myers <joseph@codesourcery.com> | |
4503 | ||
4504 | * config/rs6000/spe.md (SPE64): New mode macro. | |
4505 | (mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0. Add | |
4506 | memory load. | |
4507 | (mov_si<mode>_e500_subreg0_2): New. | |
4508 | (mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4. Add | |
4509 | memory load. | |
4510 | (mov_si<mode>_e500_subreg4_2): New. | |
4511 | * config/rs6000/predicates.md (input_operand): Do not allow | |
4512 | invalid E500 subregs. | |
4513 | (rs6000_nonimmediate_operand): Check for invalid E500 subregs also | |
4514 | if TARGET_SPE. | |
4515 | * config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs | |
4516 | involving DFmode if TARGET_E500_DOUBLE. Check for subregs | |
4517 | involving vector modes if TARGET_SPE. | |
4518 | ||
4519 | 2006-11-22 Kaz Kojima <kkojima@gcc.gnu.org> | |
4520 | ||
4521 | Revert | |
4522 | 2006-11-12 Kaz Kojima <kkojima@gcc.gnu.org> | |
4523 | * reorg.c (emit_delay_sequence): Copy the delay slot insn. | |
4524 | ||
4525 | 2006-11-22 Bernd Schmidt <bernd.schmidt@analog.com> | |
4526 | ||
4527 | * config/bfin/predicates.md (d_register_operand, mem_p_address_operand, | |
4528 | mem_i_address_operand): New predicates. | |
4529 | * config/bfin/bfin.c (bfin_issue_rate): New function. | |
4530 | (TARGET_SCHED_ISSUE_RATE): New macro. | |
4531 | * config/bfin/bfin.md (addrtype): New attribute. | |
4532 | (slot0, slot1, slot2, store, pregs): New cpu_units. | |
4533 | (core): Now a define_reservation. | |
4534 | (alu): Remove some insn types from this reservation. | |
4535 | (dsp32, load32, loadp, loadi, store32, storep, storei, multi): New | |
4536 | insn reservations. | |
4537 | (dummy reservation): Don't trigger for mcld insns. | |
4538 | (absence_sets): Two new absence sets to enforce slot ordering. | |
4539 | (popsi_insn): Set addrtype. | |
4540 | ||
4541 | 2006-11-22 Ira Rosen <irar@il.ibm.com> | |
4542 | ||
4543 | * doc/c-tree.texi: Document new tree codes. | |
4544 | * doc/md.texi: Document new optabs. | |
4545 | * tree-pretty-print.c (dump_generic_node): Handle print of new tree | |
4546 | codes. | |
4547 | * optabs.c (optab_for_tree_code, init_optabs): Handle new optabs. | |
4548 | * optabs.h (optab_index): Add new. | |
4549 | (vec_extract_even_optab, vec_extract_odd_optab, | |
4550 | vec_interleave_high_optab, vec_interleave_low_optab): New optabs. | |
4551 | * genopinit.c (vec_extract_even_optab, vec_extract_odd_optab, | |
4552 | vec_interleave_high_optab, vec_interleave_low_optab): Initialize | |
4553 | new optabs. | |
4554 | * expr.c (expand_expr_real_1): Add implementation for new tree codes. | |
4555 | * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields. | |
4556 | * tree-vectorizer.h (stmt_vec_info): Add new fields for interleaving | |
4557 | along with macros for their access. | |
4558 | * tree-data-ref.h (first_location_in_loop, data_reference): Update | |
4559 | comment. | |
4560 | * tree-vect-analyze.c (toplev.h): Include. | |
4561 | (vect_determine_vectorization_factor): Fix indentation. | |
4562 | (vect_insert_into_interleaving_chain, | |
4563 | vect_update_interleaving_chain, vect_equal_offsets): New functions. | |
4564 | (vect_analyze_data_ref_dependence): Add argument for interleaving | |
4565 | check. Check for interleaving if it's true. | |
4566 | (vect_check_dependences): New function. | |
4567 | (vect_analyze_data_ref_dependences): Call vect_check_dependences for | |
4568 | every ddr. Call vect_analyze_data_ref_dependence with new argument. | |
4569 | (vect_update_misalignment_for_peel): Update for interleaving. | |
4570 | (vect_verify_datarefs_alignment): Check only first data-ref for | |
4571 | interleaving. | |
4572 | (vect_enhance_data_refs_alignment): Update for interleaving. Check | |
4573 | only first data-ref for interleaving. | |
4574 | (vect_analyze_data_ref_access): Check interleaving, update | |
4575 | interleaving data. | |
4576 | (vect_analyze_data_refs): Call compute_data_dependences_for_loop | |
4577 | with different parameters. | |
4578 | * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR, | |
4579 | VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): New tree codes. | |
4580 | * tree-inline.c (estimate_num_insns_1): Add cases for new codes. | |
4581 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): | |
4582 | Update step in case of interleaving. | |
4583 | (vect_strided_store_supported, vect_permute_store_chain): New | |
4584 | functions. | |
4585 | (vectorizable_store): Handle strided stores. | |
4586 | (vect_strided_load_supported, vect_permute_load_chain, | |
4587 | vect_transform_strided_load): New functions. | |
4588 | (vectorizable_load): Handle strided loads. | |
4589 | (vect_transform_stmt): Add argument. Handle strided stores. Check | |
4590 | that vectorized stmt exists for patterns. | |
4591 | (vect_gen_niters_for_prolog_loop): Update calculation for | |
4592 | interleaving. | |
4593 | (vect_transform_loop): Remove stmt_vec_info for strided stores after | |
4594 | whole chain vectorization. | |
4595 | * config/rs6000/altivec.md (UNSPEC_EXTEVEN, UNSPEC_EXTODD, | |
4596 | UNSPEC_INTERHI, UNSPEC_INTERLO): New constants. | |
4597 | (vpkuhum_nomode, vpkuwum_nomode, vec_extract_even<mode>, | |
4598 | vec_extract_odd<mode>, altivec_vmrghsf, altivec_vmrglsf, | |
4599 | vec_interleave_high<mode>, vec_interleave_low<mode>): Implement. | |
4600 | ||
4601 | 2006-11-22 Steven Bosscher <steven@gcc.gnu.org> | |
4602 | ||
4603 | * cse.c (enum taken): Remove PATH_AROUND. | |
4604 | (addr_affects_sp_p, invalidate_skipped_set, | |
4605 | invalidate_skipped_block): Remove. | |
4606 | (cse_end_of_basic_block): Remove skip_blocks and related code. | |
4607 | (cse_main): Don't test for flag_cse_skip_blocks. | |
4608 | Update cse_end_of_basic_block call. | |
4609 | (cse_basic_block): Likewise. Remove PATH_AROUND case. Remove | |
4610 | code to lengthen the path if a jump was simplified. | |
4611 | ||
4612 | 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz> | |
4613 | ||
4614 | PR rtl-optimization/29924 | |
4615 | * loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL. | |
4616 | (unroll_loop_runtime_iterations): Assert that the argument passed to | |
4617 | split_edge_and_insert is not NULL. | |
4618 | * loop-doloop.c (add_test): Ditto. | |
4619 | ||
4620 | 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz> | |
4621 | ||
4622 | * tree-loop-linear.c (linear_transform_loops): Use single_exit accessor | |
4623 | functions. | |
4624 | * tree-ssa-loop-niter.c (loop_only_exit_p): Ditto. | |
4625 | * cfgloopmanip.c (update_single_exits_after_duplication, | |
4626 | update_single_exit_for_duplicated_loop, loop_version): Ditto. | |
4627 | * tree-scalar-evolution.c (get_loop_exit_condition, | |
4628 | get_exit_conditions_rec, loop_closed_phi_def, | |
4629 | number_of_iterations_in_loop, scev_const_prop): Ditto. | |
4630 | * tree-ssa-loop-ivopts.c (single_dom_exit): Ditto. | |
4631 | * modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule): | |
4632 | Ditto. | |
4633 | * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): | |
4634 | Ditto. | |
4635 | * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop, | |
4636 | slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2, | |
4637 | slpeel_make_loop_iterate_ntimes, | |
4638 | slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p, | |
4639 | slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge): | |
4640 | Ditto. | |
4641 | * tree-if-conv.c (if_convertible_loop_p): Ditto. | |
4642 | * tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p, | |
4643 | vect_analyze_loop_form): Ditto. | |
4644 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p, | |
4645 | can_convert_to_perfect_nest, perfect_nestify): Ditto. | |
4646 | * tree-vect-transform.c (vect_create_epilog_for_reduction, | |
4647 | vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound, | |
4648 | vect_transform_loop): Ditto. | |
4649 | * cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto. | |
4650 | (single_exit, set_single_exit): New functions. | |
4651 | * cfgloop.h (struct loop): Rename single_exit field to single_exit_. | |
4652 | (single_exit, set_single_exit): Declare. | |
4653 | * doc/loop.texi: Undocument single_exit field. Document single_exit | |
4654 | accessor function. | |
4655 | ||
4656 | 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz> | |
4657 | ||
4658 | PR tree-optimization/29902 | |
4659 | * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if | |
4660 | any involved ssa name appears in abnormal phi node. | |
4661 | ||
4662 | 2006-11-21 Bob Wilson <bob.wilson@acm.org> | |
4663 | ||
4664 | * config/xtensa/xtensa.c (xtensa_char_to_class): Delete. | |
4665 | (xtensa_const_ok_for_letter_p): Delete. | |
4666 | (xtensa_extra_constraint): Delete. | |
4667 | (override_options): Delete xtensa_char_to_class initialization. | |
4668 | * config/xtensa/xtensa.h (REG_CLASS_FROM_LETTER): Delete. | |
4669 | (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
4670 | (EXTRA_CONSTRAINT): Delete. | |
4671 | * config/xtensa/xtensa.md: Include constraints.md. | |
4672 | (call_internal): Combine alternatives. | |
4673 | (call_value_internal): Likewise, and remove invalid constraints. | |
4674 | * config/xtensa/constraints.md: New file. | |
4675 | * config/xtensa/xtensa-protos.h (xtensa_const_ok_for_letter_p): Delete. | |
4676 | (xtensa_extra_constraint): Delete. | |
4677 | * doc/md.texi (Machine Constraints): Refer to constraints.md for | |
4678 | Xtensa constraints. | |
4679 | ||
4680 | 2006-11-21 Janis Johnson <janis187@us.ibm.com> | |
4681 | ||
4682 | * config/dfp-bits.c (DFP_TO_INT): Remove code to saturate result | |
4683 | of conversion that doesn't fit. | |
4684 | ||
4685 | * config/dfp-bit.h (CONTEXT_TRAPS, CONTEXT_ERRORS, DFP_RAISE): Delete. | |
4686 | * config/dfp-bit.c (dfp_unary_op, dfp_binary_op, dfp_compare_op, | |
4687 | DFP_TO_DFP, INT_TO_DFP, BFP_TO_DFP): Remove calls to DFP_RAISE. | |
4688 | ||
4689 | * config/dfp-bit.c (dfp_binary_func): Fix typedef. | |
4690 | ||
4691 | 2006-11-21 Douglas Gregor <doug.gregor@gmail.com> | |
4692 | ||
4693 | * c-common.h (enum rid): Add RID_STATIC_ASSERT. | |
4694 | ||
4695 | 2006-11-21 Richard Guenther <rguenther@suse.de> | |
4696 | ||
4697 | * tree-vectorizer.h (NUM_PATTERNS): Increase. | |
4698 | * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add | |
4699 | vect_recog_pow_pattern. | |
4700 | (vect_recog_pow_pattern): New function. | |
4701 | ||
4702 | 2006-11-21 Bernd Schmidt <bernd.schmidt@analog.com> | |
4703 | ||
4704 | * config/bfin/bfin.opt (mstack-check-l1): New. | |
4705 | * doc/invoke.texi (Blackfin Options): Document it. | |
4706 | * config/bfin/bfin.c (bfin_expand_prologue): Generate code to use | |
4707 | stack bounds in L1 memory if the new option is enabled. | |
4708 | (override_options): Don't allow combinations of -fstack-limit and | |
4709 | -mstack-check-l1. | |
4710 | (add_to_reg): Renamed from add_to_sp. All callers changed. Lose some | |
4711 | dead code. | |
4712 | ||
4713 | * config/bfin/bfin.c (hard_regno_mode_ok): Only allow first 31 | |
4714 | regs for DImode. | |
4715 | (bfin_register_move_cost): Bump costs if trying to move plain | |
4716 | integer values through accumulators. | |
4717 | ||
4718 | 2006-11-21 Ben Elliston <bje@au.ibm.com> | |
4719 | ||
4720 | * config/spu/spu.c (spu_expand_vector_init): Initialise x. | |
4721 | ||
4722 | 2006-11-20 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> | |
4723 | Russell Olsen <Russell_Olsen@playstation.sony.com> | |
4724 | Dmitri Makarov <Dmitri_Makarov@playstation.sony.com> | |
4725 | Yukishige Shibata <shibata@rd.scei.sony.co.jp> | |
4726 | Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp> | |
4727 | Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp> | |
4728 | Andrew Pinski <Andrew_Pinski@playstation.sony.com> | |
4729 | ||
4730 | * config.gcc: Add target for SPU. | |
4731 | * config/spu/constraints.md: New file. | |
4732 | * config/spu/crt0.c: New file. | |
4733 | * config/spu/crtend.c: New file. | |
4734 | * config/spu/crti.asm: New file. | |
4735 | * config/spu/crtn.asm: New file. | |
4736 | * config/spu/float_unsdidf.c: New file. | |
4737 | * config/spu/float_unssidf.c: New file. | |
4738 | * config/spu/predicates.md: New file. | |
4739 | * config/spu/spu-builtins.def: New file. | |
4740 | * config/spu/spu-builtins.h: New file. | |
4741 | * config/spu/spu-builtins.md: New file. | |
4742 | * config/spu/spu-c.c: New file. | |
4743 | * config/spu/spu-elf.h: New file. | |
4744 | * config/spu/spu-modes.def: New file. | |
4745 | * config/spu/spu-protos.h: New file. | |
4746 | * config/spu/spu.c: New file. | |
4747 | * config/spu/spu.h: New file. | |
4748 | * config/spu/spu.md: New file. | |
4749 | * config/spu/spu.opt: New file. | |
4750 | * config/spu/spu_internals.h: New file. | |
4751 | * config/spu/spu_intrinsics.h: New file. | |
4752 | * config/spu/spu_mfcio.h: New file. | |
4753 | * config/spu/t-spu-elf: New file. | |
4754 | * config/spu/vec_types.h: New file. | |
4755 | * config/spu/vmx2spu.h: New file. | |
4756 | * doc/contrib.texi: Document SPU contributor. | |
4757 | * doc/extend.texi: Document SPU extensions. | |
4758 | * doc/invoke.texi: Document SPU options. | |
4759 | * doc/md.texi: Document SPU constraints. | |
4760 | ||
4761 | 2006-11-21 Zdenek Dvorak <dvorakz@suse.cz> | |
4762 | ||
4763 | * cfgloopmanip.c (add_loop, duplicate_loop): Do not set level | |
4764 | of the loop. | |
4765 | * cfgloop.c (flow_loop_level_compute, flow_loops_level_compute): | |
4766 | Removed. | |
4767 | (flow_loop_dump): Do not dump loop level. | |
4768 | (flow_loops_find): Do not call flow_loops_level_compute. | |
4769 | * cfgloop.h (struct loop): Remove level field. | |
4770 | ||
4771 | 2006-11-21 Zdenek Dvorak <dvorakz@suse.cz> | |
4772 | ||
4773 | * tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref, | |
4774 | hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop): | |
4775 | Use vector of edges instead of array. | |
4776 | * tree-ssa-loop-niter.c (find_loop_niter, find_loop_niter_by_eval, | |
4777 | estimate_numbers_of_iterations_loop): Ditto. | |
4778 | * predict.c (predict_loops): Ditto. | |
4779 | * loop-unroll.c (analyze_insns_in_loop): Ditto. | |
4780 | * tree-ssa-threadupdate.c: Remove declaration of heap allocation for | |
4781 | edge vectors. | |
4782 | * basic-block.h: Declare heap allocation for edge vectors. | |
4783 | * tree-outof-ssa.c: Ditto. | |
4784 | * cfgloop.c (get_loop_exit_edges): Return vector of edges. | |
4785 | * cfgloop.h (get_loop_exit_edges): Declaration changed. | |
4786 | ||
4787 | 2006-11-20 Zack Weinberg <zackw@panix.com> | |
4788 | ||
4789 | * gengtype.c (process_gc_options): Remove unnecessary forward decl. | |
4790 | Add another out parameter, "skip". | |
4791 | (set_gc_used_type): Adjust calls to process_gc_options. If a field | |
4792 | is tagged "skip", do not mark its type used. | |
4793 | ||
4794 | 2006-11-20 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
4795 | ||
4796 | PR tree-opt/25500 | |
4797 | * tree-sra.c (single_scalar_field_in_record_p): New function. | |
4798 | (decide_block_copy): Use it. | |
4799 | ||
4800 | 2006-11-20 David Daney <ddaney@avtrex.com> | |
4801 | ||
4802 | * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust | |
4803 | PC to point to following instruction. | |
4804 | ||
4805 | 2006-11-20 Anatoly Sokolov <aesok@post.ru> | |
4806 | ||
4807 | PR target/18553 | |
4808 | PR target/29449 | |
4809 | * config/avr/avr.h (OBJECT_FORMAT_ELF): Define. | |
4810 | ||
4811 | * config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define. | |
4812 | ||
4813 | 2006-11-20 J"orn Rennecke <joern.rennecke@st.com> | |
4814 | ||
4815 | * config.gcc (sh*-superh-elf): Add t-superh to tmake_file. | |
4816 | Add sh/superh.h to tm_file. | |
4817 | ||
4818 | 2006-11-20 Carlos O'Donell <carlos@codesourcery.com> | |
4819 | Mark Mitchell <mark@codesourcery.com> | |
4820 | ||
4821 | * cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and | |
4822 | gcc_exec_prefix. | |
4823 | (cpp_relocated): New function. | |
4824 | * cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix | |
4825 | and cpp_relocated. | |
4826 | * Makefile.in (PREPROCESSOR_DEFINES): Add -DPREFIX option. | |
4827 | * c-incpath.c (add_standard_paths): Call cpp_relocated. If relocated, | |
4828 | replace configured prefix with gcc_exec_prefix. | |
4829 | ||
4830 | 2006-11-20 Bernd Schmidt <bernd.schmidt@analog.com> | |
4831 | ||
4832 | * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Call | |
4833 | bfin_legitimate_constant_p. | |
4834 | * config/bfin/bfin.md (movsi expander): Check return value of | |
4835 | expand_mvoe. | |
4836 | * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Declare. | |
4837 | (expand_move): Adjust prototype. | |
4838 | * config/bfin/bfin.c (expand_move): Now returns bool. Handle | |
4839 | invalid constants specially. | |
4840 | (bfin_cannot_force_const_mem, bfin_legitimate_constant_p): New | |
4841 | functions. | |
4842 | (TARGET_CANNOT_FORCE_CONST_MEM): New macro. | |
4843 | ||
4844 | * config/bfin/bfin.md (call_symbol, call_value_symbol, sibcall_symbol, | |
4845 | sibcall_value_symbol): Allow these patterns if | |
4846 | TARGET_LEAF_ID_SHARED_LIBRARY. | |
4847 | * config/bfin/bfin.c (bfin_expand_call): Allow them here as well. | |
4848 | (override_options): Turn on id shared library flags if -msep-data, | |
4849 | but disallow the combination of these options on the command line. | |
4850 | * config/bfin/bfin.h (TARGET_LEAF_ID_SHARED_LIBRARY, MASK_SEP_DATA | |
4851 | MASK_LEAF_ID_SHARED_LIBRARY, TARGET_SEP_DATA): New macros. | |
4852 | (DRIVER_SELF_SPECS): -mleaf-id-shared-library implies | |
4853 | -mid-shared-library. | |
4854 | (TARGET_SWITCHES): Add -mleaf-id-shared-library and -msep-data. | |
4855 | * doc/invoke.texi (Blackfin Options): Document new switches. | |
4856 | ||
4857 | * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Handle some | |
4858 | edge cases with local functions and TARGET_ID_SHARED_LIBRARY. | |
4859 | ||
4860 | * tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially | |
4861 | inflate costs for addresses with an out-of-bounds address. | |
4862 | ||
4863 | 2006-11-19 Andrew Pinski <pinskia@gmail.com> | |
4864 | ||
4865 | PR rtl-opt/29879 | |
4866 | * fwprop.c (loops): Remove. | |
4867 | (forward_propagate_into): Use current_loops instead of | |
4868 | loops. | |
4869 | (fwprop_init): Call loop_optimizer_init instead of | |
4870 | flow_loops_find. | |
4871 | (fwprop_done): Call loop_optimizer_finalize instead of | |
4872 | flow_loops_free. | |
4873 | (fwprop): Use current_loops instead of loops. | |
4874 | ||
4875 | 2006-11-19 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
4876 | ||
4877 | PR c++/8586 | |
4878 | * c-opts.c (c_common_handle_option): Enable -Wwrite-strings if -Wall. | |
4879 | ||
4880 | 2006-11-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
4881 | ||
4882 | PR target/29114 | |
4883 | * pa.c (emit_move_sequence): Don't split constants with PLUS for modes | |
4884 | larger than BITS_PER_WORD. | |
4885 | ||
4886 | 2006-11-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
4887 | ||
4888 | PR fortran/27885 | |
4889 | PR middle-end/28176 | |
4890 | * stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types | |
4891 | to MAX_FIXED_MODE_SIZE. | |
4892 | ||
4893 | 2006-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
4894 | ||
4895 | * builtins.c (integer_valued_real_p): Handle fmin/fmax. | |
4896 | (fold_builtin_fmin_fmax): New. | |
4897 | (fold_builtin_1): Use it. | |
4898 | ||
4899 | * fold-const.c (fold_strip_sign_ops): Handle copysign. | |
4900 | ||
4901 | 2006-11-18 Richard Guenther <rguenther@suse.de> | |
4902 | ||
4903 | * config/i386/i386.c (ix86_builtins): New array for ix86 | |
4904 | builtin function decls. | |
4905 | (def_builtin): New function. | |
4906 | (def_builtin_const): Likewise. | |
4907 | (ix86_init_mmx_sse_builtins): Mark sqrt and cvt builtins const. | |
4908 | ||
4909 | 2006-11-18 Vladimir Makarov <vmakarov@redhat.com> | |
4910 | ||
4911 | * doc/invoke.texi (core2): Add item. | |
4912 | ||
4913 | * config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New | |
4914 | macros. | |
4915 | (TARGET_CPU_CPP_BUILTINS): Add code for core2. | |
4916 | (TARGET_CPU_DEFAULT_generic): Change value. | |
4917 | (TARGET_CPU_DEFAULT_NAMES): Add core2. | |
4918 | (processor_type): Add new constant PROCESSOR_CORE2. | |
4919 | ||
4920 | * config/i386/i386.md (cpu): Add core2. | |
4921 | ||
4922 | * config/i386/i386.c (core2_cost): New initialized variable. | |
4923 | (m_CORE2): New macro. | |
4924 | (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen, | |
4925 | x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop, | |
4926 | x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, | |
4927 | x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, | |
4928 | x86_partial_reg_dependency, x86_memory_mismatch_stall, | |
4929 | x86_accumulate_outgoing_args, x86_prologue_using_move, | |
4930 | x86_epilogue_using_move, x86_arch_always_fancy_math_387, | |
4931 | x86_sse_partial_reg_dependency, x86_rep_movl_optimal, | |
4932 | x86_use_incdec, x86_four_jump_limit, x86_schedule, | |
4933 | x86_pad_returns): Add m_CORE2. | |
4934 | (override_options): Add entries for Core2. | |
4935 | (ix86_issue_rate): Add case for Core2. | |
4936 | ||
4937 | 2006-11-18 Aldy Hernandez <aldyh@redhat.com> | |
4938 | ||
4939 | * doc/invoke.texi: Fix mno-isel typo. | |
4940 | ||
4941 | 2006-11-18 Joseph Myers <joseph@codesourcery.com> | |
4942 | ||
4943 | * config/rs6000/spe.md (movv4hi_internal): Add alternative for | |
4944 | easy vector constant loads. | |
4945 | ||
4946 | 2006-11-18 Joseph Myers <joseph@codesourcery.com> | |
4947 | ||
4948 | * config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define. | |
4949 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
4950 | __NO_LWSYNC__ if TARGET_NO_LWSYNC. | |
4951 | * config/rs6000/sync.md (lwsync): Emit plain sync if | |
4952 | TARGET_NO_LWSYNC. | |
4953 | ||
4954 | 2006-11-17 DJ Delorie <dj@redhat.com> | |
4955 | ||
4956 | * reload1.c (reloads_unique_chain): New. | |
4957 | (reloads_conflict): Call it. | |
4958 | ||
4959 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> | |
4960 | ||
4961 | * config/xtensa/predicates.md (addsubx_operand): New. | |
4962 | * config/xtensa/xtensa.c (xtensa_emit_branch): New. | |
4963 | (xtensa_emit_bit_branch): New. | |
4964 | (xtensa_emit_movcc): New. | |
4965 | * config/xtensa/xtensa.md (any_minmax): New code macro. | |
4966 | (minmax): New code attribute. | |
4967 | (any_cond, any_scc, any_scc_sf): New code macros. | |
4968 | (*addx2, *addx4, *addx8): Delete. | |
4969 | (*addx): New. | |
4970 | (*subx2, *subx4, *subx8): Delete. | |
4971 | (*subx): New. | |
4972 | (sminsi3, uminsi3, smaxsi3, umaxsi3): Use any_minmax macro. | |
4973 | (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Use any_cond. | |
4974 | (*btrue, *bfalse, *ubtrue, *ubfalse): Use xtensa_emit_branch. | |
4975 | (*bittrue, *bitfalse): Use xtensa_emit_bit_branch. | |
4976 | (seq, sne, sgt, sge, slt, sle): Use any_scc macro. | |
4977 | (movsicc_internal0, movsicc_internal1): Use xtensa_emit_movcc. | |
4978 | (movsfcc_internal0, movsfcc_internal1): Likewise. | |
4979 | (seq_sf, slt_sf, sle_sf): Use any_scc_sf macro. | |
4980 | * config/xtensa/xtensa-protos.h: (xtensa_emit_branch): New. | |
4981 | (xtensa_emit_bit_branch): New. | |
4982 | (xtensa_emit_movcc): New. | |
4983 | (function_arg_boundary): Add missing prototype. | |
4984 | ||
4985 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> | |
4986 | ||
4987 | * config/xtensa/xtensa.md (tstsi): Delete | |
4988 | ||
4989 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> | |
4990 | ||
4991 | * config/xtensa/xtensa.md (entry): Do not emit .frame directive. | |
4992 | ||
4993 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> | |
4994 | ||
4995 | * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. | |
4996 | ||
4997 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> | |
4998 | ||
4999 | * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit. | |
5000 | ||
5001 | 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz> | |
5002 | ||
5003 | * tree-vrp.c (execute_vrp): Do not update current_loops. | |
5004 | * loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with. | |
5005 | * doc/loop.texi: Remove documentation for cancelled functions. | |
5006 | * tree-ssa-loop-im.c (loop_commit_inserts): Removed. | |
5007 | (move_computations, determine_lsm): Use bsi_commit_edge_inserts | |
5008 | instead. | |
5009 | * cfgloopmanip.c (remove_bbs): Do not update loops explicitly. | |
5010 | (remove_path): Ensure that in delete_basic_blocks, the loops | |
5011 | are still allocated. | |
5012 | (add_loop): Work on valid loop structures. | |
5013 | (loopify): Modify call of add_loop. | |
5014 | (mfb_update_loops): Removed. | |
5015 | (create_preheader): Do not update loops explicitly. | |
5016 | (force_single_succ_latches, loop_version): Do not use | |
5017 | loop_split_edge_with. | |
5018 | (loop_split_edge_with): Removed. | |
5019 | * tree-ssa-loop-manip.c (create_iv, determine_exit_conditions): | |
5020 | Do not use bsi_insert_on_edge_immediate_loop. | |
5021 | (split_loop_exit_edge, tree_unroll_loop): Do not use | |
5022 | loop_split_edge_with. | |
5023 | (bsi_insert_on_edge_immediate_loop): Removed. | |
5024 | * tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops. Do not | |
5025 | use loop_split_edge_with. | |
5026 | * cfghooks.c: Include cfgloop.h. | |
5027 | (verify_flow_info): Verify that loop_father is filled iff current_loops | |
5028 | are available. | |
5029 | (redirect_edge_and_branch_force, split_block, delete_basic_block, | |
5030 | split_edge, merge_blocks, make_forwarder_block, duplicate_block): | |
5031 | Update cfg. | |
5032 | * cfgloopanal.c (mark_irreducible_loops): Work if the function contains | |
5033 | no loops. | |
5034 | * modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use | |
5035 | loop_split_edge_with. | |
5036 | (sms_schedule): Use current_loops. | |
5037 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops. | |
5038 | * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set | |
5039 | current_loops. | |
5040 | (rtl_loop_init, rtl_loop_done): Do not set current_loops. | |
5041 | * tree-ssa-sink.c (execute_sink_code): Use current_loops. | |
5042 | * ifcvt.c (if_convert): Ditto. | |
5043 | * predict.c (predict_loops): Do not clear current_loops. | |
5044 | (tree_estimate_probability): Use current_loops. | |
5045 | (propagate_freq): Receive head of the region to propagate instead of | |
5046 | loop. | |
5047 | (estimate_loops_at_level): Do not use shared to_visit bitmap. | |
5048 | (estimate_loops): New function. Handle case current_loops == NULL. | |
5049 | (estimate_bb_frequencies): Do not allocate tovisit. Use | |
5050 | estimate_loops. | |
5051 | * tree-ssa-loop.c (current_loops): Removed. | |
5052 | (tree_loop_optimizer_init): Do not return loops. | |
5053 | (tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops. | |
5054 | * tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1, | |
5055 | slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge): | |
5056 | Do not update loops explicitly. | |
5057 | * function.h (struct function): Add x_current_loops field. | |
5058 | (current_loops): New macro. | |
5059 | * tree-if-conv.c (combine_blocks): Do not update loops explicitly. | |
5060 | * loop-unroll.c (split_edge_and_insert): New function. | |
5061 | (unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not | |
5062 | use loop_split_edge_with. | |
5063 | * loop-doloop.c (add_test, doloop_modify): Ditto. | |
5064 | * tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops. | |
5065 | * cfglayout.c (copy_bbs): Do not update loops explicitly. | |
5066 | * lambda-code.c (perfect_nestify): Do not use loop_split_edge_with. | |
5067 | * tree-vect-transform.c (vect_transform_loop): Do not update loops | |
5068 | explicitly. | |
5069 | * cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order. | |
5070 | (flow_loops_free): Do not free dfs_order and rc_order. | |
5071 | (flow_loops_find): Do not set dfs_order and rc_order in loops | |
5072 | structure. Do not call loops and flow info verification. | |
5073 | (add_bb_to_loop, remove_bb_from_loops): Check whether the block | |
5074 | already belongs to some loop. | |
5075 | * cfgloop.h (struct loops): Remove struct cfg. | |
5076 | (current_loops, loop_split_edge_with): Declaration removed. | |
5077 | (loop_optimizer_init, loop_optimizer_finalize): Declaration changed. | |
5078 | * tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop): | |
5079 | Declaration removed. | |
5080 | * Makefile.in (cfghooks.o): Add CFGLOOP_H dependency. | |
5081 | * basic-block.h (split_edge_and_insert): Declare. | |
5082 | * tree-cfg.c (remove_bb): Do not update loops explicitly. | |
5083 | ||
5084 | 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz> | |
5085 | ||
5086 | PR tree-optimization/29801 | |
5087 | * tree-ssa-ccp.c (get_symbol_constant_value): New function. | |
5088 | (get_default_value): Use get_symbol_constant_value. | |
5089 | (set_lattice_value): ICE when the value of the constant is | |
5090 | changed. | |
5091 | (visit_assignment): Ignore VDEFs of read-only variables. | |
5092 | ||
5093 | 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz> | |
5094 | ||
5095 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Fix | |
5096 | formating. | |
5097 | (vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer, | |
5098 | vect_gen_niters_for_prolog_loop): Fold the emited expressions. | |
5099 | ||
5100 | 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz> | |
5101 | ||
5102 | * tree-ssa-alias.c (new_type_alias): Do not use offset of expr to | |
5103 | select subvars of var. | |
5104 | ||
5105 | 2006-11-17 Jakub Jelinek <jakub@redhat.com> | |
5106 | ||
5107 | PR middle-end/29584 | |
5108 | * tree-ssa-forwprop.c (simplify_switch_expr): Don't | |
5109 | optimize if DEF doesn't have integral type. | |
5110 | ||
5111 | 2006-11-16 Mike Stump <mrs@apple.com> | |
5112 | ||
5113 | * config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on | |
5114 | pre-darwin9 system, unless the user asks for it directly. | |
5115 | (PREFERRED_DEBUGGING_TYPE): Likewise. | |
5116 | * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise. | |
5117 | * config.gcc: Add suppport for darwin9.h. | |
5118 | * config/darwin9.h: Add. | |
5119 | * doc/install.texi (Specific): Clarify darwin documentation. | |
5120 | ||
5121 | 2006-11-16 Richard Earnshaw <rearnsha@arm.com> | |
5122 | ||
5123 | * arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when | |
5124 | optimizing for size. | |
5125 | ||
5126 | 2006-11-16 Mike Stump <mrs@apple.com> | |
5127 | ||
5128 | * Makefile.in (targhooks.o): Add $(OPTABS_H). | |
5129 | ||
5130 | 2006-11-16 Dirk Mueller <dmueller@suse.de> | |
5131 | ||
5132 | * tree-vrp.c (get_value_range): Use XCNEW instead | |
5133 | of XNEW and memset. | |
5134 | (insert_range_assertions): Use XCNEWVEC instead | |
5135 | of XNEWVEC and memset. | |
5136 | (vrp_initialize): Same. | |
5137 | (vrp_finalize): Same. | |
5138 | * tree-ssa-ccp.c (ccp_initialize): Same. | |
5139 | * predict.c (tree_bb_level_predictions): Same. | |
5140 | * calls.c (expand_call): Same. | |
5141 | * tree-ssa-copy.c (init_copy_prop): Same. | |
5142 | (fini_copy_prop): Same. | |
5143 | * tree-ssa-alias.c (get_ptr_info): Use GGC_CNEW instead | |
5144 | of GGC_NEW and memset. | |
5145 | ||
5146 | 2006-11-16 Eric Botcazou <ebotcazou@adacore.com> | |
5147 | ||
5148 | PR middle-end/26306 | |
5149 | * gimplify.c (gimplify_expr): Only force a load for references to | |
5150 | non-BLKmode volatile values. | |
5151 | * doc/implement-c.texi (Qualifiers implementation): Document the | |
5152 | interpretation of what a volatile access is. | |
5153 | * doc/extend.texi (C++ Extensions): Rework same documentation. | |
5154 | ||
5155 | 2006-11-16 Joseph Myers <joseph@codesourcery.com> | |
5156 | ||
5157 | * config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable | |
5158 | memory operand. | |
5159 | ||
5160 | 2006-11-16 Richard Earnshaw <rearnsha@arm.com> | |
5161 | ||
5162 | * arm.md (abssi2): Allow Thumb as well. Use an SImode scratch for | |
5163 | Thumb. | |
5164 | (arm_neg_abssi2): Renamed from neg_abssi2. | |
5165 | (thumb_abssi2, thumb_neg_abssi2): New patterns with splitters. | |
5166 | ||
5167 | 2006-11-16 Uros Bizjak <ubizjak@gmail.com> | |
5168 | ||
5169 | * config/i386/i386.c (ix86_function_sseregparm): Fix comment: | |
5170 | number of arguments passed to local functions in SSE registers is 3. | |
5171 | ||
5172 | * doc/invoke.texi (Function Attributes) [sseregparm]: Correct | |
5173 | number of arguments passed in SSE registers to 3. | |
5174 | ||
5175 | 2006-11-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
5176 | ||
5177 | PR target/29201 | |
5178 | * cfgrtl.c (rtl_delete_block): Move the code for getting last insn of | |
5179 | bb to ... | |
5180 | (get_last_bb_insn): ... new global function. | |
5181 | (basic_block.h): Declare it. | |
5182 | * haifa-sched.c (create_recovery_block): Use it. | |
5183 | ||
5184 | 2006-11-15 H.J. Lu <hongjiu.lu@intel.com> | |
5185 | ||
5186 | PR middle-end/29862 | |
5187 | * real.c (mpfr_from_real): Call mpfr_set_str before gcc_assert. | |
5188 | ||
5189 | 2006-11-15 Paul Brook <paul@codesourcery.com> | |
5190 | ||
5191 | * config/arm/unwind-arm.c (_Unwind_GetDataRelBase, | |
5192 | _Unwind_GetTextRelBase): Move from here ... | |
5193 | * config/arm/pr-support.c (_Unwind_GetDataRelBase, | |
5194 | _Unwind_GetTextRelBase): ... To here. | |
5195 | ||
5196 | 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com> | |
5197 | ||
5198 | * tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory | |
5199 | addresses we generate for testing are aligned. | |
5200 | ||
5201 | 2006-11-15 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
5202 | ||
5203 | PR tree-opt/29788 | |
5204 | * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down | |
5205 | to what is the const decl is a place holder for. | |
5206 | ||
5207 | 2006-11-15 Uros Bizjak <ubizjak@gmail.com> | |
5208 | ||
5209 | * config/i386/i386.opt: New target option -mx87regparm. | |
5210 | ||
5211 | * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno | |
5212 | and float_in_x87 variables. mmx_words, sse_words: Remove. | |
5213 | (X87_REGPARM_MAX): Define. | |
5214 | ||
5215 | * config/i386/i386.c (override_options): Error out for | |
5216 | -mx87regparm but no 80387 support. | |
5217 | (ix86_attribute_table): Add x87regparm. | |
5218 | (ix86_handle_cconv_attribute): Update comments for x87regparm. | |
5219 | (ix86_comp_type_attributes): Check for mismatched x87regparm types. | |
5220 | (ix86_function_x87regparm): New function. | |
5221 | (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating | |
5222 | point registers. | |
5223 | (init_cumulative_args): Initialize x87_nregs and float_in_x87 | |
5224 | variables. | |
5225 | (function_arg_advance): Process x87_nregs and x87_regno when | |
5226 | floating point argument is to be passed in 80387 register. | |
5227 | (function_arg): Pass XFmode arguments in 80387 registers for local | |
5228 | functions. Pass SFmode and DFmode arguments to local functions | |
5229 | in 80387 registers when flag_unsafe_math_optimizations is set. | |
5230 | ||
5231 | * reg-stack.c (convert_regs_entry): Disable NaN load for | |
5232 | stack registers that are used for argument passing. | |
5233 | ||
5234 | * doc/extend.texi: Document x87regparm function attribute. | |
5235 | * doc/invoke.texi: Document -mx87regparm. | |
5236 | ||
5237 | 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com> | |
5238 | ||
5239 | * tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype. | |
5240 | * tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New | |
5241 | arg MODE; all callers changed. Use it to determine validity per | |
5242 | machine mode instead of using Pmode for all memory references. | |
5243 | (get_address_cost): Likewise add and use new arg MEM_MODE. | |
5244 | ||
5245 | 2006-11-15 Rask Ingemann Lambertsen <rask@sygehus.dk> | |
5246 | J"orn Rennecke <joern.rennecke@st.com> | |
5247 | ||
5248 | * combine.c (likely_spilled_retval_1): Fix masking operation. | |
5249 | (likely_spilled_retval_p): Use proper pattern for call to | |
5250 | likely_spilled_retval_1. | |
5251 | ||
5252 | 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com> | |
5253 | ||
5254 | * tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting. | |
5255 | ||
5256 | * config/bfin/bfin.c (legitimize_pic_address): Lose dead code | |
5257 | that tests for CONSTANT_POOL_ADDRESS_P. | |
5258 | ||
5259 | 2006-11-15 Jakub Jelinek <jakub@redhat.com> | |
5260 | ||
5261 | PR tree-optimization/29581 | |
5262 | * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT, | |
5263 | REPLACEMENTS, FIRSTBSI arguments. If initial condition or | |
5264 | type is different between Y and USE, create a temporary | |
5265 | variable, initialize it at the beginning of the body bb | |
5266 | and use it as replacement instead of Y. | |
5267 | ||
5268 | 2006-11-15 Paolo Bonzini <bonzini@gnu.org> | |
5269 | ||
5270 | PR middle-end/29753 | |
5271 | * gimplify.c (fold_indirect_ref_rhs): Use | |
5272 | STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS. | |
5273 | ||
5274 | 2006-11-14 Richard Earnshaw <rearnsha@arm.com> | |
5275 | ||
5276 | * expmed.c (emit_store_flag_1): New function. | |
5277 | (emit_store_flag): Call it. If we can't find a suitable scc insn, | |
5278 | try a cstore insn. | |
5279 | * expr.c (do_store_flag): If we can't find a scc insn, try cstore. | |
5280 | Use do_compare_rtx_and_jump. | |
5281 | * arm.h (BRANCH_COST): Increase to 2 on Thumb. | |
5282 | * arm.md (cstoresi4): New define_expand. | |
5283 | (cstoresi_eq0_thumb, cstoresi_ne0_thumb): Likewise. | |
5284 | (cstoresi_eq0_thumb_insn, cstore_ne0_thumb_insn): New patterns. | |
5285 | (cstoresi_nltu_thumb, thumb_addsi3_addgeu): New patterns. | |
5286 | ||
5287 | 2006-11-14 Caroline Tice <ctice@apple.com> | |
5288 | ||
5289 | * dwarf2out.c (debug_pubtypes_section): New static global variable. | |
5290 | (pubname_entry): Add DEF_VEC_O and DEF_VEC_ALLOC_O statements for | |
5291 | this type. | |
5292 | (pubname_table): Redefine as a vector. | |
5293 | (pubtype_table): New static global variable, defined as a vector. | |
5294 | (pubname_table_allocated): Remove static global variable. | |
5295 | (pubname_table_in_use): Remove static global variable. | |
5296 | (PUBNAME_TABLE_INCREMENT): Remove constant. | |
5297 | (size_of_pubnames): Add parameter to deal with either pubnames or | |
5298 | pubtypes, and change code to deal with table being a vector. | |
5299 | (add_pubname): Change to deal with table being a vector. | |
5300 | (add_pubtype): New function. | |
5301 | (output_pubnames): Add parameter to deal with either pubnames or | |
5302 | pubtypes, and change code to deal with table being a vector. | |
5303 | (gen_array_type_die): Add call to add_pubtype. | |
5304 | (gen_enumeration_type_die): Add call to add_pubtype. | |
5305 | (gen_struct_or_union_type_die): Add call to add_pubtype. | |
5306 | (gen_subroutine_type_die): Add call to add_pubtype. | |
5307 | (gen_typedef_die): Add call to add_pubtype. | |
5308 | (dwarf2out_init): Add code to initialize pubname_table and | |
5309 | pubtype_table vectors; also initialize debug_pubtypes_section. | |
5310 | (prune_unused_types): Change to deal with pubnames being a vector. | |
5311 | (dwarf2out_finish): Change to deal with pubnames being a vector; add | |
5312 | pubnames table to call to output_pubnames; Add code to output pubtypes | |
5313 | table if DEBUG_PUBTYPES_SECTION is defined. | |
5314 | * config/darwin.c (darwin_file_start): Add DEBUG_PUBTYPES_SECTION to | |
5315 | debugnames. | |
5316 | * config/darwin.h (DEBUG_PUBTYPES_SECTION): Define new global variable. | |
5317 | ||
5318 | 2006-11-14 Joseph Myers <joseph@codesourcery.com> | |
5319 | ||
5320 | * config/arm/arm.h (FUNCTION_ARG_ADVANCE): Only adjust | |
5321 | iwmmxt_nregs if TARGET_IWMMXT_ABI. | |
5322 | * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal, | |
5323 | movv2si_internal): Support moves between core registers. | |
5324 | ||
5325 | 2006-11-14 Eric Christopher <echristo@apple.com> | |
5326 | ||
5327 | * configure: Regenerate with autoconf 2.59. | |
5328 | ||
5329 | 2006-11-14 Daniel Berlin <dberlin@dberlin.org> | |
5330 | ||
5331 | Fix PR tree-optimization/27755 | |
5332 | ||
5333 | * tree-ssa-pre.c: Update comments. | |
5334 | (bb_bitmap_sets): Add pa_in and deferred member. | |
5335 | (BB_DEFERRED): New macro. | |
5336 | (maximal_set): New variable. | |
5337 | (pre_stats): Add pa_insert member. | |
5338 | (bitmap_set_and): Short circuit orig == dest. | |
5339 | (bitmap_set_subtract_values): New function. | |
5340 | (bitmap_set_contains_expr): Ditto. | |
5341 | (translate_vuses_through_block): Add phiblock argument. | |
5342 | (dependent_clean): New function. | |
5343 | (compute_antic_aux): Update for maximal_set changes. | |
5344 | (compute_partial_antic_aux): New function. | |
5345 | (compute_antic): Handle partial anticipation. | |
5346 | (do_partial_partial_insertion): New function. | |
5347 | (insert_aux): Handle partial anticipation. | |
5348 | (add_to_sets): Add to maximal set. | |
5349 | (compute_avail): Ditto. | |
5350 | (init_pre): Initialize maximal_set. | |
5351 | (execute_pre): Do partial anticipation if -O3+. | |
5352 | ||
5353 | 2006-11-14 Paolo Bonzini <bonzini@gnu.org> | |
5354 | ||
5355 | PR rtl-optimization/29798 | |
5356 | ||
5357 | * fwprop.c (use_killed_between): Check that DEF_INSN dominates | |
5358 | TARGET_INSN before any other check. | |
5359 | (fwprop_init): Always calculate dominators. | |
5360 | (fwprop_done): Always free them. | |
5361 | ||
5362 | 2006-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
5363 | ||
5364 | * fold-const.c (fold_strip_sign_ops): Handle COMPOUND_EXPR and | |
5365 | COND_EXPR. | |
5366 | ||
5367 | 2006-11-13 DJ Delorie <dj@redhat.com> | |
5368 | ||
5369 | * config/m32c/m32c.c (m32c_prepare_shift): Use a separate | |
5370 | temporary for intermediates. | |
5371 | ||
5372 | 2006-11-13 Kaz Kojima <kkojima@gcc.gnu.org> | |
5373 | ||
5374 | * config/sh/sh.c (expand_cbranchdi4): Initialize skip_label. | |
5375 | (sh_optimize_target_register_callee_saved): #if 0 the code | |
5376 | using NOTE_INSN_LOOP_{BEG,END}. | |
5377 | ||
5378 | 2006-11-13 Roger Sayle <roger@eyesopen.com> | |
5379 | ||
5380 | * fold-const.c (optimize_bit_field_compare): Recursively call | |
5381 | fold when simplifying non-constant comparisons between bit-fields. | |
5382 | ||
5383 | 2006-11-13 Jakub Jelinek <jakub@redhat.com> | |
5384 | ||
5385 | * configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL | |
5386 | test. | |
5387 | * configure: Rebuilt. | |
5388 | ||
5389 | 2006-11-13 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
5390 | ||
5391 | * config/rs6000/cell.md: New file. | |
5392 | * config/rs6000/rs6000.c (rs6000_cell_dont_microcode): New | |
5393 | variable. | |
5394 | (ppccell_cost): New cost matrix. | |
5395 | (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define. | |
5396 | (rs6000_override_options): Set rs6000_always_hint to false | |
5397 | for cell. Also align functions/lables/loops to 8byte | |
5398 | for the Cell. Use PROCESSOR_CELL. | |
5399 | (rs6000_emit_epilogue): Rename using_mfcr_multiple to | |
5400 | using_mtcr_multiple. | |
5401 | (rs6000_variable_issue): If the insn is a nonpipelined instruction | |
5402 | on the Cell, return 0. | |
5403 | (rs6000_adjust_cost): Add Cell cost adjustments. | |
5404 | (is_microcoded_insn): Return true for Cell microcoded | |
5405 | instructions. | |
5406 | (is_nonpipeline_insn): New function. | |
5407 | (rs6000_issue_rate): Add PROCESSOR_CELL. | |
5408 | (rs6000_use_sched_lookahead): If Cell, then we should look ahead 8 | |
5409 | instructions. | |
5410 | (rs6000_use_sched_lookahead_guard): New function. | |
5411 | (rs6000_sched_reorder): Reorder the ready list, if the second | |
5412 | to last ready insn is a nonepipeline insn on the Cell. | |
5413 | * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_CELL. | |
5414 | (ASM_CPU_SPEC): Add Cell. | |
5415 | * config/rs6000/rs6000.md (cpu): Add Cell. | |
5416 | (cell_micro): New Attr. | |
5417 | Include cell.md | |
5418 | ||
5419 | 2006-11-13 Jakub Jelinek <jakub@redhat.com> | |
5420 | ||
5421 | * configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715 | |
5422 | style versions. | |
5423 | * configure: Rebuilt. | |
5424 | ||
5425 | 2006-11-13 Richard Guenther <rguenther@suse.de> | |
5426 | ||
5427 | * config/i386/i386.c (ix86_expand_lround): Handle expand_simple_binop | |
5428 | return value. | |
5429 | (ix86_expand_lfloorceil): Likewise. | |
5430 | (ix86_expand_rint): Likewise. | |
5431 | (ix86_expand_floorceildf_32): Likewise. | |
5432 | (ix86_expand_floorceil): Likewise. | |
5433 | (ix86_expand_rounddf_32): Likewise. | |
5434 | (ix86_expand_truncdf_32): Likewise. | |
5435 | (ix86_expand_round): Likewise. | |
5436 | ||
5437 | 2006-11-13 Carlos O'Donell <carlos@codesourcery.com> | |
5438 | Mark Mitchell <mark@codesourcery.com> | |
5439 | ||
5440 | * gcc.c: Organize search path variables into $prefix relative, | |
5441 | and well-known native. Add comments. | |
5442 | (add_sysrooted_prefix): Add comment. | |
5443 | (process_command): If !gcc_exec_prefix add $prefix based paths. | |
5444 | If *cross_compile == '0', add native well-known paths. | |
5445 | Assert tooldir_base_prefix is always relative. | |
5446 | (main): If print_search_dirs, and if gcc_exec_prefix is set, | |
5447 | use this value for 'install:' path. | |
5448 | * Makefile.in: Add GCC_EXEC_PREFIX to generated site.exp. | |
5449 | ||
5450 | 2006-11-13 H.J. Lu <hongjiu.lu@intel.com> | |
5451 | ||
5452 | * config/i386/i386.c: Fix a typo in comment. | |
5453 | ||
5454 | 2006-11-13 Michael Matz <matz@suse.de> | |
5455 | ||
5456 | * genemit.c (gen_expand): Allocate enough memory. | |
5457 | ||
5458 | 2006-11-13 Joseph Myers <joseph@codesourcery.com> | |
5459 | ||
5460 | * config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define | |
5461 | __GXX_TYPEINFO_EQUALITY_INLINE but not | |
5462 | __GXX_MERGED_TYPEINFO_NAMES. | |
5463 | * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define | |
5464 | __GXX_MERGED_TYPEINFO_NAMES. | |
5465 | * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define | |
5466 | __GXX_TYPEINFO_EQUALITY_INLINE. | |
5467 | ||
5468 | 2006-11-13 H.J. Lu <hongjiu.lu@intel.com> | |
5469 | Zdenek Dvorak <dvorakz@suse.cz> | |
5470 | ||
5471 | PR tree-optimization/29680 | |
5472 | * tree-ssa-operands.c (access_can_touch_variable): Revert fix for | |
5473 | PR 14784. | |
5474 | ||
5475 | 2006-11-12 Jason Merrill <jason@redhat.com> | |
5476 | Andrew Pinski <pinskia@physics.uc.edu> | |
5477 | ||
5478 | PR middle-end/28915 | |
5479 | * gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT | |
5480 | vector ctors. | |
5481 | * tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT | |
5482 | vector ctors. | |
5483 | * expmed.c (make_tree): Handle CONST, SYMBOL_REF. | |
5484 | * tree.c (build_vector): Handle non-_CST elements. | |
5485 | ||
5486 | 2006-11-12 Kaz Kojima <kkojima@gcc.gnu.org> | |
5487 | ||
5488 | * genemit.c (gen_insn): Call gen_exp with a non-null used | |
5489 | when handling multiple insns. | |
5490 | (gen_expand): Likewise. | |
5491 | * reorg.c (emit_delay_sequence): Copy the delay slot insn. | |
5492 | * config/sh/sh.md (ashrsi2_31+1): Copy operands[0]. | |
5493 | (movsi_const_16bit+1): Copy operands[1]. | |
5494 | (call_pcrel): Copy the call_site pattern. | |
5495 | (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise. | |
5496 | ||
5497 | 2006-11-12 Roger Sayle <roger@eyesopen.com> | |
5498 | ||
5499 | * fold-const.c (negate_expr_p) <PLUS_EXPR, MINUS_EXPR>: Correct/refine | |
5500 | condition for transformations. Use !HONOR_SIGN_DEPENDENT_ROUNDING | |
5501 | && !HONOR_SIGNED_ZEROS instead of flag_unsafe_math_optimizations. | |
5502 | (fold_negate_expr) <PLUS_EXPR, MINUS_EXPR>: Likewise. | |
5503 | ||
5504 | 2006-11-12 Daniel Berlin <dberlin@dberlin.org> | |
5505 | ||
5506 | Fix PR tree-optimization/29587 | |
5507 | * tree-ssa-structalias.c (process_constraint): Don't | |
5508 | mark address taken due only to escaped vars constraint. | |
5509 | ||
5510 | 2006-11-12 Michael Matz <matz@suse.de> | |
5511 | Roger Sayle <roger@eyesopen.com> | |
5512 | ||
5513 | PR rtl-optimization/29797 | |
5514 | * ifcvt.c (noce_try_bitop): Correct calculation of bitnum on | |
5515 | BITS_BIG_ENDIAN targets. | |
5516 | ||
5517 | 2006-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
5518 | ||
5519 | * builtins.c (fold_builtin_cosh): New. | |
5520 | (fold_builtin_1): Use it. | |
5521 | * fold-const.c (negate_mathfn_p): Add llround, lround, round, | |
5522 | trunc to the list of "odd" functions. Also add llrint, lrint, | |
5523 | rint and nearbyint when flag_rounding_math is false. | |
5524 | ||
5525 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> | |
5526 | ||
5527 | * tree-flow.h (name_mappings_registered_p): Declare. | |
5528 | * tree-into-ssa.c (name_mappings_registered_p): New function. | |
5529 | * tree-cfg.c (tree_can_merge_blocks_p): Check | |
5530 | name_mappings_registered_p instead of need_ssa_update_p. | |
5531 | ||
5532 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> | |
5533 | ||
5534 | * tree-ssa-loop.c (tree_vectorize): Return the result of | |
5535 | vectorize_loops. | |
5536 | * tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg | |
5537 | if anything changed. | |
5538 | * tree-vectorizer.h (vectorize_loops): Declaration removed. | |
5539 | * tree-flow.h (vectorize_loops): Declaration changed. | |
5540 | ||
5541 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> | |
5542 | ||
5543 | * tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve | |
5544 | comments. | |
5545 | (issue_prefetch_ref): Move assignment to write_p out of loop. | |
5546 | (determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and | |
5547 | SIMULTANEOUS_PREFETCHES into account. | |
5548 | (loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor. | |
5549 | * lambda-code.c (lcm): Renamed to ... | |
5550 | (least_common_multiple): ... and exported. | |
5551 | * tree-flow.h (least_common_multiple): Declare. | |
5552 | ||
5553 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> | |
5554 | ||
5555 | * Makefile.in (tree-data-ref.o): Add langhooks.h dependency. | |
5556 | * tree-ssa-loop-niter.c (derive_constant_upper_bound): Follow | |
5557 | ud-chains. Handle AND_EXPR. | |
5558 | (record_estimate): Record whether the estimate is realistic | |
5559 | and whether it is derived from a loop exit. | |
5560 | (record_nonwrapping_iv, idx_infer_loop_bounds, infer_loop_bounds_from_ref, | |
5561 | infer_loop_bounds_from_array, infer_loop_bounds_from_signedness): New | |
5562 | functions. | |
5563 | (compute_estimated_nb_iterations): Take only realistic bounds into | |
5564 | account. Set estimate_state. Use double_ints. | |
5565 | (infer_loop_bounds_from_undefined): Call infer_loop_bounds_from_array | |
5566 | and infer_loop_bounds_from_signedness. Do not consider basic blocks | |
5567 | that do not have to be always executed. | |
5568 | (estimate_numbers_of_iterations_loop): Set estimate_state, and use it | |
5569 | to determine whether to call infer_loop_bounds_from_undefined | |
5570 | and compute_estimated_nb_iterations. | |
5571 | (n_of_executions_at_most): Use double_ints. | |
5572 | (free_numbers_of_iterations_estimates_loop): Set estimate_state. | |
5573 | (substitute_in_loop_info): Do not replace in estimated_nb_iterations. | |
5574 | * double-int.c (double_int_to_tree): Improve comment. | |
5575 | (double_int_fits_to_tree_p): New function. | |
5576 | * double-int.h (double_int_fits_to_tree_p): Declare. | |
5577 | * tree-data-ref.c: Include langhooks.h. | |
5578 | (estimate_niter_from_size_of_data, estimate_iters_using_array): Removed. | |
5579 | (analyze_array_indexes): Do not call estimate_niter_from_size_of_data. | |
5580 | (analyze_array): Do not pass estimate_only argument to | |
5581 | analyze_array_indexes. | |
5582 | (get_number_of_iters_for_loop): Build tree from the stored double_int | |
5583 | value. | |
5584 | (get_references_in_stmt, find_data_references_in_stmt): New functions. | |
5585 | (find_data_references_in_loop): Use find_data_references_in_stmt. | |
5586 | * tree-data-ref.h (struct data_ref_loc_d): New. | |
5587 | (get_references_in_stmt): Declare. | |
5588 | (estimate_iters_using_array): Declaration removed. | |
5589 | * cfgloop.h (struct nb_iter_bound): Change type of bound to | |
5590 | double_int. Improve comments. Add is_exit and realistic | |
5591 | fields. | |
5592 | (struct loop): Changed type of estimated_nb_iterations to double_int. | |
5593 | Added estimate_state field. | |
5594 | (record_estimate): Declaration removed. | |
5595 | ||
5596 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> | |
5597 | ||
5598 | * params.c (set_param_value): Initialize the "set" field. | |
5599 | * params.h (struct param_info): Add "set" field. | |
5600 | (PARAM_SET_P): New macro. | |
5601 | (PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE, | |
5602 | L1_CACHE_LINE_SIZE): New macros. | |
5603 | * toplev.c (DEFPARAM): Initialize the "set" field. | |
5604 | * tree-ssa-loop-prefetch.c (PREFETCH_LATENCY, | |
5605 | SIMULTANEOUS_PREFETCHES): Removed. | |
5606 | (PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE. | |
5607 | (tree_ssa_prefetch_arrays): Dump the values of the parameters. | |
5608 | * config/sparc/sparc.c: Include params.h. | |
5609 | (sparc_override_options): Set SIMULTANEOUS_PREFETCHES and | |
5610 | L1_CACHE_LINE_SIZE parameters. | |
5611 | * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): | |
5612 | Removed. | |
5613 | * config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): | |
5614 | Removed. | |
5615 | * config/i386/i386.c: Include params.h. | |
5616 | (k8_cost): Change default value for SIMULTANEOUS_PREFETCHES. | |
5617 | (override_options): Set SIMULTANEOUS_PREFETCHES and | |
5618 | L1_CACHE_LINE_SIZE parameters. | |
5619 | * config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed. | |
5620 | (OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and | |
5621 | L1_CACHE_LINE_SIZE parameters. | |
5622 | * config/ia64/ia64.c (ia64_optimization_options): Set | |
5623 | SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters. | |
5624 | * config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK): | |
5625 | Removed. | |
5626 | * params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES, | |
5627 | PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params. | |
5628 | * doc/invoke.texi: Document new params. | |
5629 | ||
5630 | 2006-11-12 Roger Sayle <roger@eyesopen.com> | |
5631 | ||
5632 | PR tree-optimization/13827 | |
5633 | * fold-const.c (fold_binary) <EQ_EXPR, NE_EXPR>: Fold (X&C) op (Y&C) | |
5634 | as ((X^Y)&C) op 0. | |
5635 | ||
5636 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> | |
5637 | ||
5638 | * cfgloopmanip.c (update_single_exit_for_duplicated_loop, | |
5639 | update_single_exit_for_duplicated_loops): New functions. | |
5640 | (duplicate_loop_to_header_edge): Use | |
5641 | update_single_exit_for_duplicated_loops. | |
5642 | * tree-ssa-loop-manip.c (tree_unroll_loop): Call verification | |
5643 | functions only with ENABLE_CHECKING. | |
5644 | ||
5645 | 2006-11-12 Andreas Schwab <schwab@suse.de> | |
5646 | ||
5647 | * except.c (sjlj_emit_function_enter): Remove unused variable. | |
5648 | ||
5649 | 2006-11-11 Roger Sayle <roger@eyesopen.com> | |
5650 | ||
5651 | * fold-const.c (int_binop_types_match_p): New function. | |
5652 | (size_binop): Relax constraint that both arguments must both have | |
5653 | exactly the same sizetype type. Instead use int_binop_types_match_p. | |
5654 | (size_diffop): Likewise. | |
5655 | ||
5656 | (make_range): Use build_int_cst instead of fold_convert. | |
5657 | (fold_cond_expr_with_comparison): Use build_int_cst to construct | |
5658 | integer constants of the correct type. | |
5659 | (fold_div_compare): Likewise. | |
5660 | (fold_single_bit_test): Likewise. | |
5661 | (fold_binary): Likewise. | |
5662 | * stor-layout.c (layout_type) <VECTOR_TYPE>: Ensure that TYPE_SIZE | |
5663 | has type bitsizetype and TYPE_SIZE_UNIT has type sizetype. | |
5664 | ||
5665 | 2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
5666 | ||
5667 | PR rtl-opt/28812 | |
5668 | * alias.c (fixed_scalar_and_varying_struct_p): Don't return a | |
5669 | non null value if the struct memory access is in the 0th | |
5670 | aliasing set. | |
5671 | ||
5672 | 2006-11-12 Jie Zhang <jie.zhang@analog.com> | |
5673 | ||
5674 | Revert | |
5675 | 2006-11-11 Jie Zhang <jie.zhang@analog.com> | |
5676 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ | |
5677 | and __BFIN__. | |
5678 | ||
5679 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std | |
5680 | instead of builtin_define for bfin and BFIN. | |
5681 | ||
5682 | 2006-11-11 Jie Zhang <jie.zhang@analog.com> | |
5683 | ||
5684 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ | |
5685 | and __BFIN__. | |
5686 | ||
5687 | 2006-11-11 Jan Hubicka <jh@suse.cz> | |
5688 | ||
5689 | * extend.texi (__builtin_expect): We no longer require second argument | |
5690 | to be constant. | |
5691 | * gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE. | |
5692 | * builtins.c (expand_builtin_expect): Simplify. | |
5693 | (expand_builtin_expect_jump): Kill. | |
5694 | * final.c (final_scan_insn): Do not skip the removed notes. | |
5695 | * insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER, | |
5696 | EXPECTED_VALUE): Remove. | |
5697 | * dojump.c (do_jump): Do not care about __builtin_expect. | |
5698 | * predict.c (expected_value_to_br_prob): Kill. | |
5699 | * function.c (expand_function_end): Do not expand | |
5700 | NOTE_INSN_REPEATED_LINE_NUMBER. | |
5701 | * print-rtl.c (print_rtx): Do not pretty print the removed notes. | |
5702 | * expect.c (sjlj_emit_function_enter): Emit directly branch probability. | |
5703 | * cfgexpand.c (add_reg_br_prob_note): Export. | |
5704 | * cfgcleanup.c (rest_of_handle_jump2): Do not call | |
5705 | expected_value_to_br_prob. | |
5706 | * cfglayout.c (duplicate_insn_chain): Do not deal with removed notes. | |
5707 | * rtl.h (add_reg_br_prob_note): Declare. | |
5708 | ||
5709 | 2006-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
5710 | ||
5711 | * tree-pretty-print.c (dump_generic_node): Print sign of Inf. | |
5712 | ||
5713 | 2006-11-11 Jan Hubicka <jh@suse.cz> | |
5714 | ||
5715 | * predict.c (predict_loops): Kill RTL variant. | |
5716 | ||
5717 | 2006-11-11 Jan Hubicka <jh@suse.cz> | |
5718 | ||
5719 | * tree-pass.h (pass_purge_lineno_notes): Remove declaration. | |
5720 | * modulo-sched.c (find_line_note): Remove. | |
5721 | (loop_canon_p): Do not worry about line number notes. | |
5722 | (sms_schedule): Likewise. | |
5723 | * cse.c (cse_main): Likewise. | |
5724 | * regmove.c (fixup_match_1): Likewise | |
5725 | * function.c (emit_return_info_block): Likewise. | |
5726 | (expand_function_end): Likewise. | |
5727 | (thread_prologue_an_epilogue_insns): Likewise. | |
5728 | * cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge): | |
5729 | Likewise. | |
5730 | * emit-rtl.c (find_line_note, emit_insn_after_with_line_notes, | |
5731 | emit_note_copy_after): Kill. | |
5732 | (emit_note_copy): Do not worry about line numbers. | |
5733 | * jump.c (purge_line_number_notes): Kill. | |
5734 | (pass_purge_lineno_notes): Kill. | |
5735 | * cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes | |
5736 | call. | |
5737 | * rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill. | |
5738 | * passes.c (init_optimization_passes): Don't purge_lineno_notes. | |
5739 | * sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes. | |
5740 | * tree-pass.h (pass_purge_lineno_notes): Kill. | |
5741 | * sched-ebb.c (schedule_ebb): Don't rm_line_notes, | |
5742 | rm_redundant_line_notes. | |
5743 | * sched-rgb.c (schedule_region): Don't rm_line_notes, | |
5744 | rm_redundant_line_notes. | |
5745 | * sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill. | |
5746 | * haifa-sched.c: Update comment about handling notes. | |
5747 | (unlink_line_notes): Kill. | |
5748 | (rm_line_notes): Kill. | |
5749 | (save_line_notes): Simplify. | |
5750 | (rm_redundant_line_notes): Kill. | |
5751 | ||
5752 | 2006-11-11 Richard Guenther <rguenther@suse.de> | |
5753 | ||
5754 | * tree.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR, FIX_ROUND_EXPR): | |
5755 | Remove unused tree codes. | |
5756 | * tree-vrp.c (extract_range_from_unary_expr): Remove handling | |
5757 | of FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR. | |
5758 | * tree-pretty-print.c (dump_generic_node, op_prio): Likewise. | |
5759 | * tree.c (stabilize_reference): Likewise. | |
5760 | * fold-const.c (fold_convert_const_int_from_real, operand_equal_p, | |
5761 | fold_unary): Likewise. | |
5762 | * tree-gimple.c (is_gimple_cast): Likewise. | |
5763 | * dwarf2out.c (loc_descriptor_from_tree_1): Likewise. | |
5764 | * expr.c (expand_expr_real_1): Likewise. | |
5765 | * tree-eh.c (tree_could_trap_p): Likewise. | |
5766 | * gimplify.c (gimplify_expr): Likewise. | |
5767 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
5768 | * tree-cfg.c (verify_expr): Likewise. | |
5769 | ||
5770 | 2006-11-11 Zdenek Dvorak <dvorakz@suse.cz> | |
5771 | ||
5772 | * tree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch. | |
5773 | * tree-ssa-loop-prefetch.c (dump_mem_ref): Fix target file. | |
5774 | (tree_ssa_prefetch_arrays): Do not dump for removed loops. | |
5775 | ||
5776 | 2006-11-11 Richard Sandiford <richard@codesourcery.com> | |
5777 | ||
5778 | PR middle-end/27528 | |
5779 | * stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the | |
5780 | constraints accept neither registers or memories. | |
5781 | ||
5782 | 2006-11-11 Jie Zhang <jie.zhang@analog.com> | |
5783 | ||
5784 | * config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO. | |
5785 | (NO_PROFILE_COUNTERS): Define as 1. | |
5786 | ||
5787 | 2006-11-10 Roger Sayle <roger@eyesopen.com> | |
5788 | ||
5789 | * fold-const.c (operand_equal_p) <INTEGER_CST, REAL_CST, VECTOR_CST>: | |
5790 | Don't check for TREE_CONSTANT_OVERFLOW when comparing constants. | |
5791 | ||
5792 | 2006-11-10 Peter Bergner <bergner@vnet.ibm.com> | |
5793 | ||
5794 | * rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER. | |
5795 | ||
5796 | 2006-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
5797 | ||
5798 | * builtins.c (fold_builtin_cos): Use fold_strip_sign_ops(). | |
5799 | (fold_builtin_hypot): Likewise. | |
5800 | * fold-const.c (fold_strip_sign_ops): Handle "odd" builtins. | |
5801 | ||
5802 | * fold-const.c (negate_mathfn_p): Add BUILT_IN_ERF. | |
5803 | ||
5804 | 2006-11-10 Roger Sayle <roger@eyesopen.com> | |
5805 | ||
5806 | * tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable) | |
5807 | when attempting to build INTEGER_CSTs of non-integral types. | |
5808 | * expmed.c (make_tree): Use the correct type, i.e. the inner | |
5809 | type, when constructing the individual elements of a CONST_VECTOR. | |
5810 | ||
5811 | 2006-11-10 Jan Hubicka <jh@suse.cz> | |
5812 | ||
5813 | * cse.c (cse_process_notes): Copy the propagated value. | |
5814 | * local-alloc.c (update_equiv_regs): Copy the memory RTX to be used | |
5815 | in REG_EQUIV notes. | |
5816 | * gcse.c (try_replace_reg): Copy the replacement. | |
5817 | * i386.c (emit_i387_cw_initialization): Copy stored_mode. | |
5818 | (assign_386_stack_local): Always return copied memory expression | |
5819 | * function.c (instantiate_virtual_regs_in_insn): Copy the operand | |
5820 | duplicates. | |
5821 | ||
5822 | 2006-11-10 Jan Hubicka <jh@suse.cz> | |
5823 | ||
5824 | * final.c (final): Walk from first instruction. | |
5825 | * cfglayout.c (insn_locators_initialize): Remove line number notes. | |
5826 | ||
5827 | 2006-11-10 Uros Bizjak <ubizjak@gmail.com> | |
5828 | ||
5829 | PR target/29777 | |
5830 | * config/i386/sse.md (smulv8hi3_highpart): Change from define_insn | |
5831 | to define_expand. | |
5832 | (umulv8hi3_highpart): Ditto. | |
5833 | (vec_widen_smult_hi_v8hi): New expander. | |
5834 | (vec_widen_smult_lo_v8hi): Ditto. | |
5835 | ||
5836 | 2006-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
5837 | ||
5838 | PR middle-end/29335 | |
5839 | * builtins.c (do_mpfr_arg3): New. | |
5840 | (fold_builtin_1): Handle builtins fma, fmin and fmax. | |
5841 | ||
5842 | 2006-11-09 Eric Christopher <echristo@apple.com> | |
5843 | ||
5844 | PR bootstrap/26892 | |
5845 | PR bootstrap/27814 | |
5846 | PR other/28994 | |
5847 | * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks. | |
5848 | * config.gcc (powerpc64-*-darwin*): New target. | |
5849 | * config.host: Ditto. | |
5850 | * config/rs6000/darwin64.h: New file. | |
5851 | * config/rs6000/x-darwin64: Ditto. | |
5852 | * config/rs6000/host-ppc64-darwin.c: Ditto. | |
5853 | ||
5854 | 2006-11-09 Steve Ellcey <sje@cup.hp.com> | |
5855 | ||
5856 | * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode | |
5857 | routines for integer division. | |
5858 | ||
5859 | 2006-11-09 Daniel Jacobowitz <dan@codesourcery.com> | |
5860 | ||
5861 | * config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete. | |
5862 | ||
5863 | 2006-11-09 Serge Belyshev <belyshev@depni.sinp.msu.ru> | |
5864 | ||
5865 | PR middle-end/29726 | |
5866 | * fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name. | |
5867 | ||
5868 | 2006-11-09 Andreas Krebbel <krebbel1@de.ibm.com> | |
5869 | ||
5870 | * simplify-rtx.c (avoid_constant_pool_reference): Avoid calling | |
5871 | simplify_subreg with BLKmode outer mode. | |
5872 | ||
5873 | 2006-11-08 Brooks Moses <brooks.moses@codesourcery.com> | |
5874 | ||
5875 | * doc/invoke.texi: Minor formatting fixes in option lists. | |
5876 | ||
5877 | 2006-11-08 Zdenek Dvorak <dvorakz@suse.cz> | |
5878 | ||
5879 | PR tree-optimization/29738 | |
5880 | * tree-ssa-ccp.c: Remove UNKNOWN_VAL from comments. | |
5881 | (ccp_lattice_t): Remove UNKNOWN_VAL. | |
5882 | (dump_lattice_value, ccp_lattice_meet, ccp_visit_phi_node): | |
5883 | Do not handle UNKNOWN_VAL. | |
5884 | (get_default_value): Set initial value of virtual operands to | |
5885 | VARYING. | |
5886 | (get_value): Always use get_default_value on uninitialized | |
5887 | operands. | |
5888 | (set_value_varying, surely_varying_stmt_p): New functions. | |
5889 | (set_lattice_value): Do not pass argument to get_value. | |
5890 | Do not handle UNKNOWN_VAL. | |
5891 | (likely_value): Follow the semantics described in the comment. | |
5892 | (ccp_initialize): Use surely_varying_stmt_p. Do not mark | |
5893 | phi nodes DONT_SIMULATE_AGAIN. | |
5894 | (ccp_fold): Do not pass argument to get_value. | |
5895 | (fold_const_aggregate_ref, visit_assignment): Ditto. Do not | |
5896 | handle UNKNOWN_VAL. | |
5897 | ||
5898 | 2006-11-08 Andrew Pinski <Andrew_Pinski@playstation.sony.com> | |
5899 | ||
5900 | * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use | |
5901 | HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer. | |
5902 | ||
5903 | 2006-11-08 Roger Sayle <roger@eyesopen.com> | |
5904 | ||
5905 | * tree-ssa-propagate.c (set_rhs): Restructure validity tests as a | |
5906 | test for inclusion rather than as a test for exclusion. | |
5907 | * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify | |
5908 | the condition after calling fold_binary. | |
5909 | * fold-const.c (fold_inf_compare): Remove in_gimple_form check. | |
5910 | (fold_binary) <LT_EXPR, GT_EXPR, LE_EXPR, GE_EXPR>: Likewise. | |
5911 | * builtins.c (fold_builtin_isascii): Likewise. | |
5912 | (fold_builtin_isdigit): Likewise. | |
5913 | ||
5914 | 2006-11-08 Carlos O'Donell <carlos@codesourcery.com> | |
5915 | ||
5916 | * configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE. | |
5917 | * configure: Regenerate. | |
5918 | ||
5919 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
5920 | ||
5921 | * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): Take | |
5922 | enum argument instead of bool. | |
5923 | (vect_analyze_operations): Call vectorizable_type_promotion. | |
5924 | * tree-vectorizer.h (type_promotion_vec_info_type): New enum | |
5925 | stmt_vec_info_type value. | |
5926 | (supportable_widening_operation, vectorizable_type_promotion): New | |
5927 | function declarations. | |
5928 | * tree-vect-transform.c (vect_gen_widened_results_half): New function. | |
5929 | (vectorizable_type_promotion): New function. | |
5930 | (vect_transform_stmt): Call vectorizable_type_promotion. | |
5931 | * tree-vect-analyze.c (supportable_widening_operation): New function. | |
5932 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): | |
5933 | Add implementation. | |
5934 | * tree-vect-generic.c (expand_vector_operations_1): Consider correct | |
5935 | mode. | |
5936 | ||
5937 | * tree.def (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR): | |
5938 | (VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR): New tree-codes. | |
5939 | * tree-inline.c (estimate_num_insns_1): Add cases for above new | |
5940 | tree-codes. | |
5941 | * tree-pretty-print.c (dump_generic_node, op_prio): Likewise. | |
5942 | * expr.c (expand_expr_real_1): Likewise. | |
5943 | * optabs.c (optab_for_tree_code): Likewise. | |
5944 | (init_optabs): Initialize new optabs. | |
5945 | * genopinit.c (vec_widen_umult_hi_optab, vec_widen_smult_hi_optab, | |
5946 | vec_widen_smult_hi_optab, vec_widen_smult_lo_optab, | |
5947 | vec_unpacks_hi_optab, vec_unpacks_lo_optab, vec_unpacku_hi_optab, | |
5948 | vec_unpacku_lo_optab): Initialize new optabs. | |
5949 | * optabs.h (OTI_vec_widen_umult_hi, OTI_vec_widen_umult_lo): | |
5950 | (OTI_vec_widen_smult_h, OTI_vec_widen_smult_lo, OTI_vec_unpacks_hi, | |
5951 | OTI_vec_unpacks_lo, OTI_vec_unpacku_hi, OTI_vec_unpacku_lo): New | |
5952 | optab indices. | |
5953 | (vec_widen_umult_hi_optab, vec_widen_umult_lo_optab): | |
5954 | (vec_widen_smult_hi_optab, vec_widen_smult_lo_optab): | |
5955 | (vec_unpacks_hi_optab, vec_unpacku_hi_optab, vec_unpacks_lo_optab): | |
5956 | (vec_unpacku_lo_optab): New optabs. | |
5957 | * doc/md.texi (vec_unpacks_hi, vec_unpacks_lo, vec_unpacku_hi): | |
5958 | (vec_unpacku_lo, vec_widen_umult_hi, vec_widen_umult_lo): | |
5959 | (vec_widen_smult_hi, vec_widen_smult_lo): New. | |
5960 | * doc/c-tree.texi (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR): | |
5961 | (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR, VEC_UNPACK_HI_EXPR): | |
5962 | (VEC_UNPACK_LO_EXPR, VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New. | |
5963 | ||
5964 | * config/rs6000/altivec.md (UNSPEC_VMULWHUB, UNSPEC_VMULWLUB): | |
5965 | (UNSPEC_VMULWHSB, UNSPEC_VMULWLSB, UNSPEC_VMULWHUH, UNSPEC_VMULWLUH): | |
5966 | (UNSPEC_VMULWHSH, UNSPEC_VMULWLSH): New. | |
5967 | (UNSPEC_VPERMSI, UNSPEC_VPERMHI): New. | |
5968 | (vec_vperm_v8hiv4si, vec_vperm_v16qiv8hi): New patterns used to | |
5969 | implement the unsigned unpacking patterns. | |
5970 | (vec_unpacks_hi_v16qi, vec_unpacks_hi_v8hi, vec_unpacks_lo_v16qi): | |
5971 | (vec_unpacks_lo_v8hi): New signed unpacking patterns. | |
5972 | (vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi): | |
5973 | (vec_unpacku_lo_v8hi): New unsigned unpacking patterns. | |
5974 | (vec_widen_umult_hi_v16qi, vec_widen_umult_lo_v16qi): | |
5975 | (vec_widen_smult_hi_v16qi, vec_widen_smult_lo_v16qi): | |
5976 | (vec_widen_umult_hi_v8hi, vec_widen_umult_lo_v8hi): | |
5977 | (vec_widen_smult_hi_v8hi, vec_widen_smult_lo_v8hi): New widening | |
5978 | multiplication patterns. | |
5979 | ||
5980 | * target.h (builtin_mul_widen_even, builtin_mul_widen_odd): New. | |
5981 | * target-def.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): | |
5982 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New. | |
5983 | * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): New. | |
5984 | (rs6000_builtin_mul_widen_odd): New. | |
5985 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined. | |
5986 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined. | |
5987 | * tree-vectorizer.h (enum vect_relevant): New enum type. | |
5988 | (_stmt_vec_info): Field relevant chaned from bool to enum | |
5989 | vect_relevant. | |
5990 | (STMT_VINFO_RELEVANT_P): Updated. | |
5991 | (STMT_VINFO_RELEVANT): New. | |
5992 | * tree-vectorizer.c (new_stmt_vec_info): Use STMT_VINFO_RELEVANT | |
5993 | instead of STMT_VINFO_RELEVANT_P. | |
5994 | * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): | |
5995 | Replace calls to STMT_VINFO_RELEVANT_P with STMT_VINFO_RELEVANT, | |
5996 | and boolean variable with enum vect_relevant. | |
5997 | (vect_mark_stmts_to_be_vectorized): Likewise + update documentation. | |
5998 | * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New. | |
5999 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New. | |
6000 | ||
6001 | 2006-11-08 Richard Henderson <rth@redhat.com> | |
6002 | ||
6003 | * config/i386/sse.md (vec_widen_umult_hi_v8hi, | |
6004 | vec_widen_umult_lo_v8hi): New. | |
6005 | (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si, | |
6006 | vec_widen_umult_hi_v4si, vec_widen_umult_lo_v4si): New. | |
6007 | ||
6008 | * config/i386/i386.c (ix86_expand_sse_unpack): New. | |
6009 | * config/i386/i386-protos.h (ix86_expand_sse_unpack): New. | |
6010 | * config/i386/sse.md (vec_unpacku_hi_v16qi, vec_unpacks_hi_v16qi, | |
6011 | vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi, vec_unpacku_hi_v8hi, | |
6012 | vec_unpacks_hi_v8hi, vec_unpacku_lo_v8hi, vec_unpacks_lo_v8hi, | |
6013 | vec_unpacku_hi_v4si, vec_unpacks_hi_v4si, vec_unpacku_lo_v4si, | |
6014 | vec_unpacks_lo_v4si): New. | |
6015 | ||
6016 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
6017 | ||
6018 | * tree-vect-transform.c (vectorizable_type_demotion): New function. | |
6019 | (vect_transform_stmt): Add case for type_demotion_vec_info_type. | |
6020 | (vect_analyze_operations): Call vectorizable_type_demotion. | |
6021 | * tree-vectorizer.h (type_demotion_vec_info_type): New enum | |
6022 | stmt_vec_info_type value. | |
6023 | (vectorizable_type_demotion): New function declaration. | |
6024 | * tree-vect-generic.c (expand_vector_operations_1): Consider correct | |
6025 | mode. | |
6026 | ||
6027 | * tree.def (VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New tree-codes. | |
6028 | * expr.c (expand_expr_real_1): Add case for VEC_PACK_MOD_EXPR and | |
6029 | VEC_PACK_SAT_EXPR. | |
6030 | * tree-iniline.c (estimate_num_insns_1): Likewise. | |
6031 | * tree-pretty-print.c (dump_generic_node, op_prio): Likewise. | |
6032 | * optabs.c (optab_for_tree_code): Likewise. | |
6033 | ||
6034 | * optabs.c (expand_binop): In case of vec_pack_*_optabs the mode | |
6035 | compared against the predicate of the result is not 'mode' (the input | |
6036 | to the function) but a mode with half the size of 'mode'. | |
6037 | (init_optab): Initialize new optabs. | |
6038 | * optabs.h (OTI_vec_pack_mod, OTI_vec_pack_ssat, OTI_vec_pack_usat): | |
6039 | New optab indices. | |
6040 | (vec_pack_mod_optab, vec_pack_ssat_optab, vec_pack_usat_optab): New | |
6041 | optabs. | |
6042 | * genopinit.c (vec_pack_mod_optab, vec_pack_ssat_optab): | |
6043 | (vec_pack_usat_optab): Initialize new optabs. | |
6044 | * doc/md.texi (vec_pack_mod, vec_pack_ssat, vec_pack_usat): New. | |
6045 | * config/rs6000/altivec.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): New. | |
6046 | ||
6047 | 2006-11-08 Richard Henderson <rth@redehat.com> | |
6048 | ||
6049 | * config/i386/sse.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): | |
6050 | (vec_pack_mod_v2di, vec_interleave_highv16qi, vec_interleave_lowv16qi): | |
6051 | (vec_interleave_highv8hi, vec_interleave_lowv8hi): | |
6052 | (vec_interleave_highv4si, vec_interleave_lowv4si): | |
6053 | (vec_interleave_highv2di, vec_interleave_lowv2di): New. | |
6054 | ||
6055 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
6056 | ||
6057 | * tree-vect-transform.c (vectorizable_reduction): Support multiple | |
6058 | datatypes. | |
6059 | (vect_transform_stmt): Removed redundant code. | |
6060 | ||
6061 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
6062 | ||
6063 | * tree-vect-transform.c (vectorizable_operation): Support multiple | |
6064 | datatypes. | |
6065 | ||
6066 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
6067 | ||
6068 | * tree-vect-transform.c (vect_align_data_ref): Removed. | |
6069 | (vect_create_data_ref_ptr): Added additional argument - ptr_incr. | |
6070 | Updated function documentation. Return the increment stmt in ptr_incr. | |
6071 | (bump_vector_ptr): New function. | |
6072 | (vect_get_vec_def_for_stmt_copy): New function. | |
6073 | (vect_finish_stmt_generation): Create a stmt_info to newly created | |
6074 | vector stmts. | |
6075 | (vect_setup_realignment): Call vect_create_data_ref_ptr with additional | |
6076 | argument. | |
6077 | (vectorizable_reduction, vectorizable_assignment): Not supported yet if | |
6078 | VF is greater than the number of elements that can fit in one vector | |
6079 | word. | |
6080 | (vectorizable_operation, vectorizable_condition): Likewise. | |
6081 | (vectorizable_store, vectorizable_load): Support the case that the VF | |
6082 | is greater than the number of elements that can fit in one vector word. | |
6083 | (vect_transform_loop): Don't fail in case of multiple data-types. | |
6084 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't fail | |
6085 | in case of multiple data-types; the smallest type determines the VF. | |
6086 | (vect_analyze_data_ref_dependence): Don't record datarefs as same_align | |
6087 | if they are of different sizes. | |
6088 | (vect_update_misalignment_for_peel): Compare misalignments in terms of | |
6089 | number of elements rather than number of bytes. | |
6090 | (vect_enhance_data_refs_alignment): Fix/Add dump printouts. | |
6091 | (vect_can_advance_ivs_p): Fix a dump printout | |
6092 | ||
6093 | 2006-11-07 Eric Christopher <echristo@apple.com> | |
6094 | ||
6095 | * libgcc2.c (__bswapdi2): Rename from bswapDI2. | |
6096 | (__bswapsi2): Ditto. | |
6097 | * libgcc2.h: Remove transformation of bswap routines. | |
6098 | * config/i386/i386.md (bswapsi2): New. | |
6099 | (bswapdi2): Ditto. | |
6100 | ||
6101 | 2006-11-07 Jakub Jelinek <jakub@redhat.com> | |
6102 | ||
6103 | * c-common.c (c_common_attributes): Add gnu_inline attribyte. | |
6104 | (handle_gnu_inline_attribute): New function. | |
6105 | * c-decl.c (diagnose_mismatched_decls): Handle gnu_inline attribute. | |
6106 | (merge_decls, start_decl, start_function): Likewise. | |
6107 | * doc/extend.texi: Document gnu_inline attribute. | |
6108 | ||
6109 | 2006-11-07 Steve Ellcey <sje@cup.hp.com> | |
6110 | ||
6111 | PR other/25028 | |
6112 | * config/ia64/t-hpux (LIB1ASMFUNCS): Filter out _fixtfdi, | |
6113 | _fixunstfdi, and _floatditf | |
6114 | ||
6115 | 2006-11-06 Anatoly Sokolov <aesok@post.ru> | |
6116 | ||
6117 | * config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove | |
6118 | prototype. | |
6119 | * config/avr/avr.c (mask_one_bit_p, const_int_pow2_p): Remove. | |
6120 | (output_movhi, ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, | |
6121 | lshrhi3_out, lshrsi3_out): Remove unnecessary code for handling value | |
6122 | which start in an odd register. | |
6123 | ||
6124 | 2006-11-07 Richard Sandiford <richard@codesourcery.com> | |
6125 | ||
6126 | * config/mips/mips.h (ISA_HAS_PREFETCHX): Fix typo. | |
6127 | ||
6128 | 2006-11-07 Josh Conner <jconner@apple.com> | |
6129 | ||
6130 | * doc/invoke.texi (fstrict-aliasing): Move implementation | |
6131 | details... | |
6132 | * doc/tree-ssa.texi (Alias analysis): ...here. | |
6133 | ||
6134 | 2006-11-07 Richard Guenther <rguenther@suse.de> | |
6135 | ||
6136 | PR tree-optimization/29610 | |
6137 | * tree-cfgcleanup.c (cleanup_control_flow): Honor return value | |
6138 | of tree_purge_dead_eh_edges as it may free dominators. | |
6139 | ||
6140 | * g++.dg/other/pr29610.C: New testcase. | |
6141 | ||
6142 | 2006-11-07 David Ung <davidu@mips.com> | |
6143 | ||
6144 | * config/mips/mips.c (mips_rtx_cost_optimize_size): New table of | |
6145 | costs when optimizing for size. | |
6146 | (override_options): Use mips_rtx_cost_optimize_size table for cost | |
6147 | calculations. | |
6148 | ||
6149 | 2006-11-07 Jie Zhang <jie.zhang@analog.com> | |
6150 | ||
6151 | * gcc.c (process_command): Treat -b as normal switch if its argument | |
6152 | has no dash. | |
6153 | ||
6154 | 2006-11-07 David Ung <davidu@mips.com> | |
6155 | ||
6156 | * config/mips/mips.h (ISA_HAS_PREFETCHX): Add ISA_MIPS32R2 to the | |
6157 | list. | |
6158 | ||
6159 | 2006-11-06 Eric Christopher <echristo@apple.com> | |
6160 | ||
6161 | * config.gcc: Add x86_64-darwin host support. | |
6162 | * config.host: Ditto. | |
6163 | * config/i386/darwin64.h: New file. | |
6164 | * config/i386/t-darwin64: Ditto. | |
6165 | ||
6166 | 2006-11-06 Janis Johnson <janis187@us.ibm.com> | |
6167 | ||
6168 | * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists | |
6169 | and output-exists-not. | |
6170 | ||
6171 | 2006-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
6172 | ||
6173 | PR tree-opt/29439 | |
6174 | * tree-vrp.c (vrp_int_const_binop): Use the correct tree when | |
6175 | checking for overflow. | |
6176 | ||
6177 | 2006-11-06 Jan van Dijk <jan@etpmod.phys.tue.nl> | |
6178 | ||
6179 | * configure.ac: Fixed typo in case statement: :: changed to ;; | |
6180 | ||
6181 | 2006-11-06 Bob Wilson <bob.wilson@acm.org> | |
6182 | ||
6183 | * longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3, | |
6184 | count_leading_zeros, and count_trailing_zeros. | |
6185 | * config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define. | |
6186 | (TARGET_FOLD_BUILTIN): Define. | |
6187 | (TARGET_EXPAND_BUILTIN): Define. | |
6188 | (xtensa_init_builtins): New. | |
6189 | (xtensa_fold_builtin): New. | |
6190 | (xtensa_expand_builtin): New. | |
6191 | (xtensa_rtx_costs): Add CTZ and CLZ. Adjust costs for MULT. | |
6192 | * config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define. | |
6193 | (CLZ_DEFINED_VALUE_AT_ZERO): Define. | |
6194 | (CTZ_DEFINED_VALUE_AT_ZERO): Define. | |
6195 | * config/xtensa/xtensa.md (UNSPEC_NSAU): Remove. | |
6196 | (any_extend): New code macro. | |
6197 | (u, su): New code attributes. | |
6198 | (<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New. | |
6199 | (nsau): Remove; replaced by clzsi2. | |
6200 | (ffssi2): Use clzsi2. | |
6201 | * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3, | |
6202 | _clzsi2, _ctzsi2, and _ffssi2. Rename _nsau to _clz. | |
6203 | * config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option. | |
6204 | (__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New. | |
6205 | (__nsau_data): Guard with ifdef L_clz instead of L_nsau. | |
6206 | ||
6207 | 2006-11-06 Vladimir Prus <vladimir@codesourcery.com> | |
6208 | ||
6209 | * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no | |
6210 | set inhibit_libc. | |
6211 | * config/arm/t-strongarm-elf: Likewise. | |
6212 | * config/arm/t-pe: Likewise. | |
6213 | * config/arm/t-arm-elf: Likewise. | |
6214 | * config/arm/t-xscale-elf: Likewise. | |
6215 | * config/arm/t-arm-coff: Likewise. | |
6216 | * config/arm/t-xscale-coff: Likewise. | |
6217 | * config/arm/t-wince-pe: Likewise. | |
6218 | ||
6219 | 2006-11-05 Kaz Kojima <kkojima@gcc.gnu.org> | |
6220 | ||
6221 | * config/sh/lib1funcs-4-300.asm: Guard entire file with | |
6222 | #if !__SHMEDIA__ . | |
6223 | ||
6224 | 2006-11-05 Jakub Jelinek <jakub@redhat.com> | |
6225 | ||
6226 | PR middle-end/29695 | |
6227 | * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0 | |
6228 | simplification. | |
6229 | ||
6230 | 2006-11-04 Uros Bizjak <ubizjak@gmail.com> | |
6231 | ||
6232 | PR target/26915 | |
6233 | * config/i386/i386.c (standard_80387_constant_p): Treat -0.0 and -1.0 | |
6234 | as a valid 80387 constant. | |
6235 | (standard_80387_constant_opcode): Return "#" for -0.0 and -1.0. | |
6236 | * config/i386/i386.md (unnamed splitter): Split the load of | |
6237 | constant -0.0 or -1.0 into the load of 0.0 or 1.0, followed | |
6238 | by negation. | |
6239 | ||
6240 | 2006-11-04 Richard Earnshaw <rearnsha@arm.com> | |
6241 | ||
6242 | * arm.c (thumb_legitimate_addres_p): Allow any constant offset | |
6243 | from the soft-frame, argument and virtual registers. | |
6244 | ||
6245 | 2006-11-04 Uros Bizjak <ubizjak@gmail.com> | |
6246 | ||
6247 | * config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable | |
6248 | patterns for standard 80387 constants. | |
6249 | ||
6250 | 2006-11-03 Paolo Bonzini <bonzini@gnu.org> | |
6251 | Steven Bosscher <steven@gcc.gnu.org> | |
6252 | ||
6253 | * fwprop.c: New file. | |
6254 | * Makefile.in: Add fwprop.o. | |
6255 | * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New. | |
6256 | * passes.c (init_optimization_passes): Schedule forward propagation. | |
6257 | * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second | |
6258 | parameter. | |
6259 | * timevar.def (TV_FWPROP): New. | |
6260 | * common.opt (-fforward-propagate): New. | |
6261 | * opts.c (decode_options): Enable forward propagation at -O2. | |
6262 | * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps. | |
6263 | * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr, | |
6264 | canon_for_address, table_size): Remove. | |
6265 | (new_basic_block, insert, remove_from_table): Remove references to | |
6266 | table_size. | |
6267 | (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make | |
6268 | simplification loop more straightforward by not calling fold_rtx | |
6269 | recursively. | |
6270 | (equiv_constant): Move here a small part of fold_rtx_subreg, | |
6271 | do not call fold_rtx. Call avoid_constant_pool_reference | |
6272 | to process MEMs. | |
6273 | * recog.h (canonicalize_change_group): New. | |
6274 | ||
6275 | * doc/invoke.texi (Optimization Options): Document fwprop. | |
6276 | * doc/passes.texi (RTL passes): Document fwprop. | |
6277 | ||
6278 | 2006-11-03 Geoffrey Keating <geoffk@apple.com> | |
6279 | ||
6280 | * c-decl.c (WANT_C99_INLINE_SEMANTICS): New, set to 1. | |
6281 | (merge_decls): Implement WANT_C99_INLINE_SEMANTICS. | |
6282 | (grokdeclarator): Likewise. | |
6283 | ||
6284 | 2006-11-03 Steven Bosscher <steven@gcc.gnu.org> | |
6285 | ||
6286 | * tree-dump.c (dump_enable_all): Rename local variable | |
6287 | ir_type to avoid name conflicts. | |
6288 | * cfgloopmanip.c (lv_adjust_loop_entry_edge): Check for IR_GIMPLE | |
6289 | instead of using ir_type(). | |
6290 | * profile.c (tree_register_profile_hooks): Likewise. | |
6291 | * value-prof.c (tree_register_value_prof_hooks): Likewise. | |
6292 | * basic-block.h (struct edge_def): Likewise. | |
6293 | * config/arm/arm.c (legitimize_pic_address): Likewise. | |
6294 | * coretypes.h (ir_type): New enum of all intermediate languages | |
6295 | used in GCC. | |
6296 | * cfghooks.c (ir_type): Rename to... | |
6297 | (current_ir_type): ...this. Distinguish between cfgrtl and | |
6298 | cfglayout mode when the current IR is RTL. Return enum ir_type. | |
6299 | * cfghooks.h (ir_type): Replace with current_ir_type prototype. | |
6300 | ||
6301 | 2006-11-03 Paul Brook <paul@codesourcery.com> | |
6302 | ||
6303 | * config/arm/arm.c (arm_file_start): New function. | |
6304 | (TARGET_ASM_FILE_START): Define. | |
6305 | (arm_default_cpu): New variable. | |
6306 | (arm_override_options): Set arm_default_cpu. | |
6307 | ||
6308 | 2006-11-03 David Ung <davidu@mips.com> | |
6309 | ||
6310 | * config/mips/mips.h (processor_type): Removed PROCESSOR_24K, add | |
6311 | PROCESSOR_24KC and PROCESSOR_24KF. | |
6312 | * config/mips/mips.c (mips_cpu_info_table): Add processor names | |
6313 | and aliases for 4kec/4kem/4kep/24kec/24kef/24kex/34kc/34kf/34kx. | |
6314 | (mips_rtx_cost_data): Add costs for the 24kc. | |
6315 | * config/mips/mips.md ("cpu"): Remove 24k, add 24kc and 24kf. | |
6316 | * config/mips/24k.md: Remove references to 24k and replace with | |
6317 | uses of 24kc/24kf in the appropriate reservations. | |
6318 | * doc/invoke.texi (MIPS Options): Updated. | |
6319 | ||
6320 | 2006-11-03 J"orn Rennecke <joern.rennecke@st.com> | |
6321 | ||
6322 | * config/sh/crt1.asm: Fix #ifdef indent. | |
6323 | ||
6324 | 2006-11-03 J"orn Rennecke <joern.rennecke@st.com> | |
6325 | Merged from STMicroelectronics sources: | |
6326 | 2006-10-06 Andrew Stubbs <andrew.stubbs@st.com> | |
6327 | * config/sh/crt1.asm (vbr_600): Add missing #if. | |
6328 | 2006-08-03 J"orn Rennecke <joern.rennecke@st.com> | |
6329 | * sh.opt (mfused-madd): New option. | |
6330 | * sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC. | |
6331 | 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com> | |
6332 | * config/sh/crt1.asm (vbr_start): Move to new section .test.vbr. | |
6333 | Remove pointless handler at VBR+0. | |
6334 | (vbr_200, vbr_300, vbr_500): Remove pointless handler. | |
6335 | (vbr_600): Save and restore mach and macl, fpul and fpscr and fr0 to | |
6336 | fr7. Make sure the timer handler is called with the correct FPU | |
6337 | precision setting, according to the ABI. | |
6338 | 2006-06-14 J"orn Rennecke <joern.rennecke@st.com> | |
6339 | * config/sh/sh.opt (m2a-single, m2a-single-only): Fix Condition. | |
6340 | * config/sh/sh.h (SUPPORT_SH2A_NOFPU): Fix condition. | |
6341 | (SUPPORT_SH2A_SINGLE_ONLY, SUPPORT_SH2A_SINGLE_ONLY): Likewise. | |
6342 | 2006-06-09 J"orn Rennecke <joern.rennecke@st.com> | |
6343 | * sh.md (cmpgeusi_t): Change into define_insn_and_split. Accept | |
6344 | zero as second operand. | |
6345 | 2006-04-28 J"orn Rennecke <joern.rennecke@st.com> | |
6346 | * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm: | |
6347 | Fixed some bugs related to negative values, in particular -0 | |
6348 | and overflow at -0x80000000. | |
6349 | * config/sh/divcost-analysis: Added sh4-300 figures. | |
6350 | 2006-04-27 J"orn Rennecke <joern.rennecke@st.com> | |
6351 | * config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options. | |
6352 | 2006-04-26 J"orn Rennecke <joern.rennecke@st.com> | |
6353 | * config/sh/t-sh (OPT_EXTRA_PARTS): Add libgcc-4-300.a. | |
6354 | ($(T)div_table-4-300.o, $(T)libgcc-4-300.a): New rules. | |
6355 | * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm: | |
6356 | New files. | |
6357 | * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-4-300 for -m4-300* / | |
6358 | -m4-340. | |
6359 | 2006-04-24 J"orn Rennecke <joern.rennecke@st.com> | |
6360 | SH4-300 scheduling description & fixes to SH4-[12]00 description: | |
6361 | * sh.md: New instruction types: fstore, movi8, fpscr_toggle, gp_mac, | |
6362 | mac_mem, mem_mac, dfp_mul, fp_cmp. | |
6363 | (insn_class, dfp_comp, any_fp_comp): Update. | |
6364 | (push_fpul, movsf_ie, fpu_switch, toggle_sz, toggle_pr): Update type. | |
6365 | (cmpgtsf_t, "cmpeqsf_t, cmpgtsf_t_i4, cmpeqsf_t_i4): Likewise. | |
6366 | (muldf3_i): Likewise. | |
6367 | (movsi_i): Split rI08 alternative into two separate alternatives. | |
6368 | Update type. | |
6369 | (movsi_ie, movsi_i_lowpart): Likewise. | |
6370 | (movqi_i): Split ri alternative into two separate alternatives. | |
6371 | Update type. | |
6372 | * sh1.md (sh1_load_store, sh1_fp): Update. | |
6373 | * sh4.md (sh4_store, sh4_mac_gp, fp_arith, fp_double_arith): Update. | |
6374 | (mac_mem, sh4_fpscr_toggle): New insn_reservations. | |
6375 | * sh4a.md (sh4a_mov, sh4a_load, sh4a_store, sh4a_fp_arith): Update. | |
6376 | (sh4a_fp_double_arith): Likewise. | |
6377 | * sh4-300.md: New file. | |
6378 | * sh.c (sh_handle_option): Handle m4-300* options. | |
6379 | (sh_adjust_cost): Fix latency of auto-increments. | |
6380 | Handle SH4-300 differently than other SH4s. Check for new insn types. | |
6381 | * sh.h (OVERRIDE_OPTIONS): Initilize sh_branch_cost if it has not | |
6382 | been set by an option. | |
6383 | * sh.opt (m4-300, m4-100-nofpu, m4-200-nofpu): New options. | |
6384 | (m4-300-nofpu, -m4-340, m4-300-single, m4-300-single-only): Likewise. | |
6385 | (mbranch-cost=): Likewise. | |
6386 | * superh.h (STARTFILE_SPEC): Take -m4-340 into account. | |
6387 | ||
6388 | * sh.md (mulsf3): Remove special expansion code. | |
6389 | (mulsf3_ie): Now a define_insn_and_split. | |
6390 | (macsf3): Allow for TARGET_SH4. | |
6391 | ||
6392 | * sh.md (cbranchsi4, cbranchdi4, cbranchdi4_i): New patterns. | |
6393 | * sh.c (prepare_cbranch_operands, expand_cbranchsi4): New functions. | |
6394 | (expand_cbranchdi4): Likewise. | |
6395 | (sh_rtx_costs): Give lower cost for certain CONST_INT values and for | |
6396 | CONST_DOUBLE if the outer code is COMPARE. | |
6397 | * sh.h (OPTIMIZATION_OPTIONS): If not optimizing for size, set | |
6398 | TARGET_CBRANCHDI4 and TARGET_EXPAND_CBRANCHDI4. | |
6399 | (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, clear TARGET_CBRANCHDI4. | |
6400 | (LEGITIMATE_CONSTANT_P): Also allow DImode and VOIDmode CONST_DOUBLEs. | |
6401 | Remove redundant fp_{zero,one}_operand checks. | |
6402 | * sh.opt (mcbranchdi, mexpand-cbranchdi, mcmpeqdi): New options. | |
6403 | * sh-protos.h (prepare_cbranch_operands, expand_cbranchsi4): Declare. | |
6404 | (expand_cbranchdi4): Likewise. | |
6405 | 2006-04-20 J"orn Rennecke <joern.rennecke@st.com> | |
6406 | * sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT. | |
6407 | ||
6408 | 2006-11-02 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
6409 | ||
6410 | * doc/md.texi (RS6000 constraints): Document H, Z, a, t, and W | |
6411 | constraints. | |
6412 | ||
6413 | 2006-11-02 Brooks Moses <brooks.moses@codesourcery.com> | |
6414 | ||
6415 | * doc/invoke.texi: Fix mfp-trap-mode typo. | |
6416 | ||
6417 | 2006-11-02 Carlos O'Donell <carlos@codesourcery.com> | |
6418 | ||
6419 | * config/arm/linux-elf.h (NEED_INDICATE_EXEC_STACK): Define as 1. | |
6420 | * arm.c (arm_file_end): If NEED_INDICATE_EXEC_STACK call | |
6421 | file_end_indicate_exec_stack. | |
6422 | * arm.h [!NEED_INDICATE_EXEC_STACK] (NEED_INIDCATE_EXEC_STACK): | |
6423 | Define as 0. | |
6424 | * lib1funcs.asm [__ELF__ && __linux__]: Emit .note.GNU-stack section | |
6425 | for a non-executable stack. | |
6426 | * crti.asm: Likewise. | |
6427 | * crtn.asm: Likewise. | |
6428 | * libunwind.S: Likewise. | |
6429 | ||
6430 | 2006-11-02 Ben Elliston <bje@au.ibm.com> | |
6431 | ||
6432 | * tree-ssa.c (warn_uninit): Use expand_location variables for | |
6433 | locus and declaration locus. | |
6434 | ||
6435 | 2006-11-02 Kaz Kojima <kkojima@gcc.gnu.org> | |
6436 | ||
6437 | PR target/27405 | |
6438 | * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove. | |
6439 | (cmpsi{eq,gt,gtu}{si,di}_media): Rename to | |
6440 | cmp{eq,gt,gtu}{si,di}_media. | |
6441 | (*cmpne0si_media): Remove. | |
6442 | (*movsicc_umin): Adjust gen_cmp*_media call. | |
6443 | (unordered): Change the mode of unordered and operands[1] to | |
6444 | SImode. | |
6445 | (seq): Adjust gen_cmp*_media calls. Make the mode of | |
6446 | a temporary result of compare SImode if needed. If the mode | |
6447 | of operands[0] is DImode, extend the temporary result to DImode. | |
6448 | (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise. | |
6449 | (sunorderd): Change the mode of match_operand and unorderd to | |
6450 | SImode. | |
6451 | (cmpeq{sf,df}_media): Remove. | |
6452 | (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media. | |
6453 | (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand | |
6454 | and compare operation to SImode. | |
6455 | ||
6456 | 2006-11-02 Eric Botcazou <ebotcazou@libertysurf.fr> | |
6457 | ||
6458 | * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build | |
6459 | instructions. | |
6460 | (sparc64-sun-solaris2*): Likewise. | |
6461 | ||
6462 | 2006-11-02 Paul Brook <paul@codesourcery.com> | |
6463 | ||
6464 | * config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED | |
6465 | from priority argument. Use different section for non-default | |
6466 | priority. | |
6467 | * config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY. | |
6468 | ||
6469 | 2006-11-02 Eric Botcazou <ebotcazou@adacore.com> | |
6470 | ||
6471 | PR other/29639 | |
6472 | * except.c (switch_to_exception_section): Do not cache the section | |
6473 | if named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined | |
6474 | and flag_function_sections is set. | |
6475 | ||
6476 | 2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
6477 | ||
6478 | PR middle-end/29335 | |
6479 | * builtins.c (do_mpfr_sincos): New. | |
6480 | (fold_builtin_1): Use it to fold builtin sincos. | |
6481 | ||
6482 | 2006-11-01 Roger Sayle <roger@eyesopen.com> | |
6483 | ||
6484 | * config/darwin.h (CPP_SPEC): Handle -pthread, transforming | |
6485 | it into -D_REENTRANT. | |
6486 | ||
6487 | 2006-11-01 Roger Sayle <roger@eyesopen.com> | |
6488 | ||
6489 | * configure.ac (HAVE_AS_IX86_DIFF_SECT_DELTA): New test to determine | |
6490 | whether the assembler supports taking the difference of symbols in | |
6491 | different sections. On x86/Solaris, GAS does but Solaris as doesn't. | |
6492 | * configure: Regenerate. | |
6493 | * config.in: Regenerate. | |
6494 | * config/i386/sol2-10.h (JUMP_TABLES_IN_TEXT_SECTION): Define if | |
6495 | the assembler doesn't support taking the difference of symbols in | |
6496 | different sections, i.e. we're using the native solaris assembler. | |
6497 | ||
6498 | 2006-11-01 Pete Steinmetz <steinmtz@us.ibm.com> | |
6499 | Peter Bergner <bergner@vnet.ibm.com> | |
6500 | ||
6501 | * doc/invoke.texi: Add cpu_type power6x | |
6502 | (RS/6000 and PowerPC Options): Add -mmfpgpr. | |
6503 | * config.gcc: Add cpu_type power6x. | |
6504 | * configure.ac: Add test for mf{t,f}gpr instructions. | |
6505 | (HAVE_AS_MFPGPR): New. | |
6506 | * config.in: Regenerate. | |
6507 | * configure: Regenerate. | |
6508 | * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x. | |
6509 | * config/rs6000/rs6000.md (define_attr "type"): Add insert_dword, | |
6510 | shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr | |
6511 | and mftgpr attributes. | |
6512 | (define_attr "cpu"): Add power6. | |
6513 | Change instruction sequences to use new attributes. | |
6514 | (floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR. | |
6515 | (fix_truncdfsi2_mfpgpr): New. | |
6516 | (floatsidf_ppc64_mfpgpr): New. | |
6517 | (floatsidf_ppc64): Added !TARGET_MFPGPR condition. | |
6518 | (movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New. | |
6519 | (movdf_hardfloat64): Added !TARGET_MFPGPR condition. | |
6520 | (movdi_internal64): Added !TARGET_MFPGPR and related conditions. | |
6521 | (fix_truncdfsi2): Use gpc_reg_operand constraint. | |
6522 | * config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md, | |
6523 | 7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}: | |
6524 | Add descriptions for insert_dword, shift,trap,var_shift_rotate, | |
6525 | cntlz,exts and var_delayed_compare. | |
6526 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
6527 | _ARCH_PWR6X, if features enabled. | |
6528 | * config/rs6000/rs6000.opt (mmfpgpr): New. | |
6529 | * config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable. | |
6530 | (cached_can_issue_more): New variable. | |
6531 | (processor_costs): Add power6_cost. | |
6532 | (rs6000_sched_init): New function. | |
6533 | (is_dispatch_slot_restricted): Deleted. | |
6534 | (set_to_load_agen): New function. | |
6535 | (is_load_insn,is_store_insn): New functions. | |
6536 | (adjacent_mem_locations): New function. | |
6537 | (insn_must_be_first_in_group): New function. | |
6538 | (insn_must_be_last_in_group): New function. | |
6539 | (rs6000_sched_reorder): New function. | |
6540 | (rs6000_sched_reorder2): New function. | |
6541 | (TARGET_SCHED_INIT,TARGET_SCHED_REORDER, | |
6542 | TARGET_SCHED_REORDER2): Define. | |
6543 | (processor_target_table): Use PROCESSOR_POWER6 for power6. | |
6544 | Add power6x. Add MASK_MFPGPR for power6x. | |
6545 | (POWERPC_MASKS): Add MASK_MFPGPR. | |
6546 | (rs6000_override_options): Set rs6000_always_hint to false | |
6547 | for power6. Set rs6000_align_branch_targets. Replace | |
6548 | rs6000_sched_groups check with rs6000_align_branch_targets. | |
6549 | Use PROCESSOR_POWER6. | |
6550 | (last_scheduled_insn): New variable. | |
6551 | (load_store_pendulum): New variable. | |
6552 | (rs6000_variable_issue): Set last_scheduled_insn and | |
6553 | cached_can_issue_more. | |
6554 | (rs6000_adjust_cost): Add power6 cost adjustments. | |
6555 | (rs6000_adjust_priority): Replace is_dispatch_slot_restricted | |
6556 | with insn_must_be_first_in_group. Add power6 priority adjustments. | |
6557 | (rs6000_issue_rate): Add CPU_POWER6. | |
6558 | (insn_terminates_group_p): Use insn_must_be_{first,last}_in_group. | |
6559 | * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6. | |
6560 | (TARGET_MFPGPR): New. | |
6561 | (SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR. | |
6562 | (ASM_CPU_SPEC): Add power6x. | |
6563 | (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode | |
6564 | conditions. | |
6565 | * config/rs6000/power6.md: New file. | |
6566 | ||
6567 | 2006-11-01 Adam Nemet <anemet@caviumnetworks.com> | |
6568 | ||
6569 | * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use | |
6570 | HOST_WIDE_INT_PRINT to print high and low parts. Use | |
6571 | HOST_BITS_PER_WIDE_INT for the width of HOST_WIDE_INT. When | |
6572 | printing a hexadecimal number prefix it with 0x. | |
6573 | ||
6574 | 2006-11-01 Chris Johns <chris@contemporary.net.au> | |
6575 | ||
6576 | PR bootstrap/28400 | |
6577 | * Makefile.in (install-driver): Use exeext when installing | |
6578 | $target-gcc-$version. | |
6579 | ||
6580 | 2006-11-01 Douglas Gregor <doug.gregor@gmail.com> | |
6581 | ||
6582 | * c-common.c (flag_cpp0x): New. | |
6583 | * c-common.h (flag_cpp0x): New. | |
6584 | * c-cppbuiltin.c (c_cpp_builtins): If C++0x extensions are | |
6585 | supported, define __GXX_EXPERIMENTAL_CPP0X__. | |
6586 | * c-opts.c (set_std_cxx0x): New. | |
6587 | (c_common_handle_option): Handle -std=c++0x, -std=gnu++0x. | |
6588 | * c.opt (std=c++0x): Document. | |
6589 | (std=gnu++0x): Ditto. | |
6590 | * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CPP0X__. | |
6591 | * doc/invoke.texi: Document -std=c++0x, -std=gnu++0x. | |
6592 | ||
6593 | 2006-11-01 Richard Guenther <rguenther@suse.de> | |
6594 | ||
6595 | * config/i386/i386.c (ix86_expand_rint): Fix issues with | |
6596 | signed zeros. | |
6597 | (ix86_expand_floorceildf_32): Likewise. | |
6598 | (ix86_expand_floorceil): Likewise. | |
6599 | (ix86_expand_trunc): Likewise. | |
6600 | ||
6601 | 2006-10-31 Andrew Pinski <pinskia@gmail.com> | |
6602 | ||
6603 | * doc/invoke.texi (-fkeep-inline-functions): Change "GNU C" | |
6604 | to "GNU C89". | |
6605 | ||
6606 | 2006-11-01 Danny Smith <dannysmith@users.sourceforge.net> | |
6607 | ||
6608 | * target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target | |
6609 | hook. | |
6610 | * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define | |
6611 | default. | |
6612 | * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): | |
6613 | Override default. | |
6614 | * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document. | |
6615 | * configure.ac (use_cxa_atexit): As a special case, don't test | |
6616 | for libc definition of __cxa_atexit on mingw32 | |
6617 | * configure: Regenerate. | |
6618 | * config.gcc (i[34567]86-pc-mingw32): Default to | |
6619 | enable__cxa_atexit=yes. | |
6620 | ||
6621 | 2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
6622 | ||
6623 | * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE. | |
6624 | ||
6625 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> | |
6626 | ||
6627 | PR 23067 | |
6628 | * c-decl.c (start_struct): Don't create self-containing | |
6629 | structures. | |
6630 | * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align): | |
6631 | New. | |
6632 | * config/rs6000/rs6000-protos.h | |
6633 | (darwin_rs6000_special_round_type_align): New. | |
6634 | * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite. | |
6635 | (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align. | |
6636 | ||
6637 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> | |
6638 | ||
6639 | * toplev.c (compile_file): Call final_write_globals | |
6640 | even if there have been errors. | |
6641 | ||
6642 | 2006-10-31 Eric Christopher <echristo@apple.com> | |
6643 | Falk Hueffner <falk@debian.org> | |
6644 | ||
6645 | * doc/extend.texi (__builtin_bswap32): Document. | |
6646 | (__builtin_bswap64): Ditto. | |
6647 | * doc/libgcc.texi (bswapsi2): Document. | |
6648 | (bswapdi2): Ditto. | |
6649 | * doc/rtl.texi (bswap): Document. | |
6650 | * optabs.c (expand_unop): Don't widen a bswap. | |
6651 | (init_optabs): Init bswap. Set libfuncs explicitly | |
6652 | for bswapsi2 and bswapdi2. | |
6653 | * optabs.h (OTI_bswap): New. | |
6654 | (bswap_optab): Ditto. | |
6655 | * genopinit.c (optabs): Handle bswap_optab. | |
6656 | * tree.h (tree_index): Add TI_UINT32_TYPE and | |
6657 | TI_UINT64_TYPE. | |
6658 | (uint32_type_node): New. | |
6659 | (uint64_type_node): Ditto. | |
6660 | * tree.c (build_common_tree_nodes_2): Initialize | |
6661 | uint32_type_node and uint64_type_node. | |
6662 | * builtins.c (expand_builtin_bswap): New. | |
6663 | (expand_builtin): Call. | |
6664 | (fold_builtin_bswap): New. | |
6665 | (fold_builtin_1): Call. | |
6666 | * fold-const.c (tree_expr_nonnegative_p): Return true | |
6667 | for bswap. | |
6668 | * builtin-types.def (BT_UINT32): New. | |
6669 | (BT_UINT64): Ditto. | |
6670 | (BT_FN_UINT32_UINT32): Ditto. | |
6671 | (BT_FN_UINT64_UINT64): Ditto. | |
6672 | * builtins.def (BUILT_IN_BSWAP32): New. | |
6673 | (BUILT_IN_BSWAP64): Ditto. | |
6674 | * rtl.def (BSWAP): New. | |
6675 | * genattrtab.c (check_attr_value): New. | |
6676 | * libgcc2.c (__bswapSI2): New. | |
6677 | (__bswapDI2): Ditto. | |
6678 | * libgcc2.h (__bswapSI2): Declare. | |
6679 | (__bswapDI2): Ditto. | |
6680 | * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2. | |
6681 | * simplify-rtx.c (simplify_const_unary_operation): Return | |
6682 | 0 for BSWAP. | |
6683 | * libgcc-std.ver (__bwapsi2): Add. | |
6684 | (__bswapdi2): Ditto. | |
6685 | * reload1.c (eliminate_regs_1): Add bswap. | |
6686 | (elimination_effects): Ditto. | |
6687 | * config/i386/i386.h (x86_bswap): New. | |
6688 | (TARGET_BSWAP): Use. | |
6689 | * config/i386/i386.c (x86_bswap): Set. | |
6690 | ||
6691 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> | |
6692 | ||
6693 | * coverage.c (coverage_checksum_string): Update comment. | |
6694 | * dwarf2out.c (switch_to_eh_frame_section): Update for removal | |
6695 | of get_file_function_name. | |
6696 | * cgraphunit.c (cgraph_build_static_cdtor): Update for rename | |
6697 | of get_file_function_name_long. | |
6698 | * tree.c (get_file_function_name): Rename from | |
6699 | get_file_function_name_long; improve comment; handle 'I' and 'D' | |
6700 | specially when the target has ctor/dtor support; remove special | |
6701 | handling for 'F'. | |
6702 | (get_file_function_name): Remove. | |
6703 | * tree.h (get_file_function_name): Rename from | |
6704 | get_file_function_name_long. | |
6705 | (get_file_function_name): Remove prototype. | |
6706 | ||
6707 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> | |
6708 | ||
6709 | * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove. | |
6710 | * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. | |
6711 | ||
6712 | * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@. | |
6713 | Call dsymutil when compiling and linking one or more source files | |
6714 | in one step. | |
6715 | ||
6716 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> | |
6717 | ||
6718 | PR 15834 | |
6719 | * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define. | |
6720 | ||
6721 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> | |
6722 | ||
6723 | * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on | |
6724 | inline static functions in c99 mode. | |
6725 | ||
6726 | PR 16622 | |
6727 | * doc/extend.texi (Inline): Update. | |
6728 | * c-tree.h (struct language_function): Remove field 'extern_inline'. | |
6729 | * c-decl.c (current_extern_inline): Delete. | |
6730 | (pop_scope): Adjust test for an undefined nested function. | |
6731 | Add warning about undeclared inline function. | |
6732 | (diagnose_mismatched_decls): Update comments. Disallow overriding | |
6733 | of inline functions in a translation unit in C99. Allow inline | |
6734 | declarations in C99 at any time. | |
6735 | (merge_decls): Boolize variables. Handle C99 'extern inline' | |
6736 | semantics. | |
6737 | (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle | |
6738 | C99 inline semantics. | |
6739 | (start_function): Don't clear current_extern_inline. Don't set | |
6740 | DECL_EXTERNAL. | |
6741 | (c_push_function_context): Don't push current_extern_inline. | |
6742 | (c_pop_function_context): Don't restore current_extern_inline. | |
6743 | ||
6744 | PR 11377 | |
6745 | * c-typeck.c (build_external_ref): Warn about static variables | |
6746 | used in extern inline functions. | |
6747 | * c-decl.c (start_decl): Warn about static variables declared | |
6748 | in extern inline functions. | |
6749 | ||
6750 | 2006-10-31 Roger Sayle <roger@eyesopen.com> | |
6751 | ||
6752 | PR middle-end/23470 | |
6753 | * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int". | |
6754 | * fold-const.c (tree_expr_nonnegative_p): Likewise. Consider | |
6755 | pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative | |
6756 | or y is an even integer. | |
6757 | ||
6758 | 2006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr> | |
6759 | ||
6760 | PR target/24071 | |
6761 | * gthr-posix.h (__gthread_active_p): New implementation on Solaris. | |
6762 | * gthr-posix95.h (__gthread_active_p): Likewise. | |
6763 | ||
6764 | 2006-10-31 Richard Guenther <rguenther@suse.de> | |
6765 | ||
6766 | * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2, | |
6767 | acossf2, acosxf2, log1psf2, log1pdf2, log1pxf2, ilogbsi2, | |
6768 | expsf2, expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, | |
6769 | exp2sf2, exp2df2, exp2xf2, expm1df2, expm1sf2, expm1xf2, | |
6770 | ldexpdf3, ldexpsf3, ldexpxf3, rintxf2, rintdf2, rintsf2, | |
6771 | lround<mode>di2, lround<mode>si2, floorxf2, floordf2, floorsf2, | |
6772 | lfloor<mode>di2, lfloor<mode>si2, ceilxf2, ceildf2, ceilsf2, | |
6773 | btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on | |
6774 | !optimize_size. | |
6775 | ||
6776 | 2006-10-31 Steven Bosscher <steven@gcc.gnu.org> | |
6777 | ||
6778 | * opts.c (decode_options): Disable CSE skip blocks. | |
6779 | ||
6780 | 2006-10-30 Dirk Mueller <dmueller@suse.de> | |
6781 | ||
6782 | * c-common.h (strict_aliasing_warning): Fix whitespace. | |
6783 | * c-decl (start_function): Move code for main decl warning .. | |
6784 | * c-common.c (check_main_parameter_types): .. here. | |
6785 | * c-common.h (check_main_parameter_types): Declare. | |
6786 | ||
6787 | 2006-10-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
6788 | ||
6789 | PR middle-end/29335 | |
6790 | * builtins.c (fold_builtin_1): Evaluate tgamma using MPFR. | |
6791 | ||
6792 | 2006-10-30 Pete Steinmetz <steinmtz@us.ibm.com> | |
6793 | ||
6794 | * recog.c (store_data_bypass_p): Add support to allow IN_INSN to | |
6795 | be a PARALLEL containing sets. Return false when out_pat is not | |
6796 | a PARALLEL insn. | |
6797 | ||
6798 | 2006-10-30 Richard Sandiford <richard@codesourcery.com> | |
6799 | ||
6800 | * config/mips/mips.md (mul<mode>3): Split into... | |
6801 | (mulsi3, muldi3): ...these separate patterns. | |
6802 | ||
6803 | 2006-10-30 Richard Sandiford <richard@codesourcery.com> | |
6804 | ||
6805 | * config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec, | |
6806 | but with each set of options separated by spaces. | |
6807 | ||
6808 | 2006-10-30 J"orn Rennecke <joern.rennecke@st.com> | |
6809 | ||
6810 | * unwind-dw2.c (uw_init_context_1): Fix test that checks if | |
6811 | dwarf_reg_size_table has been initialized. | |
6812 | ||
6813 | 2006-10-30 Roger Sayle <roger@eyesopen.com> | |
6814 | ||
6815 | * builtins.c (expand_builtin_mathfn_3): Correct coding style. | |
6816 | * ddg.c (print_ddg_edge): Likewise. | |
6817 | * dwarf2out.c (prune_unused_types_walk): Likewise. | |
6818 | * ifcvt.c (noce_try_cmove_arith): Likewise. | |
6819 | * langhooks.c (add_builtin_function): Likewise. | |
6820 | * reg-stack.c (subst_stack_regs_pat): Likewise. | |
6821 | * tree.c (expanded_location): Likewise. | |
6822 | * tree-dump.c (dequeue_and_dump): Likewise. | |
6823 | ||
6824 | 2006-10-30 David Daney <ddaney@avtrex.com> | |
6825 | ||
6826 | * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error. | |
6827 | ||
6828 | 2006-10-30 Jakub Jelinek <jakub@redhat.com> | |
6829 | ||
6830 | PR tree-optimization/29637 | |
6831 | * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT | |
6832 | of the innertype is the innertype itself. | |
6833 | ||
6834 | 2006-10-30 Danny Smith <dannysmith@users.sourceforge.net> | |
6835 | ||
6836 | * dwarf2out.c (file_name_acquire): Correct typo. | |
6837 | ||
6838 | 2006-10-29 Daniel Berlin <dberlin@dberlin.org> | |
6839 | ||
6840 | * tree.h (tree_value_handle): Remove struct value_set declaration. | |
6841 | Change value_set to bitmap_set. | |
6842 | * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann. | |
6843 | * tree-vn.c (get_value_handle): Made inline and moved to | |
6844 | tree-flow-inline.h. | |
6845 | * tree-flow-inline.h: (has_stmt_ann): New function. | |
6846 | * tree-ssa-pre.c (expressions): New variable. | |
6847 | (next_expression_id): Ditto. | |
6848 | (alloc_expression_id): New function. | |
6849 | (struct value_set): Remove. | |
6850 | (get_expression_id): New function. | |
6851 | (get_or_alloc_expression_id): Ditto. | |
6852 | (expression_for_id): Ditto. | |
6853 | (clear_expression_ids): Ditto. | |
6854 | (FOR_EACH_EXPR_ID_IN_SET): New macro. | |
6855 | (bb_value_sets): Renamed to bb_bitmap_sets. | |
6856 | All value sets replaced with bitmap_sets. | |
6857 | Add visited member. | |
6858 | (BB_VISITED): New macro. | |
6859 | (postorder): New variable. | |
6860 | (add_to_value): Removed. | |
6861 | (value_exists_in_set_bitmap): Ditto. | |
6862 | (value_insert_into_set_bitmap): Ditto. | |
6863 | (set_new): Ditto. | |
6864 | (set_copy): Ditto. | |
6865 | (set_remove): Ditto. | |
6866 | (set_contains_value): Ditto. | |
6867 | (insert_into_set): Ditto. | |
6868 | (set_equal): Ditto. | |
6869 | (find_leader): Ditto. | |
6870 | (bitmap_set_subtract_from_value_set): Ditto. | |
6871 | (value_insert_into_set): Ditto. | |
6872 | (print_value_set): Ditto. | |
6873 | (debug_value_set): Ditto. | |
6874 | (constant_expr_p): New function. | |
6875 | (bitmap_remove_from_set): Ditto. | |
6876 | (bitmap_insert_into_set): Ditto. | |
6877 | (bitmap_set_free): Ditto. | |
6878 | (vh_compare): Ditto. | |
6879 | (sorted_array_from_bitmap_set): Ditto. | |
6880 | (bitmap_set_subtract): Ditto. | |
6881 | (bitmap_set_equal): Ditto. | |
6882 | (debug_bitmap_set): Ditto. | |
6883 | (find_leader_in_sets): Ditto. | |
6884 | (bitmap_set_replace_value): Modify for bitmapped sets. | |
6885 | (phi_translate): Ditto. | |
6886 | (phi_translate_set): Ditto. | |
6887 | (bitmap_find_leader): Ditto. | |
6888 | (valid_in_sets): Ditto. | |
6889 | (union_contains_value): Ditto. | |
6890 | (clean): Ditto. | |
6891 | (compute_antic_aux): Ditto. Mark changed blocks. | |
6892 | (compute_antic): Ditto. Iterate in postorder and only over | |
6893 | changing blocks. | |
6894 | (compute_rvuse_and_antic_safe): Reuse postorder. | |
6895 | (create_component_ref_by_pieces): Modify for bitmapped sets. | |
6896 | (find_or_generate_expression): Ditto. | |
6897 | (create_expression_by_pieces): Ditto. | |
6898 | (insert_into_preds_of_block): Ditto. | |
6899 | (changed_blocks): New variable. | |
6900 | (do_regular_insertion): Broken out from insert_aux. | |
6901 | (insert_aux): Modified for bitmapped sets. | |
6902 | (find_existing_value_expr): New function. | |
6903 | (create_value_expr_from): Use it. | |
6904 | (insert_extra_phis): Removed. | |
6905 | (print_bitmap_set): Renamed from bitmap_print_value_set. | |
6906 | (compute_avail): Handle RETURN_EXPR. | |
6907 | (init_pre): Modify for bitmapped sets. | |
6908 | * tree-flow.h (has_stmt_ann): New function. | |
6909 | ||
6910 | 2006-10-29 Roger Sayle <roger@eyesopen.com> | |
6911 | ||
6912 | * builtins.c (fold_builtin_floor): Check for the availability of | |
6913 | the C99 trunc function before transforming floor into trunc. | |
6914 | ||
6915 | 2006-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
6916 | ||
6917 | * builtins.c (fold_builtin_hypot): Rearrange recursive | |
6918 | transformation before others, and also do ABS_EXPR. When | |
6919 | necessary, check flag_unsafe_math_optimizations. When necessary, | |
6920 | add fabs. | |
6921 | ||
6922 | 2006-10-29 Roger Sayle <roger@eyesopen.com> | |
6923 | ||
6924 | * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X. | |
6925 | Fold ~X op C as X op' ~C, where op' is the swapped comparison. | |
6926 | (fold_binary): ~X eq/ne C is now handled in fold_comparison. | |
6927 | Fold -X eq/ne -Y as X eq/ne Y. | |
6928 | ||
6929 | 2006-10-29 Richard Sandiford <richard@codesourcery.com> | |
6930 | ||
6931 | * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than | |
6932 | GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3 | |
6933 | rather than GENERATE_MULT3_SI in the various define_peephole2s. | |
6934 | (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI. | |
6935 | Use an inclusive test for "mult" rather than "mul". | |
6936 | (rotr<mode>3): Depend on ISA_HAS_ROR. | |
6937 | * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of | |
6938 | ISA_HAS_MUL3. | |
6939 | (GENERATE_MULT3_DI): Delete. | |
6940 | (ISA_HAS_64BIT_REGS): Use consistent formatting. | |
6941 | (ISA_HAS_MUL3): New macro. | |
6942 | (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting. | |
6943 | (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise. | |
6944 | (ISA_HAS_CLZ_CLO): Likewise. | |
6945 | (ISA_HAS_DCLZ_DCLO): Delete. | |
6946 | (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16. | |
6947 | (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just | |
6948 | the VR4120 and VR4130. | |
6949 | (ISA_HAS_MACCHI): Use consistent formatting. | |
6950 | (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of... | |
6951 | (ISA_HAS_ROR): ...this new macro. | |
6952 | (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting. | |
6953 | (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise. | |
6954 | (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1. | |
6955 | ||
6956 | 2006-10-29 Roger Sayle <roger@eyesopen.com> | |
6957 | ||
6958 | PR tree-optimization/15458 | |
6959 | * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C | |
6960 | is a constant. | |
6961 | ||
6962 | 2006-10-29 Richard Guenther <rguenther@suse.de> | |
6963 | ||
6964 | * config/i386/i386-protos.h (ix86_expand_trunc): Declare. | |
6965 | (ix86_expand_truncdf_32): Likewise. | |
6966 | * config/i386/i386.c (ix86_expand_trunc): New function expanding | |
6967 | trunc inline for SSE math and -fno-trapping-math and if not | |
6968 | optimizing for size. | |
6969 | (ix86_expand_truncdf_32): Same for DFmode on 32bit archs. | |
6970 | * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders | |
6971 | for expanding btrunc inline for SSE math. | |
6972 | ||
6973 | 2006-10-29 Joseph Myers <joseph@codesourcery.com> | |
6974 | ||
6975 | * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all. | |
6976 | Handle tuning for bi-arch i[34567]86-*-linux* like that for | |
6977 | i[34567]86-*-solaris2.1[0-9]*. | |
6978 | * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS): | |
6979 | Define conditionally depending on TARGET_64BIT_DEFAULT. | |
6980 | (SPEC_32, SPEC_64): Define. | |
6981 | (LINK_SPEC): Use them. | |
6982 | * doc/install.texi (--enable-targets=all): Document for x86-linux. | |
6983 | ||
6984 | 2006-10-29 Richard Guenther <rguenther@suse.de> | |
6985 | ||
6986 | * config/i386/i386-protos.h (ix86_expand_round): Declare. | |
6987 | (ix86_expand_rounddf_32): Likewise. | |
6988 | * config/i386/i386.c (ix86_expand_round): New function expanding | |
6989 | round inline for SSE math and -fno-trapping-math and if not | |
6990 | optimizing for size. | |
6991 | (ix86_expand_rounddf_32): Same for DFmode on 32bit archs. | |
6992 | * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding | |
6993 | round via ix86_expand_round. | |
6994 | ||
6995 | 2006-10-29 Richard Guenther <rguenther@suse.de> | |
6996 | ||
6997 | * config/i386/i386-protos.h (ix86_expand_floorceil): Declare. | |
6998 | (ix86_expand_floorceildf_32): Likewise. | |
6999 | * config/i386/i386.c (ix86_expand_sse_compare_mask): New | |
7000 | static helper function. | |
7001 | (ix86_expand_floorceil): Expander for floor and ceil to SSE | |
7002 | math. | |
7003 | (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs. | |
7004 | * config/i386/i386.md (floordf2): Adjust to enable floor | |
7005 | expansion via ix86_expand_floorceil if TARGET_SSE_MATH and | |
7006 | -fno-trapping-math is enabled and if not optimizing for size. | |
7007 | (floorsf2, ceildf2, ceilsf2): Likewise. | |
7008 | * config/i386/sse.md (sse_maskcmpsf3): New insn. | |
7009 | (sse2_maskcmpdf3): Likewise. | |
7010 | ||
7011 | 2006-10-29 Richard Guenther <rguenther@suse.de> | |
7012 | ||
7013 | * builtins.c (expand_builtin_mathfn): Expand nearbyint as | |
7014 | rint in case -fno-trapping-math is enabled. | |
7015 | * config/i386/i386-protos.h (ix86_expand_rint): Declare. | |
7016 | * config/i386/i386.c (ix86_gen_TWO52): New static helper function. | |
7017 | (ix86_expand_sse_fabs): Likewise. | |
7018 | (ix86_expand_rint): New function expanding rint to x87 or SSE math. | |
7019 | * config/i386/i386.md (rintdf2): Enable for SSE math if | |
7020 | -fno-trapping-math is enabled, use ix86_expand_rint for expansion. | |
7021 | (rintsf2): Likewise. | |
7022 | ||
7023 | 2006-10-29 Richard Guenther <rguenther@suse.de> | |
7024 | ||
7025 | * genopinit.c (optabs): Change lfloor_optab and lceil_optab | |
7026 | to conversion optabs. | |
7027 | * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab | |
7028 | as conversion optab. | |
7029 | * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil. | |
7030 | (enum convert_optab_index): Add COI_lfloor and COI_lceil. | |
7031 | (lfloor_optab, lceil_optab): Adjust defines. | |
7032 | * builtins.c (expand_builtin_int_roundingfn): Adjust for | |
7033 | lfloor and lceil optabs now being conversion optabs. | |
7034 | * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare. | |
7035 | * config/i386/i386.c (ix86_expand_sse_compare_and_jump): | |
7036 | New static helper function. | |
7037 | (ix86_expand_lfloorceil): New function to expand lfloor and | |
7038 | lceil inline. | |
7039 | * config/i386/i386.md (lfloor<mode>2): Split into ... | |
7040 | (lfloorxf<mode>2): ... x87 variant | |
7041 | (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants | |
7042 | using ix86_expand_lfloorceil. | |
7043 | (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2): | |
7044 | Likewise. | |
7045 | * doc/md.texi (lfloorMN, lceilMN): Document. | |
7046 | ||
7047 | 2006-10-29 Richard Sandiford <richard@codesourcery.com> | |
7048 | ||
7049 | * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the | |
7050 | -mno-shared assembler option on mips targets. | |
7051 | * configure, config.in: Regenerate. | |
7052 | * config/mips/linux.h (NO_SHARED_SPECS): New macro. | |
7053 | (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty. | |
7054 | * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS. | |
7055 | ||
7056 | 2006-10-29 Richard Sandiford <richard@codesourcery.com> | |
7057 | ||
7058 | * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well | |
7059 | as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL. | |
7060 | ||
7061 | 2006-10-29 Kazu Hirata <kazu@codesourcery.com> | |
7062 | ||
7063 | * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md, | |
7064 | config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix | |
7065 | comment typos. | |
7066 | ||
7067 | 2006-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7068 | ||
7069 | PR middle-end/29335 | |
7070 | * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New. | |
7071 | (fold_builtin_pow): Evaluate constant arguments at compile-time | |
7072 | using MPFR. | |
7073 | (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT. | |
7074 | (do_mpfr_ckconv): New helper function. | |
7075 | (do_mpfr_arg1): Use do_mpfr_ckconv. | |
7076 | (do_mpfr_arg2): New. | |
7077 | ||
7078 | 2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com> | |
7079 | ||
7080 | PR tree-opt/29271 | |
7081 | * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number. | |
7082 | (-fdump-rtl-sched): Rename to .. | |
7083 | (-fdump-rtl-sched1): here. Also fix file extension number. | |
7084 | ||
7085 | 2006-10-28 Richard Guenther <rguenther@suse.de> | |
7086 | ||
7087 | * fold-const.c (maybe_canonicalize_comparison): Fix code | |
7088 | to match comment. | |
7089 | ||
7090 | 2006-10-28 Uros Bizjak <uros@kss-loka.si> | |
7091 | ||
7092 | * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM. | |
7093 | (NON_QI_REG_P): Use IN_RANGE. | |
7094 | (REX_INT_REGNO_P): Use IN_RANGE. | |
7095 | (FP_REGNO_P): Use IN_RANGE. | |
7096 | (SSE_REGNO_P): Use IN_RANGE. | |
7097 | (REX_SSE_REGNO_P): Use IN_RANGE. | |
7098 | (MMX_REGNO_P): Use IN_RANGE. | |
7099 | (STACK_REGNO_P): New macro. | |
7100 | (STACK_REG_P): Use STACK_REGNO_P. | |
7101 | (NON_STACK_REG_P): Use STACK_REGNO_P. | |
7102 | (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P. | |
7103 | (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P. | |
7104 | (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P. | |
7105 | (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P. | |
7106 | (HARD_REGNO_RENAME_OK): Use !IN_RANGE. | |
7107 | ||
7108 | 2006-10-28 Eric Botcazou <ebotcazou@adacore.com> | |
7109 | ||
7110 | * except.h (output_function_exception_table): Add 'const char*' param. | |
7111 | * except.c (switch_to_exception_section): Add 'const char*' param. | |
7112 | If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined | |
7113 | and flag_function_sections is set, use a function-specific section. | |
7114 | (output_function_exception_table): Add 'const char*' param. | |
7115 | Adjust call to switch_to_exception_section. | |
7116 | * final.c (rest_of_handle_final): Adjust calls to | |
7117 | output_function_exception_table. | |
7118 | * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check. | |
7119 | * config.in: Regenerate. | |
7120 | * configure: Likewise. | |
7121 | ||
7122 | 2006-10-28 Richard Guenther <rguenther@suse.de> | |
7123 | ||
7124 | PR middle-end/26899 | |
7125 | * fold-const.c (maybe_canonicalize_comparison_1): Helper | |
7126 | for maybe_canonicalize_comparison. | |
7127 | (maybe_canonicalize_comparison): New function for canonicalizing | |
7128 | comparison trees. | |
7129 | (fold_comparison): Call it to canonicalize comparisons with | |
7130 | constants involved. | |
7131 | ||
7132 | 2006-10-28 Richard Guenther <rguenther@suse.de> | |
7133 | ||
7134 | PR target/28806 | |
7135 | * builtins.c (expand_builtin_int_roundingfn_2): Expand | |
7136 | BUILT_IN_LROUND and BUILT_IN_LLROUND from here. | |
7137 | (expand_builtin): Adjust likewise. | |
7138 | * genopinit.c (optabs[]): Add lround optab. | |
7139 | * optabs.c (init_optabs): Initialize lround_optab. | |
7140 | * optabs.h (enum convert_optab_index): Add COI_lround. | |
7141 | (lround_optab): Define. | |
7142 | * config/i386/i386-protos.h (ix86_expand_lround): Declare. | |
7143 | * config/i386/i386.c (ix86_sse_copysign_to_positive): New | |
7144 | static function. | |
7145 | (ix86_expand_lround): New function. | |
7146 | * config/i386/i386.md (lround<mode>di2, lround<mode>si2): | |
7147 | New expanders. | |
7148 | * doc/md.texi (lroundMN2): Document. | |
7149 | ||
7150 | 2006-10-28 Uros Bizjak <uros@kss-loka.si> | |
7151 | ||
7152 | PR target/29377 | |
7153 | * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size" | |
7154 | argument to HOST_WIDE_INT. Update function prototype. | |
7155 | (round_frame_size): Change return type to HOST_WIDE_INT. Change | |
7156 | "size" argument to HOST_WIDE_INT. Update function prototype. | |
7157 | ||
7158 | 2006-10-28 Uros Bizjak <uros@kss-loka.si> | |
7159 | ||
7160 | * config/i386/i386.c (output_387_ffreep): Create output from a | |
7161 | template string for !HAVE_AS_IX86_FFREEP. | |
7162 | ||
7163 | 2006-10-27 Eric Christopher <echristo@apple.com> | |
7164 | ||
7165 | * config/darwin.c: Fix formatting and grammar. | |
7166 | ||
7167 | 2006-10-27 Jan Hubicka <jh@suse.cz> | |
7168 | ||
7169 | * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going | |
7170 | to be thrown away soon when IGNORE is set. | |
7171 | * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument | |
7172 | indicating when return value shall not be computed. | |
7173 | * gimplify.c (internal_get_tmp_var): Avoid random tree sharing. | |
7174 | ||
7175 | 2006-10-27 Vladimir Makarov <vmakarov@redhat.com> | |
7176 | ||
7177 | * config/i386/i386.h (TARGET_GEODE): | |
7178 | (TARGET_CPU_CPP_BUILTINS): Add code for geode. | |
7179 | (TARGET_CPU_DEFAULT_geode): New macro. | |
7180 | (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2, | |
7181 | TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon, | |
7182 | TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8, | |
7183 | TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott, | |
7184 | TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase | |
7185 | the macro values. | |
7186 | (TARGET_CPU_DEFAULT_NAMES): Add geode. | |
7187 | (processor_type): Add PROCESSOR_GEODE. | |
7188 | ||
7189 | * config/i386/i386.md: Include geode.md. | |
7190 | (cpu): Add geode. | |
7191 | ||
7192 | * config/i386/i386.c (geode_cost): New initialized global | |
7193 | variable. | |
7194 | (m_GEODE, m_K6_GEODE): New macros. | |
7195 | (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf, | |
7196 | x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4, | |
7197 | x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants, | |
7198 | x86_schedule): Use m_K6_GEODE instead of m_K6. | |
7199 | (x86_movx, x86_cmove): Set up m_GEODE. | |
7200 | (x86_integer_DFmode_moves): Clear m_GEODE. | |
7201 | (processor_target_table): Add entry for geode. | |
7202 | (processor_alias_table): Ditto. | |
7203 | ||
7204 | * config/i386/geode.md: New file. | |
7205 | ||
7206 | * doc/invoke.texi: Add entry about geode processor. | |
7207 | ||
7208 | 2006-10-27 Mike Stump <mrs@apple.com> | |
7209 | ||
7210 | * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and | |
7211 | __DYNAMIC__ from here back to ... | |
7212 | * config/darwin.h (CPP_SPEC): ... here. | |
7213 | ||
7214 | 2006-10-26 Nathan Froyd <froydnj@codesourcery.com> | |
7215 | Nathan Sidwell <nathan@codesourcery.com> | |
7216 | ||
7217 | * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative | |
7218 | when choosing the minimum heapsize. | |
7219 | ||
7220 | 2006-10-26 Nathan Froyd <froydnj@codesourcery.com> | |
7221 | ||
7222 | * gcc/unwind-dw2.h: Move cfa-related variables into | |
7223 | struct frame_state_reg_info to ensure that the CFA is properly | |
7224 | handled when executing DW_CFA_{remember,restore}_state. | |
7225 | * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h, | |
7226 | gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h | |
7227 | gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h | |
7228 | gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h | |
7229 | gcc/config/rs6000/linux-unwind.h, | |
7230 | gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h, | |
7231 | gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h: | |
7232 | Modify to use new cfa_* fields. | |
7233 | ||
7234 | 2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com> | |
7235 | ||
7236 | * config/s390/s390.c (s390_init_frame_layout): Check positive | |
7237 | frame_size. | |
7238 | ||
7239 | 2006-10-26 Ben Elliston <bje@au.ibm.com> | |
7240 | ||
7241 | * gimplify.c (get_name): Remove extraneous break. | |
7242 | (gimplify_omp_for): Initialise ret with GS_OK. | |
7243 | ||
7244 | 2006-10-25 Steve Ellcey <sje@cup.hp.com> | |
7245 | ||
7246 | * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++. | |
7247 | Add unix98.o to link line. | |
7248 | ||
7249 | 2006-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7250 | ||
7251 | PR middle-end/29335 | |
7252 | * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm): | |
7253 | Calculate compile-time constants using MPFR. | |
7254 | (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC, | |
7255 | BUILT_IN_EXPM1 and BUILT_IN_LOG1P. | |
7256 | ||
7257 | 2006-10-25 Bob Wilson <bob.wilson@acm.org> | |
7258 | ||
7259 | * config/xtensa/lib2funcs.S: Use C-style comments. | |
7260 | ||
7261 | 2006-10-24 Nathan Froyd <froydnj@codesourcery.com> | |
7262 | ||
7263 | * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH. | |
7264 | (file_table_relative_p): Likewise. | |
7265 | (dwarf2out_finish): Likewise. | |
7266 | (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2. | |
7267 | ||
7268 | 2006-10-25 Daniel Berlin <dberlin@dberlin.org> | |
7269 | ||
7270 | * tree-ssa-structalias.c (intra_create_variable_infos): | |
7271 | Don't recreate nonlocal_all if it already exists. | |
7272 | ||
7273 | 2006-10-25 Richard Guenther <rguenther@suse.de> | |
7274 | ||
7275 | PR target/28803 | |
7276 | * optabs.h (enum optab_index): Remove OTI_lrint. | |
7277 | (enum convert_optab_index): Add COI_lrint. | |
7278 | (lrint_optab): Adjust. | |
7279 | (expand_sfix_optab): Declare. | |
7280 | * optabs.c (expand_sfix_optab): New function. | |
7281 | (init_optabs): Init lrint_optab as conversion optab. | |
7282 | * genopinit.c (lrint_optab): Change to a conversion optab. | |
7283 | * builtins.c (expand_builtin_int_roundingfn_2): Adjust to | |
7284 | expansion via conversion optab. | |
7285 | * config/i386/i386.md (*fistdi2_1): Remove | |
7286 | flag_unsafe_math_optimizations guard. | |
7287 | (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2, | |
7288 | fist<mode>2_with_temp): Likewise. | |
7289 | (lrint<mode>2): Split into... | |
7290 | (lrintxf<mode>2): ... x87 part | |
7291 | (lrint<mode>di2, lrint<mode>si2): ... and SSE parts. | |
7292 | * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2, | |
7293 | sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for | |
7294 | UNSPEC_FIX_NOTRUNC matching non-vector float modes. | |
7295 | * doc/md.texi (lrintMN2): Document. | |
7296 | ||
7297 | 2006-10-25 Uros Bizjak <uros@kss-loka.si> | |
7298 | ||
7299 | PR target/28909 | |
7300 | * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"): | |
7301 | Use inc and dec instructions for TARGET_USE_INCDEC. | |
7302 | ("*sync_compare_and_swap<mode>"): Fix -masm=intel template. | |
7303 | ("sync_double_compare_and_swap<mode>"): Likewise. | |
7304 | ("*sync_double_compare_and_swapdi_pic"): Likewise. | |
7305 | ("*sync_compare_and_swap_cc<mode>"): Likewise. | |
7306 | ("sync_double_compare_and_swap_cc<mode>"): Likewise. | |
7307 | ("*sync_double_compare_and_swap_ccdi_pic"): Likewise. | |
7308 | ("sync_old_add<mode>"): Likewise. | |
7309 | ("sync_lock_test_and_set<mode>"): Likewise. | |
7310 | ("sync_lock_test_and_set<mode>"): Likewise. | |
7311 | ("sync_add<mode>"): Likewise. | |
7312 | ("sync_sub<mode>"): Likewise. | |
7313 | ("sync_ior<mode>"): Likewise. | |
7314 | ("sync_and<mode>"): Likewise. | |
7315 | ("sync_xor<mode>"): Likewise. | |
7316 | ||
7317 | 2006-10-25 Uros Bizjak <uros@kss-loka.si> | |
7318 | ||
7319 | * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder. | |
7320 | (remainder_optab): Define corresponding macro. | |
7321 | (drem_optab): Remove. | |
7322 | * optabs.c (init_optabs): Initialize remainder_optab. Remove | |
7323 | drem_optab initialization. | |
7324 | * genopinit.c (optabs): Implement remainder_optab using | |
7325 | remainder?f3 patterns. Remove drem_optab. | |
7326 | * builtins.c (expand_builtin_mathfn_2): Handle | |
7327 | BUILT_IN_REMAINDER{,F,L} using remainder_optab. | |
7328 | (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using | |
7329 | expand_builtin_mathfn_2. | |
7330 | ||
7331 | (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not | |
7332 | depend on flag_unsafe_math_optimizations. | |
7333 | ||
7334 | * config/i386/i386.md ("remaindersf3", "remainderdf3") | |
7335 | ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders. | |
7336 | Do not depend on flag_unsafe_math_optimizations. Use | |
7337 | truncxf?f expander instead of truncxf?f_i387_noop. | |
7338 | ||
7339 | ("fpremxf4", "fprem1xf4"): Do not depend on | |
7340 | flag_unsafe_math_optimizations. | |
7341 | ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on | |
7342 | flag_unsafe_math_optimizations. Use truncxf?f expander | |
7343 | instead of truncxf?f_i387_noop. | |
7344 | ||
7345 | * doc/md.texi (fmod, remainder): Document standard named pattern. | |
7346 | ||
7347 | 2006-10-24 Richard Sandiford <richard@codesourcery.com> | |
7348 | David Daney <ddaney@avtrex.com> | |
7349 | ||
7350 | PR middle-end/29519 | |
7351 | * rtlanal.c (nonzero_address_p): Remove check for values wrapping. | |
7352 | ||
7353 | 2006-10-25 Ben Elliston <bje@au.ibm.com> | |
7354 | ||
7355 | * doc/extend.texi (Variable Attributes): Typo fix. | |
7356 | ||
7357 | 2006-10-24 Uros Bizjak <uros@kss-loka.si> | |
7358 | ||
7359 | * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54. | |
7360 | (FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register. | |
7361 | (REG_ALLOC_ORDER): Add one element to allocate fpcr register. | |
7362 | (FRAME_POINTER_REGNUM): Update register number to 21. | |
7363 | (REG_CLASS_CONTENTS): Update contents for added fpcr register. | |
7364 | (HI_REGISTER_NAMES): Add "fpcr" for fpcr register. | |
7365 | ||
7366 | * config/i386/i386.c (regclass_map): Add fpcr entry. | |
7367 | (dbx_register_map, dbx64_register_map, svr4_dbx_register_map): | |
7368 | Add fpcr entry. | |
7369 | (print_reg): Assert REGNO (x) != FPCR_REG. | |
7370 | ||
7371 | * config/i386/i386.md (FPCR_REG, R11_REG): New constants. | |
7372 | (DIRFLAG_REG): Renumber. | |
7373 | (x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG. | |
7374 | (*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG. | |
7375 | (sse_prologue_save, *sse_prologue_save_insn): Renumber | |
7376 | hardcoded SSE register numbers. | |
7377 | ||
7378 | * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber | |
7379 | hardcoded MMX register numbers. | |
7380 | ||
7381 | 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7382 | ||
7383 | PR middle-end/29335 | |
7384 | * builtins.c (fold_builtin_sin, fold_builtin_atan): Remove. | |
7385 | (do_mpfr_arg1): Add `min', `max' and `inclusive' arguments. | |
7386 | Update all callers. | |
7387 | (BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch. | |
7388 | (BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH, | |
7389 | BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH, | |
7390 | BUILT_IN_TANH): Calculate compile-time arguments using MPFR. | |
7391 | ||
7392 | 2006-10-24 Richard Guenther <rguenther@suse.de> | |
7393 | ||
7394 | PR middle-end/28796 | |
7395 | * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES | |
7396 | and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS | |
7397 | for deciding optimizations in consistency with fold-const.c | |
7398 | (fold_builtin_unordered_cmp): Likewise. | |
7399 | ||
7400 | 2006-10-24 Richard Guenther <rguenther@suse.de> | |
7401 | ||
7402 | * builtins.c (fold_builtin_floor): Fold floor (x) where | |
7403 | x is nonnegative to trunc (x). | |
7404 | (fold_builtin_int_roundingfn): Fold lfloor (x) where x is | |
7405 | nonnegative to FIX_TRUNC_EXPR. | |
7406 | ||
7407 | 2006-10-24 Richard Guenther <rguenther@suse.de> | |
7408 | ||
7409 | PR tree-optimization/29567 | |
7410 | * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic | |
7411 | for TRUTH_NOT_EXPR. Clarify comments. | |
7412 | ||
7413 | 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7414 | ||
7415 | PR middle-end/29335 | |
7416 | * builtins.c (fold_builtin_exponent): Evaluate constant arguments | |
7417 | at compile-time using MPFR. Change parameter VALUE to FUNC, | |
7418 | update all callers. | |
7419 | (do_mpfr_arg1): Rename `exact' to `inexact'. Carefully check | |
7420 | for overflow and underflow at all times and avoid folding in | |
7421 | those cases. | |
7422 | ||
7423 | 2006-10-24 Ben Elliston <bje@au.ibm.com> | |
7424 | ||
7425 | * reload1.c: Formatting fixes. | |
7426 | ||
7427 | 2006-10-23 Zdenek Dvorak <dvorakz@suse.cz> | |
7428 | ||
7429 | PR tree-optimization/14784 | |
7430 | * tree-flow.h (struct var_ann_d): Add is_heapvar bit. | |
7431 | * tree-ssa-structalias.c (get_constraint_for, | |
7432 | intra_create_variable_infos): Set is_heapvar. | |
7433 | * tree-ssa-operands.c (access_can_touch_variable): Do not handle | |
7434 | non-heapvar pointer variables specially. | |
7435 | ||
7436 | 2006-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7437 | ||
7438 | PR middle-end/29335 | |
7439 | * builtins.c (fold_builtin_sin, fold_builtin_cos, | |
7440 | fold_builtin_tan): Fold all constant arguments. Take a "type" | |
7441 | argument as necessary. | |
7442 | (do_mpfr_arg1): New. | |
7443 | * real.c, real.h (real_from_mpfr, mpfr_from_real): New. | |
7444 | ||
7445 | 2006-10-23 Bob Wilson <bob.wilson@acm.org> | |
7446 | ||
7447 | * config/xtensa/lib1funcs.asm: Use C-style comments. | |
7448 | ||
719bb4e3 | 7449 | 2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
f1aea409 MS |
7450 | |
7451 | * tree.c (local_define_builtin): Replace calls to | |
7452 | lang_hooks.builtin_function with add_builtin_function. | |
7453 | * c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as | |
7454 | c_builtin_function. | |
7455 | * c-tree.h (builtin_function): Rename to c_builtin_function. Change | |
7456 | the signature. | |
7457 | * c-decl.c (builtin_function): Rename to c_builtin_function. Move | |
7458 | common code to add_builtin_function. | |
7459 | * langhooks.c (add_builtin_function): New function. | |
7460 | (lhd_builtin_function): New function. | |
7461 | * langhooks.h (struct lang_hooks): Change the signature of | |
7462 | builtin_function. | |
7463 | (add_builtin_function): New function. | |
7464 | * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace | |
7465 | calls to lang_hooks.builtin_function with add_builtin_function. | |
7466 | * c-common.c (decl_builtin_1): Replace calls to | |
7467 | lang_hooks.builtin_function with add_builtin_function. | |
7468 | * config/alpha/alpha.c (alpha_init_builtins): Replace calls to | |
7469 | lang_hooks.builtin_function with add_builtin_function. | |
7470 | * config/frv/frv.c (def_builtin): Replace calls to | |
7471 | lang_hooks.builtin_function with add_builtin_function. | |
7472 | * config/s390/s390.c (s390_init_builtins): Replace calls to | |
7473 | lang_hooks.builtin_function with add_builtin_function. | |
7474 | * config/sparc/sparc.c (def_builtin): Replace calls to | |
7475 | lang_hooks.builtin_function with add_builtin_function. | |
7476 | * config/i386/i386.c (def_builtin): Replace calls to | |
7477 | lang_hooks.builtin_function with add_builtin_function. | |
7478 | * config/sh/sh.c (sh_media_init_builtins): Replace calls to | |
7479 | lang_hooks.builtin_function with add_builtin_function. | |
7480 | * config/c4x/c4x.c (c4x_init_builtins): Replace calls to | |
7481 | lang_hooks.builtin_function with add_builtin_function. | |
7482 | * config/stormy16/stormy16.c (xstormy16_init_builtins): | |
7483 | Replace calls to lang_hooks.builtin_function with | |
7484 | add_builtin_function. | |
7485 | * config/iq2000/iq2000.c (def_builtin): | |
7486 | Replace calls to lang_hooks.builtin_function with | |
7487 | add_builtin_function. | |
7488 | * config/ia64/ia64.c (def_builtin): Replace calls to | |
7489 | lang_hooks.builtin_function with add_builtin_function. | |
7490 | * config/rs6000/rs6000.c (def_builtin): Replace calls to | |
7491 | lang_hooks.builtin_function with add_builtin_function. | |
7492 | (altivec_init_builtins): Replace calls to | |
7493 | lang_hooks.builtin_function with add_builtin_function. | |
7494 | * config/arm/arm.c (def_mbuiltin): Replace calls to | |
7495 | lang_hooks.builtin_function with add_builtin_function. | |
7496 | (arm_init_tls_builtins): Replace calls to | |
7497 | lang_hooks.builtin_function with add_builtin_function. | |
7498 | * config/mips/mips.c (mips_init_builtins): Replace calls to | |
7499 | lang_hooks.builtin_function with add_builtin_function. | |
7500 | * config/bfin/bfin.c (def_builtin): Replace calls to | |
7501 | lang_hooks.builtin_function with add_builtin_function. | |
7502 | * langhooks-def.h (lhd_builtin_function): New function. | |
7503 | (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function. | |
7504 | ||
7505 | 2006-10-23 Jakub Jelinek <jakub@redhat.com> | |
7506 | ||
7507 | * builtins.c (expand_builtin, maybe_emit_chk_warning): Handle | |
7508 | BUILT_IN_STRNCAT_CHK. | |
7509 | ||
7510 | 2006-10-23 Jan Hubicka <jh@suse.cz> | |
7511 | ||
7512 | * builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument; | |
7513 | don't do conversion from memmove to memcpy here. | |
7514 | (expand_builtin_bcopy, expand_builtin): Update call of | |
7515 | expand_builtin_memmove. | |
7516 | (fold_builtin_memory_op): Do folding of memmove to memcpy here. | |
7517 | ||
7518 | 2006-10-23 Paul Brook <paul@codesourcery.com> | |
7519 | ||
7520 | * stor-layout.c (start_record_layout): maximum_field_alignment | |
7521 | overrides STRUCTURE_SIZE_BOUNDARY. | |
7522 | ||
7523 | 2006-10-23 Ulrich Weigand <uweigand@de.ibm.com> | |
7524 | ||
7525 | * config/s390/predicates.md ("bras_sym_operand"): Do not accept | |
7526 | nonlocal function symbols if flag_pic. | |
7527 | ||
7528 | 2006-10-23 Richard Guenther <rguenther@suse.de> | |
7529 | ||
7530 | PR middle-end/27132 | |
7531 | PR middle-end/23295 | |
7532 | * builtins.c (fold_binary): Remove checks for flag_wrapv | |
7533 | and flag_trapv where negate_expr_p covers these cases. | |
7534 | ||
7535 | 2006-10-23 Richard Guenther <rguenther@suse.de> | |
7536 | ||
7537 | PR middle-end/29548 | |
7538 | * fold-const.c (fold_plusminus_mult_expr): Check exact power | |
7539 | of two on the absolute value. | |
7540 | (fold_binary): Fold x * -C to -x * C if x is easily negatable | |
7541 | and negating -C does not overflow. | |
7542 | ||
7543 | 2006-10-23 Richard Guenther <rguenther@suse.de> | |
7544 | ||
7545 | PR middle-end/21032 | |
7546 | * convert.c (convert_to_real): Fold (float)-x to -(float)x | |
7547 | only if not flag_rounding_math. | |
7548 | ||
7549 | 2006-10-22 Richard Sandiford <richard@codesourcery.com> | |
7550 | Kaz Kojima <kkojima@gcc.gnu.org> | |
7551 | ||
7552 | PR target/28232 | |
7553 | * config/sh/sh.c (expand_block_move): Use a BLKmode rather than | |
7554 | SImode memory reference for the source of a movua. | |
7555 | * config/sh/sh.md (UNSPEC_MOVUA): New macro. | |
7556 | (movua): Use an unspec instead of sign_extract. Expect the source | |
7557 | to have mode BLKmode. | |
7558 | (extv, insv): Use a BLKmode rather than SImode memory reference | |
7559 | for the source of a movua. | |
7560 | ||
7561 | 2006-10-22 Jeff Law <law@redhat.com> | |
7562 | Richard Guenther <rguenther@suse.de> | |
7563 | ||
7564 | PR tree-optimization/15911 | |
7565 | * tree-vrp.c (extract_code_and_val_from_cond): New function. | |
7566 | (register_edge_assert_for_1): Likewise. | |
7567 | (register_edge_assert_for): Handle &&/&/||/| in conditionals. | |
7568 | (find_conditional_asserts): Adjust for new function signature. | |
7569 | (find_assert_locations): Likewise. | |
7570 | ||
7571 | 2006-10-22 H.J. Lu <hongjiu.lu@intel.com> | |
7572 | ||
7573 | * config/i386/tmmintrin.h: Remove the duplicated content. | |
7574 | ||
7575 | 2006-10-22 H.J. Lu <hongjiu.lu@intel.com> | |
7576 | ||
7577 | * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers. | |
7578 | (x86_64-*-*): Likewise. | |
7579 | ||
7580 | * config/i386/i386.c (pta_flags): Add PTA_SSSE3. | |
7581 | (override_options): Check SSSE3. | |
7582 | (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD, | |
7583 | IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD, | |
7584 | IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW, | |
7585 | IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB, | |
7586 | IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND, | |
7587 | IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW, | |
7588 | IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128, | |
7589 | IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128, | |
7590 | IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128, | |
7591 | IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128, | |
7592 | IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128, | |
7593 | IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128, | |
7594 | IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128, | |
7595 | IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and | |
7596 | IX86_BUILTIN_PABSD128. | |
7597 | (bdesc_2arg): Add SSSE3. | |
7598 | (bdesc_1arg): Likewise. | |
7599 | (ix86_init_mmx_sse_builtins): Support SSSE3. | |
7600 | (ix86_expand_builtin): Likewise. | |
7601 | * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise. | |
7602 | ||
7603 | * config/i386/i386.md (UNSPEC_PSHUFB): New. | |
7604 | (UNSPEC_PSIGN): Likewise. | |
7605 | (UNSPEC_PALIGNR): Likewise. | |
7606 | Include mmx.md before sse.md. | |
7607 | ||
7608 | * config/i386/i386.opt: Add -mssse3. | |
7609 | ||
7610 | * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3. | |
7611 | (ssse3_phaddwv4hi3): Likewise. | |
7612 | (ssse3_phadddv4si3): Likewise. | |
7613 | (ssse3_phadddv2si3): Likewise. | |
7614 | (ssse3_phaddswv8hi3): Likewise. | |
7615 | (ssse3_phaddswv4hi3): Likewise. | |
7616 | (ssse3_phsubwv8hi3): Likewise. | |
7617 | (ssse3_phsubwv4hi3): Likewise. | |
7618 | (ssse3_phsubdv4si3): Likewise. | |
7619 | (ssse3_phsubdv2si3): Likewise. | |
7620 | (ssse3_phsubswv8hi3): Likewise. | |
7621 | (ssse3_phsubswv4hi3): Likewise. | |
7622 | (ssse3_pmaddubswv8hi3): Likewise. | |
7623 | (ssse3_pmaddubswv4hi3): Likewise. | |
7624 | (ssse3_pmulhrswv8hi3): Likewise. | |
7625 | (ssse3_pmulhrswv4hi3): Likewise. | |
7626 | (ssse3_pshufbv16qi3): Likewise. | |
7627 | (ssse3_pshufbv8qi3): Likewise. | |
7628 | (ssse3_psign<mode>3): Likewise. | |
7629 | (ssse3_psign<mode>3): Likewise. | |
7630 | (ssse3_palignrti): Likewise. | |
7631 | (ssse3_palignrdi): Likewise. | |
7632 | (abs<mode>2): Likewise. | |
7633 | (abs<mode>2): Likewise. | |
7634 | ||
7635 | * config/i386/tmmintrin.h: New file. | |
7636 | ||
7637 | * doc/extend.texi: Document SSSE3 built-in functions. | |
7638 | ||
7639 | * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches. | |
7640 | ||
7641 | 2006-10-22 Ira Rosen <irar@il.ibm.com> | |
7642 | ||
7643 | * tree-vect-transform.c (vectorizable_load): Use the type of the | |
7644 | return value of the mask_for_load builtin to create realign_load | |
7645 | stmt. | |
7646 | ||
7647 | 2006-10-22 Richard Sandiford <richard@codesourcery.com> | |
7648 | ||
7649 | * config/mips/mips.c (mips_split_const): Don't accept bare PLUS | |
7650 | expressions. | |
7651 | ||
7652 | 2006-10-21 H.J. Lu <hongjiu.lu@intel.com> | |
7653 | ||
7654 | * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ... | |
7655 | (UNSPEC_LDDQU): This. | |
7656 | * config/i386/sse.md (sse3_lddqu): Updated. | |
7657 | ||
7658 | 2006-10-21 Richard Guenther <rguenther@suse.de> | |
7659 | ||
7660 | * builtins.c (expand_builtin_int_roundingfn_2): New function. | |
7661 | (expand_builtin): Use it to expand lrint instead of | |
7662 | expand_builtin_mathfn. | |
7663 | ||
7664 | 2006-10-21 Uros Bizjak <uros@kss-loka.si> | |
7665 | ||
7666 | PR middle-end/28252 | |
7667 | * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if | |
7668 | flag_unsafe_math_optimizations is set. | |
7669 | ||
7670 | 2006-10-21 Uros Bizjak <uros@kss-loka.si> | |
7671 | ||
7672 | PR target/19398 | |
7673 | * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2 | |
7674 | patterns to use memory input operand in x87->mem->XMM | |
7675 | reload sequences. Skip transformation for TARGET_K8. | |
7676 | ||
7677 | 2006-10-21 Uros Bizjak <uros@kss-loka.si> | |
7678 | ||
7679 | * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not | |
7680 | force operand1 to register if both operands are memory operands. | |
7681 | (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387) | |
7682 | (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern | |
7683 | if both operands are memory operands. | |
7684 | (truncdfsf2): Do not force operand1 to register if both operands | |
7685 | are memory operands. | |
7686 | ||
7687 | 2006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
7688 | ||
7689 | * Makefile.in (LIBS): Add $(GMPLIBS). | |
7690 | * doc/install.texi: Update GMP and MPFR requirements. | |
7691 | * doc/sourcebuild.texi (need_gmp): Delete. | |
7692 | ||
7693 | 2006-10-21 Richard Guenther <rguenther@suse.de> | |
7694 | ||
7695 | PR tree-optimization/3511 | |
7696 | * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that | |
7697 | got new invariant arguments during PHI translation. | |
7698 | ||
7699 | 2006-10-21 Richard Guenther <rguenther@suse.de> | |
7700 | ||
7701 | PR middle-end/26898 | |
7702 | * fold-const.c (fold_comparison): Fold signed comparisons | |
7703 | of the form X +- C1 CMP Y +- C2. | |
7704 | ||
7705 | 2006-10-21 Richard Guenther <rguenther@suse.de> | |
7706 | ||
7707 | PR target/19116 | |
7708 | * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP | |
7709 | if flag_unsafe_math_optimizations is specified. We have | |
7710 | flag_finite_math_only for that. | |
7711 | * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP | |
7712 | or flag_unsafe_math_optimizations. | |
7713 | ||
7714 | 2006-10-21 Richard Guenther <rguenther@suse.de> | |
7715 | ||
7716 | * builtins.c (fold_builtin_classify): Fix typo. | |
7717 | ||
7718 | 2006-10-21 Richard Guenther <rguenther@suse.de> | |
7719 | ||
7720 | PR middle-end/28796 | |
7721 | * simplify-rtx.c (simplify_const_relational_operation): | |
7722 | Do not constant-fold ORDERED and UNORDERED for | |
7723 | flag_unsafe_math_optimizations but only we do not need to | |
7724 | honor NaNs for the given mode. | |
7725 | ||
7726 | 2006-10-21 Richard Guenther <rguenther@suse.de> | |
7727 | ||
7728 | PR target/29512 | |
7729 | * config/i386/i386.c (classify_argument): Remove redundant | |
7730 | walking of the BINFOs. | |
7731 | (contains_128bit_aligned_vector_p): Likewise. | |
7732 | ||
7733 | 2006-10-20 Mark Mitchell <mark@codesourcery.com> | |
7734 | ||
7735 | * BASE-VER: Set to 4.3.0. | |
7736 | ||
7737 | 2006-10-20 Daniel Berlin <dberlin@dberlin.org> | |
7738 | ||
7739 | * tree.h (DECL_PTA_ARTIFICIAL): Remove. | |
7740 | (tree_decl_with_vis): Remove artificial_pta_var flag. | |
7741 | * tree-flow.h (referenced_var_check_and_insert): Expose. | |
7742 | (nonlocal_all): New prototype. | |
7743 | * tree-ssa-structalias.c (nonlocal_for_type): Remove. | |
7744 | (nonlocal_all): Make global. | |
7745 | (nonlocal_lookup): Remove. | |
7746 | (nonlocal_insert): Ditto. | |
7747 | (create_nonlocal_var): Do not call nonlocal_insert. | |
7748 | (get_nonlocal_id_for_type): Remove. | |
7749 | (find_global_initializers): Mark new vars we find for renaming. | |
7750 | (intra_create_variable_infos): Only create one nonlocal. | |
7751 | (expand_nonlocal_solutions): Remove. | |
7752 | (compute_points_to_sets): Don't call it. | |
7753 | (ipa_pta_execute): Ditto. | |
7754 | (init_alias_heapvars): Don't create nonlocal_for_type. | |
7755 | (delete_alias_heapvars): Don't remove it. | |
7756 | * tree-ssa-operands.c (access_can_touch_variable): Don't prune | |
7757 | nonlocal_all. | |
7758 | ||
7759 | 2006-10-19 Brooks Moses <bmoses@stanford.edu> | |
7760 | ||
7761 | * doc/install.texi (Downloading GCC): Clarify mention of | |
7762 | Fortran in the "full distribution" description. | |
7763 | ||
7764 | 2006-10-19 Daniel Berlin <dberlin@dberlin.org> | |
7765 | ||
7766 | Fix PR tree-optimization/28778 | |
7767 | Fix PR tree-optimization/29156 | |
7768 | Fix PR tree-optimization/29415 | |
7769 | * tree.h (DECL_PTA_ARTIFICIAL): New macro. | |
7770 | (tree_decl_with_vis): Add artificial_pta_var flag. | |
7771 | * tree-ssa-alias.c (is_escape_site): Remove alias info argument, | |
7772 | pushed into callers. | |
7773 | * tree-ssa-structalias.c (nonlocal_for_type): New variable. | |
7774 | (nonlocal_all): Ditto. | |
7775 | (struct variable_info): Add directly_dereferenced member. | |
7776 | (var_escaped_vars): New variable. | |
7777 | (escaped_vars_tree): Ditto. | |
7778 | (escaped_vars_id): Ditto. | |
7779 | (nonlocal_vars_id): Ditto. | |
7780 | (new_var_info): Set directly_dereferenced. | |
7781 | (graph_size): New variable | |
7782 | (build_constraint_graph): Use graph_size. | |
7783 | (solve_graph): Don't process constraints that cannot change the | |
7784 | solution, don't try to propagate an empty solution to our | |
7785 | successors. | |
7786 | (process_constraint): Set directly_dereferenced. | |
7787 | (could_have_pointers): New function. | |
7788 | (get_constraint_for_component_ref): Don't process STRING_CST. | |
7789 | (nonlocal_lookup): New function. | |
7790 | (nonlocal_insert): Ditto. | |
7791 | (create_nonlocal_var): Ditto. | |
7792 | (get_nonlocal_id_for_type): Ditto. | |
7793 | (get_constraint_for): Allow results vector to be empty in the case | |
7794 | of string constants. | |
7795 | Handle results of calls properly. | |
7796 | (update_alias_info): Update alias info stats on number and type of | |
7797 | calls. | |
7798 | (find_func_aliases): Use could_have_pointers. | |
7799 | (make_constraint_from_escaped): Renamed from | |
7800 | make_constraint_to_anything, and changed to make constraints from | |
7801 | escape variable. | |
7802 | (make_constraint_to_escaped): New function. | |
7803 | (find_global_initializers): Ditto. | |
7804 | (create_variable_info_for): Make constraint from escaped to any | |
7805 | global variable, and from any global variable to the set of | |
7806 | escaped vars. | |
7807 | (intra_create_variable_infos): Deal with escaped instead of | |
7808 | pointing to anything. | |
7809 | (set_uids_in_ptset): Do type pruning on directly dereferenced | |
7810 | variables. | |
7811 | (find_what_p_points_to): Adjust call to set_uids_with_ptset. | |
7812 | (init_base_vars): Fix comment, and initialize escaped_vars. | |
7813 | (need_to_solve): Removed. | |
7814 | (find_escape_constraints): New function. | |
7815 | (expand_nonlocal_solutions): Ditto. | |
7816 | (compute_points_to_sets): Call find_escape_constraints and | |
7817 | expand_nonlocal_solutions. | |
7818 | (delete_points_to_sets): Don't fall off the end of the graph. | |
7819 | (init_alias_heapvars): Initialize nonlocal_for_type and | |
7820 | nonlocal_all. | |
7821 | (delete_alias_heapvars): Free nonlocal_for_type and null out | |
7822 | nonlocal_all. | |
7823 | ||
7824 | 2006-10-19 Eric Botcazou <ebotcazou@adacore.com> | |
7825 | ||
7826 | * fold-const.c (add_double): Rename to add_double_with_sign. | |
7827 | Add 'unsigned_p' parameter and take it into account for the overflow. | |
7828 | (mul_double): Rename to mul_double_with_sign. | |
7829 | Add 'unsigned_p' parameter and take it into account for the overflow. | |
7830 | (fold_div_compare): Call add_double_with_sign instead of add_double | |
7831 | and mul_double_with_sign instead of mul_double, passing them the | |
7832 | unsignedness of the type. | |
7833 | * tree.h (add_double): Macroize. | |
7834 | (add_double_with_sign): New prototype. | |
7835 | (mul_double): Macroize. | |
7836 | (mul_double_with_sign): New prototype. | |
7837 | ||
7838 | 2006-10-19 Chen Liqin <liqin@sunnorth.com.cn> | |
7839 | ||
7840 | * config/score/crti.asm: New file. | |
7841 | * config/score/crtn.asm: New file. | |
7842 | * config/score/elf.h: New file. | |
7843 | * config/score/mac.md: New file. | |
7844 | * config/score/misc.md: New file. | |
7845 | * config/score/mul-div.S: New file. | |
7846 | * config/score/predicates.md: New file. | |
7847 | * config/score/score7.md: New file. | |
7848 | * config/score/score.c: New file. | |
7849 | * config/score/score-conv.h: New file. | |
7850 | * config/score/score.h: New file. | |
7851 | * config/score/score.md: New file. | |
7852 | * config/score/score-mdaux.c: New file. | |
7853 | * config/score/score-mdaux.h: New file. | |
7854 | * config/score/score-modes.def: New file. | |
7855 | * config/score/score.opt: New file. | |
7856 | * config/score/score-protos.h: New file. | |
7857 | * config/score/score-version.h: New file. | |
7858 | * config/score/t-score-elf: New file. | |
7859 | * config.gcc: Add score*-*-* configurations(Update before). | |
7860 | * doc/invoke.texi (Score Options): New section. | |
7861 | * doc/md.texi (Score family): New section to document constraints. | |
7862 | ||
7863 | 2006-10-19 Nick Clifton <nickc@redhat.com> | |
7864 | ||
7865 | * config/arm/arm.c: Fix spelling typo. | |
7866 | ||
7867 | 2006-10-18 Tom Tromey <tromey@redhat.com> | |
7868 | ||
7869 | * doc/install.texi (Prerequisites): Mention automake 1.9.6. | |
7870 | ||
7871 | 2006-10-18 Jan Hubicka <jh@suse.cz> | |
7872 | ||
7873 | PR middle-end/29299 | |
7874 | * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user | |
7875 | are used. | |
7876 | ||
7877 | 2006-10-18 Marcin Dalecki <martin@dalecki.de> | |
7878 | ||
7879 | * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of | |
7880 | TSI_SAME_STMT, since that's the desired entity. | |
7881 | ||
7882 | 2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com> | |
7883 | ||
7884 | * config/s390/contraints.md: New file. | |
7885 | * config/s390/s390-protos.h (s390_mem_constraint, | |
7886 | s390_O_constraint_str, s390_N_constraint_str, | |
7887 | s390_float_const_zero_p): Function prototypes added. | |
7888 | * config/s390/s390.c (s390_extra_constraint_str, | |
7889 | s390_const_double_ok_for_constraint_p, | |
7890 | s390_const_ok_for_constraint_p): Functions removed. | |
7891 | (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str, | |
7892 | s390_float_const_zero_p): New functions. | |
7893 | * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P, | |
7894 | CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR, | |
7895 | EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN): | |
7896 | Macro definitions removed. | |
7897 | (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p, | |
7898 | s390_extra_constraint_str): Functions removed. | |
7899 | ||
7900 | 2006-10-17 Andrew Pinsiki <pinskia@gmail.com> | |
7901 | Richard Sandiford <richard@codesourcery.com> | |
7902 | ||
7903 | PR target/29413 | |
7904 | * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override. | |
7905 | * config/mips/mips.h (CC1_SPEC): Override any earlier definition. | |
7906 | ||
7907 | 2006-10-16 Geoffrey Keating <geoffk@apple.com> | |
7908 | ||
7909 | * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h. | |
7910 | (DWARF2_FRAME_REG_OUT): Likewise. | |
7911 | * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h. | |
7912 | (DWARF2_FRAME_REG_OUT): Likewise. | |
7913 | ||
7914 | 2006-10-17 Paul Brook <paul@codesourcery.com> | |
7915 | ||
7916 | * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate. | |
7917 | ||
7918 | 2006-10-16 Brooks Moses <bmoses@stanford.edu> | |
7919 | ||
7920 | * doc/contrib.texi, doc/install.texi, doc/standards.texi: | |
7921 | Standardize on "GNU Fortran" as the official name of the Fortran | |
7922 | compiler. | |
7923 | ||
7924 | 2006-10-16 Mike Stump <mrs@apple.com> | |
7925 | ||
7926 | * doc/invoke.texi (Darwin Options): Document -mkernel. | |
7927 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add | |
7928 | -mkernel support. | |
7929 | (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add | |
7930 | SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout. | |
7931 | (CC1_SPEC): Don't turn on -fPIC when -mkernel is given. | |
7932 | (OS_MISSING_ALTIVEC): Add. | |
7933 | * config/i386/i386.c (override_options): Add | |
7934 | SUBSUBTARGET_OVERRIDE_OPTIONS callout. | |
7935 | * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when | |
7936 | -mkernel, -static or -mdynamic-no-pic is given. | |
7937 | (C_COMMON_OVERRIDE_OPTIONS): Add. | |
7938 | * config/darwin.opt (fapple-kext): Add. | |
7939 | (mkernel): Add. | |
7940 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add | |
7941 | -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and | |
7942 | -mkernel support. | |
7943 | (SUBSUBTARGET_OVERRIDE_OPTIONS): Add. | |
7944 | (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add. | |
7945 | (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here... | |
7946 | (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility. | |
7947 | (TARGET_CXX_CDTOR_RETURNS_THIS): Add. | |
7948 | (flag_mkernel): Add. | |
7949 | (flag_apple_kext): Add. | |
7950 | (TARGET_KEXTABI): Add. | |
7951 | * config/darwin.c (darwin_handle_kext_attribute): Add. | |
7952 | (DARWIN_VTABLE_P): Add. | |
7953 | (darwin_binds_local_p): Add partial support for rebinding vtables | |
7954 | in kexts. | |
7955 | (darwin_kextabi_p): Add. | |
7956 | (darwin_override_options): Add. | |
7957 | * config/darwin-protos.h (darwin_handle_kext_attribute): Add. | |
7958 | (darwin_kextabi_p): Add. | |
7959 | (darwin_override_options): Add. | |
7960 | * config/darwin-c.c (darwin_cpp_builtins): ... move defines for | |
7961 | __DYNAMIC__ and __STATIC__ here. | |
7962 | ||
7963 | 2006-10-16 Brooks Moses <bmoses@stanford.edu> | |
7964 | ||
7965 | * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi: | |
7966 | Added mention of "make pdf" target, and Texinfo requirements for | |
7967 | same. | |
7968 | ||
7969 | 2006-10-16 DJ Delorie <dj@redhat.com> | |
7970 | ||
7971 | * config/s390/s390.c (s390_decompose_address): Allow symbol+offset | |
7972 | into the GOT in case we need a subreg of the address. | |
7973 | ||
7974 | 2006-10-16 Richard Guenther <rguenther@suse.de> | |
7975 | ||
7976 | PR target/25519 | |
7977 | * doc/extend.texi (X86 Built-in Functions): Fix typos in | |
7978 | SSE builtin documentation. Document SSE2 builtins. | |
7979 | ||
7980 | 2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
7981 | ||
7982 | * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined | |
7983 | symbol in the output file for non-shared links when -nostdlib or | |
7984 | -nodefaultlibs isn't specified. | |
7985 | ||
7986 | * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to | |
7987 | posix thread support. | |
7988 | ||
7989 | 2006-10-15 Jan Hubicka <jh@suse.cz> | |
7990 | ||
7991 | PR middle-end/29241 | |
7992 | * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions | |
7993 | declared always_inline even when not inlining. | |
7994 | ||
7995 | 2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr> | |
7996 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
7997 | Andrew Pinski <pinskia@gmail.com> | |
7998 | ||
7999 | PR middle-end/29111 | |
8000 | * builtins.c (get_pointer_alignment): Return 0 if TER is not run. | |
8001 | ||
8002 | 2006-10-15 Jan Hubicka <jh@suse.cz> | |
8003 | Richard Guenther <rguenther@suse.de> | |
8004 | ||
8005 | PR middle-end/29299 | |
8006 | * cgraphunit.c (cgraph_finalize_compilation_unit): Call | |
8007 | process_function_and_variable_attributes on all variables, including | |
8008 | those discovered during cgraph construction phase. | |
8009 | ||
8010 | 2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org> | |
8011 | ||
8012 | * final.c: Update Copyright year. Commentary typo fix. Fix whitespace | |
8013 | ||
8014 | 2006-10-14 Uros Bizjak <uros@kss-loka.si> | |
8015 | ||
8016 | * config/i386/athlon.md (athlon_fist): Add fisttp. | |
8017 | ||
8018 | 2006-10-13 David Edelsohn <edelsohn@gnu.org> | |
8019 | Ian Lance Taylor <ian@airs.com> | |
8020 | ||
8021 | PR middle-end/29250 | |
8022 | * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR, | |
8023 | CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when | |
8024 | recursing. | |
8025 | ||
8026 | 2006-10-14 Kazu Hirata <kazu@codesourcery.com> | |
8027 | ||
8028 | * config/score/score.c, config/score/score.h: Fix comment | |
8029 | typos. | |
8030 | ||
8031 | 2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
8032 | ||
8033 | PR bootstrap/29402 | |
8034 | * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of | |
8035 | shell pipeline. | |
8036 | ||
8037 | 2006-10-13 Eric Christopher <echristo@apple.com> | |
8038 | ||
8039 | * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. | |
8040 | ||
8041 | 2006-10-13 Carlos O'Donell <carlos@codesourcery.com> | |
8042 | ||
8043 | Revert this change: | |
8044 | 2006-10-13 Carlos O'Donell <carlos@codesourcery.com> | |
8045 | * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest | |
8046 | alignment supported by 32-bit ELF. | |
8047 | ||
8048 | 2006-10-13 Eric Christopher <echristo@apple.com> | |
8049 | ||
8050 | * config/darwin.c (darwin_emit_unwind_label): Strip | |
8051 | name encoding. Use DECL_ASSEMBLER_NAME_SET_P. | |
8052 | ||
8053 | 2006-10-13 Richard Guenther <rguenther@suse.de> | |
8054 | ||
8055 | PR tree-optimization/29446 | |
8056 | * tree-vrp.c (fix_equivalence_set): Remove. | |
8057 | (extract_range_from_assert): Do not call fix_equivalence_set. | |
8058 | (debug_value_range): Print a newline. | |
8059 | (compare_name_with_value): For equivalence sets with | |
8060 | inconsistent value ranges conservatively bail out. | |
8061 | (compare_names): Likewise. | |
8062 | ||
8063 | 2006-10-13 David Edelsohn <edelsohn@gnu.org> | |
8064 | ||
8065 | * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP | |
8066 | and MPFR for gfortran. | |
8067 | ||
8068 | 2006-10-13 Carlos O'Donell <carlos@codesourcery.com> | |
8069 | ||
8070 | * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest | |
8071 | alignment supported by 32-bit ELF. | |
8072 | ||
8073 | 2006-10-13 Paolo Bonzini <bonzini@gnu.org> | |
8074 | ||
8075 | PR c/29092 | |
8076 | ||
8077 | * c-typeck.c (digest_init): Always allow initializing vectors | |
8078 | that have static storage duration with compound literals. | |
8079 | * tree.c (build_type_attribute_qual_variant): New, based on | |
8080 | build_type_attribute_variant. | |
8081 | (build_type_attribute_variant): Rewrite using the former. | |
8082 | (make_vector_type): Use build_type_attribute_qual_variant to build | |
8083 | type variants. Use type_hash_canon on the others. | |
8084 | ||
8085 | 2006-10-13 Daniel Berlin <dberlin@dberlin.org> | |
8086 | Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com> | |
8087 | ||
8088 | * tree-flow-inline.h (zero_ssa_operands): Fix comment. | |
8089 | ||
8090 | 2006-10-12 Jan Hubicka <jh@suse.cz> | |
8091 | ||
8092 | PR c/28419 | |
8093 | * c-decl.c (c_make_fname_decl): Do not segfault in case where | |
8094 | current_function_decl is set but current_function_scope is not. | |
8095 | ||
8096 | 2006-10-12 Jie Zhang <jie.zhang@analog.com> | |
8097 | ||
8098 | * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of | |
8099 | emit_insn to emit eh_return_internal instruction. | |
8100 | (eh_return_internal): Explicitly set pc. | |
8101 | ||
8102 | 2006-10-11 Richard Guenther <rguenther@suse.de> | |
8103 | ||
8104 | PR tree-optimization/28230 | |
8105 | * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling | |
8106 | to the correct place. | |
8107 | ||
8108 | 2006-10-11 Richard Guenther <rguenther@suse.de> | |
8109 | ||
8110 | PR inline-asm/29119 | |
8111 | * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue | |
8112 | addressable. | |
8113 | ||
8114 | 2006-10-10 Brooks Moses <bmoses@stanford.edu> | |
8115 | ||
8116 | * configure.ac: Added pdf to "Make-hooks" | |
8117 | * Makefile.in: Added TEXI2PDF definition, and various pdf-file | |
8118 | targets and *.pdf file patterns in cleanup targets. | |
8119 | * configure: Regenerated. | |
8120 | ||
8121 | 2006-10-10 Anatoly Sokolov <aesok@post.ru> | |
8122 | ||
8123 | * config/avr/predicates.md: New file. | |
8124 | * config/avr/avr.md: Include it. | |
8125 | (REG_SP): New constant. | |
8126 | (peepholes): Use predicates. | |
8127 | (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch, | |
8128 | difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch, | |
8129 | sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto. | |
8130 | ||
8131 | 2006-10-10 Adam Nemet <anemet@caviumnetworks.com> | |
8132 | ||
8133 | * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to | |
8134 | avoid alias set 0. | |
8135 | ||
8136 | 2006-10-10 Jakub Jelinek <jakub@redhat.com> | |
8137 | ||
8138 | PR middle-end/29272 | |
8139 | * builtins.c (var_decl_component_p): New function. | |
8140 | (fold_builtin_memset, fold_builtin_memory_op): Restrict | |
8141 | single entry optimization to variables and components thereof. | |
8142 | ||
8143 | 2006-10-10 Richard Guenther <rguenther@suse.de> | |
8144 | ||
8145 | PR rtl-optimization/29323 | |
8146 | * except.c (set_nothrow_function_flags): For functions | |
8147 | that do not bind local bail out early. | |
8148 | ||
8149 | 2006-10-10 Ben Elliston <bje@au.ibm.com> | |
8150 | ||
8151 | * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the | |
8152 | -mdlmzb option. | |
8153 | ||
8154 | 2006-10-09 Richard Henderson <rth@redhat.com> | |
8155 | ||
8156 | Revert emutls patch. | |
8157 | ||
8158 | 2006-10-09 Richard Guenther <rguenther@suse.de> | |
8159 | ||
8160 | PR middle-end/29254 | |
8161 | * cgraphunit.c (verify_cgraph_node): Bail out on earlier | |
8162 | errors. | |
8163 | ||
8164 | 2006-10-09 Steve Ellcey <sje@cup.hp.com> | |
8165 | ||
8166 | PR target/27880 | |
8167 | * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo. | |
8168 | * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo. | |
8169 | * configure: Regenerate. | |
8170 | * config.in: Regenerate. | |
8171 | ||
8172 | 2006-10-09 Aldy Hernandez <aldyh@redhat.com> | |
8173 | ||
8174 | * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE. | |
8175 | ||
8176 | 2006-10-08 Richard Sandiford <richard@codesourcery.com> | |
8177 | ||
8178 | * config/mips/mips.c (mips_legitimize_tls_address): Implement | |
8179 | all TLS models in the same way as local exec if !TARGET_ABICALLS. | |
8180 | Remove stray newline. | |
8181 | ||
8182 | 2006-10-08 Richard Sandiford <richard@codesourcery.com> | |
8183 | ||
8184 | * config/mips/mips.c (mips_classify_symbol): Do not return | |
8185 | SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK. | |
8186 | (mips_in_small_data_p): Tweak comments. | |
8187 | ||
8188 | 2006-10-08 Richard Sandiford <richard@codesourcery.com> | |
8189 | ||
8190 | * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define. | |
8191 | ||
8192 | 2006-10-07 Kazu Hirata <kazu@codesourcery.com> | |
8193 | ||
8194 | * gimplify.c, sched-int.h: Fix comment typos. | |
8195 | ||
8196 | * sched-int.h: Fix comment typos. | |
8197 | ||
8198 | 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
8199 | ||
8200 | * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P): | |
8201 | New macros. | |
8202 | * sched-ebb.c (begin_schedule_ready): Use them. | |
8203 | * haifa-sched.c (schedule_insn, move_insn, try_ready, | |
8204 | add_to_speculative_block, create_check_block_twin, speculate_insn, | |
8205 | fix_jump_move, move_block_after_check): Ditto. | |
8206 | * sched-rgn.c (new_ready): Ditto. | |
8207 | ||
8208 | 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
8209 | ||
8210 | PR rtl-optimization/29128 | |
8211 | * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro. | |
8212 | * sched-ebb.c (advance_target_bb): Use it to fix condition to | |
8213 | allow interblock movement of speculation checks. | |
8214 | ||
8215 | 2006-10-06 Zdenek Dvorak <dvorakz@suse.cz> | |
8216 | ||
8217 | PR middle-end/29256 | |
8218 | * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers | |
8219 | casted to integer type. | |
8220 | (get_address_cost): Decrease cost of [symbol + index] addressing modes | |
8221 | if they are significantly more expensive than [reg + index] ones. | |
8222 | ||
8223 | 2006-10-06 Jakub Jelinek <jakub@redhat.com> | |
8224 | ||
8225 | PR tree-optimization/29330 | |
8226 | * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro. | |
8227 | (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer | |
8228 | on newly allocated ddrs. | |
8229 | (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer | |
8230 | to VEC (loop_p, heap) pointer. | |
8231 | (compute_data_dependences_for_loop): Adjust caller. | |
8232 | (free_dependence_relations): Free DDR_LOOP_NEST. | |
8233 | ||
8234 | * tree-loop-linear.c (linear_transform_loops): Don't forget to | |
8235 | free DEPENDENCE_RELATIONS and DATAREFS. | |
8236 | ||
8237 | PR target/28924 | |
8238 | * builtins.c (expand_builtin_sync_operation, | |
8239 | expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set): | |
8240 | Use convert_to_mode to handle promoted arguments. | |
8241 | ||
8242 | 2006-10-06 J"orn Rennecke <joern.rennecke@st.com> | |
8243 | ||
8244 | * print-tree.c (print_node_brief, print_node): Print sign of Inf. | |
8245 | ||
8246 | 2006-10-06 J"orn Rennecke <joern.rennecke@st.com> | |
8247 | ||
8248 | * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define. | |
8249 | ||
8250 | 2006-10-05 Uros Bizjak <uros@kss-loka.si> | |
8251 | ||
8252 | * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>", | |
8253 | "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"): | |
8254 | Use <modeconstraint> instead of "r" as operand 1 constraint. | |
8255 | ||
8256 | 2006-10-06 Olivier Hainque <hainque@adacore.com> | |
8257 | ||
8258 | * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]: | |
8259 | Don't recurse on the pointed-to type. | |
8260 | * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or | |
8261 | DECL context, attach an artificial TYPE_DECL to anonymous pointed-to | |
8262 | types with components of variable size. | |
8263 | ||
8264 | 2006-10-06 Danny Smith <dannysmith@users.sourceforge.net> | |
8265 | ||
8266 | * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp. | |
8267 | ||
8268 | 2006-10-06 Jakub Jelinek <jakub@redhat.com> | |
8269 | ||
8270 | PR tree-optimization/29290 | |
8271 | * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has | |
8272 | multiple exits. | |
8273 | ||
8274 | PR target/29198 | |
8275 | * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols. | |
8276 | * config/i386/predicates.md (local_symbolic_operand): Likewise. | |
8277 | ||
8278 | PR c/29091 | |
8279 | * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than | |
8280 | the number of vector elements fill the rest with zeros. | |
8281 | ||
8282 | 2006-10-05 Richard Sandiford <richard@codesourcery.com> | |
8283 | ||
8284 | * config/mips/mips.c (mips_pass_by_reference): Do not return false | |
8285 | for EABI if type is NULL. Use a size check based on GET_MODE_SIZE | |
8286 | instead. | |
8287 | ||
8288 | 2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com> | |
8289 | ||
8290 | * config/bfin/bfin.md (subsi3): Lose expander, change previously | |
8291 | unnamed pattern into subsi3. Use correct constraints/predicates. | |
8292 | * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7". | |
8293 | * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New. | |
8294 | ||
8295 | 2006-10-05 Ira Rosen <irar@il.ibm.com> | |
8296 | ||
8297 | * doc/loop.texi: Add data references analysis description. | |
8298 | ||
8299 | 2006-10-04 Brooks Moses <bmoses@stanford.edu> | |
8300 | ||
8301 | * doc/gcov.texi: Add formatting to "Invoking gcov" section head. | |
8302 | ||
8303 | 2006-10-04 Richard Henderson <rth@redhat.com> | |
8304 | Jakub Jelinek <jakub@redhat.com> | |
8305 | ||
8306 | * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c. | |
8307 | * builtin-types.def (BT_WORD): Make unsigned. | |
8308 | (BT_FN_VOID_PTR_WORD_WORD_PTR): New. | |
8309 | * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New. | |
8310 | (BUILT_IN_EMUTLS_REGISTER_COMMON): New. | |
8311 | * c-decl.c (grokdeclarator): Don't error if !have_tls. | |
8312 | * c-parser.c (c_parser_omp_threadprivate): Likewise. | |
8313 | * cgraph.c (decide_is_variable_needed): Look at force_output. | |
8314 | Recurse for emulated tls. | |
8315 | * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove | |
8316 | checks redundant with decide_is_variable_needed. | |
8317 | (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls. | |
8318 | * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for | |
8319 | emulated tls. | |
8320 | * expr.c (emutls_var_address): New. | |
8321 | (expand_expr_real_1): Expand emulated tls. | |
8322 | (expand_expr_addr_expr_1): Likewise. | |
8323 | * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common. | |
8324 | * output.h (emutls_finish): Declare. | |
8325 | * toplev.c (compile_file): Call it. | |
8326 | * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the | |
8327 | address before wrapping in CONST. | |
8328 | * varasm.c (emutls_htab, emutls_object_type): New. | |
8329 | (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New. | |
8330 | (get_emutls_object_name, get_emutls_object_type): New. | |
8331 | (get_emutls_init_templ_addr, emutls_decl): New. | |
8332 | (emutls_common_1, emutls_finish): New. | |
8333 | (assemble_variable): When emulating tls, swap decls; generate | |
8334 | constructor for the emutls objects. | |
8335 | (do_assemble_alias): When emulating tls, swap decl and target name. | |
8336 | (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT | |
8337 | for emulated tls. | |
8338 | * emutls.c: New file. | |
8339 | * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit | |
8340 | tls_object for real tls. | |
8341 | ||
8342 | 2006-10-04 Zack Weinberg <zackw@panix.com> | |
8343 | ||
8344 | Fix bug in constraint-check generator, reported by Rask Ingemann | |
8345 | Lambertsen: | |
8346 | * genpreds.c (add_constraint): Don't remove anything from the | |
8347 | expression here. | |
8348 | (write_tm_constrs_h): Detect whether "op" argument is used, and | |
8349 | mark it ARG_UNUSED if it isn't. | |
8350 | (write_insn_const_int_ok_for_constraint): Skip the part of the | |
8351 | expression that would test whether "op" (which is not available | |
8352 | here) is a CONST_INT. | |
8353 | ||
8354 | 2006-10-04 Ryan Mansfield <rmansfield@qnx.com> | |
8355 | ||
8356 | PR c++/28448 | |
8357 | * doc/invoke.texi (fdiagnostics-show-option): Fix typos. | |
8358 | ||
8359 | 2006-10-03 Geoffrey Keating <geoffk@apple.com> | |
8360 | ||
8361 | * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for | |
8362 | current Leopard versions. | |
8363 | * config/rs6000/darwin-libgcc.10.5.ver: Likewise. | |
8364 | ||
8365 | 2006-10-03 Kazu Hirata <kazu@codesourcery.com> | |
8366 | ||
8367 | * doc/install.texi: Fix typos. | |
8368 | ||
8369 | 2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr> | |
8370 | ||
8371 | * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX. | |
8372 | * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX. | |
8373 | * config/sparc/sparc.h (FRAME_ADDR_RTX): Define. | |
8374 | ||
8375 | 2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu> | |
8376 | ||
8377 | * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first | |
8378 | arg to be struct mach_header_64* instead. | |
8379 | ||
8380 | 2006-10-02 Jakub Jelinek <jakub@redhat.com> | |
8381 | ||
8382 | PR c/29154 | |
8383 | * gimplify.c (gimplify_self_mod_expr): Run inner expression's post | |
8384 | side effects after the outer expression's post side effects. | |
8385 | ||
8386 | 2006-10-01 Sandra Loosemore <sandra@codesourcery.com> | |
8387 | ||
8388 | * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix | |
8389 | comments to reflect actual behavior and relationship between | |
8390 | DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN. | |
8391 | ||
8392 | * doc/c-tree.texi (Working with declarations): Fix documentation | |
8393 | of FIELD_DECL likewise. | |
8394 | ||
8395 | 2006-10-01 Ryan Mansfield <rmansfield@qnx.com> | |
8396 | ||
8397 | PR c/20533 | |
8398 | * doc/extend.texi: Add used variable attribute description. | |
8399 | ||
8400 | 2006-09-30 Joseph S. Myers <joseph@codesourcery.com> | |
8401 | ||
8402 | PR c/24010 | |
8403 | * c.opt (Woverride-init): New. | |
8404 | * c-opts.c (c_common_post_options): Default warn_override_init to | |
8405 | extra_warnings. | |
8406 | * c-typeck.c (add_pending_init, output_init_element): Warn for | |
8407 | overriding initializers without side effects. | |
8408 | * doc/invoke.texi (-Woverride-init): Document. | |
8409 | (-Wextra): Update. | |
8410 | ||
8411 | 2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr> | |
8412 | ||
8413 | PR rtl-optimization/28096 | |
8414 | * ifcvt.c (check_cond_move_block): Return FALSE if the source of an | |
8415 | assignment has already been used as a destination earlier in the block. | |
8416 | ||
8417 | 2006-09-29 Eric Botcazou <ebotcazou@adacore.com> | |
8418 | ||
8419 | * builtins.c (expand_builtin_setjmp): Delete. | |
8420 | (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable. | |
8421 | <BUILT_IN_SETJMP_SETUP>: New case. | |
8422 | <BUILT_IN_SETJMP_DISPATCHER>: Likewise. | |
8423 | <BUILT_IN_SETJMP_RECEIVER>: Likewise. | |
8424 | * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub. | |
8425 | (BUILT_IN_SETJMP_DISPATCHER): Likewise. | |
8426 | (BUILT_IN_SETJMP_RECEIVER): Likewise. | |
8427 | * gimple-low.c (struct lower_data): New field calls_builtin_setjmp. | |
8428 | (lower_function_body): Initialize it to false. If it is set to true | |
8429 | at the end of the processing, emit the setjmp dispatcher. | |
8430 | (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee | |
8431 | is __builtin_setjmp and set calls_builtin_setjmp to true as well. | |
8432 | <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR | |
8433 | on the rhs of the assignment. | |
8434 | (lower_builtin_setjmp): New function. | |
8435 | * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP, | |
8436 | BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes. | |
8437 | * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate | |
8438 | to detect calls that can go to non-local labels. Use specific | |
8439 | helper to create the abnormal edges associated with them. | |
8440 | <MODIFY_EXPR>: Likewise. | |
8441 | (make_abnormal_goto_edges): New function extracted from... | |
8442 | (make_goto_expr_edges): ...here. Call it for computed gotos. | |
8443 | (simple_goto_p): Minor tweak. | |
8444 | (tree_can_make_abnormal_goto): New predicate. | |
8445 | (tree_redirect_edge_and_branch): Return zero on all abnormal edges. | |
8446 | (tree_purge_dead_abnormal_call_edges): New function. | |
8447 | * tree-flow.h (tree_can_make_abnormal_goto): Declare. | |
8448 | (tree_purge_dead_abnormal_call_edges): Likewise. | |
8449 | (make_abnormal_goto_edges): Likewise. | |
8450 | * tree-inline.c (expand_call_inline): Simplify statement frobbing. | |
8451 | Purge all dead abnormal edges if the call was in the last statement. | |
8452 | * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate. | |
8453 | (execute_fixup_cfg): If there are non-local labels in the function, | |
8454 | scan the basic blocks and split them at calls that can go to non-local | |
8455 | labels or add missing abnormal call edges. Write down the CFG in the | |
8456 | dump file. | |
8457 | (pass_fixup_cfg): Remove TODO_dump_func flag. | |
8458 | * unwind-sjlj.c: Poison setjmp. | |
8459 | * doc/install.texi (enable-sjlj-exceptions): Use more general wording. | |
8460 | * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise. | |
8461 | (TARGET_UNWIND_TABLES_DEFAULT): Fix typo. | |
8462 | (DONT_USE_BUILTIN_SETJMP): Document it. | |
8463 | ||
8464 | 2006-09-28 Geoffrey Keating <geoffk@apple.com> | |
8465 | ||
8466 | PR target/28617 | |
8467 | * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define | |
8468 | to 1 when __ppc64__ is defined. | |
8469 | * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and | |
8470 | darwin-64.c. | |
8471 | * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined. | |
8472 | ||
8473 | 2006-09-28 Steve Ellcey <sje@cup.hp.com> | |
8474 | ||
8475 | * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c. | |
8476 | * config/ia64/unwind-hpux.c: Delete. | |
8477 | ||
8478 | 2006-09-28 Eric Botcazou <ebotcazou@adacore.com> | |
8479 | ||
8480 | * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr | |
8481 | on the element before gimplifying it, instead of punting if it is of | |
8482 | variable size. | |
8483 | ||
8484 | 2006-09-28 Zdenek Dvorak <dvorakz@suse.cz> | |
8485 | ||
8486 | * doc/loop.texi: New file. | |
8487 | * doc/gccint.texi: Reference loop.texi. | |
8488 | * Makefile.in (loop.texi): Add. | |
8489 | ||
8490 | 2006-09-27 Geoffrey Keating <geoffk@apple.com> | |
8491 | ||
8492 | * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not | |
8493 | __sysctl. | |
8494 | * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove. | |
8495 | * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove. | |
8496 | ||
8497 | 2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org> | |
8498 | ||
8499 | * config/sh/sh.md (divsi_inv_m0): Remove unused variable. | |
8500 | ||
8501 | 2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org> | |
8502 | ||
8503 | * doc/install.texi: Document required versions of GMP and MPFR. | |
8504 | ||
8505 | 2006-09-27 Paul Brook <paul@codesourcery.com> | |
8506 | ||
8507 | PR target/29230 | |
8508 | * config/arm/arm.md (arith_adjacentmem): Handle large offsets. | |
8509 | ||
8510 | 2006-09-27 Richard Sandiford <richard@codesourcery.com> | |
8511 | ||
8512 | * reload1.c (alter_reg): Require the alignment of the stack slot to | |
8513 | be at least reg_max_ref_width bytes. | |
8514 | (scan_paradoxical_subregs): Record the largest width in | |
8515 | reg_max_ref_width. | |
8516 | ||
8517 | 2006-09-26 Jakub Jelinek <jakub@redhat.com> | |
8518 | ||
8519 | PR middle-end/25261 | |
8520 | PR middle-end/28790 | |
8521 | * tree-nested.c (struct nesting_info): Added static_chain_added. | |
8522 | (convert_call_expr): Set static_chain_added when adding static | |
8523 | chain. Handle OMP_PARALLEL and OMP_SECTION. | |
8524 | ||
8525 | 2006-09-25 Matthias Klose <doko@debian.org> | |
8526 | ||
8527 | * doc/invoke.texi: Add missing full stop. | |
8528 | ||
8529 | 2006-09-25 Richard Henderson <rth@redhat.com> | |
8530 | ||
8531 | * cgraph.c (dump_cgraph_varpool_node): Don't crash if called | |
8532 | before cgraph_function_flags_ready. | |
8533 | ||
8534 | 2006-09-24 Zdenek Dvorak <dvorakz@suse.cz> | |
8535 | Adam Nemet <anemet@caviumnetworks.com> | |
8536 | ||
8537 | * tree-ssa-loop-ivopts.c (aff_combination_convert, | |
8538 | determine_common_wider_type): New functions. | |
8539 | (get_computation_aff): Use them to simplify arithmetic between | |
8540 | UBASE and CBASE if they are shortened from the same type. | |
8541 | ||
8542 | 2006-09-24 Kazu Hirata <kazu@codesourcery.com> | |
8543 | ||
8544 | PR target/28911 | |
8545 | * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use | |
8546 | -2147483647 - 1 instead of 0x80000000. | |
8547 | ||
8548 | 2006-09-23 Revital1 Eres <ERES@il.ibm.com> | |
8549 | ||
8550 | * flags.h (HONOR_NANS): Fix typo in comment. | |
8551 | ||
8552 | 2006-09-23 Uros Bizjak <uros@kss-loka.si> | |
8553 | ||
8554 | * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype. | |
8555 | ||
8556 | 2006-09-23 Jakub Jelinek <jakub@redhat.com> | |
8557 | ||
8558 | PR c/28706 | |
8559 | PR c/28712 | |
8560 | * tree.c (merge_attributes, attribute_list_contained): If both | |
8561 | TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of | |
8562 | simple_cst_equal. | |
8563 | * c-typeck.c (comptypes_internal): Don't consider aggregates | |
8564 | in different TUs as compatible if there one set of attributes is | |
8565 | not a subset of the other type's attributes. | |
8566 | (composite_type): Try harder not to create a new aggregate type. | |
8567 | ||
8568 | 2006-09-22 Geoffrey Keating <geoffk@apple.com> | |
8569 | ||
8570 | * config/i386/driver-i386.c: Always define host_detect_local_cpu. | |
8571 | * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386 | |
8572 | or x86_64 host. Define HAVE_LOCAL_CPU_DETECT. | |
8573 | (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather | |
8574 | than replicating condition above. | |
8575 | * config.host (i[34567]86-*-*): Always use driver-i386.o. | |
8576 | ||
8577 | * config/darwin.h (LINK_SYSROOT_SPEC): New. | |
8578 | (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to | |
8579 | the linker by default. | |
8580 | ||
8581 | 2006-09-22 Mike Stump <mrs@apple.com> | |
8582 | ||
8583 | * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with | |
8584 | code. | |
8585 | ||
8586 | 2006-09-22 Richard Guenther <rguenther@suse.de> | |
8587 | ||
8588 | PR middle-end/28964 | |
8589 | * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make | |
8590 | sort of stack variables stable. | |
8591 | ||
8592 | 2006-09-22 Peter Bergner <bergner@vnet.ibm.com> | |
8593 | ||
8594 | PR middle-end/28690 | |
8595 | * explow.c (force_reg): Set REG_POINTER flag according to | |
8596 | MEM_POINTER flag. | |
8597 | ||
8598 | 2006-09-22 Zdenek Dvorak <dvorakz@suse.cz> | |
8599 | ||
8600 | PR tree-optimization/28888 | |
8601 | * tree-if-conv.c (combine_blocks): Rewritten. | |
8602 | * tree-cfg.c (tree_verify_flow_info): Check that edges with | |
8603 | EDGE_TRUE/FALSE_VALUE follow COND_EXPR. | |
8604 | ||
8605 | 2006-09-22 Jakub Jelinek <jakub@redhat.com> | |
8606 | ||
8607 | * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if | |
8608 | needed. | |
8609 | ||
8610 | 2006-09-21 Richard Sandiford <richard@codesourcery.com> | |
8611 | ||
8612 | * varasm.c (copy_constant): Fix reversed gcc_assert check. | |
8613 | ||
8614 | 2006-09-21 Janis Johnson <janis187@us.ibm.com> | |
8615 | ||
8616 | * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins. | |
8617 | ||
8618 | 2006-09-21 Roger Sayle <roger@eyesopen.com> | |
8619 | ||
8620 | PR debug/29132 | |
8621 | * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label, | |
8622 | dw_fde_current_label, to be the start of the function, i.e. the same | |
8623 | value as dw_fde_begin. | |
8624 | ||
8625 | 2006-09-20 Richard Sandiford <richard@codesourcery.com> | |
8626 | ||
8627 | * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete. | |
8628 | * config/mips/mips.md (UNSPEC_ABS_PS): New constant. | |
8629 | (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2) | |
8630 | (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1. | |
8631 | (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS. | |
8632 | (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise. | |
8633 | (abs<mode>2, neg<mode>2): Likewise. | |
8634 | * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand. | |
8635 | (*mips_abs_ps): New define_insn. | |
8636 | ||
8637 | 2006-09-20 Josh Conner <jconner@apple.com> | |
8638 | ||
8639 | PR middle-end/25505 | |
8640 | * calls.c (expand_call): Allow reuse of structure return stack | |
8641 | temp. | |
8642 | ||
8643 | 2006-09-20 Paul Brook <paul@codesourcery.com> | |
8644 | ||
8645 | * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for | |
8646 | positive offsets. | |
8647 | ||
8648 | 2006-09-20 Janis Johnson <janis187@us.ibm.com> | |
8649 | ||
8650 | * doc/extend.texi (Decimal Float): Update for latest draft TR, | |
8651 | clean up terminology. | |
8652 | ||
8653 | 2006-09-20 Steve Ellcey <sje@cup.hp.com> | |
8654 | ||
8655 | PR target/28574 | |
8656 | * ifcvt.c (dead_or_predicable): Don't predicate then blocks | |
8657 | with tablejumps in them. | |
8658 | ||
8659 | 2006-09-20 Jakub Jelinek <jakub@redhat.com> | |
8660 | ||
8661 | PR middle-end/28046 | |
8662 | * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough, | |
8663 | wrap it into TARGET_EXPR. | |
8664 | ||
8665 | 2006-09-20 Eric Christopher <echristo@apple.com> | |
8666 | ||
8667 | * config/i386/i386.c (x86_fisttp): Remove. | |
8668 | * config/i386/i386.h (x86_fisttp): Ditto. | |
8669 | (TARGET_FISTTP): Ditto. | |
8670 | ||
8671 | 2006-09-19 Eric Christopher <echristo@apple.com> | |
8672 | ||
8673 | * doc/tm.texi (OBJC_JBLEN): Describe. | |
8674 | * config/i386/darwin.h (OBJC_JBLEN): Define. | |
8675 | * config/rs6000/darwin.h: Ditto. | |
8676 | ||
8677 | 2006-09-19 Steven Bosscher <steven@gcc.gnu.org> | |
8678 | ||
8679 | PR rtl-optimization/21299 | |
8680 | * reload1.c (reload): Purge invalid ASMs in the final pass. | |
8681 | ||
8682 | 2006-09-19 Steve Ellcey <sje@cup.hp.com> | |
8683 | ||
8684 | PR 28490 | |
8685 | * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function | |
8686 | pointers as legitimate constants. | |
8687 | ||
8688 | 2006-09-19 Paul Brook <paul@codesourcery.com> | |
8689 | ||
8690 | PR target/28516 | |
8691 | * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const. | |
8692 | ||
8693 | 2006-09-17 Zdenek Dvorak <dvorakz@suse.cz> | |
8694 | ||
8695 | PR tree-optimization/28887 | |
8696 | * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable | |
8697 | component parts from the reference. | |
8698 | (gather_memory_references_ref): Record the reference without the | |
8699 | nonaddressable component parts. | |
8700 | ||
8701 | 2006-09-17 Steven Bosscher <steven@gcc.gnu.org> | |
8702 | ||
8703 | PR c/25993 | |
8704 | * c-opts.c (c_common_handle_option): Ignore the -std options | |
8705 | if the input language is assembly. | |
8706 | ||
8707 | 2006-09-17 Ira Rosen <irar@il.ibm.com> | |
8708 | ||
8709 | PR tree-opt/21591 | |
8710 | * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory | |
8711 | tag first. | |
8712 | (ptr_ptr_may_alias_p): Likewise. | |
8713 | (record_record_differ_p): New function. | |
8714 | (base_object_differ_p): Call record_record_differ_p. | |
8715 | ||
8716 | 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu> | |
8717 | ||
8718 | PR tree-opt/29059 | |
8719 | * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right | |
8720 | away for the expr argument. | |
8721 | ||
8722 | 2006-09-16 Steven Bosscher <steven@gcc.gnu.org> | |
8723 | ||
8724 | PR tree-opt/27742 | |
8725 | * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location | |
8726 | before using it for dumping after vectorizing loops. | |
8727 | ||
8728 | 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu> | |
8729 | Jack Howarth <howarth@bromo.med.uc.edu> | |
8730 | ||
8731 | PR target/29030 | |
8732 | * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse) | |
8733 | skip on error_mark_node. | |
8734 | (rs6000_darwin64_record_arg_recurse): Likewise. | |
8735 | ||
8736 | 2006-09-16 Steven Bosscher <steven@gcc.gnu.org> | |
8737 | ||
8738 | * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove. | |
8739 | * doc/rtl.texi: Remove related documentation. | |
8740 | ||
8741 | 2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com> | |
8742 | ||
8743 | * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging | |
8744 | printf. | |
8745 | ||
8746 | 2006-09-15 Jim Wilson <wilson@specifix.com> | |
8747 | ||
8748 | * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST): | |
8749 | Handle symbol offsets same as they are handled in ia64_expand_move | |
8750 | and move_operand. | |
8751 | ||
8752 | 2006-09-16 Andreas Tobler <a.tobler@schweiz.org> | |
8753 | ||
8754 | * loop-doloop.c (doloop_optimize): Change type of max_cost to int. | |
8755 | Add forgotten parameter to the fprintf call. | |
8756 | ||
8757 | 2006-09-15 Steve Ellcey <sje@cup.hp.com> | |
8758 | ||
8759 | * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define. | |
8760 | ||
8761 | 2006-09-15 Uros Bizjak <uros@kss-loka.si> | |
8762 | ||
8763 | * doc/contrib.texi: Add my entry. | |
8764 | ||
8765 | 2006-09-15 Nick Clifton <nickc@redhat.com> | |
8766 | ||
8767 | * doc/md.texi (Processor pipeline description): Fix typo in | |
8768 | example of how to use the absence_set directive and reword the | |
8769 | description to make it slightly easier to read. | |
8770 | ||
8771 | 2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com> | |
8772 | ||
8773 | * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New. | |
8774 | * loop-doloop.c (doloop_optimize): Use it to limit costs of | |
8775 | expanding the number of iterations. | |
8776 | * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD. | |
8777 | ||
8778 | * cfgrtl.c (emit_insn_at_entry): New function. | |
8779 | * rtl.h (emit_insn_at_entry): Declare it. | |
8780 | * integrate.c (emit_initial_value_sets): Use it. | |
8781 | ||
8782 | * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort. | |
8783 | ||
8784 | * config/bfin/bfin.c (struct loop_info): New members block_bitmap and | |
8785 | bad. | |
8786 | (struct loop_work and related VEC declarations): Delete. | |
8787 | (bfin_dump_loops): Print out new member bad. | |
8788 | (bfin_bb_in_loop): Use plain bitmap test. Don't recurse. | |
8789 | (bfin_scan_loop): Don't recurse. | |
8790 | (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad | |
8791 | loops. No longer need to update outer loops if the current one is | |
8792 | found bad. Move some validitiy checks to bfin_discover_loop. | |
8793 | (bfin_discover_loop): New function, mostly split from bfin_reorg_loops, | |
8794 | but changed not to check for nesting. Also changed to use the new bad | |
8795 | flag. | |
8796 | (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a | |
8797 | time. Use bitmap based test to discover loop nesting. | |
8798 | ||
8799 | 2006-09-15 Kazu Hirata <kazu@codesourcery.com> | |
8800 | ||
8801 | * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in | |
8802 | one line. | |
8803 | ||
8804 | 2006-09-14 Richard Guenther <rguenther@suse.de> | |
8805 | Kazu Hirata <kazu@codesourcery.com> | |
8806 | ||
8807 | PR middle-end/28884. | |
8808 | * doc/tm.texi (TARGET_FUNCTION_VALUE): Document. | |
8809 | (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate. | |
8810 | Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE | |
8811 | with TARGET_FUNCTION_VALUE. | |
8812 | ||
8813 | 2006-09-14 Anatoly Sokolov <aesok@post.ru> | |
8814 | ||
8815 | PR target/26504 | |
8816 | * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define. | |
8817 | ||
8818 | 2006-09-13 Aldy Hernandez <aldyh@redhat.com> | |
8819 | ||
8820 | * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand | |
8821 | of a RETURN_EXPR | |
8822 | ||
8823 | 2006-09-13 Andrew Pinski <pinskia@physics.uc.edu> | |
8824 | ||
8825 | PR debug/28980 | |
8826 | * dwarf2out.c (loc_descriptor_from_tree_1): Handle | |
8827 | FUNCTION_DECL. | |
8828 | ||
8829 | 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com> | |
8830 | ||
8831 | * basic_block.h (bb_has_eh_pred): Fix comment. | |
8832 | ||
8833 | 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com> | |
8834 | ||
8835 | * flow.c (calculate_global_regs_live): Invalidate eh registers | |
8836 | on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge. | |
8837 | (propagate_block): Handle eh registers as if they were set at basic | |
8838 | block start. | |
8839 | * except.c (dw2_build_landing_pads): Don't emit clobbers for eh | |
8840 | registers. | |
8841 | * global.c (global_conflicts): Make eh registers to conflict with | |
8842 | pseudos live at basic block begin. | |
8843 | * basic_block.h (bb_has_eh_pred): New function. | |
8844 | ||
8845 | 2006-09-13 Richard Sandiford <richard@codesourcery.com> | |
8846 | ||
8847 | PR rtl-optimization/28982 | |
8848 | * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the | |
8849 | index of a PRE_MODIFY or POST_MODIFY address. | |
8850 | * reload1.c (inc_for_reload): Use find_replacement on the original | |
8851 | base and index registers. | |
8852 | ||
8853 | 2006-09-12 H.J. Lu <hongjiu.lu@intel.com> | |
8854 | ||
8855 | * doc/invoke.texi (mpreferred-stack-boundary): Remove exception | |
8856 | for -Os. Update __m128 alignment requirement. | |
8857 | ||
8858 | 2006-09-13 Jan Hubicka <jh@suse.cz> | |
8859 | ||
8860 | * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic. | |
8861 | ||
8862 | 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr> | |
8863 | ||
8864 | PR rtl-optimization/28243 | |
8865 | * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past | |
8866 | the insn to which the note was originally attached. | |
8867 | ||
8868 | 2006-09-12 Andrew Pinski <pinskia@physics.uc.edu> | |
8869 | Roger Sayle <roger@eyesopen.com> | |
8870 | ||
8871 | * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration | |
8872 | outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure | |
8873 | on platforms that don't use dwarf for debug info. | |
8874 | ||
8875 | 2006-09-12 Jason Merrill <jason@redhat.com> | |
8876 | ||
8877 | PR middle-end/28493 | |
8878 | * builtins.c (expand_builtin_setjmp_receiver): Clobber | |
8879 | hard_frame_pointer_rtx after using it to update the frame pointer. | |
8880 | ||
8881 | 2006-09-12 Roger Sayle <roger@eyesopen.com> | |
8882 | ||
8883 | * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef. | |
8884 | (TARGET_ASM_CLOSE_PAREN): Likewise. | |
8885 | * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define. | |
8886 | (TARGET_ASM_CLOSE_PAREN): Likewise. | |
8887 | ||
8888 | 2006-09-12 Roger Sayle <roger@eyesopen.com> | |
8889 | ||
8890 | PR target/22223 | |
8891 | * config/alpha/alpha.c (alpha_start_function): Don't emit stack | |
8892 | frame information for frames larger than 512 Kbytes on Tru64 when | |
8893 | using the native assembler. | |
8894 | ||
8895 | 2006-09-12 Roger Sayle <roger@eyesopen.com> | |
8896 | ||
8897 | PR middle-end/4520 | |
8898 | PR bootstrap/28784 | |
8899 | * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels | |
8900 | and symbols. Instead use the implementation from cse.c's hash_rtx. | |
8901 | ||
8902 | 2006-09-12 Jan Hubicka <jh@suse.cz> | |
8903 | ||
8904 | PR rtl-optimization/28071 | |
8905 | * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast. | |
8906 | (vect_transform_loop): Likewise. | |
8907 | * tree-vectorizer.c (new_loop_vec_info): Likewise. | |
8908 | (new_loop_vec_info): Likewise. | |
8909 | (destroy_loop_vec_info): Likewise. | |
8910 | * tree-dfa.c (create_var_ann): Use GCC_CNEW. | |
8911 | (create_stmt_ann): Likewise. | |
8912 | (create_tree_ann): Rename to ... | |
8913 | (create_tree_common_ann): ... this one; allocate only the common part | |
8914 | of annotations. | |
8915 | * tree-vn.c (set_value_handle): Use get_tree_common_ann. | |
8916 | (get_value_handle): Likewise. | |
8917 | * tree-ssa-pre.c (phi_translate): Delay annotation allocation for | |
8918 | get_tree_common_ann. | |
8919 | * tree-vectorizer.h (set_stmt_info): Take stmt annotation. | |
8920 | (vinfo_for_stmt): Use stmt annotations. | |
8921 | * tree-flow.h (tree_ann_common_t): New type. | |
8922 | (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New. | |
8923 | (tree_ann, get_tree_ann, create_tree_ann): New. | |
8924 | * tree-flow-inline.h (get_function_ann): Do more type checking. | |
8925 | (stmt_ann): Likewise. | |
8926 | (tree_ann): Rename to ... | |
8927 | (tree_common_ann): ... this one; return ony common_ann | |
8928 | (get_tree_ann): Rename to ... | |
8929 | (tree_common_ann): This one; return only common_ann. | |
8930 | * tree-vect-patterns.c (vect_pattern_recog_1): Update call | |
8931 | of set_stmt_info. | |
8932 | ||
8933 | 2006-09-11 Geoffrey Keating <geoffk@apple.com> | |
8934 | ||
8935 | * config.gcc (i[34567]86-*-darwin*): Set with_arch and | |
8936 | with_cpu by default. | |
8937 | ||
8938 | * dwarf2out.c (dwarf_file_data): New. | |
8939 | (enum dw_val_class): Add dw_val_class_file. | |
8940 | (struct dw_val_struct): Add val_file. | |
8941 | (file_table): Change to a hash table. | |
8942 | (file_table_emitted): Delete. | |
8943 | (file_table_last_lookup_index): Delete. | |
8944 | (emitcount): Delete. | |
8945 | (last_emitted_file): New. | |
8946 | (lookup_filename): Change prototype to return a struct dwarf_file_data. | |
8947 | (init_file_table): Delete. | |
8948 | (maybe_emit_file): Change prototype to take a struct dwarf_file_data. | |
8949 | (AT_addr): Add comment. | |
8950 | (add_AT_file): New. | |
8951 | (AT_file): New. | |
8952 | (get_AT_file): New. | |
8953 | (print_die): Handle dw_val_class_file. | |
8954 | (print_dwarf_line_table): Update for new file table structure. | |
8955 | (attr_checksum): Do checksum a filename. | |
8956 | (same_dw_val_p, same_attr_p): Do compare a filename. | |
8957 | (size_of_die): Handle dw_val_class_file. | |
8958 | (value_format): Likewise. | |
8959 | (output_die): Likewise. Also, call maybe_emit_file here. | |
8960 | (struct file_info): Constify filenames. Make file_idx a pointer | |
8961 | to a struct dwarf_file_data. | |
8962 | (struct dir_info): Constify directory names. Remove 'used' field. | |
8963 | (struct file_name_acquire_data): New. | |
8964 | (file_name_acquire): New. | |
8965 | (output_file_names): Modify to handle new file data structures. | |
8966 | (add_src_coords_attributes): Use add_AT_file. | |
8967 | (add_call_src_coords_attributes): Likewise. | |
8968 | (dwarf2out_imported_module_or_decl): Likewise. | |
8969 | (gen_subprogram_die): Modify for new file data structures. | |
8970 | (gen_variable_die): Likewise. | |
8971 | (file_table_eq): New. | |
8972 | (file_table_hash): New. | |
8973 | (file_table_last_lookup): New. | |
8974 | (lookup_filename): Rewrite to handle new file data structures. | |
8975 | (maybe_emit_file): Rewrite to handle new file data structures. | |
8976 | (dwarf2out_source_line): Always call lookup_filename and | |
8977 | maybe_emit_file. | |
8978 | (dwarf2out_init): Create file_table here. | |
8979 | (prune_unused_types_walk_attribs): Don't call maybe_emit_file here. | |
8980 | (file_table_relative_p): New. | |
8981 | (dwarf2out_finish): Change detection of relative filenames | |
8982 | to work with new file data structures. Move output_line_info call | |
8983 | after debug_info output. | |
8984 | ||
8985 | 2006-09-11 H.J. Lu <hongjiu.lu@intel.com> | |
8986 | ||
8987 | PR target/13685 | |
8988 | PR target/27537 | |
8989 | PR target/28621 | |
8990 | * config/i386/i386.c (override_options): Always default to 16 | |
8991 | byte stack boundary. | |
8992 | ||
8993 | 2006-09-11 Alexandre Oliva <aoliva@redhat.com> | |
8994 | ||
8995 | PR target/28672 | |
8996 | * var-tracking.c (dump_dataflow_set): Start dumping at | |
8997 | register zero. | |
8998 | (clobber_variable_part): Kill only the variable part in | |
8999 | registers holding it, leaving other variables alone. | |
9000 | ||
9001 | 2006-09-11 Josh Triplett <josh@freedesktop.org> | |
9002 | ||
9003 | * doc/extend.texi (Other Builtins): Actually use the macro | |
9004 | argument in the documentation example for | |
9005 | __builtin_types_compatible_p. | |
9006 | ||
9007 | 2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9008 | ||
9009 | PR rtl-optimization/28726 | |
9010 | * sched-deps.c (sched_analyze_reg): New function extracted from... | |
9011 | (sched_analyze_1): ...here. Call it to analyze references to | |
9012 | registers. Treat again writes to a stack register as writing to the | |
9013 | register. | |
9014 | (sched_analyze_2): ...and here. Call it to analyze references to | |
9015 | registers. Treat again reads of a stack register as reading the | |
9016 | register. | |
9017 | ||
9018 | 2006-09-11 Guenter Roeck <guenter@roeck-us.net> | |
9019 | David Edelsohn <edelsohn@gnu.org> | |
9020 | ||
9021 | PR target/27287 | |
9022 | * config/rs6000/spe.md (frob_df_di): Remove %H. | |
9023 | (frob_di_df): Remove %H. Change evmergelo to mr. | |
9024 | (frob_di_df_2): Remove %H. Change evldd to two loads. | |
9025 | ||
9026 | 2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp> | |
9027 | ||
9028 | * doc/cpp.texi: Fix names of charset options. | |
9029 | ||
9030 | 2006-09-10 Andrew Pinski <pinskia@physics.uc.edu> | |
9031 | ||
9032 | PR target/29009 | |
9033 | * config/i386/i386.c (override_options): Use 128-bit | |
9034 | stack boundary always for 64bits. | |
9035 | ||
9036 | 2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9037 | ||
9038 | PR rtl-optimization/28636 | |
9039 | * combine.c (force_to_mode): Test for side-effects before | |
9040 | substituting by zero. | |
9041 | (simplify_shift_const): Likewise for zero or other constants. | |
9042 | ||
9043 | 2006-09-10 Steven Bosscher <steven@gcc.gnu.org> | |
9044 | ||
9045 | PR middle-end/26983 | |
9046 | * builtins.c (expand_builtin_setjmp): Force next_lab to be | |
9047 | preserved. | |
9048 | ||
9049 | 2006-09-10 Richard Sandiford <richard@codesourcery.com> | |
9050 | ||
9051 | PR target/29006 | |
9052 | * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare. | |
9053 | * config/mips/mips.c (mips_expand_unaligned_store): Use the mode | |
9054 | returned by mode_for_size, rather than the mode of src itself, | |
9055 | to choose between 32-bit and 64-bit patterns. | |
9056 | (mips_mem_fits_mode_p): New function. | |
9057 | * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check | |
9058 | that the size of the source matches the size of the destination. | |
9059 | (mov_<store>l, mov_<store>r): Likewise. | |
9060 | ||
9061 | 2006-09-10 Eric Christopher <echristo@apple.com> | |
9062 | ||
9063 | * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR | |
9064 | for literal16. | |
9065 | ||
9066 | 2006-09-09 Eric Christopher <echristo@apple.com> | |
9067 | ||
9068 | PR target/28995 | |
9069 | * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT | |
9070 | for literal16. | |
9071 | ||
9072 | 2006-09-09 Roger Sayle <roger@eyesopen.com> | |
9073 | Nicolas Setton <setton@adacore.com> | |
9074 | ||
9075 | * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc. | |
9076 | ||
9077 | 2006-09-10 Andreas Schwab <schwab@suse.de> | |
9078 | ||
9079 | * config/m68k/m68k.md (bungt_rev): New pattern. | |
9080 | ||
9081 | 2006-09-09 Paolo Bonzini <bonzini@gnu.org> | |
9082 | Dale Johannesen <dalej@apple.com> | |
9083 | ||
9084 | PR target/26778 | |
9085 | * regclass.c (struct reg_pref): Update documentation. | |
9086 | (regclass): Set prefclass to NO_REGS if memory is the best option. | |
9087 | (record_reg_classes): Cope with a prefclass set to NO_REGS. | |
9088 | ||
9089 | 2006-09-08 Eric Christopher <echristo@apple.com> | |
9090 | ||
9091 | * config.gcc (i?86-*-darwin): Add 64-bit HWI support. | |
9092 | * config/t-slibgcc-darwin: Support x86_64 multilib. | |
9093 | * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): | |
9094 | Return 1 for x86_64-darwin. | |
9095 | * config/i386/t-darwin: Add m64 multilib. | |
9096 | (LIB2_SIDITI_CONV_FUNCS): Use. | |
9097 | (LIB2FUNCS_EXTRA): Ditto. | |
9098 | * config/i386/darwin.h: Support x86_64. | |
9099 | * config/i386/i386.c (override_options): Turn on flag_pic | |
9100 | for x86_64-darwin. Disable flag_omit_pointer. | |
9101 | (get_pc_thunk_name): Assert !TARGET_64BIT. | |
9102 | (legitimate_address_p): Disable machopic addressing for | |
9103 | x86_64. | |
9104 | (legitimize_pic_address): Ditto. | |
9105 | (ix86_expand_move): Ditto. | |
9106 | (ix86_expand_call): Ditto. | |
9107 | (machopic_output_stub): Ditto. | |
9108 | * config/darwin.c (machopic_select_section): Support literal16. | |
9109 | (machopic_select_rtx_section): Ditto. | |
9110 | * config/darwin-sections.def: Ditto. | |
9111 | * config/darwin-64.c: New. | |
9112 | ||
9113 | 2006-09-08 Joseph S. Myers <joseph@codesourcery.com> | |
9114 | ||
9115 | PR c/28504 | |
9116 | * c-tree.h (struct c_arg_info): Add pending_sizes. | |
9117 | * c-parser.c (c_parser_parms_declarator, | |
9118 | c_parser_parms_list_declarator): Initialize pending_sizes. | |
9119 | * c-decl.c (get_parm_info): Initialize pending_sizes. | |
9120 | (get_parm_info): Set pending_sizes. | |
9121 | (grokdeclarator): Call put_pending_sizes for parameters for | |
9122 | function definition only. | |
9123 | ||
9124 | 2006-09-07 Jason Merrill <jason@redhat.com> | |
9125 | ||
9126 | PR middle-end/27724 | |
9127 | * varasm.c (output_constant): Only strip actual no-op conversions. | |
9128 | ||
9129 | PR target/13685 | |
9130 | * config/i386/i386.c (override_options): Use 128-bit | |
9131 | stack boundary if -msse. | |
9132 | ||
9133 | 2006-09-07 Eric Christopher <echristo@apple.com> | |
9134 | ||
9135 | * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update | |
9136 | comment. | |
9137 | * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): | |
9138 | Redefine. | |
9139 | ||
9140 | 2006-09-07 Geoffrey Keating <geoffk@apple.com> | |
9141 | ||
9142 | * dwarf2out.c: Remove strange characters from comment above | |
9143 | dwarf2out_frame_debug_expr. | |
9144 | ||
9145 | 2006-09-07 Eric Christopher <echristo@apple.com> | |
9146 | ||
9147 | * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here... | |
9148 | * config/darwin.h: ... to here. | |
9149 | ||
9150 | 2006-09-07 H.J. Lu <hongjiu.lu@intel.com> | |
9151 | ||
9152 | * config/i386/i386.c (x86_partial_flag_reg_stall): New. | |
9153 | ||
9154 | * config/i386/i386.h (x86_partial_flag_reg_stall): New. | |
9155 | (TARGET_PARTIAL_FLAG_REG_STALL): New. | |
9156 | ||
9157 | * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for | |
9158 | TARGET_PARTIAL_FLAG_REG_STALL. | |
9159 | (*ashldi3_cconly_rex64): Likewise. | |
9160 | (*ashlsi3_cmp): Likewise. | |
9161 | (*ashlsi3_cconly): Likewise. | |
9162 | (*ashlsi3_cmp_zext): Likewise. | |
9163 | (*ashlhi3_cmp): Likewise. | |
9164 | (*ashlhi3_cconly): Likewise. | |
9165 | (*ashlqi3_cmp): Likewise. | |
9166 | (*ashlqi3_cconly): Likewise. | |
9167 | (*ashrdi3_cmp_rex64): Likewise. | |
9168 | (*ashrdi3_cconly_rex64): Likewise. | |
9169 | (*ashrsi3_cmp): Likewise. | |
9170 | (*ashrsi3_cconly): Likewise. | |
9171 | (*ashrsi3_cmp_zext): Likewise. | |
9172 | (*ashrhi3_cmp): Likewise. | |
9173 | (*ashrhi3_cconly): Likewise. | |
9174 | (*ashrqi3_cmp): Likewise. | |
9175 | (*ashrqi3_cconly): Likewise. | |
9176 | (*lshrdi3_cmp_rex64): Likewise. | |
9177 | (*lshrdi3_cconly_rex64): Likewise. | |
9178 | (*lshrsi3_cmp): Likewise. | |
9179 | (*lshrsi3_cconly): Likewise. | |
9180 | (*lshrsi3_cmp_zext): Likewise. | |
9181 | (*lshrhi3_cmp): Likewise. | |
9182 | (*lshrhi3_cconly): Likewise. | |
9183 | (*lshrqi2_cmp): Likewise. | |
9184 | (*lshrqi2_cconly): Likewise. | |
9185 | ||
9186 | 2006-09-07 Uros Bizjak <uros@kss-loka.si> | |
9187 | ||
9188 | PR target/28946 | |
9189 | * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly", | |
9190 | "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64", | |
9191 | "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly", | |
9192 | "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly", | |
9193 | "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly", | |
9194 | "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64", | |
9195 | "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly", | |
9196 | "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly", | |
9197 | "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to | |
9198 | implement only CC setting effects of shift instructions. | |
9199 | ||
9200 | 2006-09-07 Martin Michlmayr <tbm@cyrius.com> | |
9201 | ||
9202 | * doc/contrib.texi: Add myself. | |
9203 | ||
9204 | 2006-09-07 Andrew Pinski <pinskia@physics.uc.edu> | |
9205 | ||
9206 | PR middle-end/28862 | |
9207 | * stor-layout.c (relayout_decl): Don't zero the alignment if it | |
9208 | was set by the user. | |
9209 | ||
9210 | 2006-09-07 Paolo Bonzini <bonzini@gnu.org> | |
9211 | ||
9212 | PR target/27117 | |
9213 | * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns. | |
9214 | (divsi_inv_m1): Use them. | |
9215 | (UNSPEC_DIV_INV_TABLE): New constant. | |
9216 | ||
9217 | 2006-09-06 James E Wilson <wilson@specifix.com> | |
9218 | ||
9219 | PR rtl-opt/27883 | |
9220 | * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES | |
9221 | then call count_or_remove_death_notes. | |
9222 | ||
9223 | 2006-09-06 Jason Merrill <jason@redhat.com> | |
9224 | ||
9225 | PR c++/27371 | |
9226 | * tree-inline.c (copy_result_decl_to_var): New fn. | |
9227 | (declare_return_variable): Use it. Call declare_inline_vars here. | |
9228 | (expand_call_inline): Not here. | |
9229 | ||
9230 | 2006-09-06 Diego Novillo <dnovillo@redhat.com> | |
9231 | ||
9232 | * doc/contrib.texi: Update my entry. | |
9233 | ||
9234 | 2006-09-06 Nick Clifton <nickc@redhat.com> | |
9235 | ||
9236 | * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define. | |
9237 | ||
9238 | 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu> | |
9239 | ||
9240 | PR tree-opt/28937 | |
9241 | * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int. | |
9242 | (canonicalize_induction_variables): Likewise. | |
9243 | (tree_unroll_loops_completely): Likewise. | |
9244 | (tree_ssa_prefetch_arrays): Likewise. | |
9245 | (remove_empty_loops): Likewise. | |
9246 | * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return | |
9247 | TODO_cleanup_cfg instead of directly calling | |
9248 | cleanup_tree_cfg_loop. | |
9249 | * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): | |
9250 | Likewise. | |
9251 | (tree_unroll_loops_completely): Likewise. | |
9252 | (remove_empty_loops): Likewise. | |
9253 | * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise. | |
9254 | * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value | |
9255 | of tree_ssa_unswitch_loops. | |
9256 | (tree_ssa_loop_ivcanon): Use the return value of | |
9257 | canonicalize_induction_variables. | |
9258 | (tree_ssa_empty_loop): Use the return value of | |
9259 | remove_empty_loops. | |
9260 | (tree_complete_unroll): Use the return value of | |
9261 | tree_unroll_loops_completely. | |
9262 | (tree_ssa_loop_prefetch): Use the return value of | |
9263 | tree_ssa_prefetch_arrays. | |
9264 | * passes.c (execute_todo): Before Cleanup CFG, set | |
9265 | updating_used_alone and after cleanup CFG, call | |
9266 | recalculate_used_alone. | |
9267 | ||
9268 | 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu> | |
9269 | ||
9270 | PR tree-opt/28952 | |
9271 | * tree-vect-transform.c (vectorizable_condition): Move the check | |
9272 | for the type after the check for simple condition. | |
9273 | ||
9274 | 2006-09-05 J"orn Rennecke <joern.rennecke@st.com> | |
9275 | Kaz Kojima <kkojima@gcc.gnu.org> | |
9276 | ||
9277 | PR target/28764 | |
9278 | * mode-switching.c (optimize_mode_switching): Make the destination | |
9279 | block of an abnormal edge have no anticipatable mode. Don't | |
9280 | insert mode switching code at the end of the source block of | |
9281 | an abnormal edge. | |
9282 | ||
9283 | 2006-09-05 Paolo Bonzini <bonzini@gnu.org> | |
9284 | ||
9285 | PR rtl-optimization/26847 | |
9286 | * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix. | |
9287 | (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno. | |
9288 | (simplify_plus_minus): Count n_constants while filling ops. Replace | |
9289 | qsort with insertion sort. Before going through the array to simplify | |
9290 | pairs, sort it. Delay early exit until after the first sort, exiting | |
9291 | only if no swaps occurred. Simplify pairs in reversed order, without | |
9292 | special-casing the first iteration. Pack ops after simplifying pairs. | |
9293 | ||
9294 | 2006-09-05 Anatoly Sokolov <aesok@post.ru> | |
9295 | ||
9296 | * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device. | |
9297 | * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). | |
9298 | * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). | |
9299 | (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED. | |
9300 | ||
9301 | 2006-09-05 Richard Guenther <rguenther@suse.de> | |
9302 | ||
9303 | PR tree-optimization/28900 | |
9304 | * tree-if-conv.c (find_phi_replacement_condition): Gimplify | |
9305 | compound conditional before creating COND_EXPR condition. | |
9306 | ||
9307 | 2006-09-05 Richard Guenther <rguenther@suse.de> | |
9308 | ||
9309 | PR tree-optimization/28905 | |
9310 | * tree-vrp.c (fix_equivalence_set): Manually implement | |
9311 | !value_ranges_intersect_p to also handle symbolic ranges. | |
9312 | ||
9313 | 2006-09-05 Richard Guenther <rguenther@suse.de> | |
9314 | ||
9315 | PR middle-end/28935 | |
9316 | * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition | |
9317 | of a COND_EXPR. | |
9318 | ||
9319 | 2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9320 | ||
9321 | PR rtl-optimization/27616 | |
9322 | * cse.c (table_size): New static variable. | |
9323 | (new_basic_block): Initialize it to 0. | |
9324 | (remove_from_table): Decrement it. | |
9325 | (insert): Increment it. | |
9326 | (fold_rtx_mem_1): New function, renamed from fold_rtx_mem. | |
9327 | (fold_rtx_mem): Enforce a cap on the recursion depth. Call | |
9328 | fold_rtx_mem_1 if under the cap. | |
9329 | (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little | |
9330 | the lookup of the equivalent expression and test for equality of the | |
9331 | first operand of the equivalent expression before in turn looking up | |
9332 | an equivalent constant for the second operand. | |
9333 | ||
9334 | 2006-09-02 Geoffrey Keating <geoffk@apple.com> | |
9335 | ||
9336 | Revert this change: | |
9337 | 2006-03-17 Alexandre Oliva <aoliva@redhat.com> | |
9338 | * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack | |
9339 | pointer, instead of assuming it is possible to derive the | |
9340 | correct args size from a call insn. | |
9341 | ||
9342 | 2006-09-02 Jakub Jelinek <jakub@redhat.com> | |
9343 | ||
9344 | PR middle-end/27567 | |
9345 | * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove. | |
9346 | (fold_builtin_mempcpy): Rename to... | |
9347 | (fold_builtin_memory_op): ... this. Optimize one element copy | |
9348 | into an assignment. | |
9349 | (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New | |
9350 | functions. | |
9351 | (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR. | |
9352 | (expand_builtin_memcpy, expand_builtin_mempcpy, | |
9353 | expand_builtin_memmove): Likewise. Use fold_builtin_memory_op. | |
9354 | (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and | |
9355 | BUILT_IN_BCOPY. Use fold_builtin_memory_op for | |
9356 | BUILT_IN_MEM{CPY,PCPY,MOVE}. | |
9357 | ||
9358 | 2006-09-01 DJ Delorie <dj@redhat.com> | |
9359 | ||
9360 | * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload. | |
9361 | (stzx_16): Likewise. | |
9362 | ("stzx_24_<mode>"): Likewise. | |
9363 | ("stzx_reversed_<mode>"): Likewise, and make mode-specific. | |
9364 | ("cmp<mode>_op"): New. | |
9365 | (cmp<mode>): Change to expander; just save operands. | |
9366 | (b<code>_op): New. | |
9367 | (b<code>): Change to expander, emit compare here. | |
9368 | (s<code>_op): Change to use split and expander. | |
9369 | (s<code>_24_op): Likewise. | |
9370 | (s<code>_<mode>): New. | |
9371 | (s<code>_<mode>_24): New. | |
9372 | (movqicc_<code>_<mode): New. | |
9373 | (movhicc_<code>_<mode>): New. | |
9374 | (s<code>): New. | |
9375 | (s<code>_24): New. | |
9376 | * config/m32c/m32c.c (compare_op0, compare_op1): New. | |
9377 | (m32c_pend_compare): New. | |
9378 | (m32c_unpend_compare): New. | |
9379 | (m32c_expand_scc): New. | |
9380 | (m32c_expand_movcc): Emit the compare also. | |
9381 | * config/m32c/predicates.md (mra_nopp_operand): New. | |
9382 | ||
9383 | 2006-09-01 J"orn Rennecke <joern.rennecke@st.com> | |
9384 | Richard Guenther <rguenther@suse.de> | |
9385 | Adam Nemet <anemet@caviumnetworks.com> | |
9386 | ||
9387 | PR middle-end/27226 | |
9388 | * builtins.c (get_pointer_alignment): Handle more forms | |
9389 | of base addresses that can be used to derive more precise | |
9390 | information about alignment. | |
9391 | ||
9392 | 2006-09-01 Jason Merrill <jason@redhat.com> | |
9393 | ||
9394 | PR c++/28899 | |
9395 | * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle | |
9396 | want_value. | |
9397 | ||
9398 | * gimplify.c (voidify_wrapper_expr): Handle null type. | |
9399 | ||
9400 | 2006-09-01 Josh Conner <jconner@apple.com> | |
9401 | ||
9402 | PR c++/25505 | |
9403 | * tree-nrv.c (dest_safe_for_nrv_p): New function. | |
9404 | (execute_return_slot_opt): Use it. | |
9405 | ||
9406 | 2006-08-31 Josh Conner <jconner@apple.com> | |
9407 | ||
9408 | PR c++/25505 | |
9409 | * tree-gimple.c (is_gimple_mem_rhs): Recognize functions | |
9410 | returning aggregates. | |
9411 | ||
9412 | 2006-08-31 Zdenek Dvorak <dvorakz@suse.cz> | |
9413 | ||
9414 | PR tree-optimization/28839 | |
9415 | * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in | |
9416 | blocks in that phi arguments appear. | |
9417 | ||
9418 | 2006-08-31 Roger Sayle <roger@eyesopen.com> | |
9419 | ||
9420 | PR other/22313 | |
9421 | * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is | |
9422 | NULL, otherwise use an advance_loc4 to adjust relative to the | |
9423 | current label. | |
9424 | (output_cfi) <DW_CFA_set_loc>: Update the current label. | |
9425 | (dwarf2out_switch_text_section): Reset the current label to avoid | |
9426 | using advance_loc4 over section boundaries. | |
9427 | ||
9428 | 2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com> | |
9429 | ||
9430 | PR target/24367 | |
9431 | * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like | |
9432 | r12 + SYMBOLIC_CONST. | |
9433 | ||
9434 | 2006-08-30 Richard Guenther <rguenther@suse.de> | |
9435 | ||
9436 | * Makefile.in (see.o): Add $(EXPR_H) dependency. | |
9437 | ||
9438 | 2006-08-30 Zdenek Dvorak <dvorakz@suse.cz> | |
9439 | ||
9440 | PR rtl-optimization/27735 | |
9441 | * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop): | |
9442 | Add new argument to keep track of whether an irreducible region | |
9443 | was affected. All callers changed. | |
9444 | (fix_irreducible_loops): Removed. | |
9445 | (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP | |
9446 | flags were invalidated. | |
9447 | ||
9448 | 2006-08-29 H.J. Lu <hongjiu.lu@intel.com> | |
9449 | ||
9450 | * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands | |
9451 | instead of SF operands. | |
9452 | (*fop_df_comm_sse): Likewise. | |
9453 | (*fop_df_comm_i387): Likewise. | |
9454 | (*fop_df_1_mixed): Likewise. | |
9455 | (*fop_df_1_sse): Likewise. | |
9456 | ||
9457 | 2006-08-29 Andrew Pinski <pinskia@physics.uc.edu> | |
9458 | J"orn Rennecke <joern.rennecke@st.com> | |
9459 | ||
9460 | PR tree-optimization/17506 | |
9461 | * tree-ssa.c (warn_uninit): If warning about a location outside of | |
9462 | the current function, note where the variable was declared. | |
9463 | ||
9464 | 2006-08-28 Zdenek Dvorak <dvorakz@suse.cz> | |
9465 | ||
9466 | PR tree-optimization/28411 | |
9467 | * double-int.c (double_int_div): Use double_int_divmod. | |
9468 | (double_int_divmod, double_int_sdivmod, double_int_udivmod, | |
9469 | double_int_mod, double_int_smod, double_int_umod): New functions. | |
9470 | * double-int.h (double_int_divmod, double_int_sdivmod, | |
9471 | double_int_udivmod, double_int_mod, double_int_smod, double_int_umod): | |
9472 | Declare. | |
9473 | * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result | |
9474 | in double_int. | |
9475 | (get_computation_aff, get_computation_cost_at): Handle double_int | |
9476 | return type of constant_multiple_of. | |
9477 | ||
9478 | 2006-08-28 Kazu Hirata <kazu@codesourcery.com> | |
9479 | ||
9480 | PR middle-end/26632 | |
9481 | * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on | |
9482 | an implicit conversion. | |
9483 | ||
9484 | 2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com> | |
9485 | ||
9486 | * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New. | |
9487 | ||
9488 | 2006-08-27 Roger Sayle <roger@eyesopen.com> | |
9489 | ||
9490 | * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute | |
9491 | x87 instructions. | |
9492 | ||
9493 | 2006-08-27 Kazu Hirata <kazu@codesourcery.com> | |
9494 | ||
9495 | * config/i386/crtfastmath.c: Fix a comment typo. | |
9496 | ||
9497 | 2006-08-26 Roger Sayle <roger@eyesopen.com> | |
9498 | ||
9499 | * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating | |
9500 | temporary visit flags on CASE_LABEL_EXPRs. | |
9501 | * c-common.c (match_case_to_enum): Add function comment. Avoid | |
9502 | O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN. | |
9503 | (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and | |
9504 | CASE_HIGH_SEEN for enumerated types. If the switch expression is | |
9505 | a constant, only warn if that constant value isn't handled. | |
9506 | ||
9507 | 2006-08-26 Joseph S. Myers <joseph@codesourcery.com> | |
9508 | ||
9509 | PR c++/24009 | |
9510 | * input.h (restore_input_file_stack): Declare. | |
9511 | (INPUT_FILE_STACK_BITS): Define. | |
9512 | * toplev.c (fs_p, input_file_stack_history, | |
9513 | input_file_stack_restored, restore_input_file_stack): New. | |
9514 | (push_srcloc, pop_srcloc): Check for input_file_stack_tick | |
9515 | overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack. | |
9516 | (pop_srcloc): Don't free old state of stack. | |
9517 | ||
9518 | 2006-08-26 David Edelsohn <edelsohn@gnu.org> | |
9519 | ||
9520 | PR target/27544 | |
9521 | * doc/extend.texi (PowerPC Variable Attributes): Mention altivec. | |
9522 | (PowerPC Type Attributes): New. | |
9523 | ||
9524 | 2006-08-26 Bob Wilson <bob.wilson@acm.org> | |
9525 | ||
9526 | * config/xtensa/xtensa.c (function_arg_boundary): New. | |
9527 | (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to | |
9528 | STACK_BOUNDARY. | |
9529 | * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new | |
9530 | function_arg_boundary function that limits alignment to STACK_BOUNDARY. | |
9531 | ||
9532 | 2006-08-26 Jakub Jelinek <jakub@redhat.com> | |
9533 | ||
9534 | PR middle-end/28683 | |
9535 | * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly | |
9536 | 3 following insns. | |
9537 | ||
9538 | 2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
9539 | ||
9540 | * flow.c (verify_wide_reg): Use internal_error for consistency failure. | |
9541 | (verify_local_live_at_start): Likewise. | |
9542 | ||
9543 | 2006-08-25 Joseph S. Myers <joseph@codesourcery.com> | |
9544 | ||
9545 | PR c/27893 | |
9546 | * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval, | |
9547 | omp_add_variable): Treat sizes as variable whenever not | |
9548 | INTEGER_CST. | |
9549 | ||
9550 | 2006-08-26 Richard Guenther <rguenther@suse.de> | |
9551 | ||
9552 | PR middle-end/28814 | |
9553 | * fold-const.c (fold_binary): Fold temporary to correct | |
9554 | type before constructing new comparison. | |
9555 | ||
9556 | 2006-08-25 Fariborz Jahanian <fjahanian@apple.com> | |
9557 | ||
9558 | PR c/28418 | |
9559 | * c-gimplify.c (gimplify_compound_literal_expr): Don't add | |
9560 | variable again if DECL_SEEN_IN_BIND_EXPR_P. | |
9561 | ||
9562 | 2006-08-25 Joseph S. Myers <joseph@codesourcery.com> | |
9563 | ||
9564 | PR c/28299 | |
9565 | * c-decl.c (start_function): Don't try to process prototype | |
9566 | information from old declaration that isn't a function. | |
9567 | ||
9568 | 2006-08-25 Jan Hubicka <jh@suse.cz> | |
9569 | ||
9570 | PR target/28621 | |
9571 | * config/i386/crtfastmath.c (set_fast_math): Force stack alignment. | |
9572 | ||
9573 | 2006-08-25 Alan Modra <amodra@bigpond.net.au> | |
9574 | ||
9575 | PR target/27075 | |
9576 | * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax | |
9577 | for 8 byte objects. | |
9578 | ||
9579 | 2006-08-25 J"orn Rennecke <joern.rennecke@st.com> | |
9580 | ||
9581 | PR tree-optimization/16876 | |
9582 | * c-typeck.c (c_convert_parm_for_inlining): Don't take early | |
9583 | exit if PARM doesn't match VALUE. | |
9584 | ||
9585 | 2006-08-25 Bob Wilson <bob.wilson@acm.org> | |
9586 | ||
9587 | * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a | |
9588 | literal_prefix directive. | |
9589 | (XTENSA_DECLARE_FUNCTION_SIZE): Delete. | |
9590 | * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete. | |
9591 | * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete. | |
9592 | ||
9593 | 2006-08-25 David Edelsohn <edelsohn@gnu.org> | |
9594 | ||
9595 | PR target/28753 | |
9596 | * config/rs6000/rs6000.md (movcc_internal1): Change operand 1 | |
9597 | predicate to general_operand. Add 0->y and I->r alternatives. | |
9598 | ||
9599 | 2006-08-25 Kazu Hirata <kazu@codesourcery.com> | |
9600 | ||
9601 | * doc/tm.texi: Fix a typo. | |
9602 | * predict.c: Fix comment typos. | |
9603 | ||
9604 | 2006-08-25 Nick Clifton <nickc@redhat.com> | |
9605 | ||
9606 | * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add | |
9607 | assertions of "cpu" and "machine". | |
9608 | ||
9609 | 2006-08-24 Andrew Pinski <pinskia@physics.uc.edu> | |
9610 | ||
9611 | PR tree-opt/28807 | |
9612 | * tree-ssa-operands.c (access_can_touch_variable): Don't say | |
9613 | the access through a base which has an alias set of 0 cannot | |
9614 | touch the variable. | |
9615 | ||
9616 | 2006-08-24 Bill Wendling <wendling@apple.com> | |
9617 | ||
9618 | * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English. | |
9619 | ||
9620 | 2006-08-24 Jan Hubicka <jh@suse.cz> | |
9621 | ||
9622 | * reload1.c (emit_reload_insns): Fix yet another typo in my patch. | |
9623 | ||
9624 | 2006-08-24 Jan Hubicka <jh@suse.cz> | |
9625 | ||
9626 | PR debug/26881 | |
9627 | * cgraph.c: Fix comments. | |
9628 | (cgraph_varpool_mark_needed_node): Mark only variables not already | |
9629 | output to file. | |
9630 | * cgraphunit.c: Update comments; include gt-cgraphunit.h | |
9631 | (cgraph_varpool_assembled_nodes_queue): New static variable. | |
9632 | (cgraph_varpool_assemble_decl): Record output decls for debug out code. | |
9633 | (cgraph_varpool_output_debug_info): New function. | |
9634 | (cgraph_finalize_compilation_unit, cgraph_optimize): Call it. | |
9635 | * Makefile.in: Add gt-cgraphunit.h | |
9636 | ||
9637 | 2006-08-24 Jan Hubicka <jh@suse.cz> | |
9638 | ||
9639 | * predict.c (probability_reliable_p): New predicate. | |
9640 | (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise. | |
9641 | (predict_loops): Do not predict loop exit with less than 2% | |
9642 | probability. | |
9643 | * basic-block.h (edge_probability_reliable_p, | |
9644 | br_prob_note_reliable_p): Declare. | |
9645 | * ia64.h (ia64_print_operand): Do not disable on-chip branch | |
9646 | prediction when static predictor is not reliable. | |
9647 | * rs6000.c (output_cbranch): Likewise. | |
9648 | ||
9649 | 2006-08-23 Stuart Hastings <stuart@apple.com> | |
9650 | ||
9651 | PR 28825 | |
9652 | * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate, | |
9653 | ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test. | |
9654 | ||
9655 | 2006-08-21 Geoffrey Keating <geoffk@apple.com> | |
9656 | ||
9657 | PR debug/28692 | |
9658 | * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for | |
9659 | complex values, nor for generic vector values. | |
9660 | ||
9661 | 2006-08-22 Richard Guenther <rguenther@suse.de> | |
9662 | ||
9663 | PR middle-end/28776 | |
9664 | * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt | |
9665 | parameter. Convert arguments to arithmetic expression to the | |
9666 | chrecs type. | |
9667 | (analyze_scalar_evolution_1): Adjust caller. | |
9668 | ||
9669 | 2006-08-22 Jan Hubicka <jh@suse.cz> | |
9670 | ||
9671 | Patch by Paolo Bonzini | |
9672 | * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by | |
9673 | my previous patch. | |
9674 | ||
9675 | 2006-08-22 Daniel Berlin <dberlin@dberlin.org> | |
9676 | ||
9677 | PR tree-optimization/28003 | |
9678 | * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered | |
9679 | before grouping aliases. | |
9680 | ||
9681 | 2006-08-22 Roger Sayle <roger@eyesopen.com> | |
9682 | ||
9683 | * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG | |
9684 | if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE. | |
9685 | ||
9686 | 2006-08-21 Jason Merrill <jason@redhat.com> | |
9687 | ||
9688 | PR c++/27115 | |
9689 | * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a | |
9690 | wrapper. Loop to handle nested wrappers. | |
9691 | (gimplify_bind_expr): Remove temp parameter. | |
9692 | (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR | |
9693 | and STATEMENT_LIST on the rhs. | |
9694 | (gimplify_statement_list): Voidify the STATEMENT_LIST. | |
9695 | (gimplify_expr): Pass pre_p to gimplify_statement_list. | |
9696 | (gimplify_target_expr): Remove special BIND_EXPR handling. | |
9697 | ||
9698 | 2006-08-21 J"orn Rennecke <joern.rennecke@st.com> | |
9699 | ||
9700 | * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with | |
9701 | #if !__SHMEDIA__ . | |
9702 | ||
9703 | 2006-08-21 Olivier Hainque <hainque@adacore.com> | |
9704 | ||
9705 | * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>: | |
9706 | Arrange for the temporary captures of components overlapping the lhs | |
9707 | to happen before the lhs is possibly cleared. | |
9708 | ||
9709 | 2006-08-21 Mark Shinwell <shinwell@codesourcery.com> | |
9710 | ||
9711 | * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in | |
9712 | necessary places to pass the correct "number of registers" values | |
9713 | to _Unwind_VRS_Pop. | |
9714 | ||
9715 | 2006-08-20 Jan Hubicka <jh@suse.cz> | |
9716 | ||
9717 | * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function. | |
9718 | (create_name_tags): Instead of quadratic checking use hashtable. | |
9719 | * bitmap.h: Include hashtab.h. | |
9720 | (bitmap_hash): Declare. | |
9721 | * bitmap.c (bitmap_hash): New function. | |
9722 | ||
9723 | 2006-08-20 Jan Hubicka <jh@suse.cz> | |
9724 | ||
9725 | PR rtl-optimization/28071 | |
9726 | * tree-optimize.c (tree_rest_of_compilation): Do not remove edges | |
9727 | twice. | |
9728 | * tree-inline.c (copy_bb): Use cgraph_set_call_stmt. | |
9729 | * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument. | |
9730 | (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function, | |
9731 | cgraph_decide_inlining_incrementally): Update use of | |
9732 | cgraph_check_inline_limits. | |
9733 | * cgraph.c (edge_hash, edge_eq): New function. | |
9734 | (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge, | |
9735 | cgraph_edge_remove_caller, cgraph_node_remove_callees, | |
9736 | cgraph_remove_node): Maintain call site hash. | |
9737 | * cgraph.h (struct cgraph_node): Add call_site_hash. | |
9738 | (cgraph_set_call_stmt): New function. | |
9739 | ||
9740 | 2006-08-20 Jan Hubicka <jh@suse.cz> | |
9741 | ||
9742 | PR rtl-optimization/28071 | |
9743 | * reload1.c (reg_has_output_reload): Turn into regset. | |
9744 | (reload_as_needed, forget_old_reloads_1, forget_marked_reloads, | |
9745 | choose_reload_regs, emit_reload_insns): Update to new | |
9746 | reg_has_output_reload. | |
9747 | ||
9748 | 2006-08-20 Jan Hubicka <jh@suse.cz> | |
9749 | ||
9750 | PR middle-end/28779 | |
9751 | * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute | |
9752 | function body sizes. | |
9753 | * cgraphunit.c (cgraph_analyze_function): Don't do so. | |
9754 | ||
9755 | 2006-08-20 Danny Smith <dannysmith@users.sourceforge.net> | |
9756 | ||
9757 | PR target/28648 c: | |
9758 | * tree.c (handle_dll_attribute): Return early if not a | |
9759 | var or function decl. | |
9760 | ||
9761 | 2006-08-18 Joseph Myers <joseph@codesourcery.com> | |
9762 | ||
9763 | PR target/27565 | |
9764 | * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust | |
9765 | alignment of SPE vector types. | |
9766 | ||
9767 | 2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr> | |
9768 | ||
9769 | * tree.c (is_attribute_with_length_p): Remove a duplicated assert. | |
9770 | ||
9771 | 2006-08-17 Jakub Jelinek <jakub@redhat.com> | |
9772 | ||
9773 | PR c/28744 | |
9774 | * cgraph.h (struct cgraph_node): Remove externally_visible | |
9775 | bitfield. | |
9776 | * cgraphunit.c (process_function_and_variable_attributes): Set | |
9777 | local.externally_visible rather than externally_visible. | |
9778 | ||
9779 | PR c/28744 | |
9780 | * c-common.c (handle_externally_visible_attribute): First look | |
9781 | at TREE_CODE and only if it is function or var decl, check for | |
9782 | non-public objects. Don't warn for DECL_EXTERNAL. | |
9783 | * cgraphunit.c (process_function_and_variable_attributes): Warn | |
9784 | if externally_visible attribute is used on non-public object. | |
9785 | ||
9786 | 2006-08-17 Jan Hubicka <jh@suse.cz> | |
9787 | ||
9788 | PR tree-optimization/27865 | |
9789 | * reload1.c (forget_marked_reloads): New function. | |
9790 | (forget_old_reloads_1): When data are passed, just mark the registers | |
9791 | for later removal. | |
9792 | (reload_as_needed): Use the new mechanizm. | |
9793 | ||
9794 | 2006-08-17 Alexandre Oliva <aoliva@redhat.com> | |
9795 | ||
9796 | PR target/28146 | |
9797 | * reload.h (reg_equiv_alt_mem_list): New declaration. | |
9798 | * reload1.c (reg_equiv_alt_mem_list): New definition. | |
9799 | (reload): Initialize it and release it. | |
9800 | (delete_output_reload): Use it. | |
9801 | * reload.c (push_reg_equiv_alt_mem): New function. | |
9802 | (find_reloads_toplev): Call it. | |
9803 | (find_reloads_address, find_reloads_address_1): Likewise. | |
9804 | (find_reloads_subreg_address): Likewise. | |
9805 | ||
9806 | 2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
9807 | ||
9808 | PR rtl-optimization/28489 | |
9809 | * sched-ebb.c (begin_schedule_ready): Create basic block | |
9810 | at the right place. | |
9811 | (advance_target_bb): Skip empty blocks. | |
9812 | * haifa-sched.c (bb_note): Make global. | |
9813 | * sched-int.h (bb_note): Add prototype. | |
9814 | ||
9815 | 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> | |
9816 | ||
9817 | PR tree-optimization/27865 | |
9818 | * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE | |
9819 | for pointer types. | |
9820 | * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p, | |
9821 | fold_used_pointer, pointer_used_p): New functions. | |
9822 | (analyze_scalar_evolution_1): Use fold_used_pointer. | |
9823 | * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly. | |
9824 | * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type | |
9825 | for pointers. | |
9826 | ||
9827 | 2006-08-17 Paolo Bonzini <bonzini@gnu.org> | |
9828 | ||
9829 | PR c++/28573 | |
9830 | * c-common.c (fold_offsetof_1): Add an argument and recurse down to it | |
9831 | or the INTEGER_CST. Fail on a CALL_EXPR. | |
9832 | (fold_offsetof): Pass new argument to fold_offsetof_1. | |
9833 | * c-parser.c (c_parser_postfix_expression): Don't include a NULL | |
9834 | operand into an INDIRECT_REF. | |
9835 | * c-typeck.c (build_unary_op): Adjust call to fold_offsetof. | |
9836 | ||
9837 | 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> | |
9838 | ||
9839 | PR gcov/profile/26570 | |
9840 | * value-prof.c (static_values): Removed. | |
9841 | (tree_find_values_to_profile): Do not set static_values. | |
9842 | (find_values_to_profile): Do not free static_values. | |
9843 | * profile.c (instrument_values): Do not free the values. | |
9844 | (branch_prob): Free the values. | |
9845 | ||
9846 | 2006-08-16 Naveen.H.S <naveenh@kpitcummins.com> | |
9847 | ||
9848 | * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest. | |
9849 | ||
9850 | 2006-08-16 Joseph S. Myers <joseph@codesourcery.com> | |
9851 | ||
9852 | PR c/27697 | |
9853 | * c-typeck.c (build_component_ref): Combine qualifiers of | |
9854 | structure or union and field. | |
9855 | ||
9856 | 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> | |
9857 | ||
9858 | PR rtl-optimization/28071 | |
9859 | * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare. | |
9860 | * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions. | |
9861 | * tree-into-ssa.c (struct dom_dfsnum): New. | |
9862 | (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New | |
9863 | functions. | |
9864 | (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of | |
9865 | compute_global_livein. | |
9866 | (prepare_block_for_update, prepare_use_sites_for): Mark the uses | |
9867 | in phi nodes in the correct blocks. | |
9868 | ||
9869 | 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> | |
9870 | ||
9871 | PR tree-optimization/28364 | |
9872 | * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero | |
9873 | correctly. | |
9874 | (fold_affine_expr): New function. | |
9875 | (may_eliminate_iv): Use fold_affine_expr. | |
9876 | ||
9877 | 2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
9878 | ||
9879 | PR c/27489 | |
9880 | * c-typeck.c (c_start_case): Handle invalid orig_type correctly. | |
9881 | Clean up. | |
9882 | ||
9883 | 2006-08-16 Mike Stump <mrs@apple.com> | |
9884 | ||
9885 | * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref. | |
9886 | * doc/cppopts.texi (-MD): Likewise. | |
9887 | ||
9888 | 2006-08-15 Danny Smith <dannysmith@users.sourceforge.net> | |
9889 | ||
9890 | PR c/28287 | |
9891 | * c-common.c (handle_weak_attribute): Ignore and warn if | |
9892 | not a FUNCTION_ or VAR_DECL. | |
9893 | ||
9894 | 2006-07-15 Mike Stump <mrs@apple.com> | |
9895 | ||
9896 | PR c/28280 | |
9897 | * c-parser.c (c_parser_typeof_specifier): Don't use | |
9898 | c_finish_expr_stmt, open code desired semantics instead. | |
9899 | ||
9900 | 2006-08-15 Nick Clifton <nickc@redhat.com> | |
9901 | ||
9902 | * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile | |
9903 | fragment to tmake_file only if threads are enabled. | |
9904 | * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to... | |
9905 | * config/i386/t-gthr-win32: New file. ... here. | |
9906 | ||
9907 | 2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
9908 | ||
9909 | PR c/28649 | |
9910 | * c-parser.c (c_parser_compound_statement_nostart): Reset | |
9911 | parser->error after each statement. | |
9912 | ||
9913 | 2006-08-15 Jakub Jelinek <jakub@redhat.com> | |
9914 | ||
9915 | PR middle-end/28713 | |
9916 | * omp-low.c (lower_omp_parallel): Convert t to | |
9917 | receiver_decl's type. | |
9918 | (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR | |
9919 | source before comparison. | |
9920 | ||
9921 | PR middle-end/28724 | |
9922 | * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival | |
9923 | to itype in assignment to oldival2. | |
9924 | ||
9925 | 2006-07-14 Andrew Pinski <pinksia@physics.uc.edu> | |
9926 | ||
9927 | PR c/27490 | |
9928 | PR c/27489 | |
9929 | * c-typeck.c (build_compound_expr): If the second expression | |
9930 | is an error mark, then just return an error mark instead of | |
9931 | creating a COMPOUND_EXPR. | |
9932 | ||
9933 | 2006-07-14 Mike Stump <mrs@apple.com> | |
9934 | ||
9935 | * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES. | |
9936 | ||
9937 | 2006-08-14 Kazu Hirata <kazu@codesourcery.com> | |
9938 | ||
9939 | * c-decl.c, var-tracking.c: Fix comment typos. | |
9940 | ||
9941 | 2006-08-14 Richard Sandiford <richard@codesourcery.com> | |
9942 | ||
9943 | PR rtl-optimization/28634 | |
9944 | * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A | |
9945 | for floating-point modes unless flag_unsafe_math_optimizations. | |
9946 | ||
9947 | 2006-08-13 Alexandre Oliva <aoliva@redhat.com> | |
9948 | Andrew Pinski <pinskia@physics.uc.edu> | |
9949 | ||
9950 | PR c/27184 | |
9951 | * tree.c (build_array_type): Unify array types with | |
9952 | unspecified index_type. | |
9953 | * c-decl.c (grokdeclarator): Make sure we do not modify a | |
9954 | unified incomplete array type. | |
9955 | * c-typeck.c (store_init_value): Create distinct type before | |
9956 | filling in the index type in an initializer from a compound | |
9957 | literal. | |
9958 | ||
9959 | * c-decl.c (grokdeclarator): Remove code where we copy the | |
9960 | array type over. | |
9961 | ||
9962 | 2006-08-13 Andrew Pinski <pinskia@physics.uc.edu> | |
9963 | ||
9964 | * tree-pass.h (TODO_update_ssa): Fix which bit is used to take | |
9965 | into account for TODO_dump_cgraph. | |
9966 | (TODO_update_ssa_no_phi): Likewise. | |
9967 | (TODO_update_ssa_full_phi): Likewise. | |
9968 | (TODO_update_ssa_only_virtuals): Likewise. | |
9969 | (TODO_remove_unused_locals): Likewise. | |
9970 | (TODO_set_props): Likewise. | |
9971 | (TODO_update_stmt_usage): Likewise. | |
9972 | ||
9973 | 2006-08-13 Dirk Mueller <dmueller@suse.de> | |
9974 | ||
9975 | * c-common.c (strict_aliasing_warning): Fix formatting. | |
9976 | ||
9977 | 2006-08-13 Matthias Klose <doko@debian.org> | |
9978 | ||
9979 | * doc/invoke.texi: Fix spelling errors. | |
9980 | ||
9981 | 2006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9982 | ||
9983 | PR rtl-optimization/23454 | |
9984 | * reorg.c (relax_delay_slots): Update comment. | |
9985 | ||
9986 | 2006-08-11 Richard Guenther <rguenther@suse.de> | |
9987 | ||
9988 | PR middle-end/28651 | |
9989 | * simplify-rtx.c (simplify_const_relational_operation): | |
9990 | Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison | |
9991 | codes. | |
9992 | ||
9993 | 2006-08-10 Eric Botcazou <ebotcazou@adacore.com> | |
9994 | ||
9995 | * tree.c (build1_stat): Also propagate the TREE_CONSTANT and | |
9996 | TREE_INVARIANT flags for a VIEW_CONVERT_EXPR. | |
9997 | ||
9998 | 2006-08-10 Paul Brook <paul@codesourcery.com> | |
9999 | ||
10000 | * final.c (final_scan_insn): Clear current_insn_predicate before | |
10001 | outputting inline asm. | |
10002 | ||
10003 | 2006-08-10 Dorit Nuzman <dorit@il.ibm.com> | |
10004 | ||
10005 | PR tree-optimization/26197 | |
10006 | * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls | |
10007 | get_ref_base_and_extent and overlap_subvar to add only relevant | |
10008 | subvars as may-aliases. | |
10009 | (add_may_alias_for_new_tag): New function, factored out of | |
10010 | new_type_alias. | |
10011 | * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias | |
10012 | with additional argument. | |
10013 | * tree-flow.h (new_type_alias): Takes additional argument. | |
10014 | ||
10015 | 2006-08-09 Nathan Sidwell <nathan@codesourcery.com> | |
10016 | ||
10017 | * gcov.c (no_data_file): New flag. | |
10018 | (read_count_file): Set it if data file not present. Assume counts | |
10019 | zero if not found. | |
10020 | (output_lines): Don't name the data file, if there wasn't one. | |
10021 | ||
10022 | 2006-08-09 Eric Botcazou <ebotcazou@adacore.com> | |
10023 | ||
10024 | * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust. | |
10025 | (rs6000_generate_compare): Tweak comments. | |
10026 | * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment. | |
10027 | ||
10028 | 2006-08-09 Alexandre Oliva <aoliva@redhat.com> | |
10029 | ||
10030 | * var-tracking.c (enum micro_operation_type): Add MO_COPY. | |
10031 | (var_debug_decl): New function. | |
10032 | (var_reg_set): Follow debug decl link. Add location even if | |
10033 | reg is already known to hold some other variable. | |
10034 | (var_mem_set): Follow debug decl link. | |
10035 | (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug | |
10036 | decl link. Delete other known locations of the variable part | |
10037 | if requested. | |
10038 | (var_reg_delete, var_mem_delete): Delete other known locations | |
10039 | of the variable part if requested. | |
10040 | (same_variable_part_p): New function. | |
10041 | (add_stores): Select MO_COPY when appropriate. | |
10042 | (vt_initialize): Handle it. | |
10043 | (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete | |
10044 | known locations for MO_SET and MO_CLOBBER. | |
10045 | (find_variable_location_part): New function. | |
10046 | (set_variable_part, delete_variable_part): Use it. | |
10047 | (clobber_variable_part): New function. | |
10048 | * dwarf2out.c (dwarf2out_var_location): Do not follow debug | |
10049 | decl link. | |
10050 | ||
10051 | 2006-08-07 Victor Kaplansky <victork@il.ibm.com> | |
10052 | ||
10053 | PR tree-optimization/26969 | |
10054 | * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch | |
10055 | with an empty list of PHIs. | |
10056 | ||
10057 | 2006-08-06 Paolo Bonzini <bonzini@gnu.org> | |
10058 | ||
10059 | PR target/27827 | |
10060 | ||
10061 | * conffig/i386/i386.md: Add peephole2 to avoid "fld %st" | |
10062 | instructions. | |
10063 | ||
10064 | 2006-08-06 Andreas Schwab <schwab@suse.de> | |
10065 | ||
10066 | * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format | |
10067 | string. Whitespace and comment fixup. | |
10068 | ||
10069 | 2006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
10070 | ||
10071 | PR c/28502 | |
10072 | * c-decl.c (validate_proto_after_old_defn): Return false on invalid | |
10073 | argument. | |
10074 | ||
10075 | PR c/27721 | |
10076 | * c-typeck.c (build_modify_expr): Test earlier for non-lvalues. | |
10077 | ||
10078 | PR c/28136 | |
10079 | * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify. | |
10080 | ||
10081 | 2006-08-04 Jan Hubicka <jh@suse.cz> | |
10082 | ||
10083 | PR target/26655 | |
10084 | PR target/28270 | |
10085 | * reload.c (push_reload): Patch out the mismatching instruction; | |
10086 | return early. | |
10087 | (find_reload): Bail out if the instruction was patched out. | |
10088 | ||
10089 | 2006-08-04 Jan Hubicka <jh@suse.cz> | |
10090 | ||
10091 | PR tree-optimization/24888 | |
10092 | * tree-inline.c (expand_call_inline): Do not re-record variables. | |
10093 | (declare_inline_vars): Add variable to unexpanded_var_list. | |
10094 | ||
10095 | 2006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
10096 | Roger Sayle <roger@eyesopen.com> | |
10097 | ||
10098 | PR rtl-optimization/26244 | |
10099 | * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or | |
10100 | inner_const are negative or greater than or equal to the bitsize of | |
10101 | MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated. | |
10102 | Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1. | |
10103 | Simplify complicated if statement. For ASHIFT and LSHIFTRT, return | |
10104 | CONST0_RTX (mode) when the new shift count is greater than or equal to | |
10105 | to the bitsize of the object being shifted and XEXP (y, 0) has no side | |
10106 | effects. | |
10107 | ||
10108 | 2006-08-04 Kazu Hirata <kazu@codesourcery.com> | |
10109 | ||
10110 | * tree-cfg.c: Fix a comment typo. | |
10111 | ||
10112 | 2006-08-03 Mark Mitchell <mark@codesourcery.com> | |
10113 | ||
10114 | PR c++/28148 | |
10115 | * varasm.c (output_constant): Give the front end another chance to | |
10116 | expand constants, after stripping NOPs. | |
10117 | ||
10118 | 2006-08-03 Jan Hubicka <jh@suse.cz> | |
10119 | ||
10120 | * domwalk.c (walk_dominator_tree): Reorganize to non-recursive | |
10121 | implementation. | |
10122 | ||
10123 | 2006-08-03 Dorit Nuzman <dorit@il.ibm.com> | |
10124 | ||
10125 | PR tree-optimization/27770 | |
10126 | * tree-vectorizer.h (get_vectype_for_scalar_type): Function | |
10127 | declaration removed (moved to tree-flow.h). | |
10128 | (vect_can_force_dr_alignment_p): Likewise. | |
10129 | * tree-flow.h (get_vectype_for_scalar_type): New function declaration | |
10130 | (moved from tree-vectorizer.h). | |
10131 | (vect_can_force_dr_alignment_p): Likewise. | |
10132 | * tree-vectorizer.c (vect_print_dump_info): Allow calling this function | |
10133 | from outside the vectorizer - in particular from cgraph stage. | |
10134 | * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase | |
10135 | the alignment of global arrays when -fsection-anchors is enabled. | |
10136 | * cgraphunit.c (cgraph_increase_alignment): New function. | |
10137 | (cgraph_optimize): Call cgraph_increase_alignment. | |
10138 | ||
10139 | 2006-08-03 David Edelsohn <edelsohn@gnu.org> | |
10140 | ||
10141 | PR target/27566 | |
10142 | * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do | |
10143 | not reload a SPE symbol_ref into a lo_sum address. | |
10144 | ||
10145 | 2006-08-02 Daniel Jacobowitz <dan@codesourcery.com> | |
10146 | ||
10147 | PR debug/28063 | |
10148 | * dwarf2out.c (prune_unused_types_prune): Move call to | |
10149 | prune_unused_types_update_strings to cover the parent DIE also. | |
10150 | ||
10151 | 2006-08-02 Jan Hubicka <jh@suse.cz> | |
10152 | ||
10153 | PR gcov/profile/28480 | |
10154 | * tree-cfg.c (change_bb_for_stmt): New function. | |
10155 | (tree_merge_blocks, tree_split_blocks): Use it. | |
10156 | ||
10157 | 2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
10158 | ||
10159 | PR c++/28250 | |
10160 | PR c++/28257 | |
10161 | PR c++/28259 | |
10162 | PR c++/28267 | |
10163 | * toplev.c (compile_file): Return early on errorcount or sorrycount. | |
10164 | * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise. | |
10165 | (cgraph_optimize): Likewise. | |
10166 | ||
10167 | 2006-08-01 Stuart Hastings <stuart@apple.com> | |
10168 | ||
10169 | * rtl.h (UINTVAL) New. | |
10170 | * config/rs6000/rs6000.c (SMALL_INT) Use it. | |
10171 | * testsuite/gcc.dg/20060801-1.c: New. | |
10172 | ||
10173 | 2006-08-01 Daniel Jacobowitz <dan@codesourcery.com> | |
10174 | ||
10175 | PR debug/23336 | |
10176 | * c-typeck.c (build_external_type): Mark used enum types. | |
10177 | * dwarf2out.c (dwarf2out_abstract_function): Save and restore | |
10178 | cfun also. | |
10179 | (gen_subprogram_die): Whitespace fix. | |
10180 | ||
10181 | 2006-08-01 Jan Hubicka <jh@suse.cz> | |
10182 | ||
10183 | * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars | |
10184 | bitmap when not needed. | |
10185 | * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary | |
10186 | bitmaps. | |
10187 | ||
10188 | 2006-08-01 Dirk Mueller <dmueller@suse.de> | |
10189 | ||
10190 | * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak. | |
10191 | ||
10192 | 2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
10193 | ||
10194 | * Makefile.in: Revert part of previous patch: | |
10195 | Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H | |
10196 | and REGS_H. | |
10197 | ||
10198 | 2006-07-30 Eric Christopher <echristo@apple.com> | |
10199 | ||
10200 | PR target/27543 | |
10201 | * doc/extend.texi (i386 Variable Attributes): Add anchor. | |
10202 | (PowerPC Variable Attributes): New section. | |
10203 | ||
10204 | 2006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp> | |
10205 | ||
10206 | PR target/28126 (partial fix) | |
10207 | * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no. | |
10208 | ||
10209 | 2006-07-28 Jan Hubicka <jh@suse.cz> | |
10210 | ||
10211 | PR rtl-optimization/28071 | |
10212 | * cfgrtl.c (rtl_delete_block): Free regsets. | |
10213 | * flow.c (allocate_bb_life_data): Re-use regsets if available. | |
10214 | ||
10215 | 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
10216 | ||
10217 | * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies | |
10218 | and variables used in dependencies. | |
10219 | ||
10220 | 2006-07-27 Arjan van de Ven <arjan@linux.intel.com> | |
10221 | ||
10222 | * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than | |
10223 | %fs for -mcmodel=kernel. | |
10224 | (stack_tls_protect_test_di): Likewise. | |
10225 | ||
10226 | 2006-07-27 Carlos O'Donell <carlos@codesourcery.com> | |
10227 | ||
10228 | * Makefile.in: Use mkinstalldirs. | |
10229 | ||
10230 | 2006-07-27 H.J. Lu <hongjiu.lu@intel.com> | |
10231 | ||
10232 | PR driver/28437 | |
10233 | * opts-common.c (prune_options): Skip joined switches. | |
10234 | ||
10235 | 2006-07-27 Jan Hubicka <jh@suse.cz> | |
10236 | ||
10237 | PR rtl-optimization/28071 | |
10238 | * cselib.c (cselib_process_insn): Don't remove useless values too | |
10239 | often for very large hashtables. | |
10240 | ||
10241 | 2006-07-27 Jan Hubicka <jh@suse.cz> | |
10242 | ||
10243 | PR rtl-optimization/28071 | |
10244 | * global.c (greg_obstack): New obstack. | |
10245 | (allocate_bb_info): Use it. | |
10246 | (free_bb_info): Likewise. | |
10247 | (modify_reg_pav): Likewise. | |
10248 | ||
10249 | 2006-07-27 Roger Sayle <roger@eyesopen.com> | |
10250 | ||
10251 | * builtins.c (fold_fixed_mathfn): When long and long long are the | |
10252 | same size, canonicalize llceil*, llfloor*, llround* and llrint* | |
10253 | functions to their lceil*, lfloor*, lround* and lrint* forms. | |
10254 | ||
10255 | 2006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
10256 | ||
10257 | PR gcc/28508 | |
10258 | * config/m32r/m32r.md (branch_insn): Reduce pc range for short | |
10259 | branch. | |
10260 | (rev_branch_insn): Likewise. | |
10261 | ||
10262 | 2006-07-27 Jan Hubicka <jh@suse.cz> | |
10263 | ||
10264 | PR rtl-optimization/28071 | |
10265 | * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour. | |
10266 | (reg_set_in_bb, max_reg_computed): New static variables. | |
10267 | (regmove_optimize): Free the new array. | |
10268 | (fixup_match_1): Update call of reg_is_remote_constant_p. | |
10269 | ||
10270 | 2006-07-26 Jan Hubicka <jh@suse.cz> | |
10271 | ||
10272 | PR tree-optimization/27882 | |
10273 | * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous | |
10274 | and decl fields. | |
10275 | * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill | |
10276 | next pointer | |
10277 | (cgraph_analyze_compilation_unit): Likewise. | |
10278 | * ipa.c (cgraph_remove_unreachable_nodes): Likewise. | |
10279 | * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise. | |
10280 | (cgraph_early_inlinine): Make order garbage collected. | |
10281 | * Makefile.in (gt-ipa-inline): New garbagecollected file. | |
10282 | ||
10283 | 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> | |
10284 | ||
10285 | * dbxout.c (output_types_sort): Add a comment. | |
10286 | (output_used_types): Free the VEC. | |
10287 | ||
10288 | 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> | |
10289 | ||
10290 | * function.c (reorder_fix_fragments): Delete. | |
10291 | (reorder_blocks): Don't call it. | |
10292 | (reorder_blocks_1): Put all subblocks under the origin block. | |
10293 | ||
10294 | 2006-07-26 Zdenek Dvorak <dvorakz@suse.cz> | |
10295 | ||
10296 | PR rtl-optimization/27907 | |
10297 | * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and | |
10298 | FLOAT_TRUNCATE. | |
10299 | ||
10300 | 2006-07-25 Roger Sayle <roger@eyesopen.com> | |
10301 | ||
10302 | PR middle-end/28473 | |
10303 | * convert.c (convert_to_integer): When transforming (T)foo(x) into | |
10304 | bar(x) check that bar's result type can represent all the values of T. | |
10305 | ||
10306 | 2006-07-25 Zdenek Dvorak <dvorakz@suse.cz> | |
10307 | ||
10308 | * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure. | |
10309 | ||
10310 | 2006-07-25 Nick Clifton <nickc@redhat.com> | |
10311 | ||
10312 | * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the | |
10313 | size_lookup[] array. | |
10314 | (ggc_alloc_stat): Use NUM_SIZE_LOOKUP. | |
10315 | (ggc_pch_count_object): Likewise. | |
10316 | (ggc_pch_alloc_object): Likewise. | |
10317 | (ggc_pch_write_object): Likewise. | |
10318 | (init_ggc): Do not attempt to initialize entries in the | |
10319 | size_lookup[] array for objects whose size is greater than than | |
10320 | the length of the array. | |
10321 | ||
10322 | 2006-07-25 Daniel Jacobowitz <dan@codesourcery.com> | |
10323 | ||
10324 | * dbxout.c (output_used_types_helper): Push queued types | |
10325 | on a VEC. | |
10326 | (output_types_sort): New. | |
10327 | (output_used_types): Collect used types on a VEC and sort them | |
10328 | before emission. | |
10329 | ||
10330 | 2006-07-24 Richard Guenther <rguenther@suse.de> | |
10331 | ||
10332 | PR middle-end/28463 | |
10333 | * cgraph.c (cgraph_remove_node): Do not check if dumps | |
10334 | are enabled. | |
10335 | * cgraphunit.c (cgraph_optimize): Likewise. | |
10336 | ||
10337 | 2006-07-24 Jan Hubicka <jh@suse.cz> | |
10338 | ||
10339 | PR rtl-optimization/28071 | |
10340 | * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes. | |
10341 | * tree-iterator.c (tsi_split_statement_list_before): Do not crash when | |
10342 | splitting before first stmt. | |
10343 | ||
10344 | 2006-07-24 Jan Hubicka <jh@suse.cz> | |
10345 | ||
10346 | PR rtl-optimization/28071 | |
10347 | * ipa-inline.c (update_caller_keys): Remove edges that | |
10348 | are no longer inline candidates. | |
10349 | ||
10350 | 2006-07-23 Daniel Jacobowitz <dan@codesourcery.com> | |
10351 | ||
10352 | PR debug/27473 | |
10353 | * dbxout.c (output_used_types_helper, output_used_types): New. | |
10354 | (dbxout_symbol): Call output_used_types. | |
10355 | ||
10356 | 2006-07-23 Jan Hubicka <jh@suse.cz> | |
10357 | ||
10358 | PR c/25795 | |
10359 | PR c++/27369 | |
10360 | * cgraph.c (cgraph_varpool_nodes): Export. | |
10361 | (decide_is_variable_needed): Ignored "used" attribute in | |
10362 | unit-at-a-time mode. | |
10363 | * cgraph.h (cgraph_varpool_nodes): Declare. | |
10364 | * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in | |
10365 | unit-at-a-time mode. | |
10366 | ||
10367 | 2006-07-23 Roger Sayle <roger@eyesopen.com> | |
10368 | ||
10369 | PR target/28247 | |
10370 | * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and | |
10371 | mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of | |
10372 | the __gthrw form of thr_keycreate. | |
10373 | (__gthread_key_delete): Silence the unused argument warning. | |
10374 | ||
10375 | 2006-07-23 Steven Bosscher <steven@gcc.gnu.org> | |
10376 | ||
10377 | PR debug/25468 | |
10378 | * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks. | |
10379 | Cache the last found '\0' marker to avoid quadratic behavior. | |
10380 | ||
10381 | 2006-07-23 Jan Hubicka <jh@suse.cz> | |
10382 | ||
10383 | * i386.md (subsi_3_zext): Fix output template. | |
10384 | ||
10385 | 2006-07-21 Mike Stump <mrs@apple.com> | |
10386 | ||
10387 | * doc/invoke.texi (C++ Dialect Options): Note that | |
10388 | -fvisibility-inlines-hidden doesn't affect explicitly | |
10389 | instantiationed inline methods. | |
10390 | ||
10391 | 2006-07-20 Roger Sayle <roger@eyesopen.com> | |
10392 | ||
10393 | * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file | |
10394 | if the target assembler is GNU binutils' gas. | |
10395 | * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine | |
10396 | whether to pass GNU gas or native as command line options. | |
10397 | ||
10398 | 2006-07-20 Jason Merrill <jason@redhat.com> | |
10399 | ||
10400 | * tree.c (remove_attribute): New fn. | |
10401 | * tree.h: Declare it. | |
10402 | ||
10403 | 2006-07-20 Paul Brook <paul@codesourcery.com> | |
10404 | ||
10405 | PR 27363 | |
10406 | * cse.c (cse_insn): Add destination addresses to hash table. Check if | |
10407 | they are invalidated by this instruction. | |
10408 | ||
10409 | 2006-07-21 Danny Smith <dannysmith@users.sourceforge.net> | |
10410 | ||
10411 | PR target/28427 | |
10412 | * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define. | |
10413 | ||
10414 | 2006-07-20 Eric Christopher <echristo@apple.com> | |
10415 | ||
10416 | PR target/26877 | |
10417 | * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder. | |
10418 | ||
10419 | 2006-07-19 Eric Christopher <echristo@apple.com> | |
10420 | ||
10421 | * config/t-slibgcc-darwin (stmp-lipo): Remove. | |
10422 | Rewrite dependencies for libgcc_s.1.dylib. | |
10423 | ||
10424 | 2006-07-19 Jakub Jelinek <jakub@redhat.com> | |
10425 | ||
10426 | * except.c (duplicate_eh_regions_1): Clear next_peer. | |
10427 | ||
10428 | 2006-07-17 Nathan Sidwell <nathan@codesourcery.com> | |
10429 | ||
10430 | * doc/invoke.texi (RS/6000 and PowerPC Options): Document that | |
10431 | -mlongcall does not guarantee all calls will be long. | |
10432 | * doc/extend.texi (long_call/short_call): Document that longcall | |
10433 | does not guarantee a long call will be used. | |
10434 | (longcall/shortcall): Likewise. | |
10435 | ||
10436 | 2006-07-18 Roger Sayle <roger@eyesopen.com> | |
10437 | ||
10438 | PR middle-end/28283 | |
10439 | * expmed.c (expand_shift): Additionally check that the shift_cost | |
10440 | is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD | |
10441 | before implementing a LSHIFT_EXPR as a sequence of additions. | |
10442 | * config/sh/sh.c (shift_costs): Return MAX_COST to inform the | |
10443 | middle-end that DImode shifts need to be synthesized by expand. | |
10444 | ||
10445 | 2006-07-18 Diego Novillo <dnovillo@redhat.com> | |
10446 | ||
10447 | PR 28410 | |
10448 | * tree-ssa-operands.c (access_can_touch_variable): Update | |
10449 | comment. | |
10450 | Return true if ALIAS is .GLOBAL_VAR. | |
10451 | ||
10452 | 2006-07-18 David Daney <ddaney@avtrex.com> | |
10453 | ||
10454 | * gcc.c (display_help): Fix typo in help text. | |
10455 | ||
10456 | 2006-07-18 Olivier Hainque <hainque@adacore.com> | |
10457 | ||
10458 | * tree.h (categorize_ctor_elements): Adjust prototype and add | |
10459 | descriptive comment, both in accordance with the interface change | |
10460 | described below. | |
10461 | * varasm.c (constructor_static_from_elts_p): New function. | |
10462 | Whether a constructor node is a valid static constant initializer | |
10463 | if all its elements are. | |
10464 | (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it. | |
10465 | * output.h: Declare it. | |
10466 | * expr.c (categorize_ctor_elements_1): Return whether the constructor | |
10467 | is a valid constant initializer instead of computing the number of | |
10468 | non-constant elements. Use constructor_static_from_elts_p for this | |
10469 | purpose. Replace the head comment with an indication that this is a | |
10470 | helper for categorize_ctor_elements. | |
10471 | (categorize_ctor_elements): Same interface change as for the _1 | |
10472 | helper. Former head comment from this helper moved here, adjusted to | |
10473 | account for the interface changes. | |
10474 | (mostly_zeros_p): Adjust call to categorize_ctor_elements. | |
10475 | (all_zeros_p): Likewise. | |
10476 | * gimplify.c (gimplify_init_constructor): Decide whether we can make | |
10477 | static versions of the constructor from the categorize_ctor_elements | |
10478 | return value instead of the formerly computed number of non-constant | |
10479 | elements. | |
10480 | ||
10481 | 2006-07-18 Paolo Bonzini <bonzini@gnu.org> | |
10482 | ||
10483 | * configure: Regenerate. | |
10484 | * Makefile.in (build_libsubdir): New configure substitution | |
10485 | (build_libobjdir): New variable. | |
10486 | (BUILD_LIBIBERTY): Use it. | |
10487 | ||
10488 | 2006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
10489 | ||
10490 | PR c/28286 | |
10491 | * c-pragma.c (handle_pragma_pack): Handle invalid constants. | |
10492 | ||
10493 | 2006-07-18 Alexandre Oliva <aoliva@redhat.com> | |
10494 | ||
10495 | PR c/26993 | |
10496 | * c-common.c (handle_weakref_attribute): Ignore attribute in | |
10497 | the same conditions the alias attribute is ignored. | |
10498 | ||
10499 | 2006-07-17 Carlos O'Donell <carlos@codesourcery.com> | |
10500 | ||
10501 | * dbxout.c (dbxout_function_end): Do not increment scope_labelno. | |
10502 | (dbxout_begin_prologue): Increment scope_labelno. | |
10503 | ||
10504 | 2006-07-17 Richard Henderson <rth@redhat.com> | |
10505 | ||
10506 | PR 27889 | |
10507 | * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P | |
10508 | if needed. | |
10509 | ||
10510 | 2006-07-17 Roger Sayle <roger@eyesopen.com> | |
10511 | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
10512 | ||
10513 | * config/i386/gmon-sol2.c: Silence compilation warnings by partially | |
10514 | synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0 | |
10515 | blocks. #include "tconfig.h" and "tsystem.h" to prototype system | |
10516 | functions such as sbrk, write, etc.. Add function prototypes. | |
10517 | Convert function declarations from K&R to ISO C. Cast pointers | |
10518 | to "long" and "unsigned long" instead of "int" and "unsigned int". | |
10519 | Convert tokens following #endif into comments. | |
10520 | ||
10521 | 2006-07-17 Toon Moene <toon@moene.indiv.nluug.nl> | |
10522 | ||
10523 | * invoke.texi: Remove mention of f77; Reformat table for | |
10524 | inline parameter options correctly; mention that -malign-double | |
10525 | is default on x86-64 targets. | |
10526 | ||
10527 | 2006-07-17 Zdenek Dvorak <dvorakz@suse.cz> | |
10528 | ||
10529 | * tree-chrec.c (avoid_arithmetics_in_type_p): New. | |
10530 | (convert_affine_scev, chrec_convert_aggressive): Use | |
10531 | avoid_arithmetics_in_type_p. Do not check for the subtypes | |
10532 | separately. | |
10533 | ||
10534 | 2006-07-17 Richard Sandiford <richard@codesourcery.com> | |
10535 | ||
10536 | PR middle-end/28403 | |
10537 | * optabs.c (expand_doubleword_shift): Wrap the call to | |
10538 | do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP. | |
10539 | ||
10540 | 2006-07-17 Richard Sandiford <richard@codesourcery.com> | |
10541 | ||
10542 | PR middle-end/28402 | |
10543 | * optabs.c (expand_binop): Pass next_methods rather than methods | |
10544 | to expand_doubleword_shift. | |
10545 | ||
10546 | 2006-07-17 J"orn Rennecke <joern.rennecke@st.com> | |
10547 | ||
10548 | PR other/28251 | |
10549 | * tree.h (dump_addr): Declare. | |
10550 | * print-tree.c (dump_addr): New function. | |
10551 | (print_node_brief, print_node): Use it. | |
10552 | * print-rtl.c (print_rtx): Likewise. | |
10553 | * common.opt (-fdump-noaddr): New option. | |
10554 | * doc/invoke.texi (-fdump-noaddr): Document. | |
10555 | * loop-unroll.c (si_info_hash): Make hash independent of addresses. | |
10556 | (ve_info_hash): Likewise. | |
10557 | ||
10558 | 2006-07-13 Andrew Haley <aph@redhat.com> | |
10559 | ||
10560 | PR tree-optimization/19505 | |
10561 | * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH | |
10562 | edge leaving this block, make sure that the destination of this | |
10563 | block has only one predecessor. | |
10564 | ||
10565 | 2006-07-17 Richard Guenther <rguenther@suse.de> | |
10566 | ||
10567 | PR tree-optimization/28238 | |
10568 | * tree-inline.c (copy_bb): Check if we produced valid | |
10569 | gimple copying and substituting a stmt. If not, gimplify | |
10570 | it. | |
10571 | ||
10572 | 2006-07-16 Eric Botcazou <ebotcazou@adacore.com> | |
10573 | ||
10574 | * optabs.c (maybe_encapsulate_block): New function extracted from... | |
10575 | (emit_libcall_block): ...here. Invoke it on the block of insns to | |
10576 | maybe emit REG_LIBCALL/REG_RETVAL notes around the block. | |
10577 | (emit_no_conflict_block): Likewise. | |
10578 | ||
10579 | 2006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr> | |
10580 | ||
10581 | * doc/install.texi (sparc-sun-solaris2*): Add GMP version number. | |
10582 | ||
10583 | 2006-07-15 Roger Sayle <roger@eyesopen.com> | |
10584 | ||
10585 | * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into | |
10586 | a new NOP_EXPR case of the switch statement. | |
10587 | ||
10588 | 2006-07-15 Kaz Kojima <kkojima@gcc.gnu.org> | |
10589 | ||
10590 | PR middle-end/28160 | |
10591 | * stor-layout.c (place_field): Take the bit field with | |
10592 | an excessive size into account in the ms-bitfiled case. | |
10593 | ||
10594 | PR middle-end/28161 | |
10595 | * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of | |
10596 | the previous bit field. | |
10597 | ||
10598 | 2006-07-14 Eliot Dresselhaus <eliot@sonic.net> | |
10599 | ||
10600 | PR target/27287 | |
10601 | * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative. | |
10602 | ||
10603 | 2006-07-14 Ulrich Weigand <uweigand@de.ibm.com> | |
10604 | ||
10605 | * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect | |
10606 | signal frames correctly even when the signal was installed with | |
10607 | sa_restorer set. | |
10608 | ||
10609 | 2006-07-14 Carlos O'Donell <carlos@codesourcery.com> | |
10610 | ||
10611 | * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start. | |
10612 | (dbxout_function_end): Use local label LFBB. Remove hook | |
10613 | DBX_OUTPUT_NFUN. | |
10614 | (dbxout_source_line): Use local label LFBB. | |
10615 | (dbxout_block): Likewise. | |
10616 | (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC. | |
10617 | (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC. | |
10618 | * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC, | |
10619 | and DBX_OUTPUT_NFUN. | |
10620 | ||
10621 | 2006-07-13 Janis Johnson <janis187@us.ibm.com> | |
10622 | ||
10623 | * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail. | |
10624 | ||
10625 | 2006-07-13 Jan Hubicka <jh@suse.cz> | |
10626 | ||
10627 | * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call | |
10628 | align_variable. | |
10629 | * output.h (align_variable): Declare. | |
10630 | * varasm.c (align_variable): Export. | |
10631 | * value-prof.c (tree_value_profile_transformations): Recompute iterator | |
10632 | when basic block changed. | |
10633 | ||
10634 | 2006-07-13 Nick Clifton <nickc@redhat.com> | |
10635 | ||
10636 | * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst | |
10637 | walking the LOG_LINKS chain. | |
10638 | ||
10639 | 2006-07-12 Geoffrey Keating <geoffk@apple.com> | |
10640 | ||
10641 | * doc/invoke.texi (C++ Dialect Options): Explain difference | |
10642 | between -fvisibility-inlines-hidden and setting hidden | |
10643 | visibility explicitly. | |
10644 | ||
10645 | 2006-07-12 Eric Christopher <echristo@apple.com> | |
10646 | ||
10647 | * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo. | |
10648 | (stmp-lipo): Depend on libgcc.a. | |
10649 | ||
10650 | 2006-07-12 Kazu Hirata <kazu@codesourcery.com> | |
10651 | ||
10652 | * tree.c: Fix a comment typo. | |
10653 | ||
10654 | 2006-07-12 Naveen.H.S <naveenh@kpitcummins.com> | |
10655 | ||
10656 | * config/m32c/muldiv.md (umulhisi3_c): Use only registers for | |
10657 | dest. | |
10658 | (umulhisi3_r): Likewise. | |
10659 | ||
10660 | 2006-07-12 Paolo Carlini <pcarlini@suse.de> | |
10661 | ||
10662 | PR libstdc++/27878 | |
10663 | * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x, | |
10664 | x < 19, vs wchar_t support. | |
10665 | ||
10666 | 2006-07-12 Nick Clifton <nickc@redhat.com> | |
10667 | ||
10668 | * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up | |
10669 | instead of -isa=sh4. | |
10670 | ||
10671 | 2006-07-12 Mike Stump <mrs@apple.com> | |
10672 | ||
10673 | * protoize.c (edit_fn_definition): Add volatile to clean_text_p. | |
10674 | ||
10675 | 2006-07-10 Eric Christopher <echristo@apple.com> | |
10676 | ||
10677 | * config/t-slibgcc-darwin: Rewrite. | |
10678 | ||
10679 | 2006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com> | |
10680 | ||
10681 | PR bootstrap/20437 | |
10682 | * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4 | |
10683 | dependencies. | |
10684 | ||
10685 | 2006-07-08 Matthias Klose <doko@debian.org> | |
10686 | ||
10687 | * doc/sourcebuild.texi: Fix typo. | |
10688 | ||
10689 | 2006-07-07 Mike Stump <mrs@apple.com> | |
10690 | ||
10691 | * toplev.c (process_options): Don't give -ffunction-sections may | |
10692 | affect debugging warning for Mach-O. | |
10693 | ||
10694 | 2006-07-07 James E Wilson <wilson@specifix.com> | |
10695 | ||
10696 | * config/mips/mips.md (cpu): Add sb1a. | |
10697 | * config/mips/sb1.md: Modify almost all patterns to accept sb1a in | |
10698 | addition to sb1. Adjust comments to clarify SB-1A differences from | |
10699 | SB-1. | |
10700 | (ir_sb1a_load): New. Modify bypasses to use it. | |
10701 | (ir_sb1a_simple_alu): Likewise. | |
10702 | * config/mips/mips.c (mips_cpu_info_table): Add sb1a. | |
10703 | (mips_rtx_cost_data): Add PROCESSOR_SB1A support. | |
10704 | (mips_issue_rate): Add PROCESSOR_SB1A. | |
10705 | (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1. | |
10706 | * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A. | |
10707 | (TARGET_SB1): Add PROCESSOR_SB1A check. | |
10708 | (TUNE_SB1): Likewise. | |
10709 | ||
10710 | * config/mips/mips-protos.h (mips_store_data_bypass_p): New. | |
10711 | * config/mips/mips.c (mips_store_data_bypass_p): New. | |
10712 | * config/mips/sb1.md: Use mips_store_data_bypass_p instead of | |
10713 | store_data_bypass_p. | |
10714 | ||
10715 | 2006-07-08 Paul Brook <paul@codesourcery.com> | |
10716 | ||
10717 | PR target/27991 | |
10718 | * config/m68k/m68k.md: Add r-m patterns for 68881 movxf. | |
10719 | ||
10720 | 2006-07-07 Richard Guenther <rguenther@suse.de> | |
10721 | ||
10722 | PR middle-end/28268 | |
10723 | * tree.h (build_one_cst): Declare. | |
10724 | * tree.c (build_one_cst): New function. | |
10725 | * tree-ssa-math-opts.c (get_constant_one): Remove. | |
10726 | (insert_reciprocals): Use build_one_cst. | |
10727 | * fold-const.c (fold_plusminus_mult): Likewise. | |
10728 | ||
10729 | 2006-07-07 Roger Sayle <roger@eyesopen.com> | |
10730 | ||
10731 | * pointer-set.c (pointer_set_destroy): Correct whitespace. | |
10732 | * cfgloopanal.c (dump_graph): Likewise. | |
10733 | * dojump.c (discard_pending_stack_adjust): Likewise. | |
10734 | * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES): | |
10735 | Likewise. | |
10736 | * alloc-pool.c (dump_alloc_pool_statistics): Likewise. | |
10737 | * function.c (finalize_block_changes): Likewise. | |
10738 | * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise. | |
10739 | * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise. | |
10740 | * rtl.c (dump_rtx_statistics): Likewise. | |
10741 | * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars): | |
10742 | Likewise. | |
10743 | * varray.c (dump_varray_statistics): Likewise. | |
10744 | * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64, | |
10745 | decode_decimal64, encode_decimal128, decode_decimal128, | |
10746 | decimal_real_to_decimal): Likewise. | |
10747 | ||
10748 | 2006-07-07 Richard Guenther <rguenther@suse.de> | |
10749 | ||
10750 | PR tree-optimization/28187 | |
10751 | * tree-vrp.c (vrp_operand_equal_p): New function. | |
10752 | (vrp_bitmap_equal_p): Likewise. | |
10753 | (update_value_range): Use them to compare old and new | |
10754 | max and min values. | |
10755 | ||
10756 | 2006-07-06 Roger Sayle <roger@eyesopen.com> | |
10757 | ||
10758 | * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add | |
10759 | a default case to switch statement to silence compiler warnings. | |
10760 | ||
10761 | 2006-07-06 Roger Sayle <roger@eyesopen.com> | |
10762 | ||
10763 | PR target/27968 | |
10764 | * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether | |
10765 | the configured assembler supports the x87's ffreep mnemonic. | |
10766 | * configure: Regenerate. | |
10767 | * config.in: Regenerate. | |
10768 | ||
10769 | * config/i386/i386.c (output_387_ffreep): New function. | |
10770 | (output_fp_compare): Use output_387_ffreep to emit ffreep insns. | |
10771 | (output_387_reg_move): Likewise. | |
10772 | ||
10773 | 2006-07-06 Paul Eggert <eggert@cs.ucla.edu> | |
10774 | ||
10775 | Port to hosts whose 'sort' and 'tail' implementations | |
10776 | treat operands with leading '+' as file names, as POSIX | |
10777 | has required since 2001. However, make sure the code still | |
10778 | works on pre-POSIX hosts. | |
10779 | * Makefile.in (slowcompare): Port to POSIX 1003.1-2001, | |
10780 | which says you should use "tail -c +N" rather than "tail +Nc". | |
10781 | Fix a bug: the old code incorrectly skipped 15 bytes, not 16. | |
10782 | ||
10783 | 2006-07-06 Zdenek Dvorak <dvorakz@suse.cz> | |
10784 | ||
10785 | * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in | |
10786 | argument name. | |
10787 | ||
10788 | 2006-07-06 David Edelsohn <edelsohn@gnu.org> | |
10789 | ||
10790 | PR target/28150 | |
10791 | * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow | |
10792 | PRE_{INC,DEC} of TFmode. | |
10793 | ||
10794 | 2006-07-06 David Edelsohn <edelsohn@gnu.org> | |
10795 | Alan Modra <amodra@bigpond.net.au> | |
10796 | ||
10797 | PR target/28170 | |
10798 | * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop | |
10799 | bounds. Simplify. | |
10800 | ||
10801 | 2006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
10802 | ||
10803 | PR target/28285 | |
10804 | * config/alpha/predicates.md (alpha_swapped_comparison_operator): | |
10805 | Remove duplicate gtu. | |
10806 | ||
10807 | 2006-07-05 Jason Merrill <jason@redhat.com> | |
10808 | ||
10809 | PR c++/13983 | |
10810 | PR c++/17519 | |
10811 | * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants. | |
10812 | * c-common.c (handle_packed_attribute): So don't copy it here. | |
10813 | * c-decl.c (finish_struct): Don't copy TYPE_ALIGN. | |
10814 | ||
10815 | 2006-07-05 Mike Stump <mrs@apple.com> | |
10816 | ||
10817 | * doc/invoke.texi (Invoking G++): Clarify prose for g++. | |
10818 | ||
10819 | 2006-07-05 H.J. Lu <hongjiu.lu@intel.com> | |
10820 | ||
10821 | PR target/26146 | |
10822 | * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*. | |
10823 | ||
10824 | 2006-07-05 Richard Guenther <rguenther@suse.de> | |
10825 | ||
10826 | PR target/28158 | |
10827 | * config/i386/i386.md (*negdf2_1): Restrict pattern to | |
10828 | TARGET_SSE2 targets if using SSE math. | |
10829 | (*absdf2_1): Likewise. | |
10830 | ||
10831 | 2006-07-05 Richard Guenther <rguenther@suse.de> | |
10832 | ||
10833 | PR tree-optimization/28162 | |
10834 | * fold-const.c (fold_binary): For (-A) * (-B) -> A * B | |
10835 | make sure to convert the operands to the correct type. | |
10836 | ||
10837 | 2006-07-04 Paolo Bonzini <bonzini@gnu.org> | |
10838 | ||
10839 | PR tree-optimization/28218 | |
10840 | ||
10841 | * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls | |
10842 | to calculate and free the dominator information. | |
10843 | ||
10844 | 2006-07-04 Peter O'Gorman <peter@pogma.com> | |
10845 | ||
10846 | * mklibgcc.in: chmod 644 before ranlib during install. | |
10847 | ||
10848 | 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com> | |
10849 | J"orn Rennecke <joern.rennecke@st.com> | |
10850 | ||
10851 | * configure.ac (.eh_frame data check): Use diff -b. | |
10852 | ||
10853 | 2006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr> | |
10854 | ||
10855 | PR bootstrap/18058 | |
10856 | * Makefile.in (BUILD_RTL): Add build/vec.o. | |
10857 | (build/gencondmd.o): Filter out -fkeep-inline-functions. | |
10858 | (build/genextract): Delete. | |
10859 | (build/genautomata): Likewise. | |
10860 | ||
10861 | 2006-07-04 Alan Modra <amodra@bigpond.net.au> | |
10862 | ||
10863 | PR target/28207 | |
10864 | * config/rs6000/rs6000.c (function_arg_boundary): Double-word align | |
10865 | 128-bit IBM long doubles for ABI_V4. | |
10866 | ||
10867 | 2006-07-03 Eric Botcazou <ebotcazou@adacore.com> | |
10868 | ||
10869 | * tree.c (range_in_array_bounds_p): New predicate. | |
10870 | * tree.h (range_in_array_bounds_p): Declare it. | |
10871 | * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to | |
10872 | return a less conservative answer. | |
10873 | * tree-sra.c (struct sra_elt): Add new pointer field 'groups' | |
10874 | and flag 'is_group'. | |
10875 | (IS_ELEMENT_FOR_GROUP): New macro. | |
10876 | (FOR_EACH_ACTUAL_CHILD): Likewise. | |
10877 | (next_child_for_group): New helper function. | |
10878 | (can_completely_scalarize_p): Take into account groups. | |
10879 | (sra_hash_tree): Handle RANGE_EXPR. | |
10880 | (sra_elt_eq): Likewise. | |
10881 | (lookup_element): Be prepared for handling groups. | |
10882 | (is_valid_const_index): Delete. | |
10883 | (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p | |
10884 | instead of is_valid_const_index. | |
10885 | <ARRAY_RANGE_REF>: New case. | |
10886 | (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of | |
10887 | is_valid_const_index. | |
10888 | <ARRAY_RANGE_REF>: Do not unconditionally punt. | |
10889 | (scan_dump): Dump info for groups too. | |
10890 | (decide_instantiation_1): Likewise. | |
10891 | (decide_block_copy): Assert that the element is not a group. | |
10892 | Propagate decision to groups. | |
10893 | (generate_one_element_ref): Handle RANGE_EXPR. | |
10894 | (mark_no_warning): Iterate over actual childs. | |
10895 | (generate_copy_inout): Likewise. | |
10896 | (generate_element_copy): Likewise. | |
10897 | (generate_element_zero): Likewise. | |
10898 | (generate_element_init_1): Likewise. | |
10899 | (dump_sra_elt_name): Handle RANGE_EXPR. | |
10900 | ||
10901 | 2006-07-03 Roger Sayle <roger@eyesopen.com> | |
10902 | ||
10903 | PR tree-optimization/26251 | |
10904 | * tree-ssa-threadupdate.c (redirection_block_p): New function. | |
10905 | (thread_block): When optimizing for size refuse to thread jumps | |
10906 | that would require duplication of blocks other than redirection | |
10907 | blocks. | |
10908 | ||
10909 | 2006-07-03 Paolo Bonzini <bonzini@gnu.org> | |
10910 | ||
10911 | * configure.ac: Fix thinko in previous check-in. | |
10912 | * configure: Regenerate. | |
10913 | ||
10914 | 2006-07-03 Paolo Bonzini <bonzini@gnu.org> | |
10915 | ||
10916 | PR other/27063 | |
10917 | * configure.ac (for lang...): Simplify nesting of conditionals. | |
10918 | Test subdir_requires for non-enabled languages. Move processing | |
10919 | of lang_opt_files and lang_tree_fiels below that test. | |
10920 | * configure: Regenerate. | |
10921 | * doc/sourcebuild.texi (Front End Config): Document subdir_requires. | |
10922 | ||
10923 | 2006-07-01 Martin Michlmayr <tbm@cyrius.com> | |
10924 | ||
10925 | * doc/gcov.texi (Invoking Gcov): Add a missing word. | |
10926 | ||
10927 | 2006-06-30 Kazu Hirata <kazu@codesourcery.com> | |
10928 | ||
10929 | * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix | |
10930 | comment typos. | |
10931 | ||
10932 | 2006-06-29 Jason Merrill <jason@redhat.com> | |
10933 | ||
10934 | PR c++/26905 | |
10935 | PR c++/26612 | |
10936 | PR c++/27000 | |
10937 | PR c++/26984 | |
10938 | PR c++/19134 | |
10939 | * tree.c (build_decl_stat): Don't hande #pragma visibility here. | |
10940 | * c-common.c (c_determine_visibility): Handle it here. | |
10941 | * c-decl.c (finish_decl): Call c_determine_visibility for | |
10942 | functions, too. | |
10943 | * flags.h (enum symbol_visibility): Sort from most to least visibility. | |
10944 | * tree.h: Likewise. | |
10945 | * varasm.c (default_assemble_visibility): Likewise. | |
10946 | * c-common.c (handle_visibility_attribute): Complain about trying | |
10947 | to give visibility to an already defined class, or trying to change | |
10948 | declared visibility. Always attach the attribute. | |
10949 | ||
10950 | PR c++/26905 | |
10951 | PR c++/21675 | |
10952 | PR c++/17470 | |
10953 | * attribs.c (decl_attributes): Ignore type-in-place attributes | |
10954 | once the type has been defined. | |
10955 | ||
10956 | 2006-06-29 Roger Sayle <roger@eyesopen.com> | |
10957 | ||
10958 | PR middle-end/27428 | |
10959 | * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount | |
10960 | to indicate the cpplib has issued an error message for us. | |
10961 | ||
10962 | 2006-06-29 Asher Langton <langton2@llnl.gov> | |
10963 | ||
10964 | PR target/25765 | |
10965 | * config/i386/i386.c (ix86_output_function_epilogue): Don't | |
10966 | insert a label at the end of an function under Mach-O. | |
10967 | ||
10968 | 2006-06-29 Eric Christopher <echristo@apple.com> | |
10969 | Evan Cheng <evan.cheng@apple.com> | |
10970 | ||
10971 | * predicates.md (vector_all_ones_operand): New. | |
10972 | (nonimmediate_or_sse_const_operand): Ditto. | |
10973 | * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare. | |
10974 | * config/i386/i386.c (standard_sse_constant_opcode): Define. | |
10975 | (standard_sse_mode_p): Ditto. | |
10976 | (standard_sse_constant_p): Add case for -1 vector. | |
10977 | (ix86_expand_vector_move): Try to use. | |
10978 | * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand. | |
10979 | Call standard_sse_constant_opcode. | |
10980 | (*movv4sf_internal): Ditto. | |
10981 | (*movv2df_internal): Ditto. | |
10982 | ||
10983 | 2006-06-29 Roger Sayle <roger@eyesopen.com> | |
10984 | ||
10985 | * genpreds.c (write_match_code_switch): Correctly use XSTR instead | |
10986 | of XEXP to extract the operands of a MATCH_CODE rtx. | |
10987 | ||
10988 | 2006-06-28 Andrew Pinski <pinskia@gmail.com> | |
10989 | ||
10990 | * tree.c (tree_size): Do not waste tail padding in | |
10991 | struct tree_string and make the size be the same as | |
10992 | build_string will generate. | |
10993 | ||
10994 | 2006-06-28 Jason Merrill <jason@redhat.com> | |
10995 | ||
10996 | PR c++/27768 | |
10997 | * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add | |
10998 | may_aliases already in the tag's annotations to the bitmap. | |
10999 | ||
11000 | 2006-06-28 Roger Sayle <roger@eyesopen.com> | |
11001 | ||
11002 | * genpreds.c (write_predicate_stmts) <IOR>: Add missing break. | |
11003 | ||
11004 | 2006-06-28 Roger Sayle <roger@eyesopen.com> | |
11005 | ||
11006 | * genpreds.c (generate_switch_p): New function. | |
11007 | (add_mode_tests): Push the new mode test down inside an AND expr | |
11008 | if this allows the switch-suitable MATCH_CODE to be near the root. | |
11009 | (write_match_code_switch): New function to write a MATCH_CODE as | |
11010 | a switch statement. | |
11011 | (write_predicate_stmts): New function to write a predicate RTX | |
11012 | expression as a sequence of statements. | |
11013 | (write_one_predicate_function): Use write_predicate_stmts. | |
11014 | (write_tm_constrs_h): Likewise. | |
11015 | ||
11016 | 2006-06-26 Fred Fish <fnf@specifix.com> | |
11017 | ||
11018 | * config/mips/t-sb1: New file. | |
11019 | * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to | |
11020 | tmake_file list. | |
11021 | ||
11022 | 2006-06-26 DJ Delorie <dj@redhat.com> | |
11023 | ||
11024 | * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic. | |
11025 | ||
11026 | 2006-06-26 Naveen H.S <naveenh@kpitcummins.com> | |
11027 | Jayant Sonar <jayants@kpitcummins.com> | |
11028 | Jaydeep Vipradas <jaydeepv@kpitcummins.com> | |
11029 | ||
11030 | * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New. | |
11031 | (subsi3, subsi3_1, subsi3_2): New. | |
11032 | * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New. | |
11033 | * config/m32c/mov.md (SI mov peephole): New. | |
11034 | * config/m32c/m32.c (m32c_immd_dbl_mov): New. | |
11035 | * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New. | |
11036 | ||
11037 | 2006-06-26 Olivier Hainque <hainque@adacore.com> | |
11038 | ||
11039 | * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on | |
11040 | a CALL_EXPR target function declaration. | |
11041 | ||
11042 | 2006-06-26 Richard Guenther <rguenther@suse.de> | |
11043 | ||
11044 | * tree.c (build_string): Do not waste tail padding in | |
11045 | struct tree_string. | |
11046 | ||
11047 | 2006-06-26 Richard Guenther <rguenther@suse.de> | |
11048 | ||
11049 | * ggc-page.c (init_ggc): Add missing element to size_lookup | |
11050 | table. | |
11051 | ||
11052 | Revert | |
11053 | 2006-06-23 Richard Guenther <rguenther@suse.de> | |
11054 | ||
11055 | * ggc-page.c (init_ggc): Do not round up the extra_order_size_table | |
11056 | sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour | |
11057 | alignment requests instead. Add verification code. | |
11058 | Add struct tree_function_decl and struct tree_binfo size to | |
11059 | extra_order_size_table. Add missing element to size_lookup | |
11060 | table. | |
11061 | ||
11062 | 2006-06-25 Eric Botcazou <ebotcazou@adacore.com> | |
11063 | ||
11064 | PR middle-end/28151 | |
11065 | * fold-const.c (const_binop): Be prepared for self returning zero. | |
11066 | Simplify code handling complex values. | |
11067 | ||
11068 | 2006-06-24 Olivier Hainque <hainque@adacore.com> | |
11069 | ||
11070 | * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function. | |
11071 | (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode | |
11072 | aggregate types. | |
11073 | ||
11074 | 2006-06-24 Olivier Hainque <hainque@adacore.com> | |
11075 | ||
11076 | * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as | |
11077 | ARRAY_REF, so have the callback called for the low bound expression. | |
11078 | ||
11079 | 2006-06-23 Janis Johnson <janis187@us.ibm.com> | |
11080 | ||
11081 | * tree.h (DECIMAL_FLOAT_TYPE_P): New. | |
11082 | * c-typeck.c (c_common_type): Disallow operations on decimal float | |
11083 | types and other float types. | |
11084 | * convert.c (convert_to_real): Don't ignore conversions involving | |
11085 | decimal float types. | |
11086 | ||
11087 | 2006-06-23 Olivier Hainque <hainque@adacore.com> | |
11088 | ||
11089 | * tree.c (max_int_size_in_bytes): New function, inspired from | |
11090 | code in function.c:assign_temp. | |
11091 | * tree.h (max_int_size_in_bytes): Declare. | |
11092 | * function.c (assign_temp): Use it. | |
11093 | * gimplify.c (create_tmp_var): Relax the assertions on the type | |
11094 | properties, not mandating constant size any more. | |
11095 | (force_constant_size): New static function. | |
11096 | (gimple_add_tmp_var): Use it, forcing variable size to a | |
11097 | constant upper bound if it is not constant on entry. | |
11098 | ||
11099 | 2006-06-23 Danny Smith <dannysmith@users.sourceforge.net> | |
11100 | ||
11101 | PR target/27789 | |
11102 | * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check | |
11103 | for initialization and setting of one_only flag to ... | |
11104 | (i386_pe_encode_section_info): ...here. | |
11105 | (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also. | |
11106 | Recheck that the symbol has not been defined. | |
11107 | ||
11108 | 2006-06-23 Richard Guenther <rguenther@suse.de> | |
11109 | ||
11110 | * ggc-page.c (init_ggc): Do not round up the extra_order_size_table | |
11111 | sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour | |
11112 | alignment requests instead. Add verification code. | |
11113 | Add struct tree_function_decl and struct tree_binfo size to | |
11114 | extra_order_size_table. Add missing element to size_lookup | |
11115 | table. | |
11116 | ||
11117 | 2006-06-22 Roger Sayle <roger@eyesopen.com> | |
11118 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
11119 | ||
11120 | PR middle-end/28131 | |
11121 | * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the | |
11122 | call to lang_hooks.types.type_for_mode returned NULL_TREE. | |
11123 | ||
11124 | 2006-06-23 Ben Elliston <bje@au.ibm.com> | |
11125 | ||
11126 | * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to | |
11127 | negate dn -- manipulate it directly. | |
11128 | ||
11129 | 2006-06-22 Roger Sayle <roger@eyesopen.com> | |
11130 | Steven Bosscher <stevenb.gcc@gmail.com> | |
11131 | ||
11132 | PR target/27531 | |
11133 | * reload1.c (gen_reload): Call mark_jump_label on the new insns | |
11134 | generated by gen_move_insn to add REG_LABEL notes if necessary. | |
11135 | ||
11136 | 2006-06-22 Bob Wilson <bob.wilson@acm.org> | |
11137 | ||
11138 | * config/xtensa/lib1funcs.asm (MIN_ESA): Delete. | |
11139 | (leaf_entry): Remove use of MIN_ESA. | |
11140 | ||
11141 | 2006-06-22 Zdenek Dvorak <dvorakz@suse.cz> | |
11142 | ||
11143 | PR rtl-optimization/28121 | |
11144 | * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from | |
11145 | the entry edge. | |
11146 | ||
11147 | 2006-06-21 DJ Delorie <dj@redhat.com> | |
11148 | ||
11149 | * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest | |
11150 | (TN-16C-A156A/E). | |
11151 | (mulhisi3_r): Likewise. | |
11152 | ||
11153 | 2006-06-21 Richard Sandiford <richard@codesourcery.com> | |
11154 | ||
11155 | PR middle-end/28034 | |
11156 | * coverage.c (coverage_counter_alloc): Leave the index type | |
11157 | unspecified. | |
11158 | (coverage_counter_alloc): Use null arguments for operands 2 and 3 | |
11159 | of the ARRAY_REF. | |
11160 | ||
11161 | 2006-06-21 Andrew Pinski <pinskia@physics.uc.edu> | |
11162 | ||
11163 | * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect" | |
11164 | section from the "Options for Code Generation Conventions". | |
11165 | ||
11166 | 2006-06-21 Richard Henderson <rth@redhat.com> | |
11167 | ||
11168 | PR target/26347 | |
11169 | PR target/27082 | |
11170 | * config/alpha/predicates.md (small_symbolic_operand): Deny weak | |
11171 | symbols. | |
11172 | (global_symbolic_operand): Allow weak symbols, even if local_p. | |
11173 | ||
11174 | 2006-06-21 Eric Botcazou <ebotcazou@adacore.com> | |
11175 | ||
11176 | * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function. | |
11177 | (find_interesting_uses_address): Punt if above function returns true. | |
11178 | ||
11179 | 2006-06-21 Richard Guenther <rguenther@suse.de> | |
11180 | ||
11181 | * configure: Regenerated. | |
11182 | ||
11183 | 2006-06-21 Joseph Myers <joseph@codesourcery.com> | |
11184 | ||
11185 | * config/mips/mips.c (function_arg): Where one part of a | |
11186 | complex argument is in registers and the other part in the stack, | |
11187 | return a REG not a PARALLEL. | |
11188 | ||
11189 | 2006-06-21 Mark Mitchell <mark@codesourcery.com> | |
11190 | ||
11191 | * configure.ac: Set gcc_gxx_include_dir to $target/include/c++ | |
11192 | when cross-compiling. Do not substitute libstdcxx_incdir. | |
11193 | * configure: Regenerated. | |
11194 | ||
11195 | 2006-06-21 Jakub Jelinek <jakub@redhat.com> | |
11196 | ||
11197 | * varasm.c (mergeable_string_section): Check for embedded NULs and | |
11198 | NUL termination in the first int_size_in_bytes (TREE_TYPE (decl)) | |
11199 | rather than TREE_STRING_LENGTH bytes. | |
11200 | ||
11201 | 2006-06-21 Richard Guenther <rguenther@suse.de> | |
11202 | ||
11203 | * ggc-page.c (extra_order_size_table): Add var_ann_d, | |
11204 | tree_ssa_name, bitmap_element and phi_node with 4 arguments | |
11205 | sizes. | |
11206 | ||
11207 | 2006-06-21 Richrad Guenther <rguenther@suse.de> | |
11208 | ||
11209 | * tree-ssa-loop-niter.c (simplify_using_initial_conditions): | |
11210 | Limit iteration over the dominators. | |
11211 | ||
11212 | 2006-06-20 Roger Sayle <roger@eyesopen.com> | |
11213 | ||
11214 | * config/mips/iris6.h (LIB_SPEC): Add support for -pthread. | |
11215 | (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified. | |
11216 | ||
11217 | 2006-06-20 Richard Guenther <rguenther@suse.de> | |
11218 | Michael Matz <matz@suse.de> | |
11219 | ||
11220 | * alloc-pool.h (free_alloc_pool_if_empty): Prototype new | |
11221 | function. | |
11222 | * alloc-pool.c (free_alloc_pool_if_empty): New function. | |
11223 | * et-forest.h (et_free_pools): Prototype new function. | |
11224 | * et-forest.c (et_free_tree_force): Free parent occurrence. | |
11225 | (et_free_pools): New function. | |
11226 | * dominance.c (free_dominance_info): Free et-forest alloc | |
11227 | pools. | |
11228 | ||
11229 | 2006-06-20 Roger Sayle <roger@eyesopen.com> | |
11230 | ||
11231 | * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with | |
11232 | integer modes, attempt to directly construct an integer constant. | |
11233 | ||
11234 | * fold-const.c (native_encode_vector): Determine the size of each | |
11235 | element from the vector type instead of the first vector element. | |
11236 | ||
11237 | * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant, | |
11238 | if all of its elements/components are constant. | |
11239 | (build_constructor_from_list): Likewise. | |
11240 | ||
11241 | 2006-06-20 Zdenek Dvorak <dvorakz@suse.cz> | |
11242 | ||
11243 | PR tree-optimization/27331 | |
11244 | * tree-data-ref.c (free_data_ref): New function. | |
11245 | (create_data_ref): Fail if the data reference has unknown access | |
11246 | function. | |
11247 | (free_data_refs): Use free_data_ref. | |
11248 | ||
11249 | 2006-06-19 Andrew Pinski <pinskia@gmail.com> | |
11250 | ||
11251 | PR middle-end/28075 | |
11252 | * tree-inline.c (setup_one_parameter): Strip useless | |
11253 | type conversion before adding it to the IR. | |
11254 | (declare_return_variable): Likewise. | |
11255 | ||
11256 | 2006-06-19 Martin Michlmayr <tbm@cyrius.com> | |
11257 | ||
11258 | PR c/27149 | |
11259 | * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning. | |
11260 | ||
11261 | 2006-06-19 Mike Stump <mrs@apple.com> | |
11262 | ||
11263 | * tree.c (variably_modified_type_p): VM arguments don't make the | |
11264 | type a VM type. | |
11265 | ||
11266 | 2006-06-19 Richard Guenther <rguenther@suse.de> | |
11267 | ||
11268 | * tree-ssa-pre.c (try_combine_conversion): Strip useless | |
11269 | type conversions after folding. | |
11270 | ||
11271 | 2006-06-19 Richard Guenther <rguenther@suse.de> | |
11272 | ||
11273 | * ggc-page.c (extra_order_size_tab): Add entries with | |
11274 | size of struct function and basic_block. | |
11275 | (size_lookup): Extend to cover sizes up to 511. | |
11276 | (ggc_alloc_stat): Adjust user. | |
11277 | (ggc_pch_count_object): Likewise. | |
11278 | (ggc_pch_alloc_object): Likewise. | |
11279 | (ggc_pch_write_object): Likewise. | |
11280 | ||
11281 | 2006-06-19 Zdenek Dvorak <dvorakz@suse.cz> | |
11282 | ||
11283 | * tree-ssa-loop-niter.c (implies_ge_p): New function. | |
11284 | (derive_constant_upper_bound): Handle OP0 - CST in unsigned types | |
11285 | correctly. | |
11286 | ||
11287 | 2006-06-19 Denis Chertykov <denisc@overta.ru> | |
11288 | ||
11289 | * config/avr/libgcc.S : Correct my wrong previous commit. | |
11290 | ||
11291 | 2006-06-19 Roger Sayle <roger@eyesopen.com> | |
11292 | ||
11293 | PR target/27861 | |
11294 | * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may | |
11295 | have stripped a SUBREG from the shift count, so we may need to | |
11296 | convert_to_mode back to the type's mode before calling make_tree. | |
11297 | Use new_amount instead of amount to avoid expanding a tree twice. | |
11298 | ||
11299 | 2006-06-19 Richard Guenther <rguenther@suse.de> | |
11300 | ||
11301 | PR middle-end/28045 | |
11302 | * fold-const.c (operand_equal_p): Check if the argument types | |
11303 | have the same precision before stripping NOPs. | |
11304 | ||
11305 | 2006-06-19 Daniel Berlin <dberlin@dberlin.org> | |
11306 | ||
11307 | Fix PR tree-optimization/27341 | |
11308 | * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the | |
11309 | statement we get. | |
11310 | * tree-complex.c (pass_lower_complex): Update SMT usage. | |
11311 | ||
11312 | 2006-06-19 Andreas Krebbel <krebbel1@de.ibm.com> | |
11313 | ||
11314 | * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"): | |
11315 | Add a new alternative to the constraint strings. Add move of | |
11316 | operand 1 to 3 to the splitter definition. | |
11317 | ("doloop_si_long"): Second contraint alternative removed. | |
11318 | ||
11319 | 2006-06-08 Anatoly Sokolov <aesok@post.ru> | |
11320 | ||
11321 | * config/avr/avr.h (avr_have_movw_lpmx_p): Declare. | |
11322 | (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and | |
11323 | __AVR_HAVE_LPMX__. | |
11324 | (AVR_HAVE_MOVW) Define. | |
11325 | (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW. | |
11326 | (ASM_SPEC): Add avr25. | |
11327 | (LINK_SPEC): Add avr25. | |
11328 | * config/avr/avr.c (avr_have_movw_lpmx_p): Add. | |
11329 | (base_arch_s): Add new member 'have_movw_lpmx'. | |
11330 | (avr_arch_types): Init 'have_movw_lpmx'. | |
11331 | (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24, | |
11332 | attiny44, attiny84, attiny25, attiny45, attiny85, attiny261, | |
11333 | attiny461, attiny861 and at86rf401 in 'avr25' arhitecture. | |
11334 | (avr_override_options): Init 'avr_have_movw_lpmx_p'. | |
11335 | (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use | |
11336 | AVR_HAVE_MOVW. | |
11337 | (avr_file_start): Do not output '.arh' derective. | |
11338 | * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__. | |
11339 | (__do_copy_data): Use __AVR_HAVE_LPMX__. | |
11340 | * config/avr/avr.md (mcu_enhanced): Delete. | |
11341 | (mcu_have_movw): Define. | |
11342 | (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'. | |
11343 | (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__. | |
11344 | * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25. | |
11345 | (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44, | |
11346 | attiny84, attiny25, attiny45, attiny85, attiny261, attiny461, | |
11347 | attiny861 and at86rf401 devices. | |
11348 | ||
11349 | 2006-06-18 Jie Zhang <jie.zhang@analog.com> | |
11350 | ||
11351 | * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead | |
11352 | of 4096. | |
11353 | ||
11354 | 2006-06-17 Karl Berry <karl@gnu.org> | |
11355 | ||
11356 | * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi, | |
11357 | doc/gccint.texi, doc/install.texi (@dircategory): Use | |
11358 | "Software development" instead of "Programming", following | |
11359 | the Free Software Directory. | |
11360 | ||
11361 | 2006-06-17 Alexandre Oliva <aoliva@redhat.com> | |
11362 | ||
11363 | * config/i386/i386.c (legitimate_tls_address) | |
11364 | <TARGET_GNU2_TLS>: Add tp after DTPOFF. | |
11365 | * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust. | |
11366 | (*tls_dynamic_gnu2_combine_64): Likewise. | |
11367 | ||
11368 | 2006-06-16 Richard Guenther <rguenther@suse.de> | |
11369 | ||
11370 | PR middle-end/27116 | |
11371 | * fold-const.c (negate_expr_p): Do not introduce undefined | |
11372 | overflow in negating INTEGER_CSTs. | |
11373 | (fold_negate_expr): Rename from negate_expr. Revert last | |
11374 | change for folding BIT_NOT_EXPR. Change semantics to | |
11375 | return NULL_TREE for non-simplified negations. Do not | |
11376 | strip type conversions and unify type handling. | |
11377 | (negate_expr): New function, wrap around fold_negate_expr | |
11378 | but ensure building a tree always. Strip type conversions | |
11379 | here, fold to result type. | |
11380 | (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR. | |
11381 | ||
11382 | 2006-06-16 Roger Sayle <roger@eyesopen.com> | |
11383 | ||
11384 | PR middle-end/27802 | |
11385 | * reg-stack.c (subst_stack_regs): Handle noreturn function calls | |
11386 | that (would) return their results in stack registers. | |
11387 | ||
11388 | 2006-06-16 Michael Matz <matz@suse.de> | |
11389 | Richard Guenther <rguenther@suse.de> | |
11390 | ||
11391 | * fold-const.c (fold_truthop): Only return new tree node if | |
11392 | we canonicalized something. | |
11393 | ||
11394 | 2006-06-16 Richard Guenther <rguenther@suse.de> | |
11395 | ||
11396 | * function.h (enum function_frequency): Move declaration | |
11397 | out of struct function. | |
11398 | (struct function): Move bool fields and the enum to the bitfield | |
11399 | section. Reorder elements to avoid padding. Remove unused | |
11400 | fields left over from the RTL inliner removal. | |
11401 | * function.c (free_after_compilation): Do not zero removed fields. | |
11402 | * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency. | |
11403 | (ipa-type-escape.o): Likewise. | |
11404 | ||
11405 | 2006-06-16 Richard Guenther <rguenther@suse.de> | |
11406 | ||
11407 | * cgraph.h (struct cgraph_local_info): Turn bool elements | |
11408 | into a bitfield. | |
11409 | (struct cgraph_node): Likewise. | |
11410 | (struct cgraph_varpool_node): Likewise. | |
11411 | ||
11412 | 2006-06-15 Richard Guenther <rguenther@suse.de> | |
11413 | ||
11414 | * fold-const.c (fold_truth_not_expr): Rename from | |
11415 | invert_truthvalue. Give it fold_* semantics to avoid | |
11416 | generating garbage. | |
11417 | (invert_truthvalue): New function. Wrapper around | |
11418 | fold_truth_not_expr. | |
11419 | (optimize_minmax_comparison): Avoid creating garbage. | |
11420 | (fold_unary): Use fold_truth_not_expr for folding | |
11421 | TRUTH_NOT_EXPR. | |
11422 | (fold_ternary): Replace uses of invert_truthvalue with | |
11423 | fold_truth_not_expr where applicable. | |
11424 | * tree.h (fold_truth_not_expr): Prototype. | |
11425 | ||
11426 | 2006-06-16 Richard Guenther <rguenther@suse.de> | |
11427 | ||
11428 | PR tree-optimization/27781 | |
11429 | * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency. | |
11430 | * ipa-pure-const.c (target.h): Include. | |
11431 | (analyze_function): Do not analyze functions that do not | |
11432 | bind locally. | |
11433 | ||
11434 | 2006-06-15 Andrew MacLeod <amacleod@redhat.com> | |
11435 | ||
11436 | PR middle-end/27793 | |
11437 | * tree-dfa.c (referenced_vars_dup_list): Remove. | |
11438 | (find_referenced_vars): Remove assert. | |
11439 | (referenced_var_check_and_insert): Replace dup list with assert. | |
11440 | * tree-ssa.c (delete_tree_ssa): Remove dup list processing. | |
11441 | * tree-flow.h (referenced_vars_dup_list): Remove extern decl. | |
11442 | ||
11443 | 2006-06-15 Richard Guenther <rguenther@suse.de> | |
11444 | ||
11445 | * tree-ssa-structalias.c (alias_get_name): Avoid creating | |
11446 | extra unused identifiers if not dumping. | |
11447 | (create_variable_info_for): Likewise. | |
11448 | ||
11449 | 2006-06-15 Zdenek Dvorak <dvorakz@suse.cz> | |
11450 | ||
11451 | * tree-ssa-loop-niter.c (implies_nonnegative_p): New function. | |
11452 | (derive_constant_upper_bound): Derive more precise upper bound in | |
11453 | common cases. Return type changed to double_int. | |
11454 | (record_estimate): Reflect the changed return type of | |
11455 | derive_constant_upper_bound. | |
11456 | * double-int.c (double_int_zext, double_int_sext): Fix. | |
11457 | ||
11458 | 2006-06-15 Paolo Bonzini <bonzini@gnu.org> | |
11459 | ||
11460 | * configure.ac (CFLAGS): Get them from the toplevel or from the | |
11461 | configure invocation. | |
11462 | * configure: Regenerate. | |
11463 | * Makefile.in (CFLAGS): Substitute value provided by configure. | |
11464 | ||
11465 | 2006-06-14 Mark Mitchell <mark@codesourcery.com> | |
11466 | ||
11467 | PR c++/26559 | |
11468 | * c-common.h (c_finish_omp_atomic): Adjust declaration. | |
11469 | * c-omp.c (c_finish_omp_atomic): Return the expression to perform, | |
11470 | rather than calling add_stmt on it. | |
11471 | * c-parser.c (c_parser_omp_atomic): Adjust accordingly. | |
11472 | ||
11473 | 2006-06-14 Andreas Krebbel <krebbel1@de.ibm.com> | |
11474 | ||
11475 | PR middle-end/27959 | |
11476 | * reload1.c (reload): Remove registers returned by update_eliminables | |
11477 | from used_spill_regs. | |
11478 | ||
11479 | 2006-06-13 DJ Delorie <dj@redhat.com> | |
11480 | ||
11481 | * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants. | |
11482 | ||
11483 | 2006-06-13 Carlos O'Donell <carlos@codesourcery.com> | |
11484 | ||
11485 | * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL, | |
11486 | html__strip_dir, html__mkdir_p. Enhance install-html target. | |
11487 | * configure.ac: AC_SUBST datarootdir, docdir and htmldir. | |
11488 | * configure: Regenerate. | |
11489 | ||
11490 | 2006-06-13 Fariborz Jahanian <fjahanian@apple.com> | |
11491 | ||
11492 | * fold-const.c (fold_cond_expr_with_comparison): Check for | |
11493 | Objective-C++ as language in deciding COND_EXPR transformation. | |
11494 | ||
11495 | 2006-06-06 J"orn Rennecke <joern.rennecke@st.com> | |
11496 | ||
11497 | PR target/28014: | |
11498 | * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16 | |
11499 | * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'. | |
11500 | * config/sh/lib1funcs.h (SL, SL1): Define. | |
11501 | * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function. | |
11502 | * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss. | |
11503 | * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule. | |
11504 | (OBJS_Os_4_200): New variable. | |
11505 | ($(T)libgcc-Os-4-200.a): Use it. | |
11506 | * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call | |
11507 | when dividing 1 and/or by 0. | |
11508 | ||
11509 | 2006-06-13 Roger Sayle <roger@eyesopen.com> | |
11510 | ||
11511 | * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h> | |
11512 | before <ucontext.h> to define sigset_t required by <sys/ucontext.h>. | |
11513 | * configure: Regenerate. | |
11514 | ||
11515 | 2006-06-13 Jie Zhang <jie.zhang@analog.com> | |
11516 | ||
11517 | * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized () | |
11518 | for real instruction. | |
11519 | ||
11520 | 2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
11521 | ||
11522 | PR middle-end/26807 | |
11523 | * haifa-sched.c (check_cfg): Handle special case. | |
11524 | ||
11525 | 2006-06-13 Eric Botcazou <ebotcazou@adacore.com> | |
11526 | ||
11527 | PR debug/26754 | |
11528 | * gimplify.c (declare_tmp_vars): Rename into declare_vars. | |
11529 | Add debug_info parameter. Chain the vars to the BLOCK instead | |
11530 | of the BIND_EXPR if debug info are requested for them. | |
11531 | (pop_gimplify_context): Adjust for above change. | |
11532 | (gimple_add_tmp_var): Likewise. | |
11533 | * tree-gimple.h (declare_tmp_vars): Rename into declare_vars. | |
11534 | Add bool parameter. | |
11535 | * tree-nested.c (convert_nonlocal_reference): Adjust for above change. | |
11536 | (convert_local_reference): Likewise. | |
11537 | (get_local_debug_decl): Set DECL_IGNORED_P on the original variable. | |
11538 | (finalize_nesting_tree_1): Request that debug info be emitted | |
11539 | for debug_var_chain. | |
11540 | ||
11541 | 2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
11542 | ||
11543 | * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch | |
11544 | for PR target/27863. | |
11545 | ||
11546 | 2006-06-13 Richard Guenther <rguenther@suse.de> | |
11547 | ||
11548 | PR middle-end/27536 | |
11549 | * except.c (output_ttype): Expand type with EXPAND_INITIALIZER. | |
11550 | ||
11551 | 2006-06-13 Richard Guenther <rguenther@suse.de> | |
11552 | ||
11553 | PR tree-optimization/27830 | |
11554 | * tree-inline.c (copy_body_r): For copying the operand | |
11555 | of an ADDR_EXPR make sure to fold &* afterwards. | |
11556 | ||
11557 | 2006-06-12 Eric Botcazou <ebotcazou@adacore.com> | |
11558 | ||
11559 | * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other | |
11560 | lvalues in the fb_none case with side-effects. | |
11561 | ||
11562 | 2006-06-12 Kazu Hirata <kazu@codesourcery.com> | |
11563 | ||
11564 | * tree-flow.h: Remove the prototype for | |
11565 | compute_phi_arg_on_exit. | |
11566 | * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use, | |
11567 | protect_loop_closed_ssa_form, compute_phi_arg_on_exit): | |
11568 | Remove. | |
11569 | ||
11570 | 2006-06-12 Mark Shinwell <shinwell@codesourcery.com> | |
11571 | ||
11572 | * builtins.c (expand_builtin_return_addr): Only use | |
11573 | frame_pointer_rtx when count == 0 and we are expanding | |
11574 | __builtin_return_address. | |
11575 | ||
11576 | 2006-06-12 Fred Fish <fnf@specifix.com> | |
11577 | ||
11578 | * config/mips/mips.c (mips_file_start): Create special section | |
11579 | ".gcc_compiled_longXX" for o64 ABI as well as EABI. | |
11580 | ||
11581 | 2006-06-11 Eric Christopher <echristo@apple.com> | |
11582 | ||
11583 | PR middle-end/27948 | |
11584 | * stor-layout.c (place_field): Remove check for | |
11585 | remaining_in_alignment when aligning at the end of a run. | |
11586 | ||
11587 | 2006-06-11 Eric Christopher <echristo@apple.com> | |
11588 | ||
11589 | PR 27542 | |
11590 | * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct | |
11591 | pragma. | |
11592 | ||
11593 | 2006-06-11 Roger Sayle <roger@eyesopen.com> | |
11594 | ||
11595 | PR target/27858 | |
11596 | Revert incorrect fix for PR target/27158 | |
11597 | 2006-05-08 Roger Sayle <roger@eyesopen.com> | |
11598 | * reload.c (find_reloads_toplev): Only return the simplified SUBREG | |
11599 | of a reg_equiv_constant if the result is a legitimate constant. | |
11600 | ||
11601 | 2006-06-11 Roger Sayle <roger@eyesopen.com> | |
11602 | ||
11603 | PR target/27158 | |
11604 | * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to | |
11605 | extract a CONST_VECTOR element and interpret it as an integer. | |
11606 | (vspltis_constant): Use const_vector_elt_as_int instead of the | |
11607 | macro CONST_VECTOR_ELT in order to handle FP vector modes. | |
11608 | * config/rs6000/predicates.md (easy_vector_const): Consider | |
11609 | floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant. | |
11610 | ||
11611 | 2006-06-11 Kaz Kojima <kkojima@gcc.gnu.org> | |
11612 | ||
11613 | PR middle-end/27942 | |
11614 | * stor-layout.c (update_alignment_for_field): Don't add extra | |
11615 | alignment for packed non-bitfield fields in ms_bitfield_layout_p | |
11616 | code. | |
11617 | ||
11618 | 2006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org> | |
11619 | ||
11620 | * config/mips/t-rtems: Add EL/EB multilib variants. | |
11621 | ||
11622 | 2006-06-09 Mike Stump <mrs@apple.com> | |
11623 | ||
11624 | * c-typeck.c (c_begin_vm_scope): Fix file_scope processing. | |
11625 | ||
11626 | 2006-06-09 David Daney <ddaney@avtrex.com> | |
11627 | ||
11628 | * doc/install.texi: Add binutils version recommendation for mips-*-*. | |
11629 | ||
11630 | 2006-06-09 Andreas Krebbel <krebbel1@de.ibm.com> | |
11631 | ||
11632 | * reload.c (find_reloads): Unset force_reload for 'X' constraint. | |
11633 | ||
11634 | 2006-06-09 Richard Guenther <rguenther@suse.de> | |
11635 | ||
11636 | PR tree-optimization/26998 | |
11637 | * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR | |
11638 | of signed types, only TYPE_MIN_VALUE is special, but for both, | |
11639 | minimum and maximum value. Likewise VR_ANTI_RANGE is special | |
11640 | in this case, as is -fwrapv. | |
11641 | ||
11642 | 2006-06-08 Mike Stump <mrs@apple.com> | |
11643 | ||
11644 | PR target/26427 | |
11645 | * config/darwin.c (darwin_asm_output_anchor): Disable | |
11646 | -fsection-anchors on darwin for now. | |
11647 | * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise. | |
11648 | * rs6000/rs6000.c (optimization_options): Likewise. | |
11649 | ||
11650 | 2006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
11651 | ||
11652 | PR target/27421 | |
11653 | * config/i386/i386.c (classify_argument): Skip fields with invalid | |
11654 | types in unions. | |
11655 | ||
11656 | 2006-06-08 Steven Bosscher <steven@gcc.gnu.org> | |
11657 | ||
11658 | * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG. | |
11659 | (cse_insn): Likewise for the stack_pointer_rtx. | |
11660 | ||
11661 | 2006-06-08 Roger Sayle <roger@eyesopen.com> | |
11662 | ||
11663 | * tree-ssa-dom.c (record_conditions): Only record "unordered" | |
11664 | conditions from floating point comparisons. | |
11665 | ||
11666 | 2006-06-08 Paolo Bonzini <bonzini@gnu.org> | |
11667 | ||
11668 | PR middle-end/27733 | |
11669 | * expmed.c (struct alg_hash_entry): Fix type of field T | |
11670 | to match synth_mult argument. | |
11671 | (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT. | |
11672 | ||
11673 | 2006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
11674 | ||
11675 | PR target/27863 | |
11676 | * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic | |
11677 | block boundaries. | |
11678 | ||
11679 | 2006-06-08 Richard Guenther <rguenther@suse.de> | |
11680 | ||
11681 | PR middle-end/27116 | |
11682 | * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR | |
11683 | only, if overflow is defined and not trapping. | |
11684 | (negate_expr): Likewise. | |
11685 | ||
11686 | 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz> | |
11687 | ||
11688 | PR tree-optimization/27872 | |
11689 | * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP | |
11690 | flag on the new exit edge of the unrolled loop. | |
11691 | ||
11692 | 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz> | |
11693 | ||
11694 | PR rtl-optimization/26449 | |
11695 | * loop-invariant.c (move_invariant_reg): Fail if force_operand fails. | |
11696 | ||
11697 | 2006-06-07 Andrew MacLeod <amacleod@redhat.com> | |
11698 | ||
11699 | PR middle-end/27793 | |
11700 | * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate | |
11701 | referenced_variables with matching DECL_UID's. | |
11702 | (find_referenced_vars): Make sure duplicate list is empty to start. | |
11703 | (referenced_var_p): Remove. | |
11704 | (referenced_var_check_and_insert): Renamed from referenced_var_insert. | |
11705 | Check if var is in the list, and add if needed. Update the duplicate | |
11706 | list if a different var is in the list with the same DECL_UID. | |
11707 | (add_referenced_var): Call routine to check and insert. | |
11708 | * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates. | |
11709 | * tree-flow.h (referenced_vars_dup_list): External declaration. | |
11710 | ||
11711 | 2006-06-07 Fred Fish <fnf@specifix.com> | |
11712 | ||
11713 | * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries | |
11714 | into single entry. | |
11715 | ||
11716 | 2006-06-07 Paolo Bonzini <bonzini@gnu.org> | |
11717 | ||
11718 | PR target/27390 | |
11719 | * reg-stack.c (subst_stack_regs_pat): Reorder resetting of | |
11720 | the imaginary and real parts of a clobbered register. | |
11721 | Emit insn to set the imaginary part. | |
11722 | ||
11723 | 2006-06-06 Peter Lemieszewski <lemie@us.ibm.com> | |
11724 | ||
11725 | * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c | |
11726 | in lieu of unwind-dw2-fde.c. | |
11727 | ||
11728 | 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
11729 | ||
11730 | * config/i386/mingw32.h (GOMP_SELF_SPECS): Define. | |
11731 | ||
11732 | 2006-06-06 Ulrich Weigand <uweigand@de.ibm.com> | |
11733 | ||
11734 | PR target/27842 | |
11735 | * config/rs6000/altivec.md (UNSPEC_VSLW): Remove. | |
11736 | ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove. | |
11737 | ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use | |
11738 | V4SImode temporaries and operations instead. | |
11739 | ||
11740 | 2006-06-06 Joseph S. Myers <joseph@codesourcery.com> | |
11741 | ||
11742 | * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not | |
11743 | dp-bit.c. | |
11744 | ||
11745 | 2006-06-06 Mike Stump <mrs@apple.com> | |
11746 | ||
11747 | * Makefile.in: Rename to htmldir to build_htmldir to avoid | |
11748 | installing during build. | |
11749 | ||
11750 | 2006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
11751 | ||
11752 | * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default | |
11753 | value to 0. | |
11754 | * doc/invoke.texi (max-sched-extend-regions-iters): Document. | |
11755 | * config/ia64/ia64.c (params.h): New header. | |
11756 | (ia64_optimization_options): New function to adjust parameters. | |
11757 | * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype. | |
11758 | * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro. | |
11759 | * config/ia64/t-ia64 (ia64.o): Add dependence from params.h . | |
11760 | ||
11761 | 2006-06-05 Kazu Hirata <kazu@codesourcery.com> | |
11762 | ||
11763 | * stor-layout.c (debug_rli): Fix a typo in a debug message. | |
11764 | ||
11765 | 2006-06-05 Steve Ellcey <sje@cup.hp.com> | |
11766 | ||
11767 | PR target/27051 | |
11768 | * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA. | |
11769 | ||
11770 | 2006-06-05 Dorit Nuzman <dorit@il.ibm.com> | |
11771 | Victor Kaplansky <victork@il.ibm.com> | |
11772 | ||
11773 | PR tree-optimization/26360 | |
11774 | * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern | |
11775 | stmts. | |
11776 | ||
11777 | 2006-06-04 Roger Sayle <roger@eyesopen.com> | |
11778 | Andrew Pinski <pinskia@physics.uc.edu> | |
11779 | ||
11780 | PR middle-end/27382 | |
11781 | * c-common.c (c_common_truthvalue_conversion): Explicitly check | |
11782 | for LABEL_DECL before calling DECL_WEAK. | |
11783 | ||
11784 | PR c/27150 | |
11785 | * c-typeck.c (build_binary_op): Likewise, explicitly check for | |
11786 | LABEL_DECL and PARM_DECL. | |
11787 | ||
11788 | 2006-06-05 Joseph S. Myers <joseph@codesourcery.com> | |
11789 | ||
11790 | PR c/25161 | |
11791 | PR c/27020 | |
11792 | * c-decl.c (grokdeclarator): Disallow variably modified types at | |
11793 | file scope. Avoid marking shared array type of constant size as | |
11794 | VLA. | |
11795 | ||
11796 | 2006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
11797 | ||
11798 | PR c++/27601 | |
11799 | * c-common.c (fold_offsetof_1): Handle static members. | |
11800 | ||
11801 | 2006-06-04 Eric Christopher <echristo@apple.com> | |
11802 | ||
11803 | * stor-layout.c (start_record_layout): Initialize remaining_in_alignment. | |
11804 | (debug_rli): Output value for remaining_in_alignment. | |
11805 | (update_alignment_for_field): Unconditionalize | |
11806 | ms_bitfield_layout_p code. Handle non-bitfield fields. Remove | |
11807 | extra alignment code. | |
11808 | (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize | |
11809 | ms_bitfield_layout_p code. Rewrite handling of structure fields. | |
11810 | * tree.h (record_layout_info_s): Remove prev_packed. | |
11811 | * doc/extend.texi (ms_struct): Add documentation of format. | |
11812 | ||
11813 | 2006-06-04 Mark Shinwell <shinwell@codesourcery.com> | |
11814 | ||
11815 | * tree.h: Declare folding_initializer. | |
11816 | * builtins.c (fold_builtin_constant_p): Give definite answer | |
11817 | if folding inside an initializer. | |
11818 | * fold-const.c: Define folding_initializer. | |
11819 | (START_FOLD_INIT): Save and then set folding_initializer. | |
11820 | (END_FOLD_INIT): Restore folding_initializer. | |
11821 | ||
11822 | 2006-06-04 Richard Guenther <rguenther@suse.de> | |
11823 | ||
11824 | PR tree-optimization/27039 | |
11825 | * fold-const.c (fold_comparison): Handle pointer comparison | |
11826 | again for all comparison codes. Compare offsets in signed | |
11827 | size type. | |
11828 | (fold_binary): Move code from here. | |
11829 | ||
11830 | 2006-06-03 Roger Sayle <roger@eyesopen.com> | |
11831 | ||
11832 | PR target/26223 | |
11833 | * config/i386/i386.c (construct_container): Split static issued_error | |
11834 | flag into issued_sse_arg_error, issued_sse_ret_error and | |
11835 | issued_x87_ret_error. Issue a daignostic if the x86-64 ABI | |
11836 | requires the use of x87 registers and the user explicitly | |
11837 | specified the -mno-80387 command line option. | |
11838 | ||
11839 | 2006-06-02 Geoffrey Keating <geoffk@apple.com> | |
11840 | ||
11841 | * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with | |
11842 | HAVE_DECL_SIGALTSTACK. | |
11843 | (MC_FLD): New. | |
11844 | (segv_handler): Use MC_FLD. | |
11845 | * configure.ac: Check for a sigaltstack declaration. | |
11846 | Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin. | |
11847 | * configure: Regenerate. | |
11848 | * config.in: Regenerate. | |
11849 | ||
11850 | 2006-06-03 J"orn Rennecke <joern.rennecke@st.com> | |
11851 | ||
11852 | PR other/27850 | |
11853 | * Makefile.in (stmp-fixinc): Fix typo. | |
11854 | ||
11855 | 2006-06-02 Roger Sayle <roger@eyesopen.com> | |
11856 | ||
11857 | * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions | |
11858 | are type correct. Clean-up. | |
11859 | <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z). | |
11860 | <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z). | |
11861 | ||
11862 | 2006-06-01 DJ Delorie <dj@redhat.com> | |
11863 | ||
11864 | * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the | |
11865 | shift, as we've disabled the "switch" insn that needs it. | |
11866 | ||
11867 | 2006-06-01 Per Bothner <bothner@bothner.com> | |
11868 | ||
11869 | Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output. | |
11870 | * c-opts.c (finish_options): Use internal line 0 for <command-line>. | |
11871 | * c-ppoutput.c (cb_define): Don't increment line 0. | |
11872 | ||
11873 | 2006-06-01 Pete Steinmetz <steinmtz@us.ibm.com> | |
11874 | ||
11875 | * doc/invoke.texi: Add cpu_type power6. | |
11876 | * config.gcc: Add cpu_type power6. | |
11877 | * config/rs6000/rs6000.c (rs6000_override_options): Alias power6 | |
11878 | to power5+ with Altivec. | |
11879 | * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6. | |
11880 | * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6. | |
11881 | ||
11882 | 2006-05-30 Anatoly Sokolov <aesok@post.ru> | |
11883 | ||
11884 | * config/avr/avr.h (SET_ASM_OP): Define. | |
11885 | ||
11886 | 2006-06-01 Kazu Hirata <kazu@codesourcery.com> | |
11887 | ||
11888 | * config/bfin/bfin.c: Fix comment typos. | |
11889 | ||
11890 | 2006-06-01 Paolo Bonzini <bonzini@gnu.org> | |
11891 | ||
11892 | PR 25453 | |
11893 | * doc/install.texi: Document --enable-bootstrap and | |
11894 | --disable-bootstrap. | |
11895 | ||
11896 | 2006-06-01 Paolo Bonzini <bonzini@gnu.org> | |
11897 | ||
11898 | * doc/install.texi: Document that InfoZIP can replace jar. | |
11899 | ||
11900 | 2006-05-31 Roger Sayle <roger@eyesopen.com> | |
11901 | ||
11902 | * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE | |
11903 | isn't available, directly generate the simpler x87 patterns without | |
11904 | the (use (const_int 0)). | |
11905 | * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE | |
11906 | implementation isn't available. | |
11907 | (*negdf2_1): Likewise. | |
11908 | (*negxf2_1): XF mode negation is always done using the x87. | |
11909 | (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs. | |
11910 | ||
11911 | 2006-05-31 Roger Sayle <roger@eyesopen.com> | |
11912 | ||
11913 | * builtins.c (fold_builtin_cabs): Delete prototype. Require an | |
11914 | additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as | |
11915 | cabs(z). | |
11916 | (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call. | |
11917 | ||
11918 | 2006-05-31 Jie Zhang <jie.zhang@analog.com> | |
11919 | ||
11920 | * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare. | |
11921 | * config/bfin/bfin.c (basic-block.h): Include. | |
11922 | (struct machine_function): New. | |
11923 | (bfin_init_machine_status): New. | |
11924 | (override_options): Initialize init_machine_status. | |
11925 | (bfin_hardware_loop): New. | |
11926 | (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define. | |
11927 | (DEF_VEC_P (loop_info)): New. | |
11928 | (DEF_VEC_ALLOC_P (loop_info,heap)): New. | |
11929 | (struct loop_info): New. | |
11930 | (loop_info): New typedef. | |
11931 | (struct loop_work): New. | |
11932 | (loop_work): New typedef. | |
11933 | (DEF_VEC_O (loop_work)): New. | |
11934 | (DEF_VEC_ALLOC_O (loop_work,heap)): New. | |
11935 | (bfin_dump_loops): New. | |
11936 | (bfin_bb_in_loop): New. | |
11937 | (bfin_scan_loop): New. | |
11938 | (bfin_optimize_loop): New. | |
11939 | (bfin_reorg_loops): New. | |
11940 | (bfin_reorg): Use bfin_reorg_loops. | |
11941 | * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding | |
11942 | loop registers. | |
11943 | (I_REGNO_P): Simplify. | |
11944 | (DP_REGNO_P, DPREG_P): New macros. | |
11945 | (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS, | |
11946 | REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1. | |
11947 | (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): | |
11948 | Add LT_REGS, LC_REGS, LB_REGS. | |
11949 | (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS, | |
11950 | 'l' for LB_REGS. | |
11951 | (REGNO_REG_CLASS): Deal with loop registers. | |
11952 | * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint | |
11953 | letters. | |
11954 | (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1): | |
11955 | New constants for loop registers. | |
11956 | (UNSPEC_LSETUP_END): New. | |
11957 | (seq_insns): New define_attr. Set it for appropriate insns. | |
11958 | (movsi_insn): Add alternatives for move from/to | |
11959 | loop count registers. | |
11960 | (doloop_end): New define_expand. | |
11961 | (loop_end): New define_insn. | |
11962 | (define_split for bad doloop_end): New. | |
11963 | (lsetup_with_autoinit): New define_insn. | |
11964 | (lsetup_without_autoinit): New define_insn. | |
11965 | (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1. | |
11966 | * config/bfin/predicates.md (lc_register_operand): New. | |
11967 | (lt_register_operand): New. | |
11968 | (lb_register_operand): New. | |
11969 | (nondp_register_operand): New. | |
11970 | (nondp_reg_or_memory_operand): New. | |
11971 | * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters. | |
11972 | ||
11973 | 2006-05-31 Jie Zhang <jie.zhang@analog.com> | |
11974 | ||
11975 | * config/bfin/bfin.c (bfin_delegitimize_address): New. | |
11976 | (TARGET_DELEGITIMIZE_ADDRESS): Define. | |
11977 | ||
11978 | 2006-05-31 Daniel Jacobowitz <dan@codesourcery.com> | |
11979 | ||
11980 | * Makefile.in (CATALOGS): Add po/ prefix. | |
11981 | * configure: Regenerated. | |
11982 | ||
11983 | 2006-05-31 Richard Earnshaw <richard.earnshaw@arm.com> | |
11984 | ||
11985 | PR target/27829 | |
11986 | * arm.c (arm_print_operand case 'S'): Validate that the operand is | |
11987 | a shift operand before calling shift_op. Avoid redundant call of | |
11988 | shift_op. | |
11989 | ||
11990 | 2006-05-30 Naveen.H.S <naveenh@kpitcummins.com> | |
11991 | DJ Delorie <dj@redhat.com> | |
11992 | ||
11993 | * config/m32c/m32c.c (m32c_expand_insv): Check that the value | |
11994 | we're inserting is a singlt-bit constant. | |
11995 | ||
11996 | 2006-05-30 Roger Sayle <roger@eyesopen.com> | |
11997 | ||
11998 | * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast | |
11999 | width to HOST_WIDE_INT to avoid comparison warnings on some targets. | |
12000 | ||
12001 | 2006-05-30 Roger Sayle <roger@eyesopen.com> | |
12002 | ||
12003 | PR tree-optimization/23452 | |
12004 | * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary, | |
12005 | to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2. | |
12006 | (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral | |
12007 | complex values and with -ffast-math for FP complex values. | |
12008 | ||
12009 | 2006-05-30 Kazu Hirata <kazu@codesourcery.com> | |
12010 | ||
12011 | * c-common.h: Remove the prototype for yyparse. | |
12012 | * rtl.h: Remove the prototype for init_loop. | |
12013 | ||
12014 | 2006-05-30 Andreas Krebbel <krebbel1@de.ibm.com> | |
12015 | ||
12016 | * cse.c (validate_canon_reg, cse_insn): Don't change insns without | |
12017 | calling recog. | |
12018 | ||
12019 | 2006-05-30 Roger Sayle <roger@eyesopen.com> | |
12020 | ||
12021 | * simplify-rtx.c (simplify_binary_operation): Unfactor the shift | |
12022 | and rotate cases. | |
12023 | <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is | |
12024 | log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics. | |
12025 | ||
12026 | 2006-05-30 Dirk Mueller <dmueller@suse.de> | |
12027 | ||
12028 | PR c/27273 | |
12029 | * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW | |
12030 | for CONSTANT_CLASS_P expresisons. | |
12031 | ||
12032 | 2006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
12033 | ||
12034 | PR c/27718 | |
12035 | * c-typeck.c (c_expr_sizeof_type): Handle invalid types. | |
12036 | ||
12037 | 2006-05-30 Zdenek Dvorak <dvorakz@suse.cz> | |
12038 | ||
12039 | PR tree-optimization/27779 | |
12040 | * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use | |
12041 | initial_condition instead of CHREC_LEFT. | |
12042 | ||
12043 | 2006-05-30 Steven Bosscher <stevenb.gcc@gmail.com> | |
12044 | ||
12045 | * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label. | |
12046 | * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors): | |
12047 | Make prototypes ISO C90. | |
12048 | ||
12049 | 2006-05-30 Mircea Namolaru <namolaru@il.ibm.com> | |
12050 | Leehod Baruch <leehod.baruch@weizmann.ac.il> | |
12051 | ||
12052 | * see.c (see_analyze_one_def): Correct check. | |
12053 | (see_get_extension_data): Check if extension is parallel. | |
12054 | (see_get_extension_reg): Likewise. | |
12055 | ||
12056 | 2006-05-30 Uros Bizjak <uros@kss-loka.si> | |
12057 | ||
12058 | PR target/27790 | |
12059 | * config/i386/i386.c (ix86_expand_int_vcond): Force cop0 | |
12060 | into register for (code == GTU). | |
12061 | ||
12062 | 2006-05-29 Roger Sayle <roger@eyesopen.com> | |
12063 | ||
12064 | PR tree-optimization/24964 | |
12065 | * simplify-rtx.c (simplify_binary_operation_1): Add function comment. | |
12066 | <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor | |
12067 | signaling NaNs. Optimize -x*-x as x*x for all float modes, and | |
12068 | abs(x)*abs(x) as x*x for scalar floating point modes. | |
12069 | ||
12070 | 2006-05-29 Sebastian Pop <pop@cri.ensmp.fr> | |
12071 | ||
12072 | PR middle-end/27745 | |
12073 | * lambda-code.c (perfect_nestify): Don't copy statements | |
12074 | in the inner loop: move them to the inner loop header. | |
12075 | ||
12076 | 2006-05-29 Diego Novillo <dnovillo@redhat.com> | |
12077 | ||
12078 | PR 26237 | |
12079 | * c-tree.texi: Document OpenMP directives and clauses. | |
12080 | ||
12081 | 2006-05-29 Kazu Hirata <kazu@codesourcery.com> | |
12082 | ||
12083 | * varasm.c (globalize_decl): Fix indentation. | |
12084 | ||
12085 | 2006-05-29 Diego Novillo <dnovillo@redhat.com> | |
12086 | ||
12087 | PR 26242 | |
12088 | * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta, | |
12089 | pass_fre, pass_store_ccp, pass_copy_prop, | |
12090 | pass_store_copy_prop, pass_merge_phi, pass_nrv, | |
12091 | pass_return_slot, pass_object_size, pass_lim, | |
12092 | pass_linear_transform, pass_empty_loop, pass_complete_unroll, | |
12093 | pass_loop_prefetch and pass_stdarg. | |
12094 | ||
ad41bd84 | 12095 | 2006-05-29 Bernd Schmidt <bernd.schmidt@analog.com> |
f1aea409 MS |
12096 | |
12097 | * config/bfin/bfin.opt (mfdpic): New option. | |
12098 | * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o. | |
12099 | (EXTRA_MULTILIB_PARTS): Likewise. | |
12100 | (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic. | |
12101 | (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic | |
12102 | multilib. | |
12103 | * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared. | |
12104 | (CRT_CALL_STATIC_FUNCTION): New. | |
12105 | * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if | |
12106 | -shared. | |
12107 | (CRT_CALL_STATIC_FUNCTION): New. | |
12108 | * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle | |
12109 | FD-PIC moves. | |
12110 | (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC. | |
12111 | (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4. | |
12112 | (initialize_trampoline): Changed to handle FD-PIC code generation. | |
12113 | (expand_move): If TARGET_FDPIC, use emit_pic_move as needed. | |
12114 | (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC. | |
12115 | (override_options): Disallow -mid-shared-library -mfdpic combination. | |
12116 | Can't do unaligned ops if FD-PIC. | |
12117 | Turn off flag_pic if trying to generate non-id-shared-library | |
12118 | non-fdpic code, since it's not supported. | |
12119 | (bfin_assemble_integer): New function. | |
12120 | (TARGET_ASM_INTEGER): Define. | |
12121 | * config/bfin/crti.s (__init, __fini): Save P3 on the stack if | |
12122 | __BFIN_FDPIC__. | |
12123 | * config/bfin/crtn.s: Restore them. | |
12124 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__ | |
12125 | if TARGET_FDPIC. | |
12126 | (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS, | |
12127 | LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros. | |
12128 | (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros. | |
12129 | (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC. | |
12130 | (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is | |
12131 | call-used. | |
12132 | (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add | |
12133 | FDPIC_REGS and FDPIC_FPTR_REGS. | |
12134 | (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them. | |
12135 | * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4, | |
12136 | UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants. | |
12137 | (load_funcdescsi): New pattern. | |
12138 | (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic, | |
12139 | sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic, | |
12140 | call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns. | |
12141 | ||
12142 | 2006-05-29 Kazu Hirata <kazu@codesourcery.com> | |
12143 | ||
12144 | * gcse.c, rtlanal.c: Remove obsolete comments associated with | |
12145 | loop.c. | |
12146 | ||
12147 | * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove. | |
12148 | ||
12149 | * tree-flow.h: Remove the prototype for add_type_alias. | |
12150 | * tree-ssa-alias.c (add_type_alias): Remove. | |
12151 | ||
12152 | 2006-05-28 Kazu Hirata <kazu@codesourcery.com> | |
12153 | ||
12154 | * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c, | |
12155 | config/fr30/fr30.md, config/i386/i386-interix.h, | |
12156 | config/i386/i386.c, config/i386/i386.md, config/sh/superh.h, | |
12157 | config/sh/superh64.h, config/v850/v850.c, df-core.c, | |
12158 | df-problems.c, df.h, except.c, final.c, haifa-sched.c, | |
12159 | lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c, | |
12160 | reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c, | |
12161 | tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos. | |
12162 | Follow spelling conventions. | |
12163 | * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos. | |
12164 | Follow spelling conventions. | |
12165 | ||
12166 | 2006-05-27 Richard Guenther <rguenther@suse.de> | |
12167 | ||
12168 | PR middle-end/27773 | |
12169 | * fold-const.c (fold_plusminus_mult_expr): Use fold_convert | |
12170 | to produce a constant of value 1 of generic type. | |
12171 | ||
12172 | 2006-05-27 Dirk Mueller <dmueller@suse.de> | |
12173 | ||
12174 | * cgraphunit.c (decide_is_function_needed): Fix wrong | |
12175 | PR reference. | |
12176 | ||
12177 | 2006-05-26 Ulrich Weigand <uweigand@de.ibm.com> | |
12178 | ||
12179 | PR rtl-optimization/27661 | |
12180 | * reload.c (find_reloads): When reloading a VOIDmode constant | |
12181 | as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint, | |
12182 | use Pmode as mode of the reload register. | |
12183 | ||
12184 | 2006-05-26 Eric Botcazou <ebotcazou@adacore.com> | |
12185 | ||
12186 | * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time | |
12187 | is enabled at -O and above. | |
12188 | ||
12189 | 2006-05-26 Steven Bosscher <steven@gcc.gnu.org> | |
12190 | ||
12191 | PR target/27571 | |
12192 | * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump | |
12193 | table data. | |
12194 | ||
12195 | 2006-05-25 Mark Mitchell <mark@codesourcery.com> | |
12196 | ||
12197 | PR c++/20103 | |
12198 | * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var | |
12199 | for anonymous variables explicitly declared by front ends. | |
12200 | ||
12201 | 2006-05-25 Eric Botcazou <ebotcazou@adacore.com> | |
12202 | ||
12203 | * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro. | |
12204 | (struct alias_info): Add new field ref_all_symbol_mem_tag. | |
12205 | * tree-ssa-alias.c (compute_may_aliases): If the program contains | |
12206 | ref-all pointers, run a finalization pass for them. | |
12207 | (compute_flow_insensitive_aliasing): Skip ref-all pointers. | |
12208 | (finalize_ref_all_pointers): New function. | |
12209 | (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a | |
12210 | regular pointer type to a ref-all pointer type. | |
12211 | (get_tmt_for): Return the special memory tag for ref-all pointers. | |
12212 | ||
12213 | 2006-05-25 Richard Guenther <rguenther@suse.de> | |
12214 | ||
12215 | PR middle-end/27743 | |
12216 | * fold-const.c (fold_binary): Do not look at the stripped | |
12217 | op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization. | |
12218 | ||
12219 | 2006-05-25 Eric Botcazou <ebotcazou@adacore.com> | |
12220 | ||
12221 | * tree-vrp.c (extract_range_from_assert): Set the range to VARYING | |
12222 | for LT and GT if the computed range is effectively empty. | |
12223 | ||
12224 | 2006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
12225 | ||
12226 | PR target/27627 | |
12227 | * pa/pa-modes.def: Use mips_single_format, mips_double_format and | |
12228 | mips_quad_format formats instead of ieee_single_format, | |
12229 | ieee_double_format and ieee_quad_format formats, respectively. | |
12230 | ||
12231 | 2006-05-24 Zdenek Dvorak <dvorakz@suse.cz> | |
12232 | ||
12233 | PR tree-optimization/27639 | |
12234 | PR tree-optimization/26719 | |
12235 | * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust | |
12236 | call to scev_probably_wraps_p. | |
12237 | * tree-ssa-loop-niter.c (compare_trees, convert_step_widening, | |
12238 | used_in_pointer_arithmetic_p, convert_step): Removed. | |
12239 | (nowrap_type_p): New function. | |
12240 | (scev_probably_wraps_p): Rewritten. | |
12241 | * tree-scalar-evolution.c (instantiate_parameters_1): Do not call | |
12242 | chrec_convert if chrec_convert_aggressive might have been used. | |
12243 | * tree-chrec.c (convert_affine_scev, chrec_convert_1, | |
12244 | scev_direction): New functions. | |
12245 | (chrec_convert): Changed to a wrapper over chrec_convert_1. | |
12246 | * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev | |
12247 | instead of convert_step. | |
12248 | * tree-flow.h (scev_probably_wraps_p): Declaration changed. | |
12249 | (convert_step): Declaration removed. | |
12250 | (convert_affine_scev, nowrap_type_p, scev_direction): Declare. | |
12251 | ||
12252 | 2006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com> | |
12253 | ||
12254 | * df-core.c: Added to header comments. | |
12255 | * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, | |
12256 | df_ur_bb_info, df_urec_bb_info): Added comments. | |
12257 | * df-problems (df_ref_bitmap, ru, rd, lr, ur, | |
12258 | urec, ri problems): Fixed header comments. | |
12259 | (df_ru_transfer_function): Fixed in-out set dyslexia when copying | |
12260 | code from df_rd_transfer_function. | |
12261 | ||
12262 | 2006-05-23 Richard Sandiford <richard@codesourcery.com> | |
12263 | ||
12264 | * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro. | |
12265 | (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than | |
12266 | MIN_UNITS_PER_WORD to set the default. Also use it in the guard. | |
12267 | ||
12268 | 2006-05-23 Joseph Myers <joseph@codesourcery.com> | |
12269 | ||
12270 | * expr.c (undefined_operand_subword_p): New. | |
12271 | (emit_move_multi_word): Do not generate move from undefined bits | |
12272 | of a paradoxical subreg. | |
12273 | ||
12274 | 2006-05-23 Richard Sandiford <richard@codesourcery.com> | |
12275 | ||
12276 | PR rtl-optimization/27736 | |
12277 | * combine.c (replaced_rhs_value): New variable. | |
12278 | (combine_instructions): Set it. | |
12279 | (distribute_notes): When distributing a note in replaced_rhs_insn, | |
12280 | check whether the value was used in replaced_rhs_value. | |
12281 | ||
12282 | 2006-05-23 Andrew MacLeod <amacleod@redhat.com> | |
12283 | ||
12284 | PR c++/26757 | |
12285 | * tree-ssa-loop-im.c (determine_invariantness_stmt): Use | |
12286 | add_referenced_var instead of add_referenced_tmp_var. | |
12287 | * tree-complex.c (create_one_component_var): Use add_referenced_var. | |
12288 | * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use | |
12289 | add_referenced_var. | |
12290 | * tree-tailcall.c (adjust_accumulator_values, adjust_return_value, | |
12291 | tree_optimize_tail_calls_1): Use add_referenced_var. | |
12292 | * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var. | |
12293 | * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft): | |
12294 | Use add_referenced_var. | |
12295 | * tree-if-conv.c (ifc_temp_var): Use add_referenced_var. | |
12296 | * gimplify.c (force_gimple_operand): Use add_referenced_var. | |
12297 | * tree-ssa-phiopt.c (conditional_replacement, abs_replacement): | |
12298 | Use add_referenced_var. | |
12299 | * tree-dfa.c (struct walk_state): Remove. | |
12300 | (find_referenced_vars): Remove walk state and vars_found hash table. | |
12301 | (make_rename_temp): Use add_referenced_var. | |
12302 | (find_vars_r): Pass less parameters to add_referenced_var. | |
12303 | (referenced_var_p): New. Is var in referenced_var hash table. | |
12304 | (referenced_var_insert): Assert var isn't already in hash table. | |
12305 | (add_referenced_var): Don't need walk_state parameter. Add var if it | |
12306 | isn't already in the hash table. | |
12307 | (add_referenced_tmp_var): Remove. | |
12308 | (find_new_referenced_vars_1): Use add_referenced_var. | |
12309 | * tree-ssa-pre.c (create_expression_by_pieces, | |
12310 | insert_into_preds_of_block, insert_extra_phis, realify_fake_stores): | |
12311 | Use add_referenced_var. | |
12312 | * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var. | |
12313 | * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression, | |
12314 | lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use | |
12315 | add_referenced_var. | |
12316 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref, | |
12317 | vect_create_data_ref_ptr, vect_create_destination_var, | |
12318 | vect_init_vector, vect_build_loop_niters, | |
12319 | vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer, | |
12320 | vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks): | |
12321 | Use add_referenced_var. | |
12322 | * tree-outof-ssa.c (create_temp): Use add_referenced_var. | |
12323 | * tree-flow.h (add_referenced_tmp_var): Remove prototype | |
12324 | (add_referenced_var): Add prototype. | |
12325 | * tree-ssa-structalias.c (get_constraint_for, | |
12326 | intra_create_variable_infos): Use add_referenced_var. | |
12327 | ||
12328 | 2006-05-23 Alexandre Oliva <aoliva@redhat.com> | |
12329 | ||
12330 | * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for | |
12331 | big-endian paradoxical subregs. | |
12332 | * var-tracking.c (struct micro_operation_def): Document that, | |
12333 | for modify micro operations, insn is the subsequent instruction. | |
12334 | (var_reg_delete_and_set, var_mem_delete_and_set): Split into... | |
12335 | (var_reg_set, var_mem_set): ... new functions. | |
12336 | (add_stores): Record subsequent insn. | |
12337 | (compute_bb_dataflow): Use new functions for MO_USE. | |
12338 | (emit_notes_in_bb): Use new functions for MO_USE. Emit use | |
12339 | notes after the insn, and modify notes before the insn known | |
12340 | to be the subsequent one. | |
12341 | (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs. | |
12342 | ||
12343 | 2006-05-23 Kazu Hirata <kazu@codesourcery.com> | |
12344 | ||
12345 | PR target/27696 | |
12346 | * config/i386/i386.c (ix86_expand_builtin): Use | |
12347 | gen_sse3_monitor64 for TARGET_64BIT. | |
12348 | ||
12349 | 2006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com> | |
12350 | ||
12351 | PR rtl-optimization/26375 | |
12352 | PR rtl-optimization/26855 | |
12353 | * df-problems (df_ru_bb_local_compute_process_def): Removed update | |
12354 | to gen set. | |
12355 | (df_ru_bb_local_compute): Reversed statements and removed bogus | |
12356 | comment explaining why they should be in wrong order. | |
12357 | (df_ru_dump, df_rd_dump): Enhanced debug info. | |
12358 | * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced | |
12359 | debug info. | |
12360 | * ddg.c (add_deps_for_def): Converted use of reaching defs to | |
12361 | reaching uses and fixed space problem. | |
12362 | ||
12363 | 2006-05-23 Jan Hubicka <jh@suse.cz> | |
12364 | ||
12365 | * cgraphunit.c (decide_is_function_needed): Also nested functions | |
12366 | and functions declared inline can be optimized out at -O0. | |
12367 | ||
12368 | 2006-05-22 Gerald Pfeifer <gerald@pfeifer.com> | |
12369 | ||
12370 | * doc/install.texi (Configuration): Remove reference to CrossGCC | |
12371 | FAQ which was gone. | |
12372 | (Building): Ditto. | |
12373 | ||
12374 | 2006-05-22 Kazu Hirata <kazu@codesourcery.com> | |
12375 | ||
12376 | PR target/27266 | |
12377 | * config/i386/i386.c (ix86_expand_branch): Jump to simple if | |
12378 | ix86_compare_emitted is non-NULL. | |
12379 | ||
12380 | 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
12381 | ||
12382 | PR c++/27451 | |
12383 | * stmt.c (expand_asm_operands): Skip asm statement with erroneous | |
12384 | clobbers. | |
12385 | ||
12386 | 2006-05-22 Richard Sandiford <richard@codesourcery.com> | |
12387 | ||
12388 | PR rtl-optimization/25514 | |
12389 | * combine.c (replaced_rhs_insn): New variable. | |
12390 | (combine_instructions): Set replaced_rhs_insn when trying to replace | |
12391 | a SET_SRC with a REG_EQUAL note. | |
12392 | (distribute_notes): Use replaced_rhs_insn when determining the live | |
12393 | range of a REG_DEAD register. | |
12394 | ||
12395 | 2006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> | |
12396 | Anatoly Sokolov <aesok@post.ru> | |
12397 | ||
12398 | * config/avr/avr.c (avr_mcu_types): Add support for attiny261, | |
12399 | attiny461, attiny861, attiny25, attiny45, attiny85, attiny24, | |
12400 | attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p, | |
12401 | atmega164p, atmega324p, atmega644p, atmega644, atmega329, | |
12402 | atmega3290, atmega649, atmega6490, atmega406, atmega640, | |
12403 | atmega1280, atmega1281, at90can32, at90can64, at90usb646, | |
12404 | at90usb647, at90usb1286 and at90usb1287 devices. | |
12405 | * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). | |
12406 | * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). | |
12407 | ||
12408 | 2006-05-22 Richard Sandiford <richard@codesourcery.com> | |
12409 | ||
12410 | * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment. | |
12411 | ||
12412 | 2006-05-22 Richard Guenther <rguenther@suse.de> | |
12413 | ||
12414 | Revert | |
12415 | 2006-01-31 Richard Guenther <rguenther@suse.de> | |
12416 | Paolo Bonzini <bonzini@gnu.org> | |
12417 | ||
12418 | * doc/install.texi (--disable-libgcc-math): Document. | |
12419 | ||
12420 | 2006-05-22 Richard Guenther <rguenther@suse.de> | |
12421 | ||
12422 | Revert | |
12423 | 2006-01-31 Richard Guenther <rguenther@suse.de> | |
12424 | ||
12425 | * doc/invoke.texi (-msselibm): Document. | |
12426 | * target.h (expand_library_builtin): New target hook. | |
12427 | * builtins.c (expand_builtin): Use expand_library_builtin. | |
12428 | (default_expand_library_builtin): New function. | |
12429 | * gcc.c (LINK_GCC_MATH_SPEC): Define. | |
12430 | (LINK_COMMAND_SPEC): Handle %(link_gcc_math). | |
12431 | (link_gcc_math_spec): Declare. | |
12432 | (static_specs): Add link_gcc_math_spec. | |
12433 | * expr.h (default_expand_library_builtin): Declare. | |
12434 | * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. | |
12435 | (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. | |
12436 | * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. | |
12437 | * config/i386/i386.opt (msselibm): New target option. | |
12438 | * config/i386/i386.c (ix86_builtin_function_variants): New array. | |
12439 | (ix86_init_sse_abi_builtins): New function. | |
12440 | (ix86_expand_library_builtin): Likewise. | |
12441 | (TARGET_EXPAND_LIBRARY_BUILTIN): Define. | |
12442 | (override_options): Handle error conditions wrt -msselibm. | |
12443 | (ix86_builtins): Add function codes for SSE2 ABI builtins. | |
12444 | (ix86_init_builtins): Call ix86_init_sse_abi_builtins. | |
12445 | * doc/extend.texi (__builtin_sse2_*): Document new target specific | |
12446 | builtins. | |
12447 | ||
12448 | 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
12449 | ||
12450 | PR c/27420 | |
12451 | * c-common.c (self_promoting_args_p): Skip erroneous args. | |
12452 | ||
12453 | PR c/26818 | |
12454 | * c-decl.c (finish_struct): Skip erroneous fields. | |
12455 | ||
12456 | 2006-05-22 Nick Clifton <nickc@redhat.com> | |
12457 | ||
12458 | * config/cris/cris.opt (march): Remove VarExists attribute. | |
12459 | (max-stackframe=): Likewise. | |
12460 | ||
12461 | 2006-05-22 Kazu Hirata <kazu@codesourcery.com> | |
12462 | ||
12463 | * doc/rtl.texi: Fix a typo. | |
12464 | * see.c: Fix comment typos. | |
12465 | ||
12466 | * tree-ssa-structalias.h (alias_info): Remove num_references. | |
12467 | ||
12468 | 2006-05-21 Mike Stump <mrs@apple.com> | |
12469 | ||
12470 | * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas. | |
12471 | (BAD2): Add. | |
12472 | (darwin_pragma_options): Use BAD instead. | |
12473 | (darwin_pragma_unused): Likewise. | |
12474 | (darwin_pragma_ms_struct): Likewise. | |
12475 | ||
12476 | 2006-05-21 David Edelsohn <edelsohn@gnu.org> | |
12477 | ||
12478 | * config/rs6000/rs6000.md (floatsitf2): Remove constraints. | |
12479 | ||
12480 | 2006-05-21 Kazu Hirata <kazu@codesourcery.com> | |
12481 | ||
12482 | PR rtl-optimization/27671 | |
12483 | * simplify-rtx.c (simplify_relational_operation_1): Fix | |
12484 | simplifications of (eq/ne (xor x y) y) and | |
12485 | (eq/ne (xor x y) x). | |
12486 | ||
12487 | PR tree-optimization/26622. | |
12488 | * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert | |
12489 | on arg1. | |
12490 | ||
12491 | 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org> | |
12492 | ||
12493 | * tree-cfg.c: Prune whitespace. | |
12494 | (debug_tree_cfg): Point to correct header containing the | |
12495 | TDF_* defines. | |
12496 | ||
12497 | 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org> | |
12498 | ||
12499 | PR middle-end/25776 | |
12500 | * cgraphunit.c (verify_cgraph_node): Typo in error message. | |
12501 | ||
12502 | 2006-05-20 Andrew Pinski <pinskia@physics.uc.edu> | |
12503 | ||
12504 | PR middle-end/25776 | |
12505 | * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error | |
12506 | or sorry count is non zero. | |
12507 | ||
12508 | 2006-05-20 Andreas Schwab <schwab@suse.de> | |
12509 | ||
12510 | * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab. | |
12511 | ||
12512 | 2006-05-19 Daniel Berlin <dberlin@dberlin.org> | |
12513 | Kenneth Zadeck <zadeck@naturalbridge.com> | |
12514 | ||
12515 | PR rtl-optimization/26855 | |
12516 | ||
12517 | * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for | |
12518 | multiword refs. | |
12519 | (df_scan_alloc): Added code to properly handle multiword hard | |
12520 | registers and add all_blocks parameter. | |
12521 | (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added | |
12522 | code to properly handle multiword hard registers. | |
12523 | (df_rescan_blocks): Added code to remove deleted blocks from | |
12524 | bitmap. | |
12525 | (df_ref_create_structure, df_ref_record): Added code to properly | |
12526 | handle subregs. | |
12527 | (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER | |
12528 | and set DF_REF_PARTIAL. | |
12529 | (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER. | |
12530 | (df_uses_record): Added DF_REF_PARTIAL for subreg. | |
12531 | (df_scan_add_problem): Added flags parameter. | |
12532 | (df_ref_create_structure): Changed switching structure. | |
12533 | (df_bb_refs_record): Fixed case where duplicate artificial refs | |
12534 | were created. Changed location of flags. | |
12535 | (df_record_entry_block_defs): Added code to make stack pointer | |
12536 | live in entry block. Refined cases where frame pointer is needed. | |
12537 | Changed location of flags. | |
12538 | (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags. | |
12539 | (df_set_state): Removed function. | |
12540 | (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove, | |
12541 | df_insn_create_insn_record, df_insn_refs_delete, | |
12542 | df_ref_create_structure): Formatting changes. | |
12543 | * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags, | |
12544 | df_delete_basic_block): New function. | |
12545 | (df_init): Changed location of flags. | |
12546 | (df_add_problem): Added flags parameter and the way flags are | |
12547 | processed. | |
12548 | (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref, | |
12549 | debug_df_chain): Improved debugging output. | |
12550 | (df_insn_debug, df_insn_uid_debug): Added multiword reg support. | |
12551 | (df_refs_chain_dump): Removed df parameter. | |
12552 | (df_iterative_dataflow): Added consistency check. | |
12553 | (df_prune_to_subcfg): Made public. | |
12554 | (df_analyze_problem): Added blocks_to_init parameter and made | |
12555 | public. | |
12556 | (df_ref_record, df_bb_refs_record, df_mark_reg, | |
12557 | df_record_exit_block_uses): Whitespace changes. | |
12558 | (df_dump): Whitespace changes. | |
12559 | * df.h: Some reordering to remove forward references. | |
12560 | (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL, | |
12561 | DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields. | |
12562 | (df_ref_flags.DF_REF_CLOBBER): Deleted field. | |
12563 | (dataflow.flags): New field. | |
12564 | (df.flag): Deleted field. | |
12565 | (df_alloc_function): Added additional bitmap parameter. | |
12566 | (df_dependent_problem_function): New type. | |
12567 | (df_problem.changeable_flags): New field. | |
12568 | (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL, | |
12569 | DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed. | |
12570 | (df_mw_hardreg): New struct. | |
12571 | (DF_INSN_UID_MWS): New macro. | |
12572 | (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df | |
12573 | parameter. | |
12574 | (df_add_problem, df_ru_add_problem, df_rd_add_problem, | |
12575 | df_lr_add_problem, df_ur_add_problem, df_urec_add_problem, | |
12576 | df_ri_add_problem, df_scan_add_problem): Added flags parameter. | |
12577 | (df_set_state): Removed function. | |
12578 | (df_set_flags, df_clear_flags, df_delete_basic_block) New functions. | |
12579 | * df-problems.c (df_chain_dump): Removed df parameter. | |
12580 | (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc, | |
12581 | df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks | |
12582 | parameter. | |
12583 | (df_ru_alloc, df_rd_alloc): Now resets all blocks. | |
12584 | (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute, | |
12585 | df_chain_create_bb, df_create_unused_note, df_ri_bb_compute): | |
12586 | Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and | |
12587 | DF_REF_MUST_CLOBBER cases. | |
12588 | (df_ru_bb_local_compute_process_def, | |
12589 | df_rd_bb_local_compute_process_def, df_lr_bb_local_compute, | |
12590 | df_lr_bb_local_compute, df_ur_bb_local_compute, | |
12591 | df_chain_create_bb): Made subreg aware. | |
12592 | (df_ru_bb_local_compute, df_rd_bb_local_compute, | |
12593 | df_lr_bb_local_compute, df_lr_bb_local_compute, | |
12594 | df_chain_create_bb): Cleanup to use proper macros. | |
12595 | (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary | |
12596 | code to fixup bitvectors. | |
12597 | (df_ri_alloc): Cleared lifetime. | |
12598 | (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw, | |
12599 | df_create_unused_note): New function. | |
12600 | (df_ri_bb_compute, df_ri_compute): Added code to create/update | |
12601 | REG_DEAD and REG_UNUSED notes as well as register information. | |
12602 | (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump, | |
12603 | df_chains_dump): Fixed crash if problem was never run. | |
12604 | (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem, | |
12605 | df_ur_add_problem, df_urec_add_problem, df_chain_add_problem, | |
12606 | df_ri_add_problem): Processes flags in uniform manner. | |
12607 | (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free, | |
12608 | df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free, | |
12609 | df_rd_dump, df_urec_free_bb_info): Formatting changes. | |
12610 | (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump, | |
12611 | df_rd_free_bb_info, df_rd_bb_local_compute_process_def, | |
12612 | df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info, | |
12613 | df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info, | |
12614 | df_ur_dump, df_urec_free_bb_info, df_urec_dump, | |
12615 | df_chain_create_bb, df_ri_bb_compute): Whitespace changes. | |
12616 | * modulo-sched.c (sms_schedule): Added flag parameter to calls. | |
12617 | * see.c (see_initialize_data): Ditto. | |
12618 | * final.c (rest_of_clean_state) Added regstack_completed. | |
12619 | * rtl.h (regstack_completed): Ditto. | |
12620 | * reg-stack.c (regstack_completed): Ditto. | |
12621 | ||
12622 | 2006-05-19 Mike Stump <mrs@apple.com> | |
12623 | ||
12624 | * c-tree.h (default_conversion): Remove. | |
12625 | * c-common.h (default_conversion): Add. | |
12626 | ||
12627 | 2006-05-19 Zdenek Dvorak <dvorakz@suse.cz> | |
12628 | ||
12629 | * tree-vrp.c (valid_value_p): New function. | |
12630 | (adjust_range_with_scev): Fail if the value of bound is not | |
12631 | simple. | |
12632 | ||
12633 | 2006-05-19 Richard Sandiford <richard@codesourcery.com> | |
12634 | ||
12635 | * config/mips/linux-unwind.h: Include <asm/unistd.h> | |
12636 | (mips_fallback_frame_state): Use syscall numbers to determine | |
12637 | the appropriate li instruction for the current ABI. Only use | |
12638 | __NR_sigreturn for o32. | |
12639 | ||
12640 | 2006-05-19 Nicolas Setton <setton@adacore.com> | |
12641 | ||
12642 | * langhooks.h (struct lang_hooks): Add dwarf_name language hook. | |
12643 | * langhooks.c (lhd_dwarf_name): New function. | |
12644 | * langhooks-def.h (lhd_dwarf_name): Declare. | |
12645 | (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name. | |
12646 | * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook. | |
12647 | ||
12648 | 2006-05-19 Richard Sandiford <richard@codesourcery.com> | |
12649 | ||
12650 | * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from | |
12651 | libgcc2.h. | |
12652 | (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old | |
12653 | MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if | |
12654 | LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD. | |
12655 | * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here. | |
12656 | Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to | |
12657 | determine the size of Wtype, etc. | |
12658 | * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument. | |
12659 | (swfloatfuncs): New variable. | |
12660 | (dwfloatfuncs): Likewise. | |
12661 | (lib2funcs): Remove floating-point conversion functions from | |
12662 | initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine | |
12663 | the set of conversion routines needed. Allow entries to specify | |
12664 | an object name, filename and word size. Update users accordingly. | |
12665 | * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS. | |
12666 | * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define. | |
12667 | ||
12668 | Revert: | |
12669 | ||
12670 | 2006-02-08 Roger Sayle <roger@eyesopen.com> | |
12671 | ||
12672 | PR target/22209 | |
12673 | * config/fixtfdi.c: New libgcc source file. | |
12674 | * config/fixunstfdi.c: New source file. | |
12675 | * config/floatditf.c: New source file. | |
12676 | * config/floatunditf.c: New souce file. | |
12677 | * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source | |
12678 | files above instead of config/mips/_tilib.c. | |
12679 | * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. | |
12680 | ||
12681 | 2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
12682 | ||
12683 | * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'. | |
12684 | * pa/pa-hpux11.h (LIB_SPEC): Update comment. | |
12685 | ||
12686 | 2006-05-18 Mike Stump <mrs@apple.com> | |
12687 | ||
12688 | Fix up vla, vm and [*] sematics. | |
12689 | ||
12690 | PR c/18740 | |
12691 | PR c/7948 | |
12692 | PR c/25802 | |
12693 | PR c/27673 | |
12694 | * c-tree.h (struct c_arg_info): Add had_vla_unspec. | |
12695 | (c_vla_unspec_p): Add. | |
12696 | (c_vla_type_p): Add. | |
12697 | * c-decl.c (struct c_scope): Add had_vla_unspec. | |
12698 | (build_array_declarator): Add support for [*]. | |
12699 | (grokdeclarator): Likewise. | |
12700 | (grokparms): Likewise. | |
12701 | (get_parm_info): Likewise. | |
12702 | * c-objc-common.c (c_vla_unspec_p): Likewise. | |
12703 | * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise. | |
12704 | * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to | |
12705 | typeof when argument is a variably modified type not inside sizeof or alignof. | |
12706 | (c_parser_direct_declarator_inner): Propagate errors. | |
12707 | (c_parser_sizeof_expression): Add support for [*]. | |
12708 | (c_parser_parms_declarator): Initialize had_vla_unspec. | |
12709 | (c_parser_parms_list_declarator): Likewise. | |
12710 | * c-typeck.c (c_vla_type_p): Add. | |
12711 | (composite_type): Add support for vla compositing. | |
12712 | (comptypes_internal): Add support for vla compatibility. | |
12713 | (c_expr_sizeof_expr): Evaluate vla arguments. | |
12714 | * tree.c (variably_modified_type_p): Update comment for [*]. | |
12715 | ||
12716 | 2006-05-18 Michael Matz <matz@suse.de> | |
12717 | ||
12718 | PR target/27599 | |
12719 | * config.host: Make assignments to host_xmake_file cumulative. | |
12720 | * config.host (*-darwin*): Test $host, not $target. | |
12721 | ||
12722 | 2006-05-12 Stuart Hastings <stuart@apple.com> | |
12723 | ||
12724 | * config/i386/i386.opt (-mstackrealign): New flag. | |
12725 | * config/i386/i386.c (force_align_arg_pointer): New attribute. | |
12726 | (ix86_handle_cconv_attribute): Emit error when | |
12727 | force_align_arg_pointer attribute collides with too many regparms. | |
12728 | (ix86_function_regparm): Limit regparms when used with | |
12729 | force_align_arg_pointer attribute. (ix86_internal_arg_pointer): | |
12730 | Support stack-realigning prologue in non-main functions. Emit | |
12731 | warning for nested functions under -mstackrealign, emit error for | |
12732 | nested functions with force_align_arg_pointer attribute. | |
12733 | * doc/extend.texi (force_align_arg_pointer): Document it. | |
12734 | * doc/invoke.texi (-mstackrealign): Document it. | |
12735 | ||
12736 | 2006-05-17 Kazu Hirata <kazu@codesourcery.com> | |
12737 | ||
12738 | PR rtl-optimization/27477 | |
12739 | * combine.c (try_combine): Don't split a parallel consisting | |
12740 | of two sets into two individual sets if both sets reference | |
12741 | cc0. | |
12742 | ||
12743 | 2006-05-17 H.J. Lu <hongjiu.lu@intel.com> | |
12744 | ||
12745 | * config/arm/arm.opt (target_fpe_name): Remove VarExists. | |
12746 | * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise. | |
12747 | ||
12748 | * doc/options.texi (VarExists): Updated. | |
12749 | ||
12750 | 2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
12751 | ||
12752 | * unwind-dw2.c: Add declarations for uw_update_context and | |
12753 | uw_frame_state_for. | |
12754 | * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is | |
12755 | detected, advance frame state and context once to skip over stub. | |
12756 | ||
12757 | 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> | |
12758 | ||
12759 | PR middle-end/20256 | |
12760 | PR middle-end/26435 | |
12761 | * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p. | |
12762 | Call rewrite_into_loop_closed_ssa only when something changed. | |
12763 | * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration. | |
12764 | * lambda-code.c (can_convert_to_perfect_nest): Declared. | |
12765 | (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter. | |
12766 | Test for perfect_nest_p here. Fix formating. | |
12767 | (replace_uses_equiv_to_x_with_y): Fix formating. | |
12768 | (stmt_uses_op): Removed. | |
12769 | (can_convert_to_perfect_nest): Removed loopivs parameter. | |
12770 | Complete the test by checking the scalar dependences. | |
12771 | (perfect_nestify): Remove the test for can_convert_to_perfect_nest. | |
12772 | Fix formating. | |
12773 | ||
ad41bd84 | 12774 | 2006-05-17 Bernd Schmidt <bernd.schmidt@analog.com> |
f1aea409 MS |
12775 | |
12776 | PR bootstrap/22541 | |
12777 | From Dan Kegel <dank@kegel.com>: | |
12778 | * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR. | |
12779 | ||
12780 | 2006-05-17 Eric Botcazou <ebotcazou@adacore.com> | |
12781 | ||
12782 | * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true | |
12783 | if the element type is variably modified without recursing. | |
12784 | ||
12785 | 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> | |
12786 | ||
12787 | PR middle-end/27332 | |
12788 | * tree-loop-linear.c (try_interchange_loops): Test for | |
12789 | no data dependences. | |
12790 | ||
12791 | 2006-05-17 Zdenek Dvorak <dvorakz@suse.cz> | |
12792 | ||
12793 | PR tree-optimization/27548 | |
12794 | * tree-scalar-evolution.c (scev_const_prop): Do not prolong life | |
12795 | range of ssa names that appear on abnormal edges. | |
12796 | * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export. | |
12797 | * tree-flow.h (contains_abnormal_ssa_name_p): Declare. | |
12798 | ||
ad41bd84 | 12799 | 2006-05-17 Bernd Schmidt <bernd.schmidt@analog.com> |
f1aea409 MS |
12800 | |
12801 | PR middle-end/27620 | |
12802 | * expr.c (safe_from_p): Handle CONSTRUCTOR again. | |
12803 | ||
12804 | 2006-05-17 Jakub Jelinek <jakub@redhat.com> | |
12805 | ||
12806 | PR middle-end/27415 | |
12807 | * tree.h (OMP_PARALLEL_COMBINED): Define. | |
12808 | * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field. | |
12809 | (new_omp_context): Add is_combined_parallel argument. | |
12810 | (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust | |
12811 | new_omp_context caller. | |
12812 | (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare): | |
12813 | Adjust gimplify_scan_omp_clauses callers. | |
12814 | (omp_is_private): Issue errors if iteration variable is firstprivate | |
12815 | or reduction in the current context. | |
12816 | * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED | |
12817 | on combined parallel workshare constructs. | |
12818 | ||
12819 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> | |
12820 | ||
12821 | * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o. | |
12822 | (gcc-options.o): New rule. | |
12823 | ||
12824 | * optc-gen.awk: Protect variables for gcc-options.o with | |
12825 | #ifdef GCC_DRIVER/#endif. | |
12826 | ||
12827 | 2006-05-16 Daniel Berlin <dberlin@dberlin.org> | |
12828 | ||
12829 | Fix PR tree-optimization/27373 | |
12830 | * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument. | |
12831 | (forward_propagate_addr_expr): Update call. | |
12832 | ||
12833 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> | |
12834 | ||
12835 | * doc/options.texi: Move the Negative option. | |
12836 | ||
12837 | 2006-05-16 Richard Guenther <rguenther@suse.de> | |
12838 | ||
12839 | PR tree-optimization/22303 | |
12840 | * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads | |
12841 | from STRING_CSTs. | |
12842 | (evaluate_stmt): Fall back to fold_const_aggregate_ref, if | |
12843 | ccp_fold did not simplify the statement. | |
12844 | ||
12845 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> | |
12846 | ||
12847 | PR driver/26885 | |
12848 | * Makefile.in (GCC_OBJS): New. | |
12849 | (OBJS-common): Add opts-common.o. | |
12850 | (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS). | |
12851 | (cpp$(exeext)): Likewise. | |
12852 | (gcc.o): Also depend on opts.h. | |
12853 | (opts-common.o): New. | |
12854 | ||
12855 | * common.opt (gcoff): Add Negative(gdwarf-2). | |
12856 | (gdwarf-2): Add Negative(gstabs). | |
12857 | (gstabs): Add Negative(gstabs+). | |
12858 | (gstabs+): Add Negative(gvms). | |
12859 | (gvms): Add Negative(gxcoff). | |
12860 | (gxcoff): Add Negative(gxcoff+). | |
12861 | (gxcoff+): Add Negative(gcoff). | |
12862 | * config/i386/i386.opt (m32): Add Negative(m64). | |
12863 | (m64): Add Negative(m32). | |
12864 | ||
12865 | * doc/options.texi: Document the Negative option. | |
12866 | ||
12867 | * gcc.c: Include "opts.h". | |
12868 | (main): Call prune_options after expandargv. | |
12869 | ||
12870 | * optc-gen.awk: Generate common declarations for all flag | |
12871 | variables in options.c. Output the neg_index field. | |
12872 | ||
12873 | * opts.c (find_opt): Moved to ... | |
12874 | * opts-common.c: Here. New file. | |
12875 | ||
12876 | * opts.h (cl_option): Add a neg_index field. | |
12877 | (find_opt): New. | |
12878 | (prune_options): Likewise. | |
12879 | ||
12880 | 2006-05-16 Jakub Jelinek <jakub@redhat.com> | |
12881 | ||
12882 | PR middle-end/27573 | |
12883 | * omp-low.c (expand_omp_parallel): Don't assert | |
12884 | .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block, | |
12885 | instead search for it. | |
12886 | ||
12887 | PR c/27499 | |
12888 | * gimplify.c (gimplify_omp_for): Remove assertion that iteration var | |
12889 | is signed. | |
12890 | ||
12891 | 2006-05-16 Andreas Schwab <schwab@suse.de> | |
12892 | ||
12893 | * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end | |
12894 | defmac. | |
12895 | ||
12896 | 2006-05-15 Roger Sayle <roger@eyesopen.com> | |
12897 | ||
12898 | PR target/26600 | |
12899 | * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode | |
12900 | integer constants other than zero are only legitimate on TARGET_64BIT. | |
12901 | <CONST_VECTOR> Only zero vectors are legitimate. | |
12902 | (ix86_cannot_force_const_mem): Integral and vector constants can | |
12903 | always be put in the constant pool. | |
12904 | ||
12905 | 2006-05-16 DJ Delorie <dj@redhat.com> | |
12906 | ||
12907 | * crtstuff.c (__dso_handle): Set section from | |
12908 | TARGET_LBIGCC_SDATA_SECTION if defined. | |
12909 | * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document. | |
12910 | * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define. | |
12911 | ||
12912 | 2006-05-16 Danny Smith <dannysmith@users.sourceforge.net> | |
12913 | ||
12914 | PR target/27599 | |
12915 | * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to | |
12916 | host_xmake_file. | |
12917 | ||
12918 | 2006-05-16 Ben Elliston <bje@au.ibm.com> | |
12919 | ||
12920 | * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'. | |
12921 | ||
12922 | 2006-05-15 Per Bothner <per@bothner.com> | |
12923 | ||
12924 | * tree.c: (last_annotated_node): Use source_locus typedef. | |
12925 | This permits bootstrapping with --enable-mapped-location. | |
12926 | ||
12927 | 2006-05-15 Zdenek Dvorak <dvorakz@suse.cz> | |
12928 | ||
12929 | PR tree-optimization/26830 | |
12930 | * tree-into-ssa.c (struct ssa_name_info): Add age field. | |
12931 | (info_for_ssa_name, current_info_for_ssa_name_age, | |
12932 | blocks_to_update): New variables. | |
12933 | (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX. | |
12934 | (clear_ssa_name_info, initialize_flags_in_bb, | |
12935 | mark_block_for_update): New functions. | |
12936 | (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL. | |
12937 | (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update, | |
12938 | prepare_def_site_for): Use mark_block_for_update. | |
12939 | (mark_def_interesting): Assert that the processed block is marked in | |
12940 | blocks_to_update. Do not take blocks argument. | |
12941 | (prepare_use_sites_for, prepare_names_to_update): Do not take blocks | |
12942 | argument. | |
12943 | (rewrite_update_init_block, rewrite_update_stmt): Only process | |
12944 | blocks with statements to rewrite. | |
12945 | (delete_update_ssa): Do not clear SSA_NAME_AUX. | |
12946 | (update_ssa): Initialize and free blocks_to_update. Do not | |
12947 | clear flags on statements. Do not use blocks bitmap. | |
12948 | * tree.h (SSA_NAME_AUX): Removed. | |
12949 | (struct tree_ssa_name): Removed aux field. | |
12950 | * print-tree.c (print_node): Do not print SSA_NAME_AUX. | |
12951 | ||
12952 | 2006-05-15 Richard Guenther <rguenther@suse.de> | |
12953 | ||
12954 | PR tree-optimization/27603 | |
12955 | * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): | |
12956 | Do computations in original type. | |
12957 | ||
12958 | 2006-05-15 Mircea Namolaru <namolaru@il.ibm.com> | |
12959 | ||
12960 | * see.c: Code style changes such as redundant paranthesis, | |
12961 | redundant intialization of local variables etc. | |
12962 | (see_main): Declared now as static. | |
12963 | * doc/invoke.texi: Update that -fsee is not enabled by | |
12964 | default at -O3. | |
12965 | ||
12966 | 2006-05-15 Jakub Jelinek <jakub@redhat.com> | |
12967 | ||
12968 | * omp-low.c (check_omp_nesting_restrictions): New function. | |
12969 | (scan_omp_1): Call it. | |
12970 | ||
12971 | PR middle-end/27416 | |
12972 | * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned | |
12973 | construct, return *VAR. | |
12974 | ||
12975 | 2006-05-14 Kaz Kojima <kkojima@gcc.gnu.org> | |
12976 | ||
12977 | PR rtl-optimization/27406 | |
12978 | * bt-load.c (migrate_btr_def): Skip the block having abnormal | |
12979 | edges. | |
12980 | ||
12981 | 2006-05-14 Roger Sayle <roger@eyesopen.com> | |
12982 | ||
12983 | PR rtl-optimization/27538 | |
12984 | * combine.c (expand_compound_operation): Call gen_lowpart | |
12985 | before calling simplify_shift_const. | |
12986 | ||
12987 | 2006-05-14 Roger Sayle <roger@eyesopen.com> | |
12988 | ||
12989 | PR rtl-optimization/22563 | |
12990 | * expmed.c (store_fixed_bit_field): When using AND and IOR to store | |
12991 | a fixed width bitfield, always force the intermediates into psuedos. | |
12992 | ||
12993 | 2006-05-14 Bernhard Fischer <aldot@gcc.gnu.org> | |
12994 | ||
12995 | PR 27501 | |
12996 | * mkconfig.sh: Use operator = instead of == for test. | |
12997 | ||
12998 | 2006-05-13 Nick Clifton <nickc@redhat.com> | |
12999 | ||
13000 | * dwarf2out.c (dbx_reg_number): Check return value from | |
13001 | LEAF_REG_REMAP and only use it if it is valid. | |
13002 | (multiple_reg_loc_descriptor): Likewise. | |
13003 | ||
13004 | 2006-05-13 Richard Guenther <rguenther@suse.de> | |
13005 | ||
13006 | * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to | |
13007 | host_xmake_file. | |
13008 | ||
13009 | 2006-05-13 Steven Bosscher <stevenb.gcc@gmail.com> | |
13010 | ||
13011 | * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow | |
13012 | information attached to non-INSNs such as NOTEs. | |
13013 | (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise. | |
13014 | ||
13015 | 2006-05-12 Andreas Krebbel <krebbel1@de.ibm.com> | |
13016 | ||
13017 | * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for | |
13018 | On contraint. | |
13019 | * config/s390/s390.md: Adjust comment describing On constraint. | |
13020 | ||
13021 | 2006-05-11 Jan Hubicka <jh@suse.cz> | |
13022 | ||
13023 | * cgraphunit.c (decide_is_function_needed): Don't force always_inline | |
13024 | to be output at -O0. | |
13025 | ||
13026 | 2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
13027 | ||
13028 | PR middle-end/27384 | |
13029 | * fold-const.c (size_binop): Move sanity check for arguments to | |
13030 | the beginning of the function. | |
13031 | ||
13032 | PR middle-end/27488 | |
13033 | * fold-const.c (tree_expr_nonnegative_p): Return early on invalid | |
13034 | expression. | |
13035 | ||
13036 | 2006-05-11 Richard Guenther <rguenther@suse.de> | |
13037 | ||
13038 | PR middle-end/27529 | |
13039 | * fold-const.c (fold_unary): Handle intermediate conversion | |
13040 | to a pointer type like intermediate conversion to an integer | |
13041 | type in folding of (T1)(T2)var to var. | |
13042 | Match the code to the comment in the final conversion for | |
13043 | (T1)(T2)var to (T1)var regarding to type precision. Rather | |
13044 | than disallow T1 being of pointer type, assert that both T1 | |
13045 | and var are of pointer type or not. Make sure not to fall | |
13046 | over the frontends lazyness wrt array to pointer decay though. | |
13047 | ||
13048 | 2006-05-10 Richard Earnshaw <rearnsha@arm.com> | |
13049 | ||
13050 | * arm.c (arm_struct_value_rtx): Delete. | |
13051 | (TARGET_STRUCT_VALUE_RTX): Use the default definition. | |
13052 | (arm_init_cumulative_args): Always initialize nregs to zero. | |
13053 | ||
13054 | 2006-05-10 Richard Guenther <rguenther@suse.de> | |
13055 | ||
13056 | PR tree-optimization/27532 | |
13057 | * tree-object-size.c (plus_expr_object_size): Fix typo. | |
13058 | ||
13059 | 2006-05-10 Kazu Hirata <kazu@codesourcery.com> | |
13060 | ||
13061 | PR target/24949 | |
13062 | * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem, | |
13063 | ashrdi_const, ashrdi3): Use a scratch register. | |
13064 | ||
13065 | 2006-05-10 Richard Guenther <rguenther@suse.de> | |
13066 | ||
13067 | PR tree-optimization/27302 | |
13068 | * fold-const.c (operand_equal_p): For two comparisons, | |
13069 | try comparison of one comparison code swapped if that yields | |
13070 | the same code. | |
13071 | ||
13072 | 2006-05-10 Ben Elliston <bje@au.ibm.com> | |
13073 | ||
13074 | * tree-pretty-print.c (pretty_print_string): No need to handle | |
13075 | '\0' as a special character. | |
13076 | ||
13077 | * tree.h: Include "hashtab.h". | |
13078 | (iterative_hash_expr): Use hashval_t in its prototype. | |
13079 | * Makefile.in (TREE_H): Add $(HASHTAB_H). | |
13080 | ||
13081 | 2006-05-09 Steve Ellcey <sje@cup.hp.com> | |
13082 | ||
13083 | PR bootstrap/26872 | |
13084 | * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes. | |
13085 | (hppa*64*-*-hpux11*): Ditto. | |
13086 | (hppa[12]*-*-hpux11*): Ditto. | |
13087 | ||
13088 | 2006-05-09 David Edelsohn <edelsohn@gnu.org> | |
13089 | ||
13090 | PR target/26545 | |
13091 | * config/rs6000/aix41.h (TARGET_64BIT): Define. | |
13092 | ||
13093 | 2006-05-09 Michael Matz <matz@suse.de> | |
13094 | ||
13095 | * config.host (<i[34567]86-*-*, x86_64-*-*>): Set | |
13096 | host_extra_gcc_objs and host_xmake_file. | |
13097 | (<*-*-linux*>): Don't overwrite host_xmake_file. | |
13098 | * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS. | |
13099 | * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define. | |
13100 | (host_detect_local_cpu): Declare. | |
13101 | (CC1_CPU_SPEC): Add -march=native and -mtune=native cases. | |
13102 | * config/i386/i386.c (override_options): Handle -mtune=native | |
13103 | as -mtune=generic. | |
13104 | * config/i386/x-i386: New file. | |
13105 | * config/i386/driver-i386.c: New file. | |
13106 | * doc/invoke.texi (<i386 and x86-64 Options>): Describe | |
13107 | cpu-type "native". | |
13108 | ||
13109 | 2006-05-09 Dirk Mueller <dmueller@suse.de> | |
13110 | Richard Guenther <rguenther@suse.de> | |
13111 | ||
13112 | PR middle-end/27498 | |
13113 | * fold-const.c (fold_read_from_constant_string): Relax check | |
13114 | for matching types to matching modes. | |
13115 | ||
13116 | 2006-05-09 Zdenek Dvorak <dvorakz@suse.cz> | |
13117 | ||
13118 | PR rtl-optimization/27335 | |
13119 | * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the | |
13120 | loops. | |
13121 | ||
13122 | 2006-05-08 Chao-ying Fu <fu@mips.com> | |
13123 | Richard Sandiford <richard@codesourcery.com> | |
13124 | ||
13125 | * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns. | |
13126 | (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise. | |
13127 | * config/mips/mips.md (UNSPEC_SCC): New constant. | |
13128 | * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare. | |
13129 | * config/mips/mips.c (mips_reverse_fp_cond_p): New function. | |
13130 | (mips_emit_compare): Use it. | |
13131 | (mips_expand_vcondv2sf): New function. | |
13132 | ||
13133 | 2006-05-08 Daniel Berlin <dberlin@dberlin.org> | |
13134 | ||
13135 | Fix PR tree-optimization/27093 | |
13136 | * tree-ssa-alias.c (recalculate_used_alone): Mark variables for | |
13137 | renaming when they become not-used_alone. | |
13138 | ||
13139 | 2006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
13140 | ||
13141 | * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter | |
13142 | relocation and relocation stubs. | |
13143 | ||
13144 | 2006-05-08 Eric Christopher <echristo@apple.com> | |
13145 | ||
13146 | * unwind-dw2-fde-darwin.c (examine_objects): Only check data | |
13147 | section for ppc. | |
13148 | ||
13149 | 2006-05-08 Jan Hubicka <jh@suse.cz> | |
13150 | ||
13151 | PR middle-end/24561 | |
13152 | * cgraphunit.c (decide_is_function_needed): When not optimizing even | |
13153 | unused static functions are needed. | |
13154 | ||
13155 | 2006-05-08 Roger Sayle <roger@eyesopen.com> | |
13156 | ||
13157 | PR target/27158 | |
13158 | * reload.c (find_reloads_toplev): Only return the simplified SUBREG | |
13159 | of a reg_equiv_constant if the result is a legitimate constant. | |
13160 | ||
13161 | 2006-05-08 Uros Bizjak <uros@kss-loka.si> | |
13162 | ||
13163 | PR target/27277 | |
13164 | * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For | |
13165 | standard 80387 constants, raise the cost to prevent | |
13166 | compress_float_constant() to generate load from memory. | |
13167 | ||
13168 | 2006-05-08 Kazu Hirata <kazu@codesourcery.com> | |
13169 | ||
13170 | * config/arm/constraints.md (c): Fix a typo. | |
13171 | ||
13172 | * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment | |
13173 | typos. | |
13174 | ||
13175 | 2006-05-07 H.J. Lu <hongjiu.lu@intel.com> | |
13176 | ||
13177 | PR target/24879 | |
13178 | * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use | |
13179 | inline function. | |
13180 | (_mm_mwait): Likewise. | |
13181 | ||
13182 | * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with | |
13183 | "mwait". | |
13184 | (sse3_monitor): Make it 32bit only. | |
13185 | (sse3_monitor64): New. 64bit monitor. | |
13186 | ||
13187 | 2006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
13188 | ||
13189 | PR target/27421 | |
13190 | * config/i386/i386.c (classify_argument): Skip fields with invalid | |
13191 | types. | |
13192 | ||
13193 | 2006-05-07 Richard Guenther <rguenther@suse.de> | |
13194 | ||
13195 | PR tree-optimization/27409 | |
13196 | * tree-ssa-structalias.c (get_constraint_for_component_ref): | |
13197 | Do not try to find zero-sized subvars. | |
13198 | ||
13199 | 2006-05-07 Richard Guenther <rguenther@suse.de> | |
13200 | ||
13201 | PR tree-optimization/27136 | |
13202 | * tree-ssa-loop-niter.c (get_val_for): Correct function | |
13203 | comment, assert requirements. | |
13204 | (loop_niter_by_eval): Stop processing if the iterated | |
13205 | value did not simplify. | |
13206 | ||
13207 | 2006-05-07 Mircea Namolaru <namolaru@il.ibm.com> | |
13208 | ||
13209 | * opts.c (flag_see): remove its setting at -O3. | |
13210 | ||
13211 | 2006-05-07 Richard Earnshaw <rearnsha@arm.com> | |
13212 | ||
13213 | * genpeep.c (main): Make insn-peep.c depend on flags.h. | |
13214 | * arm/constraints.md: New file. | |
13215 | * arm.h (REG_CLASS_FROM_LETTER_P): Delete. | |
13216 | (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER) | |
13217 | (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER) | |
13218 | (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM) | |
13219 | (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR) | |
13220 | (EXTRA_MEMORY_CONSTRAINT): Likewise. | |
13221 | * arm.md: Include constraints.md. | |
13222 | (thumb_movsi_insn): Use satisfies_constraint_J. | |
13223 | (movhi, movqi): Use satisfies_constraint_I. | |
13224 | ||
13225 | 2006-04-29 Anatoly Sokolov <aesok@post.ru> | |
13226 | ||
13227 | * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name | |
13228 | for atmeg a645 device. | |
13229 | ||
13230 | 2006-05-06 Richard Guenther <rguenther@suse.de> | |
13231 | ||
13232 | PR tree-optimization/27151 | |
13233 | * tree-vect-transform.c (vectorizable_condition): Punt on | |
13234 | values that have a different type than the condition. | |
13235 | ||
13236 | 2006-05-03 Aldy Hernandez <aldyh@redhat.com> | |
13237 | ||
13238 | PR/21391 | |
13239 | * c-parser.c (c_parser_cast_expression): Only insert casts into | |
13240 | hash table if pointer. | |
13241 | * function.c (used_types_insert_helper): Rename from | |
13242 | used_types_insert. | |
13243 | (used_types_insert): Call used_types_insert_helper. | |
13244 | * function.h (used_types_insert): Accept only one argument. | |
13245 | ||
13246 | 2006-05-05 David Edelsohn <edesohn@gnu.org> | |
13247 | ||
13248 | * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered | |
13249 | scratch with output modifier. | |
13250 | ||
13251 | 2006-05-04 David Edelsohn <edelsohn@gnu.org> | |
13252 | ||
13253 | PR target/26481 | |
13254 | * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint | |
13255 | with output modifier. | |
13256 | ||
13257 | 2006-05-04 Richard Sandiford <richard@codesourcery.com> | |
13258 | ||
13259 | PR target/26765 | |
13260 | * config/mips/mips.c (mips_symbolic_address_p): Return true | |
13261 | for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL, | |
13262 | SYMBOL_GOTTPREL, and SYMBOL_TLS. | |
13263 | ||
13264 | 2006-05-04 Richard Guenther <rguenther@suse.de> | |
13265 | ||
13266 | PR tree-optimization/14287 | |
13267 | PR tree-optimization/14844 | |
13268 | PR tree-optimization/19792 | |
13269 | PR tree-optimization/21608 | |
13270 | PR tree-optimization/27090 | |
13271 | * tree-ssa-pre.c (try_combine_conversion): New function. | |
13272 | (compute_avail): After constructing the value-handle | |
13273 | expression, use try_combine_conversion to combine NOP_EXPRs | |
13274 | with previous value-handle expressions and use the result if it | |
13275 | is available. | |
13276 | ||
13277 | 2006-05-04 Joseph S. Myers <joseph@codesourcery.com> | |
13278 | ||
13279 | * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove. | |
13280 | ||
13281 | 2006-05-04 Jan Hubicka <jh@suse.cz> | |
13282 | ||
13283 | PR middle-end/25962 | |
13284 | * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing. | |
13285 | ||
13286 | 2006-05-04 Bernd Schmidt <bernd.schmidt@analog.com> | |
13287 | ||
13288 | * config/bfin/predicates.md (const01_rtx): Tell generator programs | |
13289 | that this only matches CONST_INTs. All users changed to VOIDmode | |
13290 | operands. | |
13291 | ||
13292 | * config/bfin/bfin.c: Include "optabs.h". | |
13293 | (bfin_rtx_costs): Some costs for vector operations, to allow combine | |
13294 | to do more work. | |
13295 | (enum bfin_builtins): Add a number of fractional and vector builtins. | |
13296 | (bfin_init_builtins): Likewise. | |
13297 | (struct builtin_description, bdesc_2arg, bdesc_1arg): New. | |
13298 | (safe_vector_operand, bfin_expand_binop_builtin, | |
13299 | bfin_expand_unop_builtin): New functions. | |
13300 | (bfin_expand_builtin): Handle the new builtins. | |
13301 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define | |
13302 | __ADSPBLACKFIN__. | |
13303 | ||
13304 | 2006-05-04 Leehod Baruch <leehod@il.ibm.com> | |
13305 | ||
13306 | * see.c: New file. | |
13307 | * Makefile.in (OBJS-common): Add see.o. | |
13308 | (see.o): Add dependencies. | |
13309 | * common.opt (fsee): New flag for the see optimization was added. | |
13310 | * opts.c (flag_see): Initialized. | |
13311 | * passes.c (init_optimization_passes, pass_see): New pass. | |
13312 | * rtl.h (see_main): Declaration as extern. | |
13313 | * timevar.def (TV_SEE): New. | |
13314 | * tree-pass.h (pass_see): Declaration as extern. | |
13315 | * invoke.texi (-fsee): Document. | |
13316 | * recog.c (validate_simplify_insn): New function. | |
13317 | * recog.h (validate_simplify_insn): Declaration as extern. | |
13318 | * df-problems.c (df_chain_dump): Check for NULL. | |
13319 | ||
13320 | 2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com> | |
13321 | Daniel Berlin <dberlin@dberlin.org> | |
13322 | ||
13323 | * cfgrtl.c (insert_insn_bb_end_new): New function. | |
13324 | * basic-block.h (insert_insn_bb_end_new): Declaration as extern. | |
13325 | ||
13326 | 2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il> | |
13327 | ||
13328 | * df.h (struct web_entry): Moved from web.c. | |
13329 | (union_defs): Declaration as extern. | |
13330 | (unionfind_root): Likewise. | |
13331 | (unionfind_union): Likewise. | |
13332 | * web.c (struct web_entry): Moved to df.h. | |
13333 | (unionfind_root): Remove static declaration. | |
13334 | (unionfind_union): Likewise. | |
13335 | (union_defs): Likewise and generalize to use callback function. | |
13336 | (web_main): Update arguments for union_defs function call. | |
13337 | ||
13338 | 2006-05-04 Richard Guenther <rguenther@suse.de> | |
13339 | ||
13340 | PR tree-optimization/26447 | |
13341 | * tree-ssa-pre.c (realify_fake_stores): For necessary loads | |
13342 | produce SSA_NAME copies before the store stmt to avoid | |
13343 | breaking exception handling. | |
13344 | ||
13345 | 2006-05-04 Jakub Jelinek <jakub@redhat.com> | |
13346 | ||
13347 | PR middle-end/27388 | |
13348 | * gimplify.c (omp_is_private): If var is shared in some outer context, | |
13349 | return false instead of true. Stop searching on parallel context | |
13350 | boundary. | |
13351 | ||
13352 | 2006-05-03 Alexandre Oliva <aoliva@redhat.com> | |
13353 | ||
13354 | PR java/8260 | |
13355 | * coverage.c: Use get_gcov_unsigned_t() instead of | |
13356 | unsigned_type_node all over. | |
13357 | ||
13358 | 2006-05-02 Andrew MacLeod <amacleod@redhat.com> | |
13359 | ||
13360 | PR tree-optimization/27381 | |
13361 | * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument, | |
13362 | maintain the same immediate_use links. | |
13363 | * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker | |
13364 | node rather than segfaulting. | |
13365 | ||
13366 | 2006-05-03 Jakub Jelinek <jakub@redhat.com> | |
13367 | ||
13368 | PR fortran/27395 | |
13369 | * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE | |
13370 | rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN | |
13371 | bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER. | |
13372 | ||
13373 | 2006-05-02 Daniel Berlin <dberlin@dberlin.org> | |
13374 | ||
13375 | Fix PR tree-optimization/26626 | |
13376 | * tree-ssa-structalias.c (compute_points_to_sets): For now, solve | |
13377 | always. | |
13378 | * tree-ssa-operands.c (access_can_touch_variable): Allow | |
13379 | typecasting through union pointers. | |
13380 | ||
13381 | 2006-05-02 Jakub Jelinek <jakub@redhat.com> | |
13382 | ||
13383 | PR c++/26943 | |
13384 | * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function. | |
13385 | (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx | |
13386 | to find if var will be a global variable even in the nested context. | |
13387 | (omp_copy_decl): Only check for global variable at the end, it might | |
13388 | be overridden in outer contexts. | |
13389 | (scan_sharing_clauses): For global variables don't create a field. | |
13390 | (lower_rec_input_clauses): Do nothing for global shared variables. | |
13391 | Emit a barrier at the end of ILIST if there were any decls in both | |
13392 | firstprivate and lastprivate clauses. | |
13393 | (lower_send_clauses): Do nothing for global variables except for | |
13394 | COPYIN. | |
13395 | ||
13396 | 2006-05-02 Zdenek Dvorak <dvorakz@suse.cz> | |
13397 | ||
13398 | * tree.c (unsigned_type_for, signed_type_for): Make sure a type | |
13399 | of the correct signedness is returned. | |
13400 | ||
13401 | 2006-05-02 Jeff Law <law@redhat.com> | |
13402 | ||
13403 | PR tree-optimization/27364 | |
13404 | * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from | |
13405 | multiply expressions. | |
13406 | ||
13407 | 2006-05-02 Tom Tromey <tromey@redhat.com> | |
13408 | ||
13409 | * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo. | |
13410 | ||
13411 | 2006-05-02 Kazu Hirata <kazu@codesourcery.com> | |
13412 | ||
13413 | PR target/27387 | |
13414 | * arm.c (arm_output_mi_thunk): Use pc-relative addressing when | |
13415 | -mthumb -fPIC are used. | |
13416 | ||
13417 | 2006-05-02 Stanislaw Skowronek <skylark@linux-mips.org> | |
13418 | Joshua Kinard <kumba@gentoo.org> | |
13419 | ||
13420 | PR target/25871 | |
13421 | * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves | |
13422 | with 64-bit pointers. | |
13423 | ||
13424 | 2006-05-02 Paul Brook <paul@codesourcery.com> | |
13425 | ||
13426 | * config/arm/arm.c (add_minipool_forward_ref): Check if insn | |
13427 | and pool overlap. | |
13428 | (create_fix_barrier): Check that a suitable barrier location is | |
13429 | found. | |
13430 | (arm_reorg): Include ftmp->address in allowable range of addresses. | |
13431 | ||
13432 | 2006-05-02 David Billinghurst <David.Billinghurst@riotinto.com> | |
13433 | ||
13434 | PR ada/27366 | |
13435 | * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment | |
13436 | on Cygwin. | |
13437 | ||
13438 | 2006-05-02 Jakub Jelinek <jakub@redhat.com> | |
13439 | ||
13440 | PR middle-end/27337 | |
13441 | * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF | |
13442 | around RESULT_DECL for result passed by reference. | |
13443 | (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen. | |
13444 | * omp-low.c (use_pointer_for_field): Don't look at | |
13445 | DECL_HAS_VALUE_EXPR_P for RESULT_DECLs. | |
13446 | (scan_omp_1): Call remap_decl on RESULT_DECLs. | |
13447 | (lower_rec_input_clauses): Don't allocate VLA memory for the second | |
13448 | time or var for passing by reference for | |
13449 | OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of | |
13450 | TREE_ADDRESSABLE variables when passing by reference. | |
13451 | ||
13452 | * omp-low.c (dump_omp_region): Fix output formatting. | |
13453 | ||
13454 | PR middle-end/27328 | |
13455 | * omp-low.c (remove_exit_barrier): Handle NULL exit_bb. | |
13456 | (expand_omp_parallel): Likewise. | |
13457 | * tree-cfg.c (move_sese_region_to_fn): Likewise. | |
13458 | ||
13459 | PR middle-end/27325 | |
13460 | * omp-low.c (lower_omp_sections): Call maybe_catch_exception | |
13461 | on statement list containing also constructors and destructors. | |
13462 | (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise. | |
13463 | ||
13464 | PR middle-end/27310 | |
13465 | * except.c (duplicate_eh_regions): Fix clearing of | |
13466 | cfun->eh->region_array entries. | |
13467 | ||
13468 | 2006-05-01 DJ Delorie <dj@redhat.com> | |
13469 | ||
13470 | * configure.ac (gcc_cv_nm): Don't use an in-tree nm if | |
13471 | build!=host. | |
13472 | (gcc_cv_objdump): Likewise. | |
13473 | * configure: Regenerated. | |
13474 | ||
13475 | 2006-05-01 Kazu Hirata <kazu@codesourcery.com> | |
13476 | ||
13477 | PR target/27374 | |
13478 | * config/arm/vfp.md (*arm_movdi_vfp): Correct the output | |
13479 | templates for case 3 and 4. | |
13480 | ||
13481 | 2006-05-01 DJ Delorie <dj@redhat.com> | |
13482 | ||
13483 | * vec.c: Include bconfig.h when appropriate. | |
13484 | * Makefile.in (build/vec.o): Adjust dependencies. | |
13485 | * mkconfig.sh: Make sure config.h isn't used for build machine | |
13486 | compiles. | |
13487 | ||
13488 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> | |
13489 | ||
13490 | * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New | |
13491 | variables. | |
13492 | (mark_phi_for_rewrite): New function. | |
13493 | (insert_phi_nodes_for, mark_use_interesting): Call | |
13494 | mark_phi_for_rewrite. | |
13495 | (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite. | |
13496 | (update_ssa): Initialize and free phis_to_rewrite. | |
13497 | ||
13498 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> | |
13499 | ||
13500 | PR rtl-optimization/27291 | |
13501 | * loop-doloop.c (add_test, doloop_modify): Handle the case condition is | |
13502 | folded to a constant. | |
13503 | ||
13504 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> | |
13505 | ||
13506 | PR tree-optimization/27283 | |
13507 | * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees, | |
13508 | not whole # of iteration descriptions. | |
13509 | (niter_for_exit): Return just # of iterations. Fail if # of iterations | |
13510 | uses abnormal ssa name. | |
13511 | (niter_for_single_dom_exit): Ditto. | |
13512 | (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to | |
13513 | return just the number of iterations. | |
13514 | ||
13515 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> | |
13516 | ||
13517 | PR tree-optimization/27144 | |
13518 | * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function. | |
13519 | (record_estimate): Only record constant upper bound. | |
13520 | (infer_loop_bounds_from_undefined): Call | |
13521 | compute_estimated_nb_iterations just once. | |
13522 | (proved_non_wrapping_p): Renamed to ... | |
13523 | (n_of_executions_at_most): ... this. Expect bound to be a constant. | |
13524 | (convert_step_widening, scev_probably_wraps_p): Call | |
13525 | n_of_executions_at_most instead of proved_non_wrapping_p. | |
13526 | (substitute_in_loop_info): Do not replace values in bounds. | |
13527 | * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update | |
13528 | comments. | |
13529 | ||
13530 | 2006-05-01 Richard Henderson <rth@redhat.com> | |
13531 | ||
13532 | PR c/27358 | |
13533 | * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after | |
13534 | c_parser_skip_to_pragma_eol. Convert to switch statement. Handle | |
13535 | CPP_PRAGMA. | |
13536 | ||
13537 | 2006-05-01 Roger Sayle <roger@eyesopen.com> | |
13538 | ||
13539 | * c-typeck.c (parser_build_binary_op): Don't call the function | |
13540 | unsigned_conversion_warning to spot operand/result type overflow. | |
13541 | (build_binary_op): Instead, call convert_and_check instead of | |
13542 | convert to report the problem when the operands are promoted. | |
13543 | * c-common.c (unsigned_conversion_warning): Make static. | |
13544 | * c-common.h (unsigned_conversion_warning): Delete prototype. | |
13545 | ||
13546 | 2006-05-01 Richard Guenther <rguenther@suse.de> | |
13547 | ||
13548 | PR tree-optimization/26726 | |
13549 | * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the | |
13550 | problem ... | |
13551 | (find_interesting_uses_address): ... we work around here | |
13552 | by folding INDIRECT_REFs in the substituted base. | |
13553 | ||
13554 | 2006-05-01 Diego Novillo <dnovillo@redhat.com> | |
13555 | ||
13556 | * omp-low.c (dump_omp_region): Add newlines. | |
13557 | ||
13558 | 2006-04-30 Roger Sayle <roger@eyesopen.com> | |
13559 | ||
13560 | * common.opt (Woverflow): New command line option. | |
13561 | * c-common.c (constant_expression_warning): Check warn_overflow. | |
13562 | (overflow_waring): Pass OPT_Woverflow to warning. | |
13563 | (unsigned_conversion_warning): Likewise. | |
13564 | (convert_and_check): Likewise. | |
13565 | * doc/invoke.texi: Document new command line option. | |
13566 | ||
13567 | 2006-04-30 David Edelsohn <edelsohn@gnu.org> | |
13568 | ||
13569 | * config/rs6000/rs6000.c (rs6000_override_options): Enable | |
13570 | TARGET_NO_FP_IN_TOC for section anchors. | |
13571 | (optimization_options): Enable section anchors for all | |
13572 | non-"Objective" languages. | |
13573 | ||
13574 | 2006-04-28 Eric Christopher <echristo@apple.com> | |
13575 | ||
13576 | * config/darwin-c.c (darwin_ms_struct): Move this | |
13577 | (darwin_set_default_type_attributes): and this... | |
13578 | * config/darwin.c: ... here. | |
13579 | * config/darwin.h (darwin_ms_struct): Declare. | |
13580 | ||
13581 | 2006-04-28 Andrew MacLeod <amacleod@redhat.com> | |
13582 | ||
13583 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause. | |
13584 | ||
13585 | 2006-04-28 Roger Sayle <roger@eyesopen.com> | |
13586 | ||
13587 | PR c/25309 | |
13588 | * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT. | |
13589 | (push_array_bounds): Delete prototype. Change BOUNDS argument to | |
13590 | an unsigned HOST_WIDE_INT. | |
13591 | (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the | |
13592 | array index. | |
13593 | (really_start_incremental_init): No need to call convert because | |
13594 | bitsize_zero_node is already of type bitsizetype. | |
13595 | (push_init_level): Extract the value of constructor_index as an | |
13596 | unsigned HOST_WIDE_INT quantity, using tree_low_cst. | |
13597 | (process_init_element): Likewise. | |
13598 | ||
13599 | 2006-04-28 Joseph S. Myers <joseph@codesourcery.com> | |
13600 | ||
13601 | * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX | |
13602 | value before passing to make_relative_prefix. | |
13603 | ||
13604 | 2006-04-28 Alan Modra <amodra@bigpond.net.au> | |
13605 | ||
13606 | PR middle-end/27260 | |
13607 | * builtins.c (expand_builtin_memset): Expand val in original mode. | |
13608 | ||
13609 | 2006-04-27 Eric Christopher <echristo@apple.com> | |
13610 | ||
13611 | * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket | |
13612 | with #ifndef/#endif. | |
13613 | * config/darwin-c.c (darwin_ms_struct): New. | |
13614 | (darwin_pragma_ms_struct): Ditto. | |
13615 | (darwin_set_default_type_attributes): Ditto. | |
13616 | * config/darwin-protos.h (darwin_pragma_ms_struct): Declare. | |
13617 | * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): | |
13618 | Register ms_struct pragma. | |
13619 | * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare. | |
13620 | (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto. | |
13621 | * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call | |
13622 | darwin_set_default_type_attributes if TARGET_MACHO. | |
13623 | ||
13624 | 2006-04-27 Andrew MacLeod <amacleod@redhat.com> | |
13625 | ||
13626 | PR tree-optimization/26854 | |
13627 | * tree-vrp.c (remove_range_assertions): Use new Immuse iterator. | |
13628 | * doc/tree-ssa.texi: Update immuse iterator documentation. | |
13629 | * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator. | |
13630 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator. | |
13631 | * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p, | |
13632 | first_safe_imm_use, next_safe_imm_use): Remove. | |
13633 | (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal. | |
13634 | (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal. | |
13635 | (move_use_after_head): New. Helper function to sort immuses in a stmt. | |
13636 | (link_use_stmts_after): New. Link all immuses in a stmt consescutively. | |
13637 | (first_imm_use_stmt): New. Get first stmt in an immuse list. | |
13638 | (next_imm_use_stmt): New. Get next stmt in an immuse list. | |
13639 | (first_imm_use_on_stmt): New. Get first immuse on a stmt. | |
13640 | (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt. | |
13641 | (next_imm_use_on_stmt): New. Move to next immuse on a stmt. | |
13642 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator. | |
13643 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator. | |
13644 | (perfect_nestify): Use new iterator. | |
13645 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new | |
13646 | iterator. | |
13647 | * tree-flow.h (struct immediate_use_iterator_d): Add comments. | |
13648 | (next_imm_name): New field in struct immediate_use_iterator_d. | |
13649 | (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove. | |
13650 | (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT, | |
13651 | FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros. | |
13652 | * tree-cfg.c (replace_uses_by): Use new iterator. | |
13653 | * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator. | |
13654 | * tree-ssa-operands.c (correct_use_link): Remove. | |
13655 | (finalize_ssa_use_ops): No longer call correct_use_link. | |
13656 | ||
13657 | 2006-04-27 Stuart Hastings <stuart@apple.com> | |
13658 | ||
13659 | * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New. | |
13660 | * config/t-darwin (crt3.o): Use it. | |
13661 | * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove | |
13662 | 'pmode', use Pmode instead of SImode for SYMBOL_REF. | |
13663 | * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv, | |
13664 | call_nonlocal_sysv, call_value_indirect_nonlocal_sysv, | |
13665 | call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64 | |
13666 | support. | |
13667 | ||
13668 | 2006-04-27 Roger Sayle <roger@eyesopen.com> | |
13669 | ||
13670 | * expmed.c (store_fixed_bit_field): If we're not optimizing for | |
13671 | size, force the intermediate into a new pseudo rather instead of | |
13672 | performing both a bitwise AND and a bitwise IOR in memory. | |
13673 | ||
13674 | 2006-04-27 Richard Guenther <rguenther@suse.de> | |
13675 | ||
13676 | PR rtl-optimization/26685 | |
13677 | * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named | |
13678 | this one "max-flow-memory-locations". | |
13679 | ||
13680 | 2006-04-27 Richard Guenther <rguenther@suse.de> | |
13681 | ||
13682 | PR tree-optimization/25148 | |
13683 | * tree-vrp.c (compare_values): Remove code dealing with | |
13684 | comparisons against type min/max value. Honour overflow | |
13685 | and negative constants in code dealing with comparisons | |
13686 | of plus and minus expressions. | |
13687 | (value_inside_range): Use fold_binary with LE_EXPR and | |
13688 | GE_EXPR rather than compare_values. | |
13689 | ||
13690 | 2006-04-27 Dirk Mueller <dmueller@suse.de> | |
13691 | ||
13692 | * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare | |
13693 | prototype for SSE. | |
13694 | ||
13695 | 2006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com> | |
13696 | ||
13697 | * basic-block.h (safe_insert_insn_on_edge): Removed. | |
13698 | * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed. | |
13699 | ||
13700 | 2006-04-26 David Edelsohn <edelsohn@gnu.org> | |
13701 | Paolo Bonzini <bonzini@gnu.org> | |
13702 | ||
13703 | PR middle-end/27282 | |
13704 | * combine.c (simplify_and_const_int_1): Use gen_int_mode. | |
13705 | (simplify_and_const_int): Same. | |
13706 | ||
13707 | 2006-04-26 Aldy Hernandez <aldyh@redhat.com> | |
13708 | ||
13709 | * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE. | |
13710 | ||
13711 | 2006-04-26 Jakub Jelinek <jakub@redhat.com> | |
13712 | ||
13713 | PR c/26171 | |
13714 | * cgraph.c (cgraph_varpool_finalize_decl): Don't call | |
13715 | cgraph_varpool_assemble_pending_decls if -fopenmp, unless | |
13716 | cgraph_global_info_ready. | |
13717 | ||
13718 | PR middle-end/26913 | |
13719 | * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR. | |
13720 | ||
13721 | PR c/25996 | |
13722 | * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if | |
13723 | either decl or init is error_mark_node. | |
13724 | ||
13725 | PR middle-end/25989 | |
13726 | * tree-flow.h (struct omp_region): Add sched_kind. | |
13727 | * omp-low.c (expand_parallel_call): Use region->inner->sched_kind | |
13728 | instead of extracting omp for data. | |
13729 | (expand_omp_for): Save extracted sched_kind. | |
13730 | ||
13731 | 2006-04-25 Roger Sayle <roger@eyesopen.com> | |
13732 | ||
13733 | * expmed.c (store_bit_field): Also check whether the bitsize is | |
13734 | valid for the machine's "insv" instruction before moving the | |
13735 | target into a pseudo for use with the insv. | |
13736 | * config/i386/predicates.md (const8_operand): New predicate. | |
13737 | * config/i386/i386.md (extv, extzv, insv): Use the new | |
13738 | const8_operand predicate where appropriate. | |
13739 | ||
13740 | 2006-04-25 DJ Delorie <dj@redhat.com> | |
13741 | ||
13742 | * doc/install.texi (Specific): Clarify that this is not a list of | |
13743 | supported hosts or targets. | |
13744 | ||
13745 | 2006-04-25 Richard Sandiford <richard@codesourcery.com> | |
13746 | ||
13747 | PR rtl-optimization/26725 | |
13748 | * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source | |
13749 | block's BB_DIRTY flag. | |
13750 | ||
13751 | 2006-04-25 Geoffrey Keating <geoffk@apple.com> | |
13752 | ||
13753 | * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there | |
13754 | are no branches. | |
13755 | ||
13756 | * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just | |
13757 | to print an integer. | |
13758 | ||
13759 | 2006-04-25 David Edelsohn <edelsohn@gnu.org> | |
13760 | ||
13761 | * varasm.c (align_variable): New function. | |
13762 | (get_block_for_decl): Apply align_variable to DECL before | |
13763 | calculating section information. | |
13764 | (assemble_variable): Split out alignment computation. | |
13765 | ||
13766 | 2006-04-25 Andreas Krebbel <krebbel1@de.ibm.com> | |
13767 | ||
13768 | * expmed.c (store_bit_field): Handle paradoxical subregs on big endian | |
13769 | machines. | |
13770 | ||
13771 | 2006-04-25 Bernd Schmidt <bernd.schmidt@analog.com> | |
13772 | ||
13773 | * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a | |
13774 | MODE_PARTIAL_INT mode. | |
13775 | * config/bfin/bfin-modes.def: Add V2PDI and V2SI. | |
13776 | * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers | |
13777 | for CONST_INTs. | |
13778 | (hard_regno_mode_ok): V2PDImode is ok for accumulators. | |
13779 | * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle | |
13780 | V2PDImode. | |
13781 | * config/bfin/predicates.md (const01_operand, vec_shift_operand): | |
13782 | New predicates. | |
13783 | * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG): | |
13784 | New constants. | |
13785 | (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS, | |
13786 | MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2, | |
13787 | MACFLAG_IH): Likewise. | |
13788 | (movstricthi_1): Renamed from "*movstricthi". | |
13789 | (load_accumulator, load_accumulator_pair, movsi_insv, insv, | |
13790 | ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3, | |
13791 | abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high, | |
13792 | movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low, | |
13793 | movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low, | |
13794 | movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3, | |
13795 | addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, | |
13796 | sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, | |
13797 | addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, | |
13798 | mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2, | |
13799 | ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi, | |
13800 | flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly, | |
13801 | flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts, | |
13802 | flag_macv2hi_parts, flag_macv2hi_parts_acconly, | |
13803 | flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns. | |
13804 | ||
13805 | * doc/rtl.texi (ss_ashift): Improve wording. | |
13806 | ||
13807 | 2006-04-24 Geoffrey Keating <geoffk@apple.com> | |
13808 | ||
13809 | * dwarf2out.c (verify_marks_clear): New. | |
13810 | (prune_unused_types): Call verify_marks_clear initially, not | |
13811 | prune_unmark_dies. | |
13812 | ||
13813 | 2006-04-24 Bernd Schmidt <bernd.schmidt@analog.com> | |
13814 | ||
13815 | * rtl.def (SS_ASHIFT, SS_NEG): New codes. | |
13816 | * doc/rtl.texi: Document them. | |
13817 | * simplify-rtx.c (simplify_unary_operation, | |
13818 | simplify_binary_operation_1): Don't abort when we see them. | |
13819 | ||
13820 | 2006-04-24 Mark Mitchell <mark@codesourcery.com> | |
13821 | ||
13822 | Revert: | |
13823 | 2006-04-23 Mark Mitchell <mark@codesourcery.com> | |
13824 | * configure.ac: Completely disregard languages that are not | |
13825 | enabled. | |
13826 | * configure: Regenerated. | |
13827 | ||
13828 | 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> | |
13829 | Richard Guenther <rguenther@suse.de> | |
13830 | ||
13831 | PR tree-optimization/27236 | |
13832 | * tree-inline.c (copy_body_r): Make sure to copy | |
13833 | TREE_THIS_VOLATILE flag. | |
13834 | ||
13835 | 2006-04-24 Richard Guenther <rguenther@suse.de> | |
13836 | ||
13837 | PR middle-end/26869 | |
13838 | * tree-complex.c (update_parameter_components): Don't handle | |
13839 | unused parameters which have no default def. | |
13840 | ||
13841 | 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> | |
13842 | Richard Guenther <rguenther@suse.de> | |
13843 | ||
13844 | PR tree-optimization/27218 | |
13845 | * tree-inline.c (expand_call_inline): Strip useless type | |
13846 | conversions for the return slot address. | |
13847 | ||
13848 | 2006-04-24 Richard Guenther <rguenther@suse.de> | |
13849 | ||
13850 | * cfgloop.h (struct loops): Remove unused field array. Reorder | |
13851 | state after num. | |
13852 | (LOOP_PREFETCH): Remove. | |
13853 | ||
13854 | 2006-04-24 Richard Guenther <rguenther@suse.de> | |
13855 | ||
13856 | PR tree-optimization/22525 | |
13857 | * value-prof.c (tree_mod_pow2): Remove unnecessary temporary | |
13858 | variable, adjust types of generated expressions. | |
13859 | ||
13860 | 2006-04-23 H.J. Lu <hongjiu.lu@intel.com> | |
13861 | ||
13862 | * Makefile.in (c-convert.o): Add dependency on $(TARGET_H) | |
13863 | (tree-vect-patterns.o): Likewise. | |
13864 | (jump.o): Likewise. | |
13865 | (cselib.o): Likewise. | |
13866 | (loop-doloop.o): Likewise. | |
13867 | (regclass.o): Likewise. | |
13868 | (reload1.o): Likewise. | |
13869 | (explow.o): Replace target.h with $(TARGET_H). | |
13870 | (ipa-prop.o): Likewise. | |
13871 | (ipa-cp.o): Likewise. | |
13872 | (ipa-inline.o): Likewise. | |
13873 | (reorg.o): Likewise. | |
13874 | (reg-stack.o): Likewise. | |
13875 | ||
13876 | 2006-04-23 Eric Botcazou <ebotcazou@adacore.com> | |
13877 | ||
13878 | * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too. | |
13879 | ||
13880 | 2006-04-23 Mark Mitchell <mark@codesourcery.com> | |
13881 | ||
13882 | * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE. | |
13883 | ||
13884 | * configure.ac: Completely disregard languages that are not | |
13885 | enabled. | |
13886 | * configure: Regenerated. | |
13887 | ||
13888 | PR c++/26534 | |
13889 | * c-common.h (c_build_bitfield_integer_type): Declare. | |
13890 | * c-decl.c (c_build_bitfield_integer_type): Move to ... | |
13891 | * c-common.c (c_build_bitfield_integer_type): ... here. | |
13892 | ||
13893 | 2006-04-23 Roger Sayle <roger@eyesopen.com> | |
13894 | ||
13895 | PR target/21283 | |
13896 | * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on | |
13897 | a SImode SUBREG of a floating point register after no_new_pseudos. | |
13898 | ||
13899 | 2006-04-23 Roger Sayle <roger@eyesopen.com> | |
13900 | ||
13901 | * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to | |
13902 | identify potentially eliminable registers to additionally catch | |
13903 | VIRTUAL_INCOMING_ARGS_REGNUM. | |
13904 | (addsi3): Update the conditions on when to use addsi_small_int. | |
13905 | ||
13906 | 2006-04-23 Roger Sayle <roger@eyesopen.com> | |
13907 | ||
13908 | PR target/16641 | |
13909 | * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for | |
13910 | STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the | |
13911 | rtx to stack_pointer_rtx or frame_pointer_rtx directly. | |
13912 | ||
13913 | 2006-04-23 Eric Botcazou <ebotcazou@adacore.com> | |
13914 | ||
13915 | * fold-const.c (range_predecessor): Use operand_equal_p | |
13916 | as the predicate for equality. | |
13917 | (range_successor): Likewise. | |
13918 | ||
13919 | 2006-04-22 Kazu Hirata <kazu@codesourcery.com> | |
13920 | ||
13921 | Revert: | |
13922 | * config/soft-fp/op-common.h: Fix a typo. | |
13923 | ||
13924 | 2006-04-22 Frank Ch. Eigler <fche@redhat.com> | |
13925 | ||
13926 | PR libmudflap/26864 | |
13927 | * common.opt (flag_mudflap_threads): Overload flag_mudflap. | |
13928 | * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap. | |
13929 | ||
13930 | 2006-04-22 Kazu Hirata <kazu@codesourcery.com> | |
13931 | ||
13932 | * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c: | |
13933 | Fix comment typos. | |
13934 | * doc/tm.texi: Fix a typo. | |
13935 | ||
13936 | 2006-04-21 Geoffrey Keating <geoffk@apple.com> | |
13937 | ||
13938 | * dwarf2out.c (struct die_struct): Document that die_sib makes | |
13939 | a circular linked list. | |
13940 | (FOR_EACH_CHILD): New. | |
13941 | (reverse_die_lists): Delete. | |
13942 | (reverse_all_dies): Delete. | |
13943 | (add_dwarf_attr): Correct documentation. | |
13944 | (remove_child_with_prev): New. | |
13945 | (remove_child_TAG): Update for change to die_struct, use | |
13946 | remove_child_with_prev. | |
13947 | (add_child_die): Update for change to die_struct. | |
13948 | (splice_child_die): Use remove_child_with_prev and add_child_die. | |
13949 | (print_die): Use FOR_EACH_CHILD. | |
13950 | (die_checksum): Likewise. | |
13951 | (assign_symbol_names): Likewise. | |
13952 | (output_location_lists): Likewise. | |
13953 | (build_abbrev_table): Likewise. | |
13954 | (calc_die_sizes): Likewise. | |
13955 | (mark_dies): Likewise. | |
13956 | (unmark_dies): Likewise. | |
13957 | (unmark_all_dies): Likewise. | |
13958 | (output_die): Likewise. | |
13959 | (prune_unused_types_mark): Likewise. | |
13960 | (prune_unused_types_walk): Likewise. | |
13961 | (same_die_p): Update for change to die_struct. | |
13962 | (break_out_includes): Likewise. | |
13963 | (prune_unused_types_prune): Likewise. | |
13964 | (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic. | |
13965 | (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if | |
13966 | it's already clear. | |
13967 | (dwarf2out_finish): Don't call reverse_all_dies. | |
13968 | ||
13969 | 2006-04-21 Eric Christopher <echristo@apple.com> | |
13970 | ||
13971 | * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos | |
13972 | in comments and function names. | |
13973 | ||
13974 | 2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
13975 | ||
13976 | PR c/25875 | |
13977 | * c-typeck.c (digest_init): Robustify. | |
13978 | ||
13979 | * c-typeck.c (pop_init_level): Simplify. | |
13980 | ||
13981 | 2006-04-21 Steve Ellcey <sje@cup.hp.com> | |
13982 | ||
13983 | * config/pa/t-pa64: Add dependencies on $(GCC_PASSES). | |
13984 | ||
13985 | 2006-04-21 Paul Brook <paul@codesourcery.com> | |
13986 | ||
13987 | * config/arm/arm.c (arm_override_options): Error on iWMMXt and | |
13988 | hardware floating point. | |
13989 | ||
13990 | 2006-04-21 David Edelsohn <edelsohn@gnu.org> | |
13991 | ||
13992 | * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to | |
13993 | NON_FLOAT_REGS. | |
13994 | ||
13995 | 2006-04-21 Nick Clifton <nickc@redhat.com> | |
13996 | ||
13997 | * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include | |
13998 | OPT_EXTRA_PARTS. | |
13999 | ||
14000 | 2006-04-21 Alan Modra <amodra@bigpond.net.au> | |
14001 | ||
14002 | PR target/27230 | |
14003 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use | |
14004 | C++ lang type in traceback table for Objective-C++. | |
14005 | ||
14006 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment. | |
14007 | ||
14008 | 2006-04-20 H.J. Lu <hongjiu.lu@intel.com> | |
14009 | ||
14010 | * config/i386/i386.c (asm_preferred_eh_data_format): Reformat. | |
14011 | ||
14012 | 2006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
14013 | ||
14014 | PR mudflap/26789 | |
14015 | * tree-mudflap.c (mudflap_finish_file): Skip function when there | |
14016 | were errors. Remove check for erroneous objects. | |
14017 | ||
14018 | 2006-04-20 Jeff Law <law@redhat.com> | |
14019 | ||
14020 | PR tree-optimization/26854 | |
14021 | * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when | |
14022 | checking for zero or one use. | |
14023 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly. | |
14024 | * tree-cfgcleanup.c (merge_phi_nodes): Similarly. | |
14025 | * tree-ssa-reassoc.c (negate_value): Similarly. | |
14026 | (reassociate_bb): Similarly. | |
14027 | ||
14028 | 2006-04-20 Jakub Jelinek <jakub@redhat.com> | |
14029 | ||
14030 | PR C/27558 | |
14031 | * c-pretty-print.c (pp_c_direct_abstract_declarator): Print | |
14032 | TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather | |
14033 | than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)). | |
14034 | ||
14035 | 2006-04-20 Alan Modra <amodra@bigpond.net.au> | |
14036 | ||
14037 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all | |
14038 | fp regs if the last fp arg doesn't fit in regs. | |
14039 | ||
14040 | 2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org> | |
14041 | ||
14042 | PR target/27182 | |
14043 | * config/sh/sh.md (movsicc_true+3): Tweak condition for the case | |
14044 | that the last insn has the REG_INC note. | |
14045 | ||
14046 | 2006-04-19 Carlos O'Donell <carlos@codesourcery.com> | |
14047 | Nathan Sidwell <nathan@codesourcery.com> | |
14048 | ||
14049 | PR c/26774 | |
14050 | * stor-layout.c (update_alignment_for_field): Do not align | |
14051 | ERROR_MARK nodes. | |
14052 | (place_union_field): Place union field at the start of the union. | |
14053 | (place_field): Move ERROR_MARK check later, and use the current | |
14054 | allocation position to maintain monotonicity. | |
14055 | ||
14056 | 2006-04-19 Zdenek Dvorak <dvorakz@suse.cz> | |
14057 | ||
14058 | * dominance.c: Include timevar.h. | |
14059 | (calculate_dominance_info): Use TV_DOMINANCE. | |
14060 | * timevar.def (TV_DOMINANCE): New timevar. | |
14061 | * Makefile.in (dominance.o): Add TIMEVAR_H dependency. | |
14062 | ||
14063 | 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> | |
14064 | ||
14065 | PR rtl-optimization/14261 | |
14066 | * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting | |
14067 | move would be an INSV insn. | |
14068 | (noce_process_if_block): Don't optimize if the destination is a | |
14069 | ZERO_EXTRACT which can't be handled by noce_emit_move_insn. | |
14070 | ||
14071 | 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> | |
14072 | ||
14073 | * config/s390/s390.md: Add comments with the instructions emitted | |
14074 | by an insn pattern if macros are used. | |
14075 | ||
14076 | 2006-04-19 Alan Modra <amodra@bigpond.net.au> | |
14077 | ||
14078 | PR rtl-optimization/26026 | |
14079 | * fold-const.c (fold_binary): Optimize div and mod where the divisor | |
14080 | is a known power of two shifted left a variable amount. | |
14081 | ||
14082 | 2006-04-18 Geoffrey Keating <geoffk@apple.com> | |
14083 | ||
14084 | * dwarf2out.c (prune_unused_types_update_strings): Don't add strings | |
14085 | to hash table twice when the debug_str section has SECTION_MERGE. | |
14086 | ||
14087 | 2006-04-18 Joseph S. Myers <joseph@codesourcery.com> | |
14088 | ||
14089 | * config/soft-fp: New directory. From glibc. | |
14090 | * config/soft-fp/t-softfp: New. | |
14091 | * config/soft-fp/README: New. | |
14092 | * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE. | |
14093 | * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New. | |
14094 | (libgcc.mk): Pass LIB2FUNCS_EXCLUDE. | |
14095 | (LIBGCC_DEPS): Add $(SFP_MACHINE). | |
14096 | * config.gcc: Use rs6000/t-fprules-fpbit or | |
14097 | rs6000/t-fprules-softfp and soft-fp/t-softfp together with | |
14098 | rs6000/t-fprules. | |
14099 | * config/rs6000/sfp-machine.h: New. Based on glibc. | |
14100 | * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp: | |
14101 | New. | |
14102 | * config/rs6000/t-fprules: Remove fp-bit rules. | |
14103 | * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=. | |
14104 | * config/rs6000/t-linux64: Likewise. Remove duplicates from | |
14105 | LIB2FUNCS_EXTRA. Remove fp-bit rules. | |
14106 | (softfp_wrap_start, softfp_wrap_end): New. | |
14107 | ||
14108 | 2006-04-18 DJ Delorie <dj@redhat.com> | |
14109 | ||
14110 | * config/m32c/m32c.h (PTRDIFF_TYPE): Define. | |
14111 | ||
14112 | 2006-04-18 Devang Patel <dpatel@apple.com> | |
14113 | ||
14114 | * doc/invoke.texi (-Wuninitialized): Clarify -O connection. | |
14115 | ||
14116 | 2006-04-18 Nick Clifton <nickc@redhat.com> | |
14117 | ||
14118 | * config/sh/t-symbian: Add rule to build sh-c.o | |
14119 | * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use | |
14120 | of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P. | |
14121 | (sh_symbian_encode_section_info): Likewise. | |
14122 | ||
14123 | 2006-04-18 Andreas Krebbel <krebbel1@de.ibm.com> | |
14124 | ||
14125 | * builtins.c (expand_builtin_strcmp): Cover label definition of | |
14126 | do_libcall with HAVE_cmpstrnsi. | |
14127 | ||
14128 | 2006-04-18 Kazu Hirata <kazu@codesourcery.com> | |
14129 | ||
14130 | * function.c (temp_slots_at_level, max_slot_level): Use VEC | |
14131 | instead of VARRAY. | |
14132 | * function.h (temp_slot_p): New. | |
14133 | (function): Change the type of x_used_temp_slots to | |
14134 | VEC(temp_slot_p,gc) *. | |
14135 | ||
14136 | 2006-04-18 Nick Clifton <nickc@redhat.com> | |
14137 | ||
14138 | * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to | |
14139 | flag_strength_reduce. | |
14140 | ||
14141 | * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo. | |
14142 | ||
14143 | 2006-04-18 Paolo Bonzini <bonzini@gnu.org> | |
14144 | ||
14145 | PR target/27117 | |
14146 | ||
14147 | Partial revert of revision 112637 | |
14148 | 2006-04-03 Paolo Bonzini <bonzini@gnu.org> | |
14149 | Dale Johannesen <dalej@apple.com> | |
14150 | ||
14151 | PR target/19653 | |
14152 | * regclass.c (struct reg_pref): Update documentation. | |
14153 | (regclass): Set prefclass to NO_REGS if memory is the best option. | |
14154 | (record_reg_classes): Cope with a prefclass set to NO_REGS. | |
14155 | ||
14156 | 2006-04-18 Paolo Bonzini <bonzini@gnu.org> | |
14157 | ||
14158 | PR tree-optimization/26821 | |
14159 | * tree-ssa-math-opts.c (get_constant_one): New. | |
14160 | (insert_reciprocals): Use it. | |
14161 | ||
14162 | 2006-04-17 Geoffrey Keating <geoffk@apple.com> | |
14163 | ||
14164 | * dwarf2out.c (free_AT): Delete. | |
14165 | (remove_AT): Update string ref counts. | |
14166 | (remove_child_TAG): Don't call free_die. | |
14167 | (free_die): Delete. | |
14168 | (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL | |
14169 | or DW_TAG_GNU_EINCL. | |
14170 | (prune_unused_types_walk_attribs): Reset string refcounts. | |
14171 | (prune_unused_types_update_strings): New. | |
14172 | (prune_unused_types_prune): Don't make unnecessary stores. Don't | |
14173 | call free_die. Do call prune_unused_types_update_strings. | |
14174 | (prune_unused_types): Empty debug_str_hash. | |
14175 | ||
14176 | 2006-04-17 Roger Sayle <roger@eyesopen.com> | |
14177 | ||
14178 | * expr.c (expand_assignment): Optimize away no-op moves where the | |
14179 | source and destination are equal and have no side-effects. | |
14180 | ||
14181 | 2006-04-17 Richard Guenther <rguenther@suse.de> | |
14182 | ||
14183 | PR target/26826 | |
14184 | * reload.c (push_reload): Guard calls to get_secondary_mem | |
14185 | for memory subregs. | |
14186 | ||
14187 | 2006-04-16 Kazu Hirata <kazu@codesourcery.com> | |
14188 | ||
14189 | * alias.c (reg_base_value, old_reg_base_value): Change the | |
14190 | type to VEC(rtx,gc) *. | |
14191 | (REG_BASE_VALUE, find_base_value, record_set, | |
14192 | init_alias_analysis): Use VEC instead of VARRAY. | |
14193 | ||
14194 | * alias.c (alias_sets): Change the type to | |
14195 | VEC(alias_set_entry,gc) *. | |
14196 | (get_alias_set_entry, new_alias_set, record_alias_subset): Use | |
14197 | VEC instead of VARRAY. | |
14198 | (last_alias_set): Remove. | |
14199 | ||
14200 | * cgraph.h (cgraph_edge_p): New. | |
14201 | Update the prototype of cgraph_function_versioning. | |
14202 | * cgraphunit.c (cgraph_copy_node_for_versioning, | |
14203 | cgraph_function_versioning): Use VEC instead of VARRAY. | |
14204 | * ipa-cp.c (ipcp_insert_stage): Likewise. | |
14205 | ||
14206 | 2006-04-16 Roger Sayle <roger@eyesopen.com> | |
14207 | ||
14208 | PR target/26961 | |
14209 | * fold-const.c (fold_ternary): When converting "A ? B : C" into either | |
14210 | "A op B" or "A op C", we may need to convert A to the type of B and C. | |
14211 | ||
14212 | 2006-04-16 Adam Nemet <anemet@caviumnetworks.com> | |
14213 | ||
14214 | * target.h (struct gcc_target): Add mode_rep_extended. | |
14215 | * rtlanal.c (num_sign_bit_copies_in_rep): New global. | |
14216 | (init_num_sign_bit_copies_in_rep): Initialize it using | |
14217 | mode_rep_extended. | |
14218 | (truncate_to_mode): Use it. | |
14219 | (init_rtlanal): Call init_num_sign_bit_copies_in_rep. | |
14220 | * targhooks.h (default_mode_rep_extended): Declare it. | |
14221 | * targhooks.c (default_mode_rep_extended): Define it. | |
14222 | * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to | |
14223 | default_mode_rep_extended. | |
14224 | (TARGET_INITIALIZER): Include it. | |
14225 | * doc/tm.texi (Misc): Document it. | |
14226 | * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it. | |
14227 | (mips_truncated_to_mode): New function. | |
14228 | ||
14229 | 2006-04-16 Roger Sayle <roger@eyesopen.com> | |
14230 | ||
14231 | PR middle-end/25474 | |
14232 | * expr.c (compress_float_constant): Copy the narrow constant into | |
14233 | a new pseudo before extending it to its final width. | |
14234 | ||
14235 | 2006-04-16 Roger Sayle <roger@eyesopen.com> | |
14236 | Andrew Pinski <pinskia@gcc.gnu.org> | |
14237 | Dale Johannesen <dalej@apple.com> | |
14238 | ||
14239 | PR target/24076 | |
14240 | * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add | |
14241 | special case code to implement V8HImode and V16QImode with SSE2. | |
14242 | ||
14243 | 2006-04-15 Roger Sayle <roger@eyesopen.com> | |
14244 | ||
14245 | * config/i386/i386.c (ix86_va_start): Ensure all integer constant | |
14246 | trees are constructed with a suitable tree type. | |
14247 | ||
14248 | 2006-04-15 Roger Sayle <roger@eyesopen.com> | |
14249 | ||
14250 | * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW. | |
14251 | (integer_onep): Likewise. | |
14252 | (integer_all_onesp): Likewise. | |
14253 | (integer_pow2p): Likewise. | |
14254 | (integer_nonzerop): Likewise. | |
14255 | (real_zerop): Likewise. | |
14256 | (real_onep): Likewise. | |
14257 | (real_twop): Likewise. | |
14258 | (real_minus_onep): Likewise. | |
14259 | (int_size_in_bytes): Likewise. | |
14260 | (host_integerp): Likewise. | |
14261 | ||
14262 | 2006-04-15 Kazu Hirata <kazu@codesourcery.com> | |
14263 | ||
14264 | * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c, | |
14265 | jump.c, mips-tfile.c, omp-low.c, sched-int.h, | |
14266 | tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos. | |
14267 | ||
14268 | * tree-ssa-structalias.h (alias_info): Remove num_references. | |
14269 | ||
14270 | 2006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
14271 | ||
14272 | * pa.md (output_bb patterns): Shorten long branch alternatives by 4. | |
14273 | (output_bvb patterns): Likewise. | |
14274 | * pa.c (output_bb): Use 'bb' insn for long branch case. | |
14275 | (output_bvb): Likewise use '{bvb|bb}' for long branch case. | |
14276 | (output_dbra): Use '{comb|cmpb}' for long branch case for alternative | |
14277 | 1. Correct length operand for alternatives 1 and 2. | |
14278 | (output_movb): Use '{comb|cmpb}' for long branch case for alternatives | |
14279 | 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3. | |
14280 | ||
14281 | 2006-04-14 Roger Sayle <roger@eyesopen.com> | |
14282 | ||
14283 | * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r, | |
14284 | is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that | |
14285 | were accidentally reverted by r112959. | |
14286 | ||
14287 | 2006-04-15 Jakub Jelinek <jakub@redhat.com> | |
14288 | ||
14289 | PR middle-end/26823 | |
14290 | * except.h (eh_region_outermost): New prototype. | |
14291 | * except.c (eh_region_outermost): New function. | |
14292 | * tree-cfg.c (find_outermost_region_in_block): Use it. | |
14293 | ||
14294 | 2006-04-14 Kazu Hirata <kazu@codesourcery.com> | |
14295 | ||
14296 | * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead | |
14297 | of VARRAY. | |
14298 | * reload1.c (reg_equiv_memory_loc_varray): Rename to | |
14299 | reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *. | |
14300 | (init_reload, reload): Use VEC instead of VARRAY. | |
14301 | * reload.h: Update the prototype for | |
14302 | reg_equiv_memory_loc_varray. | |
14303 | ||
14304 | 2006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com> | |
14305 | Eric Botcazou <ebotcazou@libertysurf.fr> | |
14306 | ||
14307 | * config/sparc/sparc.c (emit_and_preserve): Allocate space for the | |
14308 | register save area. | |
14309 | ||
ad41bd84 | 14310 | 2006-04-13 Uros Bizjak <uros@kss-loka.si> |
f1aea409 MS |
14311 | |
14312 | PR middle-end/27134 | |
14313 | * builtins.c (expand_builtin_int_roundingfn): Use expand_normal() | |
14314 | to expand fallback builtin function call. | |
14315 | ||
14316 | 2006-04-14 Alan Modra <amodra@bigpond.net.au> | |
14317 | ||
14318 | PR middle-end/27095 | |
14319 | * builtins.c: (expand_builtin_memset): Stabilize args before expansion | |
14320 | and emit libcall here in case the builtin fails. | |
14321 | (expand_builtin_strcmp): Always emit the libcall here on failure. | |
14322 | ||
14323 | 2006-04-14 Kazu Hirata <kazu@codesourcery.com> | |
14324 | ||
14325 | * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY. | |
14326 | * flow.c (reg_n_info): Change the type to | |
14327 | VEC(reg_info_p,heap) *. | |
14328 | * regclass.c (allocate_reg_info, free_reg_info): Use VEC | |
14329 | instead of VARRAY. | |
14330 | * regs.h (reg_info_p): New. | |
14331 | (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS, | |
14332 | REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED, | |
14333 | REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC | |
14334 | instead of VARRAY. | |
14335 | ||
14336 | 2006-04-13 Eric Botcazou <ebotcazou@adacore.com> | |
14337 | ||
14338 | * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter, | |
14339 | defaulting to 100. | |
14340 | * params.h (MAX_SCHED_READY_INSNS): New macro. | |
14341 | * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle | |
14342 | past MAX_SCHED_READY_INSNS during the first scheduling pass. | |
14343 | (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in | |
14344 | the ready list for 1 cycle during the first scheduling pass. | |
14345 | * doc/invoke.texi (--param): New parameter max-sched-ready-insns. | |
14346 | ||
14347 | 2006-04-13 Richard Henderson <rth@redhat.com> | |
14348 | ||
14349 | PR libgomp/26651 | |
14350 | * gimple-low.c (lower_omp_directive): Remove dead code. | |
14351 | (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL. | |
14352 | * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE. | |
14353 | * omp-low.c (struct omp_region): Move to tree-flow.h. | |
14354 | (root_omp_region): Export. | |
14355 | (omp_regions, lookup_omp_region): Remove. | |
14356 | (determine_parallel_type): Update for struct omp_region changes. | |
14357 | (dump_omp_region): Dump regions with block numbers. | |
14358 | (new_omp_region): Take type and block instead of stmt; malloc | |
14359 | instead of ggc. | |
14360 | (free_omp_region_1, free_omp_regions): New. | |
14361 | (expand_parallel_call): Take entry_stmt as argument; update for | |
14362 | changes to omp_region. | |
14363 | (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT. | |
14364 | (remove_exit_barriers): New. | |
14365 | (expand_omp_parallel): Update for struct omp_region changes. | |
14366 | (expand_omp_synch): Likewise. | |
14367 | (expand_omp): Likewise. | |
14368 | (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE. | |
14369 | (expand_omp_for_static_chunk): Likewise. | |
14370 | (expand_omp_for): Likewise. | |
14371 | (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call. | |
14372 | (expand_omp_sections): Similarly, with GOMP_sections_end. | |
14373 | (expand_omp_single): New. | |
14374 | (build_omp_regions_1): Update for OMP_CONTINUE. | |
14375 | (execute_expand_omp): Call remove_exit_barriers, free_omp_regions. | |
14376 | (lower_omp_sections): Expand with OMP_CONTINUE, do not collect | |
14377 | OMP_SECTIONS_SECTIONS. | |
14378 | (lower_omp_single_simple): Don't emit barrier here. | |
14379 | (lower_omp_single_copy): Likewise. | |
14380 | (lower_omp_single): Fix bindings, and lower to straightline now. | |
14381 | (lower_omp_master, lower_omp_ordered): Likewise. | |
14382 | (lower_omp_critical): Likewise. | |
14383 | (lower_omp_for): Likewise. Emit OMP_CONTINUE. | |
14384 | * tree-cfg.c (make_edges): Collect an omp_region tree, use it for | |
14385 | omp edges, free it afterward. | |
14386 | (make_omp_sections_edges): Remove. | |
14387 | (is_ctrl_altering_stmt): Don't bother checking flag_openmp. | |
14388 | (move_stmt_r): Handle OMP_CONTINUE. | |
14389 | * tree-flow.h (struct omp_region): Move from omp-low.c. Switch | |
14390 | statement pointers to basic blocks. Add type member. | |
14391 | (root_omp_region, new_omp_region, free_omp_regions): Declare. | |
14392 | * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE. | |
14393 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
14394 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
14395 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
14396 | * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand. | |
14397 | (OMP_RETURN): Rename from OMP_RETURN_EXPR. | |
14398 | (OMP_CONTINUE): New. | |
14399 | * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE. | |
14400 | (OMP_SECTIONS_SECTIONS): Remove. | |
14401 | (OMP_SECTION_LAST): New. | |
14402 | (OMP_RETURN_NOWAIT): New. | |
14403 | ||
14404 | 2006-04-13 Roger Sayle <roger@eyesopen.com> | |
14405 | ||
14406 | * fold-const.c (native_encode_vector, native_interpret_real): | |
14407 | Correct obvious mistakes in the previous check-in. | |
14408 | ||
14409 | 2006-04-13 Roger Sayle <roger@eyesopen.com> | |
14410 | ||
14411 | * fold-const.c (native_encode_expr): New function to encode | |
14412 | the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST | |
14413 | or VECTOR_CST into a specified buffer. | |
14414 | (native_encode_int): New function. | |
14415 | (native_encode_real): New function. | |
14416 | (native_encode_complex): New function. | |
14417 | (native_encode_vector): New function. | |
14418 | (native_interpret_expr): Inverse of native_encode_expr to convert | |
14419 | a target representation into an INTEGER_CST, REAL_CST etc... | |
14420 | (native_interpret_int): New function. | |
14421 | (native_interpret_real): New function. | |
14422 | (native_interpret_complex): New function. | |
14423 | (native_interpret_vector): New function. | |
14424 | (fold_view_convert_expr): New function to constant fold/evaluate | |
14425 | a VIEW_CONVERT_EXPR of a suitable constant expression. | |
14426 | (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr. | |
14427 | Change call of build1 to fold_build1 when constructing a | |
14428 | VIEW_CONVERT_EXPR. | |
14429 | ||
14430 | 2006-04-13 Paolo Bonzini <bonzini@gnu.org> | |
14431 | Ulrich Weigand <uweigand@de.ibm.com> | |
14432 | ||
14433 | PR target/27006 | |
14434 | * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n | |
14435 | to be even. | |
14436 | ||
14437 | 2006-04-13 Alan Modra <amodra@bigpond.net.au> | |
14438 | ||
14439 | PR target/26459 | |
14440 | * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't | |
14441 | optimize to lo_sum for DFmode if !TARGET_FPRS. | |
14442 | ||
14443 | 2006-04-12 Kazu Hirata <kazu@codesourcery.com> | |
14444 | ||
14445 | * tree-ssa-alias.c (set_initial_properties, init_alias_info, | |
14446 | delete_alias_info, compute_flow_sensitive_aliasing, | |
14447 | group_aliases): Use VEC instead of VARRAY. | |
14448 | * tree-ssa-structalias.c (update_alias_info): Likewise. | |
14449 | * tree-ssa-structalias.h (alias_info): Change the type of | |
14450 | processed_ptrs to VEC(tree,heap) *. | |
14451 | ||
14452 | 2006-04-12 J"orn Rennecke <joern.rennecke@st.com> | |
14453 | ||
14454 | PR target/27060 | |
14455 | * config/sh/lib1funcs.h: New file, broken out of: | |
14456 | * config/sh/lib1funcs.asm. | |
14457 | * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41): | |
14458 | New macros. | |
14459 | * config/sh/lib1funcs.asm (udivsi3_i4): Use them. | |
14460 | * config/sh/lib1funcs-Os-4-200.asm: New file. | |
14461 | * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200. | |
14462 | * config/sh/t-sh (OPT_EXTRA_PARTS): New variable. | |
14463 | (EXTRA_MULTILIB_PARTS): Include it. | |
14464 | ($(T)sdivsi3_i4i-Os-4-200.o): New rule. | |
14465 | ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise. | |
14466 | * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS. | |
14467 | * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for | |
14468 | TARGET_SH2. | |
14469 | ||
14470 | 2006-04-12 Kazu Hirata <kazu@codesourcery.com> | |
14471 | ||
14472 | * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h. | |
14473 | * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete, | |
14474 | tpa_compact, root_var_init, type_var_init): Use VEC instead of | |
14475 | VARRAY. | |
14476 | * tree-ssa-live.h: Include vecprim.h. | |
14477 | (tree_partition_associator_d): Change the type of | |
14478 | first_partition to VEC(int,heap) *. | |
14479 | (tpa_first_partition): Use VEC instead of VARRAY. | |
14480 | ||
14481 | * Makefile.in (GTFILES): Move functions.h after tree.h. | |
14482 | * function.c (reset_block_changes, record_block_change, | |
14483 | check_block_change, free_block_changes): Use VEC instead of | |
14484 | VARRAY. | |
14485 | * function.h (function): Change the type of | |
14486 | ib_boundaries_block to VEC(tree,gc) *. | |
14487 | * tree-inline.c (copy_cfg_body): Initialize | |
14488 | ib_boundaries_block to NULL instead of (varray_type) 0. | |
14489 | ||
14490 | 2006-04-12 Roger Sayle <roger@eyesopen.com> | |
14491 | ||
14492 | * expr.c (emit_group_store): Correct operand order in call to | |
14493 | subreg_lowpart_offset. Always create paradoxical SUBREGs with | |
14494 | a SUBREG_BYTE of zero. | |
14495 | ||
14496 | 2006-04-12 Richard Guenther <rguenther@suse.de> | |
14497 | ||
14498 | * profile.c (compute_branch_probabilities): Remove code | |
14499 | encapsulated in !ir_type (), which are remanents of the | |
14500 | removed RTL profiling code. | |
14501 | * rtl-profile.c: Remove. | |
14502 | ||
14503 | 2006-04-12 Alan Modra <amodra@bigpond.net.au> | |
14504 | ||
14505 | * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update | |
14506 | magic NULL_RTX comment. | |
14507 | (function_arg): Store entire fp arg to mem if any part should go | |
14508 | on stack. | |
14509 | (rs6000_arg_partial_bytes): Adjust for above change. | |
14510 | ||
14511 | 2006-04-11 Roger Sayle <roger@eyesopen.com> | |
14512 | ||
14513 | * dwarf2out.c (output_call_frame_info): Create debug_frame_section | |
14514 | if it hasn't been initialized by dwarf2out_init. | |
14515 | ||
14516 | 2006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca> | |
14517 | ||
14518 | * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new | |
14519 | symbolic constants in branch patterns. | |
14520 | ||
14521 | 2006-04-11 Roger Sayle <roger@eyesopen.com> | |
14522 | ||
14523 | * caller-save.c: #include "addresses.h" after #include "tm_p.h". | |
14524 | ||
14525 | 2006-04-11 Richard Sandiford <richard@codesourcery.com> | |
14526 | ||
14527 | PR rtl-optimization/27073 | |
14528 | * gcse.c (try_replace_reg): Revert last change. Continue to search | |
14529 | for both REG_EQUAL and REG_EQUIV notes, but only perform replacements | |
14530 | on the former. | |
14531 | ||
14532 | 2006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr> | |
14533 | ||
14534 | * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle | |
14535 | aggregate types other than record and union types. | |
14536 | (function_arg): Likewise. | |
14537 | (function_arg_pass_by_reference): In 64-bit mode, return 0 for | |
14538 | small arrays. | |
14539 | (function_value): In 64-bit mode, return objects that require it | |
14540 | in FP registers. | |
14541 | ||
14542 | 2006-04-11 Roger Sayle <roger@eyesopen.com> | |
14543 | ||
14544 | * dwarf2out.c (premark_used_types): Remove problematic prototype. | |
14545 | ||
14546 | 2006-04-11 Jakub Jelinek <jakub@redhat.com> | |
14547 | ||
14548 | * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o. | |
14549 | ||
14550 | 2006-04-03 Jeff Law <law@redhat.com> | |
14551 | ||
14552 | PR/27087 | |
14553 | * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive | |
14554 | alias information too. | |
14555 | ||
14556 | 2006-04-10 Mike Frysinger <vapier@gentoo.org> | |
14557 | ||
14558 | * Makefile.in (gcc-cross): Add $(exeext) to target name. | |
14559 | ||
14560 | 2006-04-10 Aldy Hernandez <aldyh@redhat.com> | |
14561 | ||
14562 | PR/21391 | |
14563 | * dwarf2out.c (struct die_struct): Add die_perennial_p field. | |
14564 | (premark_used_types_helper): New. | |
14565 | (premark_used_types): New. | |
14566 | (gen_subprogram_die): Call premark_used_types. | |
14567 | (prune_unused_types_walk): Do not prune perennial dies. | |
14568 | * function.c (used_types_insert): New. | |
14569 | * function.h (struct function): Add used_types_hash field. | |
14570 | (used_types_insert): Add prototype. | |
14571 | * Makefile.in (FUNCTION_H): Depend on HASHTAB_H. | |
14572 | * c-parser.c (c_parser_cast_expression): Save casted types in used | |
14573 | types hash table. | |
14574 | ||
14575 | 2006-04-11 Mark Mitchell <mark@codesourcery.com> | |
14576 | ||
14577 | PR target/26459 | |
14578 | * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test | |
14579 | rs6000_explicit_options.float_gprs. | |
14580 | ||
14581 | 2006-04-10 Roger Sayle <roger@eyesopen.com> | |
14582 | ||
14583 | * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed | |
14584 | from ix86_expand_vector_init_low_nonzero. Take an additional | |
14585 | one_var argument indicating which element is non-zero. Support | |
14586 | one_var != 0 for V4SFmode and V4SImode by permuting the result. | |
14587 | (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero | |
14588 | with one_var instead of ix86_expand_vector_init_low_nonzero. | |
14589 | ||
14590 | 2006-04-10 Kazu Hirata <kazu@codesourcery.com> | |
14591 | ||
14592 | * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o, | |
14593 | tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o, | |
14594 | global.o, cfglayout.o, lambda-code.o, reg-stack.o, | |
14595 | build/genextract.o): Depend on vecprim.h. | |
14596 | * cfglayout.c, df-problems.c, function.c, genextract.c, | |
14597 | global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c, | |
14598 | tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include | |
14599 | vecprim.h. | |
14600 | * vecprim.h: New. | |
14601 | ||
14602 | 2006-04-10 Geoffrey Keating <geoffk@apple.com> | |
14603 | ||
14604 | * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next. | |
14605 | Declare VECs of this type. | |
14606 | (struct die_struct): Make field die_attr a VEC of dw_attr_struct. | |
14607 | (remove_children): Delete. | |
14608 | (add_dwarf_attr): Use VEC routines. | |
14609 | (add_AT_flag): Update for changes to add_dwarf_attr. | |
14610 | (add_AT_int): Likewise. | |
14611 | (add_AT_unsigned): Likewise. | |
14612 | (add_AT_long_long): Likewise. | |
14613 | (add_AT_vec): Likewise. | |
14614 | (add_AT_string): Likewise. | |
14615 | (add_AT_die_ref): Likewise. | |
14616 | (add_AT_fde_ref): Likewise. | |
14617 | (add_AT_loc): Likewise. | |
14618 | (add_AT_loc_list): Likewise. | |
14619 | (add_AT_addr): Likewise. | |
14620 | (add_AT_lbl_id): Likewise. | |
14621 | (add_AT_lineptr): Likewise. | |
14622 | (add_AT_macptr): Likewise. | |
14623 | (add_AT_offset): Likewise. | |
14624 | (add_AT_range_list): Likewise. | |
14625 | (get_AT): Use VEC_iterate. | |
14626 | (remove_AT): Use VEC_ordered_remove. | |
14627 | (free_die): Fold remove_children into here; have it use VEC_iterate. | |
14628 | (print_die): Use VEC_iterate on attrs. | |
14629 | (reverse_die_lists): Don't reverse attr lists. | |
14630 | (die_checksum): Use VEC_iterate on attrs. | |
14631 | (same_die_p): Likewise. | |
14632 | (output_location_lists): Likewise. | |
14633 | (build_abbrev_table): Likewise. | |
14634 | (size_of_die): Likewise. | |
14635 | (unmark_all_dies): Likewise. | |
14636 | (output_abbrev_section): Likewise. | |
14637 | (output_die): Likewise. | |
14638 | (prune_unused_types_walk_attribs): Likewise. | |
14639 | ||
14640 | 2006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr> | |
14641 | ||
14642 | * doc/install.texi (*-*-solaris2*): Point to the configure page. | |
14643 | ||
14644 | 2006-04-10 Jakub Jelinek <jakub@redhat.com> | |
14645 | ||
14646 | PR debug/27057 | |
14647 | * dwarf2out.c (is_symbol_die): Return true also for namespaces. | |
14648 | ||
14649 | 2006-04-09 Roger Sayle <roger@eyesopen.com> | |
14650 | ||
14651 | * expr.c (store_constructor): Don't bother clearing target if | |
14652 | we're about to assign a vector to it using vec_init_optab. | |
14653 | ||
14654 | 2006-04-10 Daniel Berlin <dberlin@dberlin.org> | |
14655 | ||
14656 | * tree-ssa-alias.c (lhs_may_store_to): New function. | |
14657 | (recalculate_used_alone): Handle LHS of calls. | |
14658 | ||
14659 | 2006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
14660 | ||
14661 | PR target/27034 | |
14662 | PR target/26508 | |
14663 | * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts. | |
14664 | * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a. | |
14665 | (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here. | |
14666 | (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines. | |
14667 | (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK. | |
14668 | (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text | |
14669 | section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB | |
14670 | stubs. Add ".align 8" directives before all ".dword" directives. | |
14671 | (GTHREAD_USE_WEAK): Revise comment. | |
14672 | (TARGET_ATTRIBUTE_WEAK): Define. | |
14673 | * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o, | |
14674 | dfi-stub.o, cxaf-stub.o and jvrc-stub.o. | |
14675 | * stublib.c: New file. | |
14676 | ||
14677 | PR target/26743 | |
14678 | PR target/11254 | |
14679 | PR target/10274 | |
14680 | * pa.md (cbranch patterns): Revise arguments used in calls to | |
14681 | output_cbranch, output_bb and output_bvd. Add long branch length | |
14682 | attributes. | |
14683 | (fbranch patterns): Handle long branches. | |
14684 | (jump): Revise length check. Revise arguments for output_lbranch call. | |
14685 | Add long branch length attributes. | |
14686 | (decrement_and_branch_until_zero): Add long branch length attributes. | |
14687 | (output_movb, output_parallel_addb and output_parallel_movb patterns): | |
14688 | Likewise. Revise arguments for output_parallel_addb and | |
14689 | output_parallel_movb calls. | |
14690 | * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb, | |
14691 | output_parallel_movb and output_parallel_addb): Update prototypes. | |
14692 | * pa.c (output_cbranch): Revise arguments. Correct handling of | |
14693 | nullification in long branches. | |
14694 | (output_lbranch): Add new argument to control extraction of delay | |
14695 | instruction. | |
14696 | (output_bb): Handle long branches. | |
14697 | (output_bvb, output_dbra, output_movb, output_parallel_movb, | |
14698 | output_parallel_addb): Likewise. | |
14699 | ||
14700 | 2006-04-09 Richard Sandiford <richard@codesourcery.com> | |
14701 | ||
14702 | PR rtl-optimization/27073 | |
14703 | * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes, | |
14704 | not REG_EQUIVs. | |
14705 | ||
14706 | 2006-04-08 Daniel Berlin <dberlin@dberlin.org> | |
14707 | ||
14708 | * tree.h (tree_memory_tag): Add old_used_alone. | |
14709 | (SMT_OLD_USED_ALONE): New macro. | |
14710 | * tree-ssa-alias.c (recalculate_used_alone): Stop | |
14711 | marking things for renaming unnecessarily. | |
14712 | ||
14713 | 2006-04-08 Kazu Hirata <kazu@codesourcery.com> | |
14714 | ||
14715 | * builtins.c, config/arm/arm.c, config/i386/cygwin.h, | |
14716 | config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h, | |
14717 | config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c, | |
14718 | haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h, | |
14719 | sched-rgn.c, tree-inline.h, tree-ssa-dom.c, | |
14720 | tree-ssa-loop-prefetch.c, tree-ssa-operands.c, | |
14721 | tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow | |
14722 | spelling convensions. | |
14723 | * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi, | |
14724 | doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment | |
14725 | typos. Follow spelling conventions. | |
14726 | ||
14727 | 2006-04-07 DJ Delorie <dj@redhat.com> | |
14728 | ||
14729 | * config/m32c/m32c.c (m32c_function_arg): Structures are always | |
14730 | passed on the stack. | |
14731 | (m32c_init_cumulative_args): When a function returns a structure, | |
14732 | always pass the pointer to that return area on the stack. | |
14733 | (m32c_function_arg_advance): Don't increment the parameter number | |
14734 | if we're processing the returned structure pointer. | |
14735 | (pushm_info): Reverse order of registers. | |
14736 | ||
14737 | 2006-04-07 Sebastian Pop <pop@cri.ensmp.fr> | |
14738 | ||
14739 | * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne, | |
14740 | assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt, | |
14741 | number_of_iterations_le, number_of_iterations_cond, find_loop_niter, | |
14742 | estimate_numbers_of_iterations_loop): Use build_int_cst instead of | |
14743 | build_int_cst_type. | |
14744 | * tree-chrec.c (chrec_fold_multiply_poly_poly, | |
14745 | chrec_fold_multiply): Same. | |
14746 | * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost, | |
14747 | force_expr_to_var_cost): Same. | |
14748 | * tree-mudflap.c (mf_xform_derefs_1): Same. | |
14749 | * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same. | |
14750 | ||
14751 | 2006-04-07 David Edelsohn <edelsohn@gnu.org> | |
14752 | ||
14753 | * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not | |
14754 | treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra | |
14755 | insn. | |
14756 | ||
14757 | 2006-04-07 Jan Hubicka <jh@suse.cz> | |
14758 | ||
14759 | * ipa-inline.c (cgraph_early_inlining): Collect garbage. | |
14760 | ||
14761 | 2006-04-07 Richard Guenther <rguenther@suse.de> | |
14762 | ||
14763 | PR tree-optimization/26135 | |
14764 | * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory | |
14765 | loads for store copy-prop. | |
14766 | (copy_prop_visit_stmt): Likewise. | |
14767 | ||
14768 | 2006-04-05 Robert Millan <robertmh@gnu.org> | |
14769 | ||
14770 | * config/i386/linux.h: Add a comment to mark macros that are | |
14771 | being overriden in config/k*bsd-gnu.h. | |
14772 | * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of | |
14773 | DYNAMIC_LINKER. | |
14774 | * config/knetbsd-gnu.h: Ditto. | |
14775 | ||
14776 | 2006-04-06 Jan Hubicka <jh@suse.cz> | |
14777 | ||
14778 | PR profile/20815 | |
14779 | PR profile/26399 | |
14780 | * coverage.c (coverage_checksum_string): Reorganize loop to not read | |
14781 | after buffer. | |
14782 | ||
14783 | 2006-04-06 Mike Stump <mrs@apple.com> | |
14784 | ||
14785 | * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if | |
14786 | for HAVE_nonlocal_goto to be consistent. | |
14787 | (expand_builtin_nonlocal_goto): Likewise. | |
14788 | (expand_builtin_strcmp): Use #ifdef instead of #if | |
14789 | for HAVE_cmpstrnsi to be consistent. | |
14790 | ||
14791 | 2006-04-05 DJ Delorie <dj@redhat.com> | |
14792 | ||
14793 | * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c | |
14794 | vs m32c. | |
14795 | ||
14796 | 2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> | |
14797 | ||
14798 | * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow | |
14799 | got-relative addressing for anything but SImode. | |
14800 | ||
14801 | * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered | |
14802 | even if the calling function doesn't modify them. | |
14803 | ||
14804 | 2006-04-05 Richard Guenther <rguenther@suse.de> | |
14805 | ||
14806 | PR tree-optimization/26919 | |
14807 | * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument | |
14808 | to cgraph_estimate_size_after_inlining. | |
14809 | ||
14810 | 2006-04-05 Alan Modra <amodra@bigpond.net.au> | |
14811 | ||
14812 | * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change. | |
14813 | ||
14814 | 2006-04-05 Sebastian Pop <pop@cri.ensmp.fr> | |
14815 | ||
14816 | PR tree-optimization/26996 | |
14817 | * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze | |
14818 | VECTOR_TYPE variables. | |
14819 | ||
14820 | 2006-04-05 Richard Guenther <rguenther@suse.de> | |
14821 | ||
14822 | PR tree-optimization/26763 | |
14823 | * fold-const.c (fold_comparison): Move folding of | |
14824 | PTR + CST CMP PTR + CST ... | |
14825 | (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR. | |
14826 | ||
14827 | 2006-04-05 Gerald Pfeifer <gerald@pfeifer.com> | |
14828 | ||
14829 | * doc/install.texi (Prerequisites): Refine some wording on | |
14830 | bootstrapping and ksh. | |
14831 | Move the version numbers of DejaGnu here from the testing section | |
14832 | and fix casing of names. | |
14833 | Fix markup and clarify wording for autogen requirements. | |
14834 | Refer to GCJ instead of just java. | |
14835 | Refer to SVN instead of CVS. | |
14836 | Describe diffutils as useful instead of necessary. | |
14837 | (Downloading the source): Refer to SVN instead of CVS. | |
14838 | Adjust a link to our web site accordingly. | |
14839 | (Configuration): Fix casing of Bison. | |
14840 | (Building): Refer to SVN instead of CVS. | |
14841 | Fix a sentence on the use of Bison and remove duplicate (and | |
14842 | incorrect) version number of Bison requirement. | |
14843 | Remove one redundant list of packages needed for building. | |
14844 | (Specific): Avoid reference to CVS. | |
14845 | ||
14846 | 2006-04-04 Eric Christopher <echristo@apple.com> | |
14847 | ||
14848 | * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define. | |
14849 | (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto. | |
14850 | (rs6000_handle_struct_attribute): New. | |
14851 | (rs6000_ms_bitfield_layout_p): Ditto. | |
14852 | ||
14853 | 2006-04-04 Geoffrey Keating <geoffk@apple.com> | |
14854 | ||
14855 | * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than | |
14856 | NULL for dso parameter to atexit_common. | |
14857 | ||
14858 | 2006-04-04 Eric Christopher <echristo@apple.com> | |
14859 | ||
14860 | * config/i386/i386.c (machopic_output_stub): Output \t | |
14861 | between instructions and operands. | |
14862 | ||
14863 | 2006-04-04 David Edelsohn <edelsohn@gnu.org> | |
14864 | ||
14865 | * config/rs6000/rs6000.c (num_insns_constant_wide): Change | |
14866 | satisfies_constraint_[IL] to explicit tests on value. | |
14867 | ||
14868 | 2006-04-04 Sebastian Pop <pop@cri.ensmp.fr> | |
14869 | ||
14870 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
14871 | set_nb_iterations_in_loop): Use build_int_cst instead of | |
14872 | build_int_cst_type. | |
14873 | * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use | |
14874 | build_int_cst instead of convert. | |
14875 | ||
14876 | 2006-04-04 Carlos O'Donell <carlos@codesourcery.com> | |
14877 | ||
14878 | * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document | |
14879 | new value 2 for incoming. | |
14880 | * function.c (expand_function_start): Call struct_value_rtx | |
14881 | with incoming as 2. | |
14882 | * config/sparc/sparc.md: Comment updated_return. | |
14883 | * config/sparc/sparc.opt: Add -mstd-struct-return option. | |
14884 | * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard | |
14885 | struct return if sparc_std_struct_return and incoming is 2. | |
14886 | (print_operand): Do not adjust return if | |
14887 | sparc_std_struct_return. | |
14888 | ||
14889 | 2006-04-04 Roger Sayle <roger@eyesopen.com> | |
14890 | ||
14891 | * builtins.c (fold_builtin_sprintf): Use fold_convert instead of | |
14892 | convert in the middle-end. | |
14893 | * expr.c (store_expr, store_constructor, get_inner_reference, | |
14894 | expand_expr_real_1, string_constant, try_casesi, try_tablejump): | |
14895 | Likewise. | |
14896 | * tree.c (build_range_type): Likewise. | |
14897 | ||
14898 | 2006-04-04 Tom Tromey <tromey@redhat.com> | |
14899 | ||
14900 | * doc/install.texi (Prerequisites): Mention jar. | |
14901 | ||
14902 | 2006-04-04 Daniel Berlin <dberlin@dberlin.org> | |
14903 | ||
14904 | * doc/tree-ssa.texi (Preserving the virtual ssa form): New | |
14905 | subsection. | |
14906 | ||
14907 | 2006-04-04 Matthias Klose <doko@debian.org> | |
14908 | ||
14909 | * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. | |
14910 | ||
14911 | PR bootstrap/26764 | |
14912 | PR bootstrap/27334 | |
14913 | * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted | |
14914 | strings. | |
14915 | ||
14916 | 2006-04-03 Geoffrey Keating <geoffk@apple.com> | |
14917 | ||
14918 | * doc/extend.texi (Function Attributes): Rewrite visibility | |
14919 | attribute documentation. | |
14920 | * doc/invoke.texi (C++ Dialect Options): Rewrite | |
14921 | -fvisibility-inlines-hidden documentation to describe something | |
14922 | entirely different, although in practise compatible. | |
14923 | (Code Gen Options): Warn about system headers in -fvisibility= | |
14924 | documentation. | |
14925 | ||
14926 | * doc/extend.texi (Other Builtins): Document that | |
14927 | __builtin_nan is a compile-time constant only when its argument | |
14928 | is valid. | |
14929 | ||
14930 | 2006-04-03 Adam Nemet <anemet@caviumnetworks.com> | |
14931 | ||
14932 | * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When | |
14933 | trying to remove TRUNCATE check if all bits outside the new mode | |
14934 | are identical to the sign bit. | |
14935 | ||
14936 | 2006-04-03 Jeff Law <law@redhat.com> | |
14937 | ||
14938 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding | |
14939 | and operand scanning in some common cases. | |
14940 | ||
14941 | 2006-04-03 Paolo Bonzini <bonzini@gnu.org> | |
14942 | Dale Johannesen <dalej@apple.com> | |
14943 | ||
14944 | PR target/19653 | |
14945 | * regclass.c (struct reg_pref): Update documentation. | |
14946 | (regclass): Set prefclass to NO_REGS if memory is the best option. | |
14947 | (record_reg_classes): Cope with a prefclass set to NO_REGS. | |
14948 | * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS | |
14949 | into account. For non-registers, equate an empty preferred | |
14950 | reload class to a `!' in the constraint; move the if clause to | |
14951 | do so after those that reject the insn. | |
14952 | (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally | |
14953 | return NO_REGS. | |
14954 | (find_dummy_reload): Likewise. | |
14955 | * doc/tm.texi (Register Classes): Document what it means | |
14956 | if PREFERRED_*_RELOAD_CLASS return NO_REGS. | |
14957 | * config/i386/i386.c (ix86_preferred_reload_class): Force | |
14958 | using SSE registers (and return NO_REGS for floating-point | |
14959 | constants) if math is done with SSE. | |
14960 | (ix86_preferred_output_reload_class): New. | |
14961 | * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New. | |
14962 | * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New. | |
14963 | * config/i386/i386.md: Remove # register preferences. | |
14964 | ||
14965 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> | |
14966 | ||
14967 | PR bootstrap/26992 | |
14968 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
14969 | chrec_is_positive, set_nb_iterations_in_loop): Use a variable for | |
14970 | the type of nb_iter. | |
14971 | (instantiate_parameters_1): Convert the operands before calling | |
14972 | chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply. | |
14973 | * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same. | |
14974 | ||
14975 | 2006-04-02 Roger Sayle <roger@eyesopen.com> | |
14976 | ||
14977 | * builtins.c (dummy_object): Use build_int_cst instead of convert. | |
14978 | * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert | |
14979 | instead of convert. | |
14980 | * dojump.c (do_jump): Likewise. | |
14981 | * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise. | |
14982 | * gimplify.c (gimple_boolify, gimplify_init_constructor, | |
14983 | gimplify_boolean_expr): Likewise. | |
14984 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. | |
14985 | * varasm.c (array_size_for_constructor): Likewise. | |
14986 | * tree-object-size.c (compute_object_offset): Likewise. | |
14987 | ||
14988 | 2006-04-02 Roger Sayle <roger@eyesopen.com> | |
14989 | ||
14990 | PR middle-end/26977 | |
14991 | * expr.c (emit_group_store): Check whether simplify_gen_subreg returns | |
14992 | NULL_RTX, indicating it couldn't create a valid paradoxical subreg. | |
14993 | ||
14994 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> | |
14995 | ||
14996 | PR tree-optimization/26939 | |
14997 | * tree-chrec.c (chrec_merge): Use eq_evolutions_p. | |
14998 | ||
14999 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> | |
15000 | ||
15001 | * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument | |
15002 | at_stmt. Convert the type of operands before calling | |
15003 | build_polynomial_chrec. | |
15004 | (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to | |
15005 | add_to_evolution_1. | |
15006 | (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution. | |
15007 | (instantiate_parameters_1): Convert the type of operands before calling | |
15008 | build_polynomial_chrec. | |
15009 | * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly, | |
15010 | chrec_fold_multiply_poly_poly, chrec_replace_initial_condition, | |
15011 | reset_evolution_in_loop): Insert asserts to check the types of the | |
15012 | operands. | |
15013 | (chrec_type): Moved... | |
15014 | (eq_evolutions_p): Use operand_equal_p. | |
15015 | * tree-chrec.h (build_polynomial_chrec): Insert an assert to check | |
15016 | the types of the operands. | |
15017 | (chrec_type): ...here. | |
15018 | * tree-data-ref.c (create_data_ref): Convert the operands before | |
15019 | calling chrec_replace_initial_condition. | |
15020 | (same_access_functions, analyze_subscript_affine_affine, | |
15021 | analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p. | |
15022 | (compute_subscript_distance, analyze_ziv_subscript, | |
15023 | analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2, | |
15024 | analyze_miv_subscript): Convert the operands before calling | |
15025 | chrec_fold_minus or chrec_fold_plus. | |
15026 | ||
15027 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> | |
15028 | ||
15029 | * tree-data-ref.c (compute_all_dependences): Use a pointer to | |
15030 | the dependence_relations vector. | |
15031 | (compute_data_dependences_for_loop): Adjust call to | |
15032 | compute_all_dependences. | |
15033 | ||
15034 | 2006-04-01 Roger Sayle <roger@eyesopen.com> | |
15035 | Richard Henderson <rth@redhat.com> | |
15036 | ||
15037 | * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call | |
15038 | gimple_boolify on the condition before calling gimplify_expr. | |
15039 | ||
15040 | 2006-03-31 Bob Wilson <bob.wilson@acm.org> | |
15041 | ||
15042 | * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros | |
15043 | to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to | |
15044 | the frame size. Update to use the new macros. | |
15045 | * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros. | |
15046 | * config/xtensa/ieee754-df.S: Likewise. | |
15047 | ||
15048 | 2006-03-31 Richard Henderson <rth@redhat.com> | |
15049 | ||
15050 | * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into... | |
15051 | (make_edges): ... here. Control fallthru creation with a local | |
15052 | variable. Do not play with fake edges. | |
15053 | (make_omp_sections_edges): Don't set EDGE_ABNORMAL. | |
15054 | (make_goto_expr_edges): Don't play with fake edges. Make for_call | |
15055 | a boolean. | |
15056 | ||
15057 | 2006-04-01 Joseph S. Myers <joseph@codesourcery.com> | |
15058 | ||
15059 | * dwarf2.h (DW64_CIE_ID): Define. | |
15060 | * dwarf2out.c (DWARF_CIE_ID): Define. | |
15061 | (output_call_frame_info): Output 0xffffffff before standard 8-byte | |
15062 | length header. Use DWARF_CIE_ID. | |
15063 | (value_format): Use DW_FORM_data4 or DW_FORM_data8 for | |
15064 | dw_val_class_loc_list depending on DWARF_OFFSET_SIZE. | |
15065 | ||
15066 | 2006-03-31 Kaz Kojima <kkojima@gcc.gnu.org> | |
15067 | ||
15068 | * config/sh/linux-atomic.asm: New file. | |
15069 | * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm. | |
15070 | ||
15071 | 2006-03-31 DJ Delorie <dj@redhat.com> | |
15072 | ||
15073 | * config/m32c/cond.md: Set condition flags properly throughout. | |
15074 | * config/m32c/minmax.md: Likewise. | |
15075 | * config/m32c/prologue.md: Likewise. | |
15076 | * config/m32c/bitops.md: Likewise. | |
15077 | * config/m32c/muldiv.md: Likewise. | |
15078 | * config/m32c/mov.md: Likewise. | |
15079 | * config/m32c/addsub.md: Likewise. | |
15080 | * config/m32c/m32c.md: Likewise. | |
15081 | * config/m32c/jump.md: Likewise. | |
15082 | * config/m32c/shift.md: Likewise. | |
15083 | ||
15084 | * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to | |
15085 | conditionally output the pattern for this. | |
15086 | * config/m32c/m32c.c (flags_needed_for_conditional): New. | |
15087 | (m32c_compare_redundant): New. | |
15088 | (m32c_output_compare): New. | |
15089 | * config/m32c/m32c-protos.h (m32c_output_compare): New. | |
15090 | ||
15091 | * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber | |
15092 | dest, not src. Allow other 4-byte modes. | |
15093 | ||
15094 | 2006-03-30 Denis Chertykov <denisc@overta.ru> | |
15095 | ||
15096 | * doc/md.texi: Refer to avr/constraints.md instead of | |
15097 | avr/avr.h. | |
15098 | ||
15099 | 2006-03-30 Roger Sayle <roger@eyesopen.com> | |
15100 | ||
15101 | * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to | |
15102 | signed vs. unsigned comparison failures on some hosts. | |
15103 | ||
15104 | 2006-03-31 Alan Modra <amodra@bigpond.net.au> | |
15105 | ||
15106 | PR target/26459 | |
15107 | * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08 | |
15108 | change to FLOAT_REGS. | |
15109 | ||
15110 | * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee. | |
15111 | (rs6000_override_options): Use it. | |
15112 | (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi | |
15113 | only for -mabi=spe/no-spe and -mabi=altivec. | |
15114 | ||
15115 | 2006-03-30 Geoffrey Keating <geoffk@apple.com> | |
15116 | ||
15117 | * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with | |
15118 | !Zdynamiclib. | |
15119 | ||
15120 | 2006-03-30 Carlos O'Donell <carlos@codesourcery.com> | |
15121 | ||
15122 | * Makefile.in: Rename docdir to gcc_docdir. | |
15123 | ||
15124 | 2006-03-30 Roger Sayle <roger@eyesopen.com> | |
15125 | ||
15126 | PR target/17959 | |
15127 | * expr.c (emit_group_store): Optimize group stores into a pseudo | |
15128 | register by using a paradoxical subreg to initialize the destination | |
15129 | if the first or last member of the group specifies a "low part". | |
15130 | ||
15131 | 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
15132 | ||
15133 | PR target/26734 | |
15134 | * rtl.def (DEPS_LIST): Change type of the second operand to 'int'. | |
15135 | * target.h (struct gcc_target.speculate_insn): Change type of the | |
15136 | second parameter to 'int'. | |
15137 | * lists.c (alloc_DEPS_LIST): Change signature. Update reference to | |
15138 | the second operand of the DEPS_LIST. | |
15139 | (copy_DEPS_LIST_list): Update reference to the second operand of the | |
15140 | DEPS_LIST. | |
15141 | * rtl.h (alloc_DEPS_LIST): Update signature. | |
15142 | * sched-int.h (ds_t): Change typedef to 'int'. | |
15143 | (DEP_STATUS, BITS_PER_DEP_STATUS): Update. | |
15144 | ||
15145 | 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
15146 | ||
15147 | * haifa-sched.c (try_ready): Change condition to restore | |
15148 | non-speculative pattern of the instruction. | |
15149 | (process_insn_depend_be_in_spec): Code to keep probability of the | |
15150 | speculative dependence non-decreasing. | |
15151 | ||
15152 | 2006-03-30 Jie Zhang <jie.zhang@analog.com> | |
15153 | ||
15154 | * config/bfin/bfin.c (single_move_for_strmov): Renamed to... | |
15155 | (single_move_for_movmem): ... this. Also change all uses. | |
15156 | (bfin_expand_strmov): Renamed to... | |
15157 | (bfin_expand_movmem): ... this. Also change all uses. | |
15158 | * config/bfin/bfin.md (movstrsi): Renamed to... | |
15159 | (movstrsi): ...this. | |
15160 | ||
15161 | 2006-03-30 Paolo Bonzini <bonzini@gnu.org> | |
15162 | ||
15163 | PR tree-optimization/26830 | |
15164 | ||
15165 | * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth. | |
15166 | (copy_prop_visit_stmt): Remove write-only variable ann. | |
15167 | (init_copy_prop): Check variable loop depth here. Do not simulate | |
15168 | memory-tag and virtual operand PHIs except for store copy prop. | |
15169 | ||
15170 | 2006-03-30 Richard Guenther <rguenther@suse.de> | |
15171 | ||
15172 | * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic | |
15173 | variants with double arguments. | |
15174 | ||
15175 | 2006-03-29 David Edelsohn <edelsohn@gnu.org> | |
15176 | ||
15177 | * genpreds.c (write_tm_constrs_h): Delete variable p. | |
15178 | * genconditions.c (write_header): Add tm-constrs.h to included | |
15179 | headers. | |
15180 | * genpeep.c (main): Add toplev.h to included headers. | |
15181 | * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency. | |
15182 | (build/genpeep.o): Add toplev.h dependency. | |
15183 | * config/rs6000/constraints.md: Add "W" constraint. | |
15184 | ||
15185 | 2006-03-29 Roger Sayle <roger@eyesopen.com> | |
15186 | ||
15187 | * stor-layout.c (mode_for_size_tree): Remove restiction on type | |
15188 | sizes by correctly testing whether the size fits a host integer. | |
15189 | (initialize_sizetypes): Use set_min_and_max_values_for_integral_type | |
15190 | to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full | |
15191 | SImode range for the default sizetype and bitsizetype. | |
15192 | ||
15193 | 2006-03-29 Roger Sayle <roger@eyesopen.com> | |
15194 | ||
15195 | * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW | |
15196 | and TREE_CONSTANT_OVERFLOW bits of the argument. Return | |
15197 | quickly if the argument is already of the correct type. | |
15198 | Call fold_build1 instead of build1. Tidy up blank lines. | |
15199 | ||
15200 | 2006-03-29 David Edelsohn <edelsohn@gnu.org> | |
15201 | ||
15202 | * genemit.c (main): Add tm-constrs.h to included headers. | |
15203 | * genoutput.c (output_prologue): Add tm-constrs.h to included headers. | |
15204 | * genpeep.c (main): Add tm-constrs.h to included headers. | |
15205 | * genpreds.c (write_satisfies_constraint_fns): Rename to ... | |
15206 | (write_tm_constrs_h): this and write complete file. | |
15207 | (write_tm_preds_h): Do not emit satisfies_constraint fns. | |
15208 | (write_insn_preds_c): Add tm-constrs.h to included headers. | |
15209 | (gen_constrs): New variable. | |
15210 | (parse_option): Parse "-c". | |
15211 | (main): Invoke write_tm_constrs_h. | |
15212 | * genrecog.c (write_header): Add tm-constrs.h to included headers. | |
15213 | * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h. | |
15214 | (object_out_file): Add tm-constrs.h dependency. | |
15215 | (insn-emit.o): Same. | |
15216 | (insn-output.o): Same. | |
15217 | (insn-peep.o): Same. | |
15218 | (insn-preds.o): Same. | |
15219 | (insn-recog.o): Same. | |
15220 | (tm-constsr.h): New target. | |
15221 | (s-constrs-h): New target. | |
15222 | ||
15223 | * config/rs6000/constraints.md: New file. | |
15224 | * config/rs6000/rs6000.c: Include tm-constrs.h. | |
15225 | (num_insn_constant_wide): Convert to satisfies_constraint. | |
15226 | (rs6000_rtx_costs): Convert to satisfies_constraint. | |
15227 | * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete. | |
15228 | (CONST_OK_FOR_LETTER_P): Delete. | |
15229 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
15230 | (EXTRA_CONSTRAINT): Delete. | |
15231 | (EXTRA_MEMORY_CONSTRAINT): Delete. | |
15232 | (EXTRA_ADDRESS_CONSTRAINT): Delete. | |
15233 | * config/rs6000/predicates.md: Convert to satisfies_constraint. | |
15234 | * config/rs6000/rs6000.md: Include constraints.md. Convert to | |
15235 | satisfies_constraint. | |
15236 | ||
15237 | * config/i386/i386.c: Include tm-constrs.h. | |
15238 | ||
15239 | 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> | |
15240 | ||
15241 | * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls. | |
15242 | * tree-data-ref.c (find_data_references_in_loop, | |
15243 | compute_data_dependences_for_loop): Use pointers to VEC. | |
15244 | (analyze_all_data_dependences): Adjust calls. | |
15245 | * tree-data-ref.h (find_data_references_in_loop, | |
15246 | compute_data_dependences_for_loop): Adjust declarations. | |
15247 | * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to | |
15248 | compute_data_dependences_for_loop. | |
15249 | ||
15250 | 2006-03-29 Paul Brook <paul@codesourcery.com> | |
15251 | ||
15252 | * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives. | |
15253 | (movdf_vfp): Ditto. | |
15254 | ||
15255 | 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> | |
15256 | ||
15257 | PR tree-optimization/26859 | |
15258 | * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid | |
15259 | division by zero. | |
15260 | (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags | |
15261 | for the step after fold_convert. | |
15262 | ||
15263 | 2006-03-29 Paul Brook <paul@codesourcery.com> | |
15264 | ||
15265 | * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators. | |
15266 | (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses. | |
15267 | ||
15268 | 2006-03-29 Paul Brook <paul@codesourcery.com> | |
15269 | ||
15270 | PR middle-end/23623 | |
15271 | * targhooks.c (default_narrow_bitfield): New fuction. | |
15272 | * targhooks.h (default_narrow_bitfield): add prototype. | |
15273 | * target.h (gcc_target): Add narrow_volatile_bitfield. | |
15274 | * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define. | |
15275 | * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield. | |
15276 | * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS. | |
15277 | * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define. | |
15278 | ||
15279 | 2006-03-29 Andreas Krebbel <krebbel1@de.ibm.com> | |
15280 | ||
15281 | * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to | |
15282 | tmake_file. | |
15283 | * config/s390/s390.c (S390_scalar_mode_supported_p): New function. | |
15284 | (NR_C_MODES): Add TDmode, DDmode and SDmode. | |
15285 | (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT. | |
15286 | (s390_hard_regno_mode_ok): Disallow TDmode in integer regs. | |
15287 | (s390_function_arg_float): Allow SDmode and DDmode values to be | |
15288 | passed in floating point registers. | |
15289 | (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT | |
15290 | check with SCALAR_FLOAT_MODE_P. | |
15291 | (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro. | |
15292 | ||
15293 | 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> | |
15294 | ||
15295 | PR tree-optimization/25985 | |
15296 | * tree-ssa-loop-niter.c (number_of_iterations_le, | |
15297 | number_of_iterations_ne): Make comments more precise. | |
15298 | (number_of_iterations_cond): Add only_exit argument. Use the | |
15299 | fact that signed variables do not overflow only when only_exit | |
15300 | is true. | |
15301 | (loop_only_exit_p): New. | |
15302 | (number_of_iterations_exit): Pass result of loop_only_exit_p to | |
15303 | number_of_iterations_cond. | |
15304 | ||
15305 | 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> | |
15306 | ||
15307 | PR tree-optimization/26643 | |
15308 | * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle | |
15309 | bit_field_refs. | |
15310 | ||
15311 | 2006-03-28 Kaz Kojima <kkojima@gcc.gnu.org> | |
15312 | ||
15313 | * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG. | |
15314 | (divsi3_i4_int): Likewise. | |
15315 | ||
15316 | 2006-03-28 Roger Sayle <roger@eyesopen.com> | |
15317 | ||
15318 | * expr.c (emit_group_store): Only create a new pseudo reg if the | |
15319 | quantity it needs to hold isn't already a suitable pseudo. | |
15320 | ||
15321 | 2006-03-28 Jeff Law <law@redhat.com> | |
15322 | ||
15323 | * timevar.def (TV_TREE_PHI_CPROP): New timevar. | |
15324 | * tree-ssa-dom.c (pass_phi_only_cprop): Use it. | |
15325 | ||
15326 | 2006-03-28 Roger Sayle <roger@eyesopen.com> | |
15327 | ||
15328 | * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as | |
15329 | the equivalent ~X & Y, and the symmetry related transformations. | |
15330 | (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as | |
15331 | ~X & Y, and symmetry related transforms. | |
15332 | ||
15333 | 2006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
15334 | ||
15335 | Revert my 2006-03-27 patches. | |
15336 | ||
15337 | 2006-03-28 Roger Sayle <roger@eyesopen.com> | |
15338 | ||
15339 | * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as | |
15340 | ~(T1)X, when T1 and T2 are integer types of the same precision | |
15341 | and (T2)X isn't an extension. | |
15342 | ||
15343 | 2006-03-28 Jeff Law <law@redhat.com> | |
15344 | ||
15345 | PR tree-optimization/26796 | |
15346 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which | |
15347 | need EH edge cleanups rather than purging them immediately. | |
15348 | (eliminate_degenerate_phis): Handle queued EH cleanups. | |
15349 | ||
15350 | 2006-03-28 Daniel Berlin <dberlin@dberlin.org> | |
15351 | ||
15352 | * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE | |
15353 | from parent_var. | |
15354 | ||
15355 | 2006-03-27 Roger Sayle <roger@eyesopen.com> | |
15356 | ||
15357 | PR middle-end/22524 | |
15358 | * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to | |
15359 | cast BIT_NOT_EXPR operand to the correct type. | |
15360 | ||
15361 | 2006-03-27 Sebastian Pop <pop@cri.ensmp.fr> | |
15362 | ||
15363 | * tree-loop-linear.c: Don't include varray.h. | |
15364 | (gather_interchange_stats, try_interchange_loops, | |
15365 | linear_transform_loops): Use VEC instead of VARRAY. | |
15366 | * lambda-mat.c: Don't include varray.h. | |
15367 | * tree-chrec.c: Same. | |
15368 | * lambda-trans.c: Same. | |
15369 | * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use | |
15370 | VEC instead of VARRAY. | |
15371 | * tree-vectorizer.h: Idem. | |
15372 | * tree-data-ref.c (dump_data_references, | |
15373 | dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs, | |
15374 | initialize_data_dependence_relation, finalize_ddr_dependent, | |
15375 | compute_all_dependences, find_data_references_in_loop, | |
15376 | compute_data_dependences_for_loop, analyze_all_data_dependences, | |
15377 | free_dependence_relation, free_dependence_relations, | |
15378 | free_data_refs): Idem. | |
15379 | * tree-data-ref.h (data_reference_p, subscript_p): New. | |
15380 | (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use | |
15381 | VEC instead of VARRAY. | |
15382 | (DDR_SUBSCRIPTS_VECTOR_INIT): Removed. | |
15383 | (find_data_references_in_loop, compute_data_dependences_for_loop, | |
15384 | dump_ddrs, dump_dist_dir_vectors, dump_data_references, | |
15385 | dump_data_dependence_relations, free_dependence_relations, | |
15386 | free_data_refs): Adjust declaration. | |
15387 | (lambda_transform_legal_p): Move declaration here... | |
15388 | * tree-vect-analyze.c (vect_analyze_data_ref_dependences, | |
15389 | vect_compute_data_refs_alignment, vect_verify_datarefs_alignment, | |
15390 | vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses, | |
15391 | vect_analyze_data_refs): Use VEC instead of VARRAY. | |
15392 | * lambda.h (lambda_transform_legal_p): ...from here. | |
15393 | * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY. | |
15394 | * tree-vect-transform.c (vect_update_inits_of_drs): Idem. | |
15395 | * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o, | |
15396 | tree-chrec.o): Don't depend on VARRAY_H. | |
15397 | ||
15398 | 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
15399 | ||
15400 | * rtl.def (Copyright): Update date. | |
15401 | (DEPS_LIST): Change type of the second operand to 'int'. | |
15402 | * target.h (Copyright): Update date. | |
15403 | (struct gcc_target.speculate_insn): Change type of the second parameter | |
15404 | to 'int'. | |
15405 | * lists.c (Copyright): Update date. | |
15406 | (alloc_DEPS_LIST): Change signature. Update reference to the second | |
15407 | operand of the DEPS_LIST. | |
15408 | (copy_DEPS_LIST_list): Update reference to the second operand of the | |
15409 | DEPS_LIST. | |
15410 | * rtl.h (Copyright): Update date. | |
15411 | (alloc_DEPS_LIST): Update signature. | |
15412 | * sched-int.h (Copyright): Update date. | |
15413 | (ds_t): Change typedef to 'int'. | |
15414 | (DEP_STATUS, BITS_PER_DEP_STATUS): Update. | |
15415 | ||
15416 | 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
15417 | ||
15418 | * haifa-sched.c (Copyright): Update date. | |
15419 | (try_ready): Change condition to restore non-speculative pattern | |
15420 | of the instruction. | |
15421 | (process_insn_depend_be_in_spec): Code to keep probability of the | |
15422 | speculative dependence non-decreasing. | |
15423 | ||
15424 | 2006-03-27 Bernd Schmidt <bernd.schmidt@analog.com> | |
15425 | ||
15426 | * regrename.c (replace_oldest_value_addr): Initialize a variable to | |
15427 | shut up the compiler. | |
15428 | ||
15429 | 2006-03-27 J"orn Rennecke <joern.rennecke@st.com> | |
15430 | ||
15431 | * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule | |
15432 | to use lib prefix for target. | |
15433 | ($(T)libic_invalidate_array_4-200.a): Likewise. | |
15434 | ($(T)libic_invalidate_array_4a.a): Likewise. | |
15435 | ||
15436 | 2006-03-27 Andrew Stubbs <andrew.stubbs@st.com> | |
15437 | J"orn Rennecke <joern.rennecke@st.com> | |
15438 | ||
15439 | * superh.opt: New file. | |
15440 | * sh.c (boardtype, osruntime): Remove. | |
15441 | * superh.h (SUBTARGET_OPTIONS): Remove. | |
15442 | * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options. | |
15443 | ||
15444 | * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed | |
15445 | arguments with ^ and/or []. | |
15446 | ||
15447 | * config.gcc (sh-*-*): Add quoting to account for quirk of | |
15448 | Solaris /bin/sh. | |
15449 | Replace == with = in enable_incomplete_targets test. | |
15450 | ||
15451 | * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT | |
15452 | with MASK_LITTLE_ENDIAN. | |
15453 | ||
15454 | * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file. | |
15455 | * config/sh/sh.opt: Added to some comments. | |
15456 | * config/sh/superh.h: Removed some chaff. | |
15457 | ||
15458 | * config/sh/sh.opt: Add m4-[1234]00* options. | |
15459 | * config/sh/sh.c (sh_handle_option): Likewise. | |
15460 | * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define. | |
15461 | (ic_invalidate_array_4-100.o): New rule. | |
15462 | ($(T)libic_invalidate_array_4-100.a): Likewise. | |
15463 | (ic_invalidate_array_4-200.o): Likewise. | |
15464 | ($(T)libic_invalidate_array_4-200.a): Likewise. | |
15465 | (ic_invalidate_array_4a.o): Likewise. | |
15466 | ($(T)libic_invalidate_array_4a.a): Likewise. | |
15467 | * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS. | |
15468 | * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*, | |
15469 | m4-200*, and m4a*. | |
15470 | * config/sh/crt1.asm: Merged in profiling code. | |
15471 | * config/sh/superh.h (STARTFILE_SPEC): Override. | |
15472 | * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS. | |
15473 | Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o. | |
15474 | * config.gcc (sh*-superh-elf): Add t-superh to tmake_file. | |
15475 | ||
15476 | * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants. | |
15477 | * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS / | |
15478 | MULTILIB_DIRNAMES / MULTILIB_MATCHES settings. | |
15479 | ||
15480 | * sh.opt (mpretend-cmove): New option. | |
15481 | * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1. | |
15482 | * sh.md (movsicc_t_false, movsicc_t_tru): New patterns. | |
15483 | (movsicc): Add TARGET_PRETEND_CMOVE code. | |
15484 | ||
15485 | 2006-03-27 Andreas Krebbel <krebbel1@de.ibm.com> | |
15486 | ||
15487 | * config/s390/s390-protos.h (s390_hard_regno_mode_ok, | |
15488 | s390_class_max_nregs): New function prototypes. | |
15489 | * config/s390/s390.c (REGNO_PAIR_OK): New macro. | |
15490 | (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions. | |
15491 | * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, | |
15492 | CLASS_MAX_NREGS): Macro bodies replaced by function calls. | |
15493 | ||
15494 | 2006-03-26 Geoffrey Keating <geoffk@apple.com> | |
15495 | ||
15496 | * dwarf2out.c (add_location_or_const_value_attribute): Call | |
15497 | tree_add_const_value_attribute if nothing else works. | |
15498 | (reference_to_unused): New. | |
15499 | (rtl_for_decl_init): Use reference_to_unused to decide whether | |
15500 | to output an initializer. | |
15501 | ||
15502 | 2006-03-27 Alan Modra <amodra@bigpond.net.au> | |
15503 | ||
15504 | PR target/26459 | |
15505 | * config/rs6000/rs6000.md (DF reg move peephole): Prevent | |
15506 | peephole removing spe frob_di_df_2. | |
15507 | ||
15508 | 2006-03-26 Sebastian Pop <pop@cri.ensmp.fr> | |
15509 | ||
15510 | * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS. | |
15511 | (subscript_dependence_tester_1): Declared. | |
15512 | (print_dir_vectors, print_dist_vectors): New. | |
15513 | (debug_data_dependence_relation): New. | |
15514 | (dump_data_dependence_relation): Print more details. | |
15515 | (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST. | |
15516 | (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0. | |
15517 | (save_dist_v, save_dir_v, add_outer_distances, | |
15518 | build_classic_dist_vector_1): New. | |
15519 | (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST. | |
15520 | Don't test for lambda_vector_lexico_pos. | |
15521 | (same_access_functions, add_multivariate_self_dist, | |
15522 | add_other_self_distances, dir_from_dist): New. | |
15523 | (build_classic_dir_vector): Replace implementation almost identical to | |
15524 | build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to | |
15525 | dir_from_dist. | |
15526 | (subscript_dependence_tester_1): New. | |
15527 | (subscript_dependence_tester): Handle the lexicographically negative | |
15528 | distance vectors by recomputing the dependence relation. | |
15529 | (compute_affine_dependence): Remove parameter loop_nest_depth. | |
15530 | (compute_self_dependence): Don't call compute_subscript_distance. | |
15531 | (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth. | |
15532 | Add a parameter for the loop_nest. | |
15533 | (find_loop_nest_1, find_loop_nest): New. | |
15534 | (compute_data_dependences_for_loop): Compute the loop nest, and give | |
15535 | up if the nest is not well formed. | |
15536 | * tree-data-ref.h (loop_p): New. | |
15537 | (struct data_dependence_relation): Replace size_vect field with | |
15538 | loop_nest, a vec of loops. | |
15539 | (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS. | |
15540 | (DDR_LOOP_NEST): New. | |
15541 | (print_dir_vectors, print_dist_vectors, | |
15542 | debug_data_dependence_relation): Declared. | |
15543 | (index_in_loop_nest): New. | |
15544 | * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use | |
15545 | DDR_LOOP_NEST and index_in_loop_nest to determine the dependence | |
15546 | distance. | |
15547 | ||
15548 | 2006-03-25 Adam Nemet <anemet@caviumnetworks.com> | |
15549 | ||
15550 | * simplify-rtx.c (simplify_relational_operation): Call | |
15551 | simplify_relational_operation_1 even if mode is VOIDmode. | |
15552 | ||
15553 | 2006-03-25 Daniel Berlin <dberlin@dberlin.org> | |
15554 | ||
15555 | PR tree-optimization/26804 | |
15556 | * tree.h (DECL_CALL_CLOBBERED): New macro. | |
15557 | (tree_decl_common): Add call_clobbered_flag. | |
15558 | * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED. | |
15559 | (mark_call_clobbered): Set DECL_CALL_CLOBBERED. | |
15560 | (clear_call_clobbered): Clear DECL_CALL_CLOBBERED. | |
15561 | (mark_non_addressable): Ditto. | |
15562 | * tree-ssa.c (verify_call_clobbered): New function. | |
15563 | (verify_alias_info): Use it. | |
15564 | * tree-pass.h (pass_reset_cc_flags): New prototype. | |
15565 | * tree-ssa-alias.c (pass_reset_cc_flags): New structure. | |
15566 | (reset_cc_flags): New function. | |
15567 | * passes.c (init_optimization_passes): Call reset_cc_flags after | |
15568 | initializing referenced_vars. | |
15569 | ||
15570 | 2006-03-25 Uros Bizjak <uros@kss-loka.si> | |
15571 | Roger Sayle <roger@eyesopen.com> | |
15572 | ||
15573 | PR middle-end/26717 | |
15574 | * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A | |
15575 | to 1.0 for non-real operands. Implement A / A optimization for | |
15576 | complex operands. | |
15577 | ||
15578 | 2006-03-25 H.J. Lu <hongjiu.lu@intel.com> | |
15579 | ||
15580 | * config/i386/i386.c (size_cost): Correct the comment for | |
15581 | cost of storing fp registers. | |
15582 | (i386_cost): Likewise. | |
15583 | (i486_cost): Likewise. | |
15584 | (pentium_cost): Likewise. | |
15585 | (pentiumpro_cost): Likewise. | |
15586 | (k6_cost): Likewise. | |
15587 | (athlon_cost): Likewise. | |
15588 | (k8_cost): Likewise. | |
15589 | (pentium4_cost): Likewise. | |
15590 | (nocona_cost): Likewise. | |
15591 | (generic64_cost): Likewise. | |
15592 | (generic32_cost): Likewise. | |
15593 | ||
15594 | 2006-03-24 Denis Chertykov <denisc@overta.ru> | |
15595 | ||
15596 | * config/avr/avr-protos.h (extra_constraint): Delete. | |
15597 | (extra_constraint_Q): New declaration. | |
15598 | * config/avr/constraints.md: New file. | |
15599 | * config/avr/avr.md: Include it. | |
15600 | (REG_X, REG_Y, REG_Z, REG_W): New constants. | |
15601 | (TMP_REGNO, ZERO_REGNO): Likewise. | |
15602 | (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise. | |
15603 | * config/avr/avr.c (avr_reg_class_from_letter): Delete. | |
15604 | (extra_constraint): Delete. | |
15605 | (extra_constraint_Q): Test for memory constraint 'Q'. | |
15606 | * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete. | |
15607 | (REG_CLASS_FROM_LETTER): Delete. | |
15608 | (CONST_OK_FOR_LETTER_P): Delete. | |
15609 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
15610 | (EXTRA_CONSTRAINT): Delete. | |
15611 | (TMP_REGNO): Delete. | |
15612 | (ZERO_REGNO): Delete. | |
15613 | ||
15614 | 2006-03-24 Jeff Law <law@redhat.com> | |
15615 | ||
15616 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt | |
15617 | directly. Call mark_new_vars_to_rename slightly earlier. | |
15618 | ||
15619 | 2006-03-24 Geoffrey Keating <geoffk@apple.com> | |
15620 | ||
15621 | * dwarf2out.c (is_c_family): Understand new DWARF3 language types. | |
15622 | (is_cxx): Likewise. | |
15623 | (gen_compile_unit_die): Use new language types for Objective-C and | |
15624 | Objective-C++. | |
15625 | (dwarf2out_decl): Use is_cxx rather than testing explicitly against | |
15626 | DW_LANG_C_plus_plus. | |
15627 | ||
15628 | PR 26793 | |
15629 | * config/t-darwin (crt3.o): Work around bug 26840. | |
15630 | * config/darwin-crt3.c: Rewrite. | |
15631 | * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o. | |
15632 | ||
15633 | 2006-03-24 Carlos O'Donell <carlos@codesourcery.com> | |
15634 | ||
15635 | * doc/invoke.texi: Document -femit-class-debug-always | |
15636 | * common.opt: Add -femit-class-debug-always. | |
15637 | ||
15638 | 2006-03-24 Andreas Krebbel <krebbel1@de.ibm.com> | |
15639 | ||
15640 | * config/s390/s390.c (s390_decompose_address): Allow SImode for | |
15641 | index and base register. | |
15642 | (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p, | |
15643 | print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P | |
15644 | with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with | |
15645 | REGNO_OK_FOR_INDEX_P. | |
15646 | * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with | |
15647 | ADDR_REGNO_P. | |
15648 | (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P, | |
15649 | REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P, | |
15650 | REG_OK_FOR_BASE_P): Definitions removed. | |
15651 | ||
15652 | 2006-03-24 Jakub Jelinek <jakub@redhat.com> | |
15653 | ||
15654 | PR middle-end/26611 | |
15655 | * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on | |
15656 | non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit | |
15657 | set yet or weren't marked as local yet. | |
15658 | ||
15659 | 2006-03-24 Bernd Schmidt <bernd.schmidt@analog.com> | |
15660 | ||
15661 | * regrename.c (scan_rtx_address): Initialize a variable to shut up | |
15662 | the compiler. | |
15663 | ||
15664 | 2006-03-24 Eric Botcazou <ebotcazou@adacore.com> | |
15665 | ||
15666 | * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare. | |
15667 | (rs6000_legitimate_small_data_p): Delete. | |
15668 | * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate. | |
15669 | (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p | |
15670 | and make static. Add forward declaration. Update uses. | |
15671 | (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead | |
15672 | of offsettable_memref_p. | |
15673 | * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix. | |
15674 | Use rs6000_offsettable_memref_p instead of a less accurate predicate. | |
15675 | ||
15676 | 2006-03-24 Jeff Law <law@redhat.com> | |
15677 | ||
15678 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work | |
15679 | around bug in immediate-use iterator. | |
15680 | ||
15681 | 2006-03-24 Alan Modra <amodra@bigpond.net.au> | |
15682 | ||
15683 | PR target/26607 | |
15684 | * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__ | |
15685 | or __LITTLE_ENDIAN__. | |
15686 | ||
15687 | 2006-03-23 J"orn Rennecke <joern.rennecke@st.com> | |
15688 | ||
15689 | * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files. | |
15690 | * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant. | |
15691 | * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table. | |
15692 | * config/sh/sh.opt (mdiv=): Amend description. | |
15693 | * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro. | |
15694 | (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise. | |
15695 | (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1, | |
15696 | SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC. | |
15697 | (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1. | |
15698 | Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros. | |
15699 | * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns. | |
15700 | (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE / | |
15701 | TARGET_DIVIDE_CALL_FP. | |
15702 | ||
15703 | 2006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
15704 | ||
15705 | * haifa-sched.c (choose_ready): Fix type of the local variable. | |
15706 | Move local variables. Add comment. | |
15707 | (check_reg_live): Change signature. Make callable from debugger. | |
15708 | * sched-int.h (check_reg_live): Update signature. | |
15709 | * sched-ebb.c (check_reg_live): Update parameters. | |
15710 | * sched-rgn.c (check_reg_live): Ditto. | |
15711 | (region_head_or_leaf_p): Check pointer before dereferencing. | |
15712 | * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation | |
15713 | before reload on optimization levels below 1. | |
15714 | ||
15715 | 2006-03-23 Richard Henderson <rth@redhat.com> | |
15716 | ||
15717 | * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject | |
15718 | tls symbols. | |
15719 | ||
15720 | PR target/26347 | |
15721 | * config/alpha/predicates.md (local_symbolic_operand): Reject | |
15722 | weak symbols. | |
15723 | ||
15724 | 2006-03-23 Andrew Pinski <pinskia@physics.uc.edu> | |
15725 | ||
15726 | PR tree-opt/26795 | |
15727 | * tree-ssa-pre.c (create_value_expr_from): Don't reject | |
15728 | expressions which have overflowed constants. | |
15729 | ||
15730 | 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> | |
15731 | ||
15732 | * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note. | |
15733 | ||
15734 | 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> | |
15735 | ||
15736 | * cfgloopmanip.c (create_loop_notes): Removed. | |
15737 | * final.c (final_scan_insn): Do not handle loop notes. | |
15738 | * jump.c (squeeze_notes): Ditto. | |
15739 | * cfglayout.c (skip_insns_after_block, | |
15740 | duplicate_insn_chain): Ditto. | |
15741 | * cfgcleanup.c (rest_of_handle_jump2): Do not call | |
15742 | create_loop_notes. | |
15743 | * cfgloop.h (create_loop_notes): Declaration removed. | |
15744 | ||
15745 | 2006-03-23 Richard Sandiford <richard@codesourcery.com> | |
15746 | ||
15747 | * varasm.c (output_constant_pool): Restore fnname and fndecl | |
15748 | arguments. | |
15749 | (assemble_start_function): Adjust call accordingly. | |
15750 | (assemble_end_function): Likewise. | |
15751 | ||
15752 | 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
15753 | ||
15754 | PR mudflap/26789 | |
15755 | * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects. | |
15756 | ||
15757 | PR mudflap/26790 | |
15758 | * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node. | |
15759 | ||
15760 | 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
15761 | ||
15762 | PR driver/22600 | |
15763 | * system.h (ICE_EXIT_CODE): New macro. | |
15764 | * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE. | |
15765 | (diagnostic_action_after_output): Likewise. | |
15766 | * gcc.c (fatal_ice): New function. | |
15767 | (execute): Use it instead of fatal. | |
15768 | (fancy_abort): Likewise. | |
15769 | * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs. | |
15770 | ||
15771 | 2006-03-22 Jeff Law <law@redhat.com> | |
15772 | ||
15773 | * loop-unroll.c (analyze_iv_to_split_insn): Handle | |
15774 | iv_analyze_result returning false. | |
15775 | ||
15776 | 2006-03-22 Jie Zhang <jie.zhang@analog.com> | |
15777 | ||
15778 | * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove. | |
15779 | ||
15780 | 2006-03-22 Richard Henderson <rth@redhat.com> | |
15781 | ||
15782 | PR middle-end/26084 | |
15783 | * except.c (duplicate_eh_regions_0): New. | |
15784 | (duplicate_eh_region_1): Duplicate the children of the node as | |
15785 | well as the node itself. Link them up properly. | |
15786 | (duplicate_eh_region_2): Merge into ... | |
15787 | (duplicate_eh_regions): ... here. Take copy_region argument, and | |
15788 | copy only a sub-tree if asked. Simplify copying and fixup. | |
15789 | (eh_region_outer_p): New. | |
15790 | * except.h (duplicate_eh_regions): Update decl. | |
15791 | (eh_region_outer_p): Declare. | |
15792 | * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN. | |
15793 | (lower_omp_master): Likewise. | |
15794 | (lower_omp_ordered): Likewise. | |
15795 | * tree-cfg.c (struct move_stmt_d): Add new_label_map. | |
15796 | (move_stmt_r): Use it to remap labels. Handle recursion vs | |
15797 | remap_decls_p properly. | |
15798 | (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR. | |
15799 | (find_outermost_region_in_block): New. | |
15800 | (new_label_mapper): New. | |
15801 | (move_sese_region_to_fn): Copy eh information to the new function | |
15802 | properly. | |
15803 | * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions | |
15804 | argument. | |
15805 | * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region | |
15806 | number. | |
15807 | ||
15808 | 2006-03-22 Richard Sandiford <richard@codesourcery.com> | |
15809 | ||
15810 | * doc/md.texi (-mshared): Mention that -mshared code can be linked | |
15811 | into shared libraries. | |
15812 | ||
15813 | 2006-03-22 Richard Sandiford <richard@codesourcery.com> | |
15814 | ||
15815 | * doc/md.texi: Refer to i386/constraints.md instead of | |
15816 | i386/predicates.md. | |
15817 | * config/i386/constraints.md: New file, extracted from... | |
15818 | * config/i386/predicates.md: ...here. | |
15819 | * config/i386/i386.md: Include constraints.md. | |
15820 | ||
15821 | 2006-03-21 Jason Merrill <jason@redhat.com> | |
15822 | ||
15823 | * builtins.c (expand_builtin_fork_or_exec): Fix pasto. | |
15824 | ||
15825 | PR middle-end/20297 | |
15826 | * expr.c (init_block_move_fn): Force default visibility. | |
15827 | (init_block_clear_fn): Likewise. | |
15828 | * builtins.c (expand_builtin_fork_or_exec): Likewise. | |
15829 | * targhooks.c (default_external_stack_protect_fail): Likewise. | |
15830 | ||
15831 | 2006-03-21 Richard Sandiford <richard@codesourcery.com> | |
15832 | ||
15833 | * config/mips/predicates.md (const_call_insn_operand): Allow direct | |
15834 | calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. | |
15835 | * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS. | |
15836 | Use TARGET_OLDABI instead of !TARGET_NEWABI. | |
15837 | (loadgp): Use mips_current_loadgp_style. | |
15838 | (loadgp_noshared): New pattern. | |
15839 | (sibcall_internal): Use MIPS_CALL. | |
15840 | (sibcall_value_internal): Likewise. | |
15841 | (sibcall_value_multiple_internal): Likewise. | |
15842 | (call_internal): Likewise. | |
15843 | (call_value_internal): Likewise. | |
15844 | (call_value_multiple_internal): Likewise. | |
15845 | (call_split): Use MIPS_CALL and add an 'S' constraint. | |
15846 | (call_value_split): Likewise. | |
15847 | (call_value_multiple_split): Likewise. | |
15848 | * config/mips/mips.opt (-mabicalls): Tweak docstring. | |
15849 | (-mshared): New option. | |
15850 | * config/mips/mips-protos.h (mips_loadgp_style): New enum. | |
15851 | (mips_current_loadgp_style): Declare. | |
15852 | * config/mips/mips.c (mips_classify_symbol): Avoid using | |
15853 | SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL | |
15854 | rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if | |
15855 | TARGET_ABSOLUTE_ABICALLS. | |
15856 | (override_options): Adjust comments. Improve the warning that is | |
15857 | issued when -mabicalls and -G are used together. | |
15858 | (mips_file_start): Remove comment. | |
15859 | (mips_current_loadgp_style): New function. | |
15860 | (mips_gnu_local_gp): New variable. | |
15861 | (mips_emit_loadgp): Use mips_current_loadgp_style. Handle | |
15862 | LOADGP_ABSOLUTE. | |
15863 | (mips_output_function_prologue): Use mips_current_laodgp_style. | |
15864 | (mips_expand_prologue): Call mips_emit_loadgp before emitting | |
15865 | the cprestore instruction. | |
15866 | (mips_extra_live_on_entry): Fix reversed test. Don't make $25 | |
15867 | live for TARGET_ABSOLUTE_ABICALLS. | |
15868 | * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro. | |
15869 | (ASM_SPEC): Pass down -mshared and -mno-shared. | |
15870 | (MIPS_CALL): New macro. | |
15871 | * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__ | |
15872 | definition. | |
15873 | * doc/invoke.texi (-mabicalls): Update documentation. | |
15874 | (-mshared): Document. | |
15875 | ||
15876 | 2006-03-21 Steve Ellcey <sje@cup.hp.com> | |
15877 | ||
15878 | * config/ia64/unwind-hpux.c: New file. | |
15879 | * config/ia64/t-hpux: Add unwind-hpux.c to libgcc. | |
15880 | ||
15881 | 2006-03-21 Steve Ellcey <sje@cup.hp.com> | |
15882 | ||
15883 | PR libgomp/26384 | |
15884 | * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options. | |
15885 | ||
15886 | 2006-03-21 Jeff Law <law@redhat.com> | |
15887 | ||
15888 | * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for | |
15889 | type conversions of a VR_VARYING source to a wider type. | |
15890 | ||
15891 | 2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr> | |
15892 | ||
15893 | * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to | |
15894 | tm_file on Solaris 10 and later. | |
15895 | (sparc64-*-solaris2*): Likewise. | |
15896 | (sparc-*-solaris2*): Likewise. | |
15897 | * config/sol26.h: Rename to config/sol2-6.h. | |
15898 | * config/sol2-10.h: New file. | |
15899 | ||
15900 | 2006-03-21 Andrew Pinski <pinskia@physics.uc.edu> | |
15901 | ||
15902 | PR tree-opt/26781 | |
15903 | * tree-ssa-pre.c (create_component_ref_by_pieces): | |
15904 | Handle STRING_CST. | |
15905 | ||
15906 | 2006-03-21 Jakub Jelinek <jakub@redhat.com> | |
15907 | ||
15908 | PR c++/26690 | |
15909 | * tree.c (get_callee_fndecl): If CALL is error_mark_node, | |
15910 | return it immediately. | |
15911 | ||
15912 | 2006-03-21 Michael Matz <matz@suse.de> | |
15913 | ||
15914 | * genautomata.c (<struct state>, num_out_arcs, presence_signature): | |
15915 | New members. | |
15916 | (remove_arc, add_arc): Update num_out_arcs member. | |
15917 | (set_out_arc_insns_equiv_num): Returns nothing instead of number | |
15918 | of out arcs. | |
15919 | (cache_presence): New function. | |
15920 | (compare_states_for_equiv): New function. | |
15921 | (state_is_differed): Don't take number of outargs, adjust callers. | |
15922 | Use new invariant for speeding up. | |
15923 | (init_equiv_class): Create initial classes based on sorted | |
15924 | input. | |
15925 | (partition_equiv_class): Don't track out_arcs_num. | |
15926 | (evaluate_equiv_classes): Call cache_presence on all states and | |
15927 | sort them. | |
15928 | ||
15929 | 2006-03-21 Bernd Schmidt <bernd.schmidt@analog.com> | |
15930 | ||
15931 | * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare. | |
15932 | * config/bfin/bfin.c (bfin_dsp_memref_p): New function. | |
15933 | (bfin_valid_reg_p): Test for pseudos explicitly and use only | |
15934 | REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all | |
15935 | callers changed. | |
15936 | * config/bfin/bfin.h (PREG_P): Use P_REGNO_P. | |
15937 | (IREG_P, P_REGNO_P, I_REGNO_P): New macros. | |
15938 | (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS. | |
15939 | (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, | |
15940 | REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete | |
15941 | macros. | |
15942 | (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS, | |
15943 | REGNO_MODE_CODE_OK_FOR_BASE_P): New macros. | |
15944 | (REGNO_REG_CLASS): ARGP is in PREGS. | |
15945 | * config/bfin/bfin.md (movhi_insn): Allow for addresses containing | |
15946 | IREGS. | |
15947 | (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split | |
15948 | to deal with those addresses. | |
15949 | * addresses.h: New file. | |
15950 | * caller-save.c: Include "addresses.h". | |
15951 | (init_caller_save): Use new base_reg_class function. | |
15952 | * rtl-factoring.c: Include "addresses.h". | |
15953 | (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1. | |
15954 | * recog.c: Include "addresses.h". | |
15955 | (preprocess_constraints): Use new base_reg_class function. | |
15956 | * regrename.c: Include "addresses.h". | |
15957 | (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class | |
15958 | functions. Keep track of a new var INDEX_CODE to compute valid | |
15959 | classes. | |
15960 | (replace_oldest_value_addr): Likewise. | |
15961 | (replace_oldest_value_mem): Use base_reg_class. | |
15962 | * reload.c: Include "addresses.h". | |
15963 | (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros. | |
15964 | (find_reloads): Use new base_reg_class function. | |
15965 | (find_reloads_address): Likewise; also use regno_ok_for_base_p. | |
15966 | (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE; | |
15967 | all callers and prototype changed. | |
15968 | * reload1.c: Include "addresses.h". | |
15969 | (maybe_fix_stack_asms): Use base_reg_class. | |
15970 | * regclass.c: Include "addresses.h". | |
15971 | (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions. | |
15972 | (init_reg_autoinc): Use new base_reg_class function. | |
15973 | (record_reg_classes): Likewise. | |
15974 | (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE, | |
15975 | OUTER_CODE and INDEX_CODE. All callers and prototype changed. | |
15976 | Use new args to compute necessary class. | |
15977 | ||
15978 | * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o, | |
15979 | regrename.o, rtl-factoring.o): Update dependencies. | |
15980 | * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document. | |
15981 | (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. | |
15982 | (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P, | |
15983 | REG_OK_FOR_INDEX_P): Delete documentation. | |
15984 | ||
15985 | 2006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com> | |
15986 | ||
15987 | * config.gcc (sparc-*-solaris2*): Change the default CPU setting | |
15988 | from V7 to V9 for Solaris 7 and above. | |
15989 | ||
15990 | 2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl> | |
15991 | ||
15992 | * doc/invoke.texi: Document new flag -fargument-noalias-anything. | |
15993 | * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2, | |
15994 | argument pointers may not alias any other storage. | |
15995 | * common.opt: Define option -fargument-noalias-anything. | |
15996 | * tree-ssa-structalias.c (intra_create_variable_infos): Fortran | |
15997 | alias semantics is specified by flag_argument_noalias > 2. | |
15998 | ||
15999 | 2006-03-20 Jeff Law <law@redhat.com> | |
16000 | ||
16001 | * tree-pass.h (pass_phi_only_copy_prop): Delete. | |
16002 | (pass_phi_only_cprop): Declare. | |
16003 | * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop | |
16004 | with phi_only_cprop | |
16005 | * tree-ssa-dom.c (degenerate_phi_result): New function. | |
16006 | (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise. | |
16007 | (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise. | |
16008 | (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise. | |
16009 | (eliminate_degenerate_phis): Likewise. | |
16010 | (pass_phi_only_cprop): New pass descriptor. | |
16011 | * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and | |
16012 | support code. Callers updated. | |
16013 | (execute_copy_prop, do_copy_prop): Likewise and corresponding changes. | |
16014 | (store_copy_prop): Likewise. | |
16015 | (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove. | |
16016 | ||
16017 | 2006-03-20 Jason Merrill <jason@redhat.com> | |
16018 | ||
16019 | PR c++/21764 | |
16020 | * c-pragma.c (visstack): Move out of handle_pragma_visibility. | |
16021 | (push_visibility, pop_visibility): Likewise. | |
16022 | * c-pragma.h: Declare them. | |
16023 | ||
16024 | 2006-03-20 Kaz Kojima <kkojima@gcc.gnu.org> | |
16025 | ||
16026 | * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target. | |
16027 | ||
16028 | * config/sh/sh.c (find_regmode_weight): Change the type of the first | |
16029 | parameter and use get_ebb_head_tail. | |
16030 | (sh_md_init_global): Adjust uses of find_regmode_weight. | |
16031 | ||
16032 | 2006-03-20 Steven Bosscher <stevenb.gcc@gmail.com> | |
16033 | ||
16034 | * function.h (struct function) <x_tail_recursion_reentry>: | |
16035 | Rename to x_stack_check_probe_note. | |
16036 | (tail_recursion_reentry): Rename to stack_check_probe_note. | |
16037 | * function.c: Replace tail_recursion_reentry with | |
16038 | stack_check_probe_note everywhere. | |
16039 | (expand_function_start): Only emit a note for | |
16040 | stack_check_probe_note with -fstack-protect. | |
16041 | * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes. | |
16042 | ||
16043 | * emit-rtl.c (remove_unnecessary_notes): Remove. | |
16044 | (pass_remove_unnecessary_notes): Remove. | |
16045 | * rtl.h (remove_unnecessary_notes): Remove prototype. | |
16046 | * final.c (final_start_function): Don't call remove_unnecessary_notes. | |
16047 | * tree-pass.h (pass_remove_unnecessary_notes): Remove. | |
16048 | * passes.c (pass_remove_unnecessary_notes): Don't run it. | |
16049 | ||
16050 | 2006-03-20 Andrew Pinski <pinskia@physics.uc.edu> | |
16051 | ||
16052 | PR tree-opt/26629 | |
16053 | * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands. | |
16054 | (valid_in_set): Handle ARRAY_REF. | |
16055 | Change "if min_variant or VH" to asserts. | |
16056 | (create_component_ref_by_pieces): Handle ARRAY_REF. | |
16057 | (create_expression_by_pieces): Likewise. | |
16058 | (can_PRE_operation): ARRAY_REFs can now be PRE'd. | |
16059 | ||
16060 | 2006-03-20 David Edelsohn <edelsohn@gnu.org> | |
16061 | ||
16062 | * genpreds.c (write_insn_extra_address_constraint): Argument `c' | |
16063 | is operand of switch, not str[0]. | |
16064 | ||
16065 | 2006-03-20 Alan Modra <amodra@bigpond.net.au> | |
16066 | ||
16067 | * config/rs6000/rs6000.c (rs6000_handle_option): Use | |
16068 | TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too. | |
16069 | ||
16070 | 2006-03-19 David Edelsohn <edelsohn@gnu.org> | |
16071 | ||
16072 | * genpreds.c (write_tm_preds_h): Add semicolon and newline at | |
16073 | end of insn_extra_address_constraint declaration. | |
16074 | ||
16075 | 2006-03-19 David Edelsohn <edelsohn@gnu.org> | |
16076 | ||
16077 | * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask. | |
16078 | (no-sum-in-toc): Same. | |
16079 | * config/rs6000/rs6000.c (rs6000_handle_option): Use new | |
16080 | variables. | |
16081 | * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set | |
16082 | NO_FP_IN_TOC for -fPIC instead of mask. | |
16083 | ||
16084 | * config/rs6000/t-aix43 (T_ADAFLAGS): Delete. | |
16085 | (BOOT_LDFLAGS): Delete. | |
16086 | (LDFLAGS): Delete. | |
16087 | * config/rs6000/t-aix52: Same. | |
16088 | ||
16089 | * config/rs6000/rs6000.md (store_multiple_power): Delete. | |
16090 | (stmsi[345678]_power): New. | |
16091 | ||
16092 | 2006-03-17 Steve Ellcey <sje@cup.hp.com> | |
16093 | ||
16094 | * config/ia64/ia64.opt: Add empty line to end of file. | |
16095 | ||
16096 | 2006-03-17 Richard Guenther <rguenther@suse.de> | |
16097 | ||
16098 | PR middle-end/26721 | |
16099 | * builtins.c (get_pointer_alignment): For component style references | |
16100 | adjust alignment to the component type alignment. Make sure | |
16101 | to adjust alignment for component access of constants. | |
16102 | ||
16103 | 2006-03-17 David Edelsohn <edelsohn@gnu.org> | |
16104 | ||
16105 | * config/rs6000/rs6000.md (strlensi): Emit barrier after | |
16106 | unconditional jump. | |
16107 | ||
16108 | 2006-03-17 Paul Brook <paul@codesourcery.com> | |
16109 | ||
16110 | * doc/install.texi: Docuemnt --with-mode. | |
16111 | * config.gcc: Add --with-mode for arm*-*-*. | |
16112 | * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode". | |
16113 | ||
16114 | 2006-03-17 J"orn Rennecke <joern.rennecke@st.com> | |
16115 | ||
16116 | * sh.c (max_labelno_before_reorg): New variable. | |
16117 | (sh_reorg): Initialize it. | |
16118 | (find_barrier): Check max_labelno_before_reorg before using | |
16119 | label_to_alignment. Take length of explicit alignment insns | |
16120 | into account. When seeing a UNSPECV_CONST_END, return it. | |
16121 | ||
16122 | * sh.c (fixup_mova): Set mode of affected label to QImode. | |
16123 | (untangle_mova): New function. | |
16124 | (find_barrier): Use it. Check mode of label before decrementing | |
16125 | num_mova. | |
16126 | (sh_reorg): Likewise. | |
16127 | Set mode of all insns back to VOIDmode. | |
16128 | ||
16129 | * sh.c (MOVA_LABELREF): New macro. | |
16130 | (mova_p, fixup_mova, sh_reorg): Use it. | |
16131 | (find_barrier, sh_reorg): Don't count num_mova back to 0 unless | |
16132 | ADDR_DIFF_VEC matches mova. | |
16133 | ||
16134 | 2006-03-17 Steven Bosscher <stevenb.gcc@gmail.com> | |
16135 | ||
16136 | * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument | |
16137 | with ATTRIBUTE_UNUSED. | |
16138 | ||
16139 | 2006-03-17 Alexandre Oliva <aoliva@redhat.com> | |
16140 | ||
16141 | * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack | |
16142 | pointer, instead of assuming it is possible to derive the | |
16143 | correct args size from a call insn. | |
16144 | ||
16145 | 2006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
16146 | ||
16147 | * rtl.h (CONST_INT_P): Define. | |
16148 | * config/vax/vax.c (print_operand_address): Use CONST_INT_P() | |
16149 | instead of GET_CODE(x) == CONST_INT. | |
16150 | (vax_rtx_costs): Likewise. | |
16151 | (vax_output_int_move): Likewise. | |
16152 | (vax_output_int_add): Likewise. | |
16153 | (legitimate_constant_address_p): Likewise. | |
16154 | (index_term_p): Likewise. | |
16155 | * config/vax/vax.h (PRINT_OPERAND): Likewise. | |
16156 | * config/vax/vax.md (and<mode>3): Likewise. | |
16157 | (ashrsi3): Likewise. | |
16158 | (extv): Likewise. | |
16159 | (movstricthi): Likewise. | |
16160 | (movstrictqi): Likewise. | |
16161 | (rotrsi3): Likewise. | |
16162 | (five unnamed insns): Likewise. | |
16163 | ||
16164 | 2006-03-16 Geoffrey Keating <geoffk@apple.com> | |
16165 | ||
16166 | * doc/tm.texi (SDB and DWARF): Add extra parameter to | |
16167 | ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables. | |
16168 | * dwarf2asm.h (dw2_asm_output_offset): Add section parameter. | |
16169 | * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter. | |
16170 | Pass to ASM_OUTPUT_DWARF_OFFSET. | |
16171 | * dwarf2out.c (debug_frame_section): New. | |
16172 | (output_call_frame_info): Use debug_frame_section. Pass it to | |
16173 | dw2_asm_output_offset. | |
16174 | (output_die): Pass appropriate section to dw2_asm_output_offset. | |
16175 | (output_compilation_unit_header): Likewise. | |
16176 | (output_pubnames): Likewise. | |
16177 | (output_aranges): Likewise. | |
16178 | (enum dw_val_class): Break dw_val_class_lbl_offset into | |
16179 | dw_val_class_lineptr and dw_val_class_macptr. | |
16180 | (add_AT_lbl_offset): Delete. | |
16181 | (add_AT_lineptr): New. | |
16182 | (add_AT_macptr): New. | |
16183 | (AT_lbl): Expect a lineptr or macptr. | |
16184 | (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr. | |
16185 | (attr_checksum): Likewise. | |
16186 | (same_dw_val_p): Likewise. | |
16187 | (size_of_die): Likewise. | |
16188 | (value_format): Likewise. | |
16189 | (output_die): Likewise. | |
16190 | (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of | |
16191 | add_AT_lbl_offset. | |
16192 | * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. | |
16193 | * config/i386/i386.c (x86_file_start): Call darwin_file_start. | |
16194 | * config/darwin-protos.h (darwin_file_start): New. | |
16195 | (darwin_asm_output_dwarf_offset): New. | |
16196 | * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. | |
16197 | * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call | |
16198 | darwin_file_start. | |
16199 | * config/darwin.c (darwin_emit_unwind_label): Don't output label | |
16200 | if not EH section; simplify. | |
16201 | (darwin_file_start): New. | |
16202 | (darwin_asm_output_dwarf_offset): New. | |
16203 | * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment, | |
16204 | mark as 'debug'. | |
16205 | (DEBUG_INFO_SECTION): Likewise. | |
16206 | (DEBUG_ABBREV_SECTION): Likewise. | |
16207 | (DEBUG_ARANGES_SECTION): Likewise. | |
16208 | (DEBUG_MACINFO_SECTION): Likewise. | |
16209 | (DEBUG_LINE_SECTION): Likewise. | |
16210 | (DEBUG_LOC_SECTION): Likewise. | |
16211 | (DEBUG_PUBNAMES_SECTION): Likewise. | |
16212 | (DEBUG_STR_SECTION): Likewise. | |
16213 | (DEBUG_RANGES_SECTION): Likewise. | |
16214 | (FRAME_BEGIN_LABEL): Must start with 'L' in debug section. | |
16215 | (ASM_OUTPUT_DWARF_OFFSET): New. | |
16216 | ||
16217 | 2006-03-16 Joseph S. Myers <joseph@codesourcery.com> | |
16218 | ||
16219 | * config.gcc (tm_defines): Always add to previous value rather | |
16220 | than replacing it. | |
16221 | ||
16222 | 2006-03-16 Richard Sandiford <richard@codesourcery.com> | |
16223 | ||
16224 | * config/mips/predicates.md (splittable_const_int_operand): New, | |
16225 | split from move_operand. | |
16226 | (splittable_symbolic_operand): New. | |
16227 | (move_operand): Add commentary. Use splittable_const_int_operand. | |
16228 | Inline mips_atomic_symbolic_constant_p. | |
16229 | * config/mips/mips.md: Add combine splitters for handling moves | |
16230 | of splittable_const_int_operands and splittable_symbolic_operands. | |
16231 | * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete. | |
16232 | (mips_split_symbol): Declare. | |
16233 | (mips_move_integer): Declare. | |
16234 | * config/mips/mips.c (mips_split_p): Make global. | |
16235 | (TARGET_MIN_ANCHOR_OFFSET): Override default. | |
16236 | (TARGET_MAX_ANCHOR_OFFSET): Likewise. | |
16237 | (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. | |
16238 | (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise. | |
16239 | (mips_offset_within_object_p): Handle block symbols. | |
16240 | (mips_atomic_symbolic_constant_p): Delete. | |
16241 | (mips_cannot_force_const_mem): Return false for constants that | |
16242 | mips_legitimize_move can handle. | |
16243 | (mips_use_blocks_for_constant_p): New function. | |
16244 | (mips_split_symbol): Make global. | |
16245 | (mips_move_integer): Likewise. Add a temporary register argument. | |
16246 | (mips_legitimize_const_move): Use splittable_const_int_operand and | |
16247 | splittable_symbolic_operand. | |
16248 | (mips_use_anchors_for_symbol_p): New function. | |
16249 | * config/mips/mips.h: Protect externs with !USED_FOR_TARGET. | |
16250 | (mips_split_p): Declare. | |
16251 | ||
16252 | 2006-03-16 Richard Sandiford <richard@codesourcery.com> | |
16253 | ||
16254 | * config.gcc (mips64*-*-linux*): Keep existing tm_defines. | |
16255 | (mips*-*-linux*): Likewise. | |
16256 | ||
16257 | 2006-03-16 Roger Sayle <roger@eyesopen.com> | |
16258 | Daniel Speyer <dspeyer@wam.umd.edu> | |
16259 | ||
16260 | PR middle-end/18259 | |
16261 | * tree-dump.c (dump_real): New function. | |
16262 | (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants. | |
16263 | * Makefile.in (REAL_H): New macro for dependencies on real.h. | |
16264 | (tree-dump.o): Add $(REAL_H) to the dependencies. | |
16265 | ||
16266 | 2006-03-16 Roger Sayle <roger@eyesopen.com> | |
16267 | ||
16268 | PR middle-end/21781 | |
16269 | * real.c (real_from_string): If the mantissa is zero, don't bother | |
16270 | parsing the exponent as the result should always be zero. | |
16271 | ||
16272 | 2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com> | |
16273 | ||
16274 | * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms. | |
16275 | ||
16276 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
16277 | ||
16278 | * config/ia64/ia64.c (stops_p): Added explicit initialization. | |
16279 | (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, | |
16280 | ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn, | |
16281 | ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global, | |
16282 | ia64_sched_finish_global): New static functions to implement | |
16283 | hooks from gcc_target.sched. | |
16284 | (spec_check_no, max_uid, pending_data_specs): New static variables. | |
16285 | (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p, | |
16286 | ia64_spec_check_src_p): New static functions. | |
16287 | (ia64_adjust_cost): Renamed to ia64_adjust_cost_2. | |
16288 | (TARGET_SCHED_ADJUST_COST): Removed. | |
16289 | (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL, | |
16290 | TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED, | |
16291 | TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, | |
16292 | TARGET_SCHED_GEN_CHECK, | |
16293 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
16294 | TARGET_SCHED_SET_SCHED_FLAGS): New macros. | |
16295 | (update_set_flags, group_barrier_needed, set_src_needs_barrier): | |
16296 | Fixed to handle speculation checks. | |
16297 | (rtx_needs_barrier): Fixed to handle speculative loads and | |
16298 | their checks. | |
16299 | (ia64_variable_issue): Added code to count speculative loads and their | |
16300 | checks. | |
16301 | (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle | |
16302 | speculative loads. | |
16303 | (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): | |
16304 | New enumerations. | |
16305 | (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET): | |
16306 | New constants. | |
16307 | (ia64_ld_address_bypass_p): Fixed to handle speculative loads. | |
16308 | (ia64_reorg): Reset stops_p to NULL after it is freed. | |
16309 | * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA, | |
16310 | UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants. | |
16311 | (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f, | |
16312 | chk_a. | |
16313 | (data_speculative, control_speculative, check_load): New attributes. | |
16314 | (mov<mode>_advanced, mov<mode>_speculative, | |
16315 | mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced, | |
16316 | zero_extend<mode>di2_speculative, | |
16317 | zero_extend<mode>di2_speculative_advanced): New patterns for | |
16318 | data and control speculative loads. | |
16319 | (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for | |
16320 | check loads. | |
16321 | (advanced_load_check_clr_<mode>, speculation_check_<mode>): | |
16322 | New pattern for data and control speculation checks. | |
16323 | (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr, | |
16324 | ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr, | |
16325 | reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes): | |
16326 | Auxiliary definitions for the patterns. | |
16327 | * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a, | |
16328 | 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource | |
16329 | constraints. | |
16330 | (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition | |
16331 | for speculation. | |
16332 | (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i. | |
16333 | * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f, | |
16334 | 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a): | |
16335 | New resource constraints. | |
16336 | (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition | |
16337 | for speculation. | |
16338 | (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i. | |
16339 | * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec, | |
16340 | msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, | |
16341 | msched-in-control-spec, msched-ldc, msched-control-ldc, | |
16342 | msched-spec-verbose, msched-prefer-non-data-spec-insns, | |
16343 | msched-prefer-non-control-spec-insns, | |
16344 | msched-count-spec-in-critical-path): New flags to tune speculative | |
16345 | scheduling. | |
16346 | * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec, | |
16347 | msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, | |
16348 | msched-in-control-spec, msched-ldc, msched-control-ldc, | |
16349 | msched-spec-verbose, msched-prefer-non-data-spec-insns, | |
16350 | msched-prefer-non-control-spec-insns, | |
16351 | msched-count-spec-in-critical-path): Document new flags. | |
16352 | ||
16353 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
16354 | ||
16355 | * target.h (struct spec_info_def): New opaque declaration. | |
16356 | (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended, | |
16357 | speculate_insn, needs_block_p, gen_check, | |
16358 | first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags. | |
16359 | * target-def.h (TARGET_SCHED_ADJUST_COST_2, | |
16360 | TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN, | |
16361 | TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK, | |
16362 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
16363 | TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in | |
16364 | gcc_target.sched. | |
16365 | (TARGET_SCHED): Use new macros. | |
16366 | * rtl.h (copy_DEPS_LIST_list): New prototype. | |
16367 | * sched-int.h (struct sched_info): Change signature of new_ready field, | |
16368 | adjust all initializations. New fields: add_remove_insn, | |
16369 | begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg, | |
16370 | region_head_or_leaf_p. | |
16371 | (struct spec_info_def): New structure declaration. | |
16372 | (spec_info_t): New typedef. | |
16373 | (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec, | |
16374 | recovery_block, orig_pat. | |
16375 | (glat_start, glat_end): New variables declaraions. | |
16376 | (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT): | |
16377 | New access macros. | |
16378 | (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB, | |
16379 | DETACH_LIFE_INFO, USE_GLAT. | |
16380 | (enum SPEC_SCHED_FLAGS): New enumeration. | |
16381 | (NOTE_NOTE_BB_P): New macro. | |
16382 | (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block, | |
16383 | attach_life_info, debug_spec_status, check_reg_live): New functions. | |
16384 | (get_block_head_tail): Change signature to get_ebb_head_tail, adjust | |
16385 | all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c, | |
16386 | sched-ebb.c | |
16387 | (get_dep_weak, ds_merge): Prototype functions from sched-deps.c . | |
16388 | * ddg.c (get_block_head_tail): Adjust all uses. | |
16389 | * modulo-sched.c (get_block_head_tail): Adjust all uses. | |
16390 | (sms_sched_info): Initialize new fields. | |
16391 | (contributes_to_priority): Removed. | |
16392 | * haifa-sched.c (params.h): New include. | |
16393 | (get_block_head_tail): Adjust all uses. | |
16394 | (ISSUE_POINTS): New macro. | |
16395 | (glat_start, glat_end): New global variables. | |
16396 | (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data, | |
16397 | nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header, | |
16398 | old_last_basic_block, before_recovery, current_sched_info_var, | |
16399 | rgn_n_insns, luid): New static variables. | |
16400 | (insn_cost1): New function. Move logic from insn_cost to here. | |
16401 | (find_insn_reg_weight1): New function. Move logic from | |
16402 | find_insn_reg_weight to here. | |
16403 | (reemit_notes, move_insn, max_issue): Change signature. | |
16404 | (move_insn1): Removed. | |
16405 | (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d, | |
16406 | extend_bb): New static functions to support extension of scheduler's | |
16407 | data structures. | |
16408 | (generate_recovery_code, process_insn_depend_be_in_spec, | |
16409 | begin_speculative_block, add_to_speculative_block, | |
16410 | init_before_recovery, create_recovery_block, create_check_block_twin, | |
16411 | fix_recovery_deps): New static functions to support | |
16412 | generation of recovery code. | |
16413 | (fix_jump_move, find_fallthru_edge, dump_new_block_header, | |
16414 | restore_bb_notes, move_block_after_check, move_succs): New static | |
16415 | functions to support ebb scheduling. | |
16416 | (init_glat, init_glat1, attach_life_info1, free_glat): New static | |
16417 | functions to support handling of register live information. | |
16418 | (associate_line_notes_with_blocks, change_pattern, speculate_insn, | |
16419 | sched_remove_insn, clear_priorities, calc_priorities, bb_note, | |
16420 | add_jump_dependencies): New static functions. | |
16421 | (check_cfg, has_edge_p, check_sched_flags): New static functions for | |
16422 | consistancy checking. | |
16423 | (debug_spec_status): New function to call from debugger. | |
16424 | (priority): Added code to handle speculation checks. | |
16425 | (rank_for_schedule): Added code to distinguish speculative instructions. | |
16426 | (schedule_insn): Added code to handle speculation checks. | |
16427 | (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes): | |
16428 | Fixed to handle ebbs. | |
16429 | (move_insn): Added code to handle ebb scheduling. | |
16430 | (max_issue): Added code to use ISSUE_POINTS of instructions. | |
16431 | (choose_ready): Added code to choose between speculative and | |
16432 | non-speculative instructions. | |
16433 | (schedule_block): Added code to handle ebb scheduling and scheduling of | |
16434 | speculative instructions. | |
16435 | (sched_init): Initialize new variables. | |
16436 | (sched_finish): Free new variables. Print statistics. | |
16437 | (try_ready): Added code to handle speculative instructions. | |
16438 | * lists.c (copy_DEPS_LIST_list): New function. | |
16439 | * sched-deps.c (extend_dependency_caches): New function. Move logic | |
16440 | from create_dependency_caches to here. | |
16441 | (get_dep_weak, ds_merge): Make global. | |
16442 | * genattr.c (main): Code to output prototype for | |
16443 | dfa_clear_single_insn_cache. | |
16444 | * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros. | |
16445 | (output_dfa_clean_insn_cache_func): Code to output | |
16446 | dfa_clear_single_insn_cache function. | |
16447 | * sched-ebb.c (target_n_insns): Remove. Adjust all users to use | |
16448 | n_insns. | |
16449 | (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs): | |
16450 | Removed. | |
16451 | (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb): | |
16452 | New static variables. | |
16453 | (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb, | |
16454 | fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from | |
16455 | struct sched_info. | |
16456 | (ebb_sched_info): Initialize new fields. | |
16457 | (get_block_head_tail): Adjust all uses. | |
16458 | (compute_jump_reg_dependencies): Fixed to use glat_start. | |
16459 | (schedule_ebb): Code to remove unreachable last block. | |
16460 | (schedule_ebbs): Added code to update register live information. | |
16461 | * sched-rgn.c (region_sched_info): Initialize new fields. | |
16462 | (get_block_head_tail): Adjust all uses. | |
16463 | (last_was_jump): Removed. Adjust users. | |
16464 | (begin_schedule_ready, add_remove_insn, insn_points, extend_regions, | |
16465 | add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p): | |
16466 | Implement new hooks. | |
16467 | (check_dead_notes1): New static function. | |
16468 | (struct region): New fields: dont_calc_deps, has_real_ebb. | |
16469 | (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros. | |
16470 | (BB_TO_BLOCK): Fixed to handle EBBs. | |
16471 | (EBB_FIRST_BB, EBB_LAST_BB): New macros. | |
16472 | (ebb_head): New static variable. | |
16473 | (debug_regions, contributes_to_priority): Fixed to handle EBBs. | |
16474 | (find_single_block_regions, find_rgns, find_more_rgns): Initialize | |
16475 | new fields. | |
16476 | (compute_dom_prob_ps): New assertion. | |
16477 | (check_live_1, update_live_1): Fixed to work with glat_start instead of | |
16478 | global_live_at_start. | |
16479 | (init_ready_list): New assertions. | |
16480 | (can_schedule_ready_p): Split update code to begin_schedule_ready. | |
16481 | (new_ready): Add support for BEGIN_CONTROL speculation. | |
16482 | (schedule_insns): Fixed code that updates register live information | |
16483 | to handle EBBs. | |
16484 | (schedule_region): Fixed to handle EBBs. | |
16485 | (init_regions): Use extend_regions and check_dead_notes1. | |
16486 | * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY, | |
16487 | PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters. | |
16488 | * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED, | |
16489 | TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, | |
16490 | TARGET_SCHED_GEN_CHECK, | |
16491 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
16492 | TARGET_SCHED_SET_SCHED_FLAGS): Document. | |
16493 | * doc/invoke.texi (max-sched-insn-conflict-delay, | |
16494 | sched-spec-prob-cutoff): Document. | |
16495 | ||
16496 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
16497 | ||
16498 | * sched-int.h (struct haifa_insn_data): New fields: resolved_deps, | |
16499 | inter_tick, queue_index. | |
16500 | (struct sched_info): Change signature of init_ready_list field. | |
16501 | Adjust all initializations. | |
16502 | (RESOLVED_DEPS): New access macro. | |
16503 | (ready_add): Remove prototype. | |
16504 | (try_ready): Add prototype. | |
16505 | * sched-rgn.c (init_ready_list): Use try_ready. | |
16506 | (schedule_region): Initialize | |
16507 | current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}. | |
16508 | * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info. | |
16509 | (init_ready_list): Use try_ready. | |
16510 | (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority. | |
16511 | * lists.c (remove_list_elem): Remove `static'. | |
16512 | (remove_free_INSN_LIST_elem): New function. | |
16513 | * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes. | |
16514 | * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros. | |
16515 | (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY): | |
16516 | New constants. | |
16517 | (readyp): New variable. | |
16518 | (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready, | |
16519 | change_queue_index, resolve_dep): New static functions. | |
16520 | (try_ready): New function. Adjust callers in sched-rgn.c and | |
16521 | sched-ebb.c to use it instead of ready_add. | |
16522 | (clock_var): Move at the begining of file. | |
16523 | (rank_for_schedule): Fix typo. | |
16524 | (queue_insn): Add assertion. Handle QUEUE_INDEX. | |
16525 | (ready_lastpos): Enforce assertion. | |
16526 | (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument, | |
16527 | update all callers. | |
16528 | (ready_remove_first, ready_remove): Handle QUEUE_INDEX. | |
16529 | (schedule_insn): Rewrite to use try_ready and resolve_dep. | |
16530 | (queue_to_ready): Use free_INSN_LIST_list. | |
16531 | (early_queue_to_ready): Fix typo. | |
16532 | (schedule_block): Init readyp. Move init_ready_list call after the | |
16533 | initialization of clock_var. Fix error in rejecting insn by | |
16534 | targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code | |
16535 | that previously corrected INSN_TICKs. Add code for handling | |
16536 | QUEUE_INDEX. | |
16537 | (set_priorities): Fix typo. | |
16538 | (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX. | |
16539 | Clarify comment and code that keeps current_sched_info->next_tail | |
16540 | non-null. | |
16541 | ||
16542 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
16543 | ||
16544 | * sched-rgn.c (extend_rgns): New static function. | |
16545 | (find_rgns): Use it. | |
16546 | (gather_region_statistics, print_region_statistics): New static | |
16547 | functions. | |
16548 | * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter. | |
16549 | * doc/invoke.texi (max-sched-extend-regions-iters): Document. | |
16550 | ||
16551 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
16552 | Andrey Belevantsev <abel@ispras.ru> | |
16553 | ||
16554 | * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call. | |
16555 | * lists.c (unused_deps_list): New variable. | |
16556 | (free_list): Add assertions to verify the proper distinguishing | |
16557 | between INSN_LISTs and DEPS_LISTs. | |
16558 | (find_list_elem, remove_list_elem, remove_list_node): New static | |
16559 | functions. | |
16560 | (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node, | |
16561 | remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem, | |
16562 | remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions. | |
16563 | (alloc_INSN_LIST): Assert that the list we're working on is indeed | |
16564 | an INSN_LIST. | |
16565 | (free_INSN_LIST_node): Likewise. | |
16566 | * modulo-sched.c (current_sched_info): Initialize flags field. | |
16567 | * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT. | |
16568 | * rtl.def (DEPS_LIST): Define. | |
16569 | * rtl.h: Declare new functions from lists.c. | |
16570 | * sched-deps.c (spec_dependency_cache): New static variable. | |
16571 | (maybe_add_or_update_back_dep_1, add_back_dep): New static functions. | |
16572 | (add_dependence): Change return type to void. Move the logic to ... | |
16573 | (add_or_update_back_dep_1): ... here. Handle speculative dependencies. | |
16574 | (delete_all_dependences): Add comment about forward_dependency_cache. | |
16575 | Handle spec_dependency_cache. Handle DEPS_LISTs. | |
16576 | (fixup_sched_groups): Clarify the change of priority of output | |
16577 | and anti dependencies. | |
16578 | (sched_analyze_2): Adjust add_dependence calls to create data | |
16579 | speculative dependence. | |
16580 | (add_forward_dependence): Renamed to add_forw_dep, change prototype. | |
16581 | Adjust all callers. Handle DEPS_LISTS. | |
16582 | (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in | |
16583 | presence of speculation. | |
16584 | (init_dependency_caches, free_dependency_caches): | |
16585 | Handle spec_dependency_cache. | |
16586 | (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep, | |
16587 | estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status): | |
16588 | New static functions. | |
16589 | (add_or_update_back_dep, add_or_update_back_forw_dep, | |
16590 | add_back_forw_dep, delete_back_forw_dep): New functions. | |
16591 | * sched-int.h (ds_t, dw_t): New typedefs. | |
16592 | (struct sched_info): Add new field flags. | |
16593 | (struct haifa_insn_data): Add new bitfield has_internal_dep. | |
16594 | Prototype new sched-deps.c functions. | |
16595 | (HAS_INTERNAL_DEP, DEP_STATUS): New access macros. | |
16596 | (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK, | |
16597 | MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA, | |
16598 | BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC, | |
16599 | SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE, | |
16600 | SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP): | |
16601 | New constants. | |
16602 | (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS): | |
16603 | New enums. | |
16604 | * sched-rgn.c (current_sched_info): Initialize flags field. | |
16605 | (schedule_insns): Initialize current_sched_info before the sched_init | |
16606 | call. | |
16607 | * sched-ebb.c (current_sched_info): Initialize flags field. | |
16608 | (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P. | |
16609 | Call add_or_update_back_dep instead of add_dependence. | |
16610 | Create control speculative dependencies. | |
16611 | (schedule_insns): Initialize current_sched_info before the sched_init | |
16612 | call. | |
16613 | ||
16614 | 2006-03-16 Kaz Kojima <kkojima@gcc.gnu.org> | |
16615 | ||
16616 | * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set | |
16617 | fs->signal_frame. | |
16618 | (sh_fallback_frame_state): Likewise. | |
16619 | ||
16620 | 2006-03-15 Geoffrey Keating <geoffk@apple.com> | |
16621 | ||
16622 | * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports. | |
16623 | Do switch on default_use_cxa_atexit. | |
16624 | (powerpc*-*-darwin*): Build crt2.o on powerpc. | |
16625 | * config/darwin-crt3.o: New. | |
16626 | * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default | |
16627 | to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use. | |
16628 | (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate | |
16629 | OS version. | |
16630 | * config/rs6000/t-darwin: Move crt2.o building to here. | |
16631 | * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update | |
16632 | Mac OS version for using __cxa_get_exception_ptr. Don't test versions | |
16633 | of __cxa_atexit. | |
16634 | ||
16635 | 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
16636 | ||
16637 | * config/vax/vax.c (nonindexed_address_p): Change logical negation | |
16638 | from '! xxx' to '!xxx' for coding-style conformance. | |
16639 | * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise. | |
16640 | (EXTRA_CONSTRAINT): Likewise. | |
16641 | * config/vax/vax.md (four unnamed insns): Likewise. | |
16642 | ||
16643 | 2006-03-15 Paul Brook <paul@codesourcery.com> | |
16644 | ||
16645 | * config/arm/arm.c (minipool_pad): New. | |
16646 | (add_minipool_forward_ref): Include pool alignment padding in address | |
16647 | calculation. | |
16648 | (push_minipool_fix): Set minipool_pad. | |
16649 | (minipool_pad): Ditto. | |
16650 | ||
16651 | 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
16652 | ||
16653 | * config/vax/vax.c (split_quadword_operands): Use MEM_P() | |
16654 | instead of GET_CODE() == MEM and REG_P() instead of | |
16655 | GET_CODE() == REG. | |
16656 | (print_operand_address): Likewise. | |
16657 | (vax_address_cost): Likewise. | |
16658 | (vax_rtx_costs): Likewise. | |
16659 | (vax_notice_update_cc): Likewise. | |
16660 | (vax_output_int_add): Likewise. | |
16661 | (INDEX_REGISTER_P): Likewise. | |
16662 | (BASE_REGISTER_P): Likewise. | |
16663 | (nonindexed_address_p): Likewise. | |
16664 | (vax_mode_dependent_address_p): Likewise. | |
16665 | * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise. | |
16666 | (PRINT_OPERAND): Likewise. | |
16667 | * config/vax/vax.md (ashlsi3): Likewise. | |
16668 | (ashlsi3): Likewise. | |
16669 | (some more unnamed insns): Likewise. | |
16670 | ||
16671 | 2006-03-15 Kazu Hirata <kazu@codesourcery.com> | |
16672 | ||
16673 | * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an | |
16674 | iterator-style macro. | |
16675 | (mark_control_dependent_edges_necessary): Update the use of | |
16676 | EXECUTE_IF_CONTROL_DEPENDENT. | |
16677 | ||
16678 | 2006-03-15 J"orn Rennecke <joern.rennecke@st.com> | |
16679 | ||
16680 | * config/sh/predicates.md (cache_address_operand): Special. | |
16681 | (ua_address_operand): Likewise. | |
16682 | ||
16683 | 2006-03-15 Zdenek Dvorak <dvorakz@suse.cz> | |
16684 | ||
16685 | * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle | |
16686 | loop notes. | |
16687 | * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto. | |
16688 | ||
16689 | 2006-03-15 Andreas Schwab <schwab@suse.de> | |
16690 | ||
16691 | * gensupport.c (identify_predicable_attribute): Don't free p_false | |
16692 | when it is still in use. | |
16693 | ||
16694 | 2006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr> | |
16695 | ||
16696 | * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify | |
16697 | the default setting here. | |
16698 | ||
16699 | 2006-03-14 Steven Bosscher <stevenb.gcc@gmail.com> | |
16700 | ||
16701 | * tree-pass.h (pass_cfg): Remove. | |
16702 | * alias.c (rest_of_handle_cfg, pass_cfg): Remove. | |
16703 | * passes.c (pass_cfg): Don't run it. | |
16704 | ||
16705 | 2006-03-14 Kazu Hirata <kazu@codesourcery.com> | |
16706 | ||
16707 | * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h. | |
16708 | * reg-stack.c (stack_regs_mentioned_data): Change the type to | |
16709 | VEC(char,heap) *. | |
16710 | (stack_regs_mentioned): Update the uses of | |
16711 | stack_regs_mentioned_data. Don't access the array beyond its | |
16712 | end. | |
16713 | (reg_to_stack): Update the uses of stack_regs_mentioned_data. | |
16714 | Don't include gt-reg-stack.h. | |
16715 | ||
16716 | * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove. | |
16717 | * system.h (UNALIGNED_WORD_ASM_OP): Poison. | |
16718 | ||
16719 | * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove. | |
16720 | ||
16721 | PR middle-end/26684 | |
16722 | * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef | |
16723 | STACK_REGS. | |
16724 | ||
16725 | 2006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
16726 | ||
16727 | * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo. | |
16728 | ||
16729 | 2006-03-14 Richard Guenther <rguenther@suse.de> | |
16730 | ||
16731 | PR tree-optimization/26672 | |
16732 | * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in | |
16733 | SSA form. | |
16734 | ||
16735 | 2006-03-14 Richard Guenther <rguenther@suse.de> | |
16736 | ||
16737 | PR tree-optimization/26667 | |
16738 | * ipa-inline.c (cgraph_check_inline_limits): Walk the correct | |
16739 | node for the callees. Always allow inlining if it will shrink | |
16740 | the function size. | |
16741 | ||
16742 | 2006-03-14 Richard Guenther <rguenther@suse.de> | |
16743 | ||
16744 | PR middle-end/26659 | |
16745 | * builtins.c (get_pointer_alignment): Prefer alignment | |
16746 | information from decls over that from types. | |
16747 | ||
16748 | 2006-03-14 Andrew Pinski <pinskia@physics.uc.edu> | |
16749 | ||
16750 | PR target/26657 | |
16751 | * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp. | |
16752 | ||
16753 | 2006-03-14 Joseph S. Myers <joseph@codesourcery.com> | |
16754 | ||
16755 | * config/rs6000/rs6000.opt (mdlmzb): New option. | |
16756 | (msched-prolog, msched-epilog): Use Var not Mask. | |
16757 | * doc/invoke.texi (-mdlmzb): Document. | |
16758 | * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove | |
16759 | MASK_SCHED_PROLOG. | |
16760 | (rs6000_override_options): Enable -mdlmzb for 405 and 440. | |
16761 | * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440. | |
16762 | ||
16763 | 2006-03-13 Uttam Pawar <uttamp@us.ibm.com> | |
16764 | ||
16765 | PR rtl-optimization/25739 | |
16766 | * bt-load.c (augment_live_range): Free tos pointer. | |
16767 | ||
16768 | * gensupport.c (identify_predicable_attribute): Free | |
16769 | p_false pointer. | |
16770 | * gcov.c (create_file_names): Free name pointer. | |
16771 | ||
16772 | 2006-03-13 Roger Sayle <roger@eyesopen.com> | |
16773 | ||
16774 | PR middle-end/26557 | |
16775 | * stmt.c (emit_case_nodes): Handle the case where the index is a | |
16776 | CONST_INT, where the comparison mode is specified by the index type. | |
16777 | ||
16778 | 2006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
16779 | ||
16780 | * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O | |
16781 | is defined. | |
16782 | ||
16783 | 2006-03-13 Richard Sandiford <richard@codesourcery.com> | |
16784 | ||
16785 | * config/mips/mips.md (*branch_fp): Use %Z2 for the condition. | |
16786 | (*branch_fp_inverted): Likewise. | |
16787 | ||
16788 | 2006-03-13 Jakub Jelinek <jakub@redhat.com> | |
16789 | ||
16790 | PR middle-end/25989 | |
16791 | * omp-low.c (expand_omp_for_generic): Mark istart0 | |
16792 | and iend0 as addressable. | |
16793 | ||
16794 | 2006-03-13 Jie Zhang <jie.zhang@analog.com> | |
16795 | ||
16796 | * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC. | |
16797 | ||
16798 | 2006-03-13 Jeff Law <law@redhat.com> | |
16799 | ||
16800 | * tree-vrp.c (stmt_interesting_for_vrp): Some statements with | |
16801 | virtual operands are interesting. | |
16802 | (vrp_visit_stmt): Corresponding changes. | |
16803 | ||
16804 | 2006-03-13 Bernd Schmidt <bernd.schmidt@analog.com> | |
16805 | ||
16806 | * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents | |
16807 | of RETS. | |
16808 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If | |
16809 | TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__. | |
16810 | * config/bfin/crti.S: Use it instead of __PIC__. | |
16811 | * config/bfin/crtn.S: Likewise. | |
16812 | ||
16813 | * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol, | |
16814 | call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY, | |
16815 | not if flag_pic. | |
16816 | Lose 'G' modifier for call operand. | |
16817 | * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't | |
16818 | recognize 'G' modifier. | |
16819 | ||
16820 | 2006-03-13 Eric Botcazou <ebotcazou@adacore.com> | |
16821 | ||
16822 | PR middle-end/18859 | |
16823 | * gimplify.c (gimplify_switch_expr): Discard empty ranges. | |
16824 | * stmt.c (expand_case): Likewise. | |
16825 | ||
16826 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
16827 | ||
16828 | PR rtl-optimization/26254 | |
16829 | * loop-invariant.c (seq_insns_valid_p): New function. | |
16830 | (move_invariant_reg): Only emit new code if it is valid. | |
16831 | ||
16832 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
16833 | ||
16834 | * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p): | |
16835 | Removed. | |
16836 | (force_nonfallthru_and_redirect): Do not use last_loop_beg_note. | |
16837 | (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p. | |
16838 | (commit_one_edge_insertion): Do not look for loop notes. | |
16839 | ||
16840 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
16841 | ||
16842 | * jump.c (follow_jumps): Do not check for loop notes. Move check for | |
16843 | flag_test_coverage out of loop. | |
16844 | ||
16845 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
16846 | ||
16847 | * final.c (shorten_branches): Remove outdated comment, and turn | |
16848 | the if branch that guards it to continue. | |
16849 | ||
16850 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
16851 | ||
16852 | * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field. | |
16853 | * cfgloop.h (struct loop): Remove unused fields. | |
16854 | ||
16855 | 2006-03-13 Kazu Hirata <kazu@codesourcery.com> | |
16856 | ||
16857 | * doc/invoke.texi (-fdump-rtl-loop): Remove. | |
16858 | (-dL, -fdump-rtl-loop2): Update the dump file names | |
16859 | ||
16860 | * doc/invoke.texi: Update dump file names. | |
16861 | ||
16862 | 2006-03-12 Steven Bosscher <stevenb.gcc@gmail.com> | |
16863 | ||
16864 | * predict.c (estimate_probability): Remove. | |
16865 | * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove. | |
16866 | * basic-block.h (estimate_probability): Remove prototype. | |
16867 | * passes.c (finish_optimization_passes): Dump branch prediction or | |
16868 | profiling heuristics to the .profile tree dump. | |
16869 | (init_optimization_passes): Unqueue pass_branch_prob. | |
16870 | ||
16871 | * doc/invoke.texi (-fdump-rtl-bp): Remove. | |
16872 | ||
16873 | 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> | |
16874 | ||
16875 | * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF. | |
16876 | * rtl.h (LABEL_NEXTREF): Remove field accessor. | |
16877 | ||
16878 | 2006-03-11 Eric Botcazou <ebotcazou@adacore.com> | |
16879 | ||
16880 | * function.h (frame_offset_overflow): Declare. | |
16881 | * function.c (frame_offset_overflow): New function. | |
16882 | (assign_stack_local_1): Call it to detect that the offset overflows. | |
16883 | * cfgexpand.c (alloc_stack_frame_space): Likewise. | |
16884 | ||
16885 | 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> | |
16886 | ||
16887 | * config/sh/sh.c: Include alloc-pool.h. | |
16888 | (label_ref_list_pool): New alloc pool. | |
16889 | (label_ref_list_t): New type for lists of labels. | |
16890 | (struct pool_node): Make wend a label_ref_list_t. | |
16891 | (add_constant): Use the new type, eradicate LABEL_NEXTREF | |
16892 | references. | |
16893 | (dump_table): Likewise. | |
16894 | (sh_reorg): Set up the alloc pool before using add_constant and | |
16895 | dump_table, and destroy it when finishing. | |
16896 | ||
16897 | 2006-03-11 Richard Sandiford <richard@codesourcery.com> | |
16898 | ||
16899 | * config/mips/mips.c: Remove redundant comment. | |
16900 | ||
16901 | 2006-03-10 Jason Merrill <jason@redhat.com> | |
16902 | ||
16903 | PR c/26004 | |
16904 | * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if | |
16905 | the target was declared 'register'. | |
16906 | ||
16907 | 2006-03-10 Adam Nemet <anemet@caviumnetworks.com> | |
16908 | ||
16909 | * genpreds.c (write_insn_constraint_len): Change definition of | |
16910 | insn_constraint_len to return size_t to match the declaration. | |
16911 | ||
16912 | 2006-03-10 DJ Delorie <dj@redhat.com> | |
16913 | ||
16914 | * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers | |
16915 | start at zero. | |
16916 | (m32c_expand_insv): Fix test for an AND mask. | |
16917 | ||
16918 | 2006-03-10 Richard Guenther <rguenther@suse.de> | |
16919 | ||
16920 | PR middle-end/26565 | |
16921 | * builtins.c (get_pointer_alignment): Handle component | |
16922 | references for field alignment. | |
16923 | ||
16924 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> | |
16925 | ||
16926 | * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h | |
16927 | when building with libgloss. | |
16928 | (sh*elf): Implement --without-fp option. | |
16929 | (sh64-superh-linux*): Don't multilib. | |
16930 | ||
16931 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> | |
16932 | ||
16933 | * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. | |
16934 | ||
16935 | 2006-03-09 Andrew Pinski <pinskia@physics.uc.edu> | |
16936 | ||
16937 | * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable. | |
16938 | Set it when one of the replacement functions returned true. | |
16939 | Return TODO_cleanup_cfg if cfgchanged is true. | |
16940 | (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg. | |
16941 | ||
16942 | 2006-03-09 Adam Nemet <anemet@caviumnetworks.com> | |
16943 | ||
16944 | * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate | |
16945 | instead of gen_lowpart. | |
16946 | ||
16947 | 2006-03-09 Richard Sandiford <richard@codesourcery.com> | |
16948 | ||
16949 | * config/mips/mips-protos.h (mips_output_conditional_branch): Change | |
16950 | interface. | |
16951 | (mips_output_order_conditional_branch): Declare. | |
16952 | * config/mips/mips.h (MIPS_BRANCH): New macro. | |
16953 | * config/mips/mips.c (gen_conditional_branch): Use VOIDmode | |
16954 | for the comparison. Use gen_condjump. | |
16955 | (mips_output_conditional_branch): Rework interface to take the | |
16956 | asm templates for a direct branch and the inverse of a direct branch. | |
16957 | (mips_output_order_conditional_branch): New function. | |
16958 | (mips_builtin_branch_and_move): New function. | |
16959 | (mips_expand_builtin_compare): Use it. Use VOIDmode for the | |
16960 | branch condition. Use gen_single_cc as the condition for | |
16961 | __builtin_mips_upper_* or __builtin_mips_lower_*. | |
16962 | (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move. | |
16963 | Use VOIDmode for the branch condition. | |
16964 | * config/mips/predicates.md (order_operator): New predicate. | |
16965 | * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant. | |
16966 | (branch_fp): Rename to... | |
16967 | (*branch_fp): ...this. Remove mode from comparison operator. | |
16968 | Use new mips_output_conditional_branch interface. | |
16969 | (branch_fp_inverted): Rename to... | |
16970 | (*branch_fp_inverted): ...this and update as for *branch_fp. | |
16971 | (*branch_zero<mode>): Rename to... | |
16972 | (*branch_order<mode>): ...this. Remove mode from comparison operator. | |
16973 | Use mips_output_order_conditional_branch. Only accept ordered | |
16974 | comparisons. | |
16975 | (*branch_zero<mode>_inverted): Rename to... | |
16976 | (*branch_order<mode>_inverted): ...this and update as for | |
16977 | *branch_order<mode>. | |
16978 | (*branch_equality<mode>): Accept zero as the second operand to | |
16979 | the equality operator. Use the new mips_output_conditional_branch | |
16980 | interface. | |
16981 | (*branch_equality<mode>_inverted): Likewise. | |
16982 | (condjump): New expander. | |
16983 | * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison | |
16984 | operator. | |
16985 | * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise. | |
16986 | (bc1any2t, bc1any2f): Likewise. | |
16987 | (single_cc): New expander. | |
16988 | (*branch_upper_lower, *branch_upper_lower_inverted): New patterns. | |
16989 | ||
16990 | 2006-03-09 Richard Sandiford <richard@codesourcery.com> | |
16991 | ||
16992 | * doc/md.texi: Update documentation of MIPS constraints. | |
16993 | * config/mips/constraints.md: New file. | |
16994 | * config/mips/mips.md: Include it. | |
16995 | * config/mips/mips.c (mips_char_to_class): Delete. | |
16996 | (override_options): Don't initialize mips_char_to_class. | |
16997 | * config/mips/mips.h (mips_char_to_class): Delete. | |
16998 | (REG_CLASS_FROM_LETTER): Delete. | |
16999 | (CONST_OK_FOR_LETTER_P): Delete. | |
17000 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
17001 | (EXTRA_CONSTRAINT_Y): Delete. | |
17002 | (EXTRA_CONSTRAINT_STR): Delete. | |
17003 | (CONSTRAINT_LEN): Delete. | |
17004 | (EXTRA_MEMORY_CONSTRAINT): Delete. | |
17005 | ||
17006 | 2006-03-09 Diego Novillo <dnovillo@redhat.com> | |
17007 | ||
17008 | * tree-cfg.c (move_block_to_fn): Remove the statements from the | |
17009 | original fn's eh regions. | |
17010 | ||
17011 | 2006-03-09 Eric Botcazou <ebotcazou@adacore.com> | |
17012 | ||
17013 | * fold-const.c (build_range_check): Make sure to use a valid type to | |
17014 | apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)" | |
17015 | transformation. | |
17016 | ||
17017 | (range_predecessor): New static function. | |
17018 | (range_successor): Likewise. | |
17019 | (merge_ranges): Use them to compute predecessors and successors of | |
17020 | range bounds. | |
17021 | ||
17022 | 2006-03-09 Roger Sayle <roger@eyesopen.com> | |
17023 | ||
17024 | PR middle-end/26561 | |
17025 | * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as | |
17026 | X op C3, consider whether C3 overflows towards +Inf or -Inf. | |
17027 | ||
17028 | 2006-03-08 DJ Delorie <dj@redhat.com> | |
17029 | ||
17030 | * config/m32c/addsub.md (addqi3): Disparage a0/a1. | |
17031 | (addpsi3): Expand to include memory operands. Remove | |
17032 | reload-specific splits. | |
17033 | * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New. | |
17034 | (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New. | |
17035 | (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New. | |
17036 | (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders. | |
17037 | (shift1_qi, shift1_hi, insv): New. | |
17038 | * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove. | |
17039 | (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed, | |
17040 | cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc, | |
17041 | cond_to_int): New. | |
17042 | * config/m32c/m32c-protos.h: Update as needed. | |
17043 | * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't | |
17044 | default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1. | |
17045 | Fail for unrecognized R* constraints. | |
17046 | (m32c_cannot_change_mode_class): Be more picky about pseudos. | |
17047 | (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00. | |
17048 | (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)). | |
17049 | Add Sp constraint. | |
17050 | (m32c_init_libfuncs): New. | |
17051 | (m32c_legitimate_address_p): Add debug wrapper. | |
17052 | (m32c_rtx_costs): New. | |
17053 | (m32c_address_cost): New. | |
17054 | (conversions): Add 'B' prefix. | |
17055 | (m32c_print_operand): 'h' and 'H' pick lower and upper halves of | |
17056 | operands, or word regnames for QI operands. 'B' prints bit | |
17057 | position. | |
17058 | (m32c_expand_setmemhi): New. | |
17059 | (m32c_expand_movmemhi): New. | |
17060 | (m32c_expand_movstr): New. | |
17061 | (m32c_expand_cmpstr): New. | |
17062 | (m32c_prepare_shift): Shift counts are limited to 16 bits at a time. | |
17063 | (m32c_expand_neg_mulpsi3): Handle non-ints. | |
17064 | (m32c_cmp_flg_0): New. | |
17065 | (m32c_expand_movcc): New. | |
17066 | (m32c_expand_insv): New. | |
17067 | (m32c_scc_pattern): New. | |
17068 | * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take | |
17069 | a0/a1 out of SIregs. | |
17070 | (STORE_FLAG_VALUE): New. | |
17071 | * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and | |
17072 | code macros. | |
17073 | (no_insn): New. | |
17074 | * config/m32c/mov.md: Make constraints more liberal. | |
17075 | (zero_extendqihi2): Optimize r0/r1 case. | |
17076 | * config/m32c/muldiv.md (mulpsi3): Check for intvals. | |
17077 | * config/m32c/predicates.md (m32c_any_operand): New. | |
17078 | (m32c_nonimmediate_operand): New. | |
17079 | (m32c_hl_operand): New. | |
17080 | (m32c_r3_operand): New. | |
17081 | (ap_operand): New. | |
17082 | (ma_operand): New. | |
17083 | (memsym_operand): New. | |
17084 | (memimmed_operand): New. | |
17085 | (a_qi_operand): New. | |
17086 | (m32c_eqne_operator): New. | |
17087 | (m32c_1bit8_operand): New. | |
17088 | (m32c_1bit16_operand): New. | |
17089 | (m32c_1mask8_operand): New. | |
17090 | (m32c_1mask16_operand): New. | |
17091 | * config/m32c/blkmov.md: New file. | |
17092 | * config/m32c/t-m32c (MD_FILES): Add blkmov. | |
17093 | ||
17094 | 2006-03-08 Andreas Tobler <a.tobler@schweiz.ch> | |
17095 | ||
17096 | * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum | |
17097 | unsigned to fix signed/unsigned comparison issue in | |
17098 | DWARF2_FRAME_REG_OUT. | |
17099 | (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/ | |
17100 | unsigned comparison issue in DWARF2_FRAME_REG_OUT. | |
17101 | ||
17102 | * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration | |
17103 | of ptr into the ENABLE_CHECKING section. | |
17104 | ||
17105 | 2006-03-08 Jeff Law <law@redhat.com> | |
17106 | ||
17107 | * tree-vrp.c (infer_value_range): Only count pointer uses | |
17108 | and dereferences if -fdelete-null-pointer-checks is enabled. | |
17109 | ||
17110 | * tree-vrp.c (find_assert_locations): Infer value ranges for | |
17111 | single use pointers, but do not create ASSERT_EXPRs for them. | |
17112 | When a non-null range is inferred for a pointer, backwards | |
17113 | propagate that range to other equivalent pointers through the | |
17114 | use-def chain. | |
17115 | ||
17116 | 2006-03-08 Paolo Bonzini <bonzini@gnu.org> | |
17117 | ||
17118 | PR bootstrap/26500 | |
17119 | * Makefile.in (dvi, html, install-info): Invoke the corresponding | |
17120 | language hook targets. | |
17121 | * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in, | |
17122 | objcp/Make-lang.in: Create stub rules for dvi, html, install-info | |
17123 | if language hook targets were missing. | |
17124 | ||
17125 | 2006-03-07 Zdenek Dvorak <dvorakz@suse.cz> | |
17126 | ||
17127 | * tree-ssa-opfinalize.h: Removed. | |
17128 | * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h | |
17129 | dependency. | |
17130 | * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h. | |
17131 | (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, | |
17132 | INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op, | |
17133 | add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops, | |
17134 | finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops, | |
17135 | finalize_ssa_v_must_def_ops): New. | |
17136 | ||
17137 | 2006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com> | |
17138 | ||
17139 | * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong | |
17140 | block as parameter. | |
17141 | ||
17142 | 2006-03-07 Geoffrey Keating <geoffk@apple.com> | |
17143 | ||
17144 | * varasm.c (assemble_end_function): Say that 'fnname' is unused. | |
17145 | ||
17146 | * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin | |
17147 | addresses with offsets; reorganize. | |
17148 | ||
17149 | * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file. | |
17150 | (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT. | |
17151 | (expand_builtin_init_dwarf_reg_sizes): Likewise. | |
17152 | ||
17153 | 2006-03-08 David Billinghurst <David.Billinghurst@riotinto.com> | |
17154 | ||
17155 | PR target/26588 | |
17156 | * config/i386/cygwin.h (GOMP_SELF_SPECS): Define. | |
17157 | ||
17158 | 2006-03-08 Ben Elliston <bje@au.ibm.com> | |
17159 | ||
17160 | * config/fp-bit.h (CMPtype): Typedef to a word mode integer. | |
17161 | ||
17162 | 2006-03-07 Aldy Hernandez <aldyh@redhat.com> | |
17163 | ||
17164 | PR gomp/26238 | |
17165 | * doc/passes.texi (Tree-SSA passes): Document omp lowering and | |
17166 | expansion. | |
17167 | ||
17168 | 2006-03-07 Richard Guenther <rguenther@suse.de> | |
17169 | ||
17170 | PR tree-optimization/26587 | |
17171 | * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR. | |
17172 | ||
17173 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> | |
17174 | ||
17175 | * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION. | |
17176 | ||
17177 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> | |
17178 | ||
17179 | * hooks.c (hook_bool_mode_rtx_true): New function. | |
17180 | * hooks.h (hook_bool_mode_rtx_true): Declare. | |
17181 | * toplev.c (compile_file): Call output_shared_constant_pool. | |
17182 | * varasm.c (shared_constant_pool): New variable. | |
17183 | (assemble_start_function, assemble_end_function): Remove arguments | |
17184 | from call to output_constant_pool. | |
17185 | (create_constant_pool): New function, split out from... | |
17186 | (init_varasm_status): ...here. | |
17187 | (force_const_mem): Choose between the shared and per-function constant | |
17188 | pools. Set current_function_uses_const_pool when reusing old entries | |
17189 | as well as when creating new ones. | |
17190 | (mark_constant): Ignore data argument. | |
17191 | (mark_constants): Remove pool argument. | |
17192 | (mark_constant_pool): Likewise. Use current_function_uses_const_pool | |
17193 | to decide whether the function uses a constant pool. | |
17194 | (output_constant_pool_contents): New function, split out from... | |
17195 | (output_constant_pool): ...here. | |
17196 | (output_shared_constant_pool): New function. | |
17197 | (init_varasm_once): Initialize shared_constant_pool. | |
17198 | * output.h (output_constant_pool): Delete. | |
17199 | (output_shared_constant_pool): Declare. | |
17200 | * config/s390/s390-protos.h (s390_output_constant_pool): Delete. | |
17201 | * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override. | |
17202 | ||
17203 | 2006-03-06 Nick Clifton <nickc@redhat.com> | |
17204 | ||
17205 | * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to | |
17206 | flag_strength_reduce. | |
17207 | ||
17208 | 2006-03-06 Ben Elliston <bje@au.ibm.com> | |
17209 | ||
17210 | * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and | |
17211 | x86_64-*-linux* configurations. | |
17212 | ||
17213 | * config/dfp-bit.h (CMPtype): Typedef to a word mode integer. | |
17214 | (LIBGCC2_WORDS_BIG_ENDIAN): Define. | |
17215 | ||
17216 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> | |
17217 | ||
17218 | * tree-ssa-threadupdate.c (rediscover_loops_after_threading): | |
17219 | Remove. | |
17220 | * basic-block.h: Remove the extern for | |
17221 | rediscover_loops_after_threading. | |
17222 | ||
17223 | * cfgloop.c (cancel_loop): Make it static. | |
17224 | * cfgloop.h: Remove the prototype for cancel_loop. | |
17225 | ||
17226 | * flow.c (recompute_reg_usage): Make it static. | |
17227 | * rtl.h: Remove the prototype for recompute_reg_usage. | |
17228 | ||
17229 | * function.c (use_return_register): Make it static. | |
17230 | * function.h: Remove the prototype. | |
17231 | ||
17232 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> | |
17233 | ||
17234 | * recog.c (volatile_mem_p, validate_change_maybe_volatile): | |
17235 | Remove. | |
17236 | * recog.h: Remove the prototype for | |
17237 | validate_change_maybe_volatile. | |
17238 | ||
17239 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> | |
17240 | ||
17241 | * rtlanal.c (replace_reg): Remove. | |
17242 | * rtl.h: Remove the prototype for replace_reg. | |
17243 | ||
17244 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> | |
17245 | ||
17246 | * regclass.c (reg_scan_update): Remove. | |
17247 | (reg_scan_mark_refs): Remove the last argument. | |
17248 | * rtl.h: Remove the prototype for reg_scan_update. | |
17249 | ||
17250 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
17251 | ||
17252 | * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c, | |
17253 | combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c, | |
17254 | config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c, | |
17255 | config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c, | |
17256 | df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c, | |
17257 | loop-invariant.c, omp-low.c, opts.c, passes.c, | |
17258 | rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c, | |
17259 | tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, | |
17260 | tree-ssa-structalias.c, tree-ssa-threadedge.c, | |
17261 | tree-ssa-threadupdate.c, tree-vect-patterns.c, | |
17262 | tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c, | |
17263 | unwind-dw2.c: Fix comment typos. Follow spelling conventions. | |
17264 | ||
17265 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
17266 | ||
17267 | * dwarf2out.c (dwarf2out_add_library_unit_info): Remove. | |
17268 | * dwarf2out.h: Remove the prototype for | |
17269 | dwarf2out_add_library_unit_info. | |
17270 | ||
17271 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
17272 | ||
17273 | * tree.c (add_var_to_bind_expr): Remove. | |
17274 | * tree.h: Remove the prototype for add_var_to_bind_expr. | |
17275 | ||
17276 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
17277 | ||
17278 | * regclass.c (n_non_fixed_regs): Remove. | |
17279 | (init_reg_sets_1, globalize_reg): Remove all uses of | |
17280 | n_non_fixed_regs. | |
17281 | * hard-reg-set.h: Remove the extern for n_non_fixed_regs. | |
17282 | ||
17283 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
17284 | ||
17285 | * rtlanal.c (insns_safe_to_move_p): Remove. | |
17286 | * rtl.h: Remove the prototype for insns_safe_to_move_p. | |
17287 | ||
17288 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
17289 | ||
17290 | * expmed.c (expand_mult_add): Remove. | |
17291 | * expr.h: Remove the prototype for expand_mult_add. | |
17292 | ||
17293 | 2006-03-04 Jakub Jelinek <jakub@redhat.com> | |
17294 | ||
17295 | * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET | |
17296 | and REG_SAVED_VAL_EXP constants. | |
17297 | * unwind-dw2.c (struct _Unwind_Context): Add by_value array. | |
17298 | (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): | |
17299 | Handle regs stored by value. | |
17300 | (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. | |
17301 | (execute_cfa_program): Handle DW_CFA_val_offset, | |
17302 | DW_CFA_val_offset_sf and DW_CFA_val_expression. | |
17303 | (uw_update_context_1): Handle REG_SAVED_REG with regs stored by | |
17304 | value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. | |
17305 | (uw_install_context_1): Handle target regs stored by value. | |
17306 | ||
17307 | 2006-03-03 Daniel Berlin <dberlin@dberlin.org> | |
17308 | ||
17309 | * tree-sra.c (tree_sra): Return todoflags; | |
17310 | (generate_one_element): Set TODO_update_smt_usage if needed. | |
17311 | (pass_sra): Remove TODO_update_smt_usage. | |
17312 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some | |
17313 | parameter. | |
17314 | (tree_ssa_forward_propagate_single_use_vars): Return | |
17315 | TODO_update_smt_usage if we need to update SMT usage. | |
17316 | (pass_forwprop): Remove TODO_update_smt_usage. | |
17317 | ||
17318 | 2006-03-03 Diego Novillo <dnovillo@redhat.com> | |
17319 | ||
17320 | * tree-ssa-operands.c: Tidy whitespace. Fix spelling. | |
17321 | (correct_use_link): Remove reference to get_stmt_operands. | |
17322 | (update_stmt_operands): Likewise. | |
17323 | (get_modify_expr_operands): New function factored out of | |
17324 | parse_ssa_operands and get_expr_operands. | |
17325 | Try to create V_MUST_DEFs for LHS by default. | |
17326 | (get_expr_operands) <case MODIFY_EXPR>: Call | |
17327 | get_modify_expr_operands. | |
17328 | <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF. | |
17329 | <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS. | |
17330 | (parse_ssa_operands) <case MODIFY_EXPR>: Call | |
17331 | get_modify_expr_operands. | |
17332 | ||
17333 | 2006-03-03 Kazu Hirata <kazu@codesourcery.com> | |
17334 | ||
17335 | * tree-dfa.c (referenced_var_lookup_if_exists): Remove. | |
17336 | * tree-flow.h: Remove the prototype for | |
17337 | referenced_var_lookup_if_exists. | |
17338 | ||
17339 | 2006-03-03 Steve Ellcey <sje@cup.hp.com> | |
17340 | ||
17341 | PR rtl-optimization/26345 | |
17342 | PR target/19061 | |
17343 | * config/ia64/predicates.md (basereg_operand): Don't look in subregs. | |
17344 | ||
17345 | 2006-03-03 Roger Sayle <roger@eyesopen.com> | |
17346 | ||
17347 | PR tree-optimization/26524 | |
17348 | * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use | |
17349 | fold_convert to create a constant of the appropriate type. | |
17350 | ||
17351 | 2006-03-03 Richard Sandiford <richard@codesourcery.com> | |
17352 | ||
17353 | * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
17354 | SYMBOL_REF_IN_BLOCK_P. | |
17355 | * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead | |
17356 | of SYMBOL_FLAG_IN_BLOCK. | |
17357 | * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P | |
17358 | instead of SYMBOL_REF_IN_BLOCK_P. | |
17359 | * explow.c (use_anchored_address): Likewise. | |
17360 | * rtl.c (rtx_size): Likewise. | |
17361 | * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO | |
17362 | instead of SYMBOL_FLAG_IN_BLOCK. | |
17363 | (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
17364 | SYMBOL_REF_IN_BLOCK_P. | |
17365 | (assemble_variable): Likewise. | |
17366 | (output_constant_def_contents): Likewise. | |
17367 | (output_constant_pool): Likewise. | |
17368 | (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO | |
17369 | instead of SYMBOL_FLAG_IN_BLOCK. | |
17370 | * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
17371 | SYMBOL_REF_IN_BLOCK_P. | |
17372 | (SYMBOL_REF_BLOCK): Likewise. | |
17373 | (SYMBOL_REF_OFFSET): Likewise. | |
17374 | (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
17375 | SYMBOL_REF_IN_BLOCK_P. | |
17376 | (SYMBOL_FLAG_IN_BLOCK): Replace with... | |
17377 | (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this. | |
17378 | (SYMBOL_REF_IN_BLOCK_P): Replace with... | |
17379 | (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this. | |
17380 | ||
17381 | 2006-03-03 Jakub Jelinek <jakub@redhat.com> | |
17382 | ||
17383 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. | |
17384 | ||
17385 | 2006-03-02 Roger Sayle <roger@eyesopen.com> | |
17386 | ||
17387 | * simplify-rtx.c (simplify_unary_operation): When simplifying | |
17388 | (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure | |
17389 | that we perform the right shift in the appropriate mode, and | |
17390 | then extend or truncate the result to requested mode. | |
17391 | ||
17392 | 2006-03-03 Zdenek Dvorak <dvorakz@suse.cz> | |
17393 | ||
17394 | * gengtype.c (main): Handle double_int type. | |
17395 | * tree.h (struct tree_int_cst): Make type of int_cst double_int. | |
17396 | * double-int.c: New file. | |
17397 | * double-int.h: New file. | |
17398 | * system.h: Include doubleint.h. | |
17399 | * Makefile.in (SYSTEM_H): Include double-int.h. | |
17400 | (double-int.o): Add. | |
17401 | ||
17402 | 2006-03-03 Joseph S. Myers <joseph@codesourcery.com> | |
17403 | ||
17404 | PR bootstrap/26478 | |
17405 | * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before | |
17406 | copying over it. | |
17407 | ||
17408 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> | |
17409 | ||
17410 | * tree-vrp.c (remove_range_assertions): Do not update statements | |
17411 | unnecessarily. | |
17412 | ||
17413 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> | |
17414 | ||
17415 | * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg | |
17416 | cleanup. | |
17417 | * gcse.c (rest_of_handle_gcse): Ditto. | |
17418 | * except.c (gate_handle_eh): Ditto. | |
17419 | * cfgcleanup.c (rest_of_handle_jump2): Ditto. | |
17420 | * basic-block.h (CLEANUP_PRE_LOOP): Remove. | |
17421 | ||
17422 | 2006-03-02 Eric Christopher <echristo@apple.com> | |
17423 | ||
17424 | * config/i386/i386.c (machopic_output_stub): Add indirection to | |
17425 | jump. | |
17426 | ||
17427 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> | |
17428 | ||
17429 | * loop.c: Removed. | |
17430 | ||
17431 | 2006-03-02 David S. Miller <davem@sunset.davemloft.net> | |
17432 | ||
17433 | Sun Niagara specific optimizations. | |
17434 | * config.gcc: Recognize niagara as target. | |
17435 | * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara. | |
17436 | (TARGET_CPU_niagara): Define. | |
17437 | (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara. | |
17438 | (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara. | |
17439 | (CPP_CPU_SPEC): Handle -mcpu=niagara. | |
17440 | (ASM_CPU_SPEC): Likewise. | |
17441 | (PROCESSOR_NIAGARA): New enum entry. | |
17442 | (REGISTER_MOVE_COST): Handle Niagara. | |
17443 | (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise. | |
17444 | * config/sparc/sparc.c (niagara_costs): New processor_costs entry. | |
17445 | (sparc_override_options): Recognize "niagara", set appropriate | |
17446 | default MASK_* values for it, and align functions to 32-bytes | |
17447 | by default just like ULTRASPARC/ULTRASPARC3. | |
17448 | (sparc_initialize_trampoline): Handle niagara like ultrasparc. | |
17449 | (sparc64_initialize_trampoline): Likewise. | |
17450 | (sparc_use_sched_lookahead): Use zero for niagara. | |
17451 | (sparc_issue_rate): Use one for niagara. | |
17452 | * config/sparc/niagara.md: New file. | |
17453 | * config/sparc/sparc.md: Include it. | |
17454 | * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC, | |
17455 | ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately | |
17456 | when default cpu is niagara. | |
17457 | (CPP_CPU_SPEC): Handle -mcpu=niagara. | |
17458 | (ASM_CPU_SPEC): Likewise. | |
17459 | * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately | |
17460 | when default cpu is niagara. | |
17461 | (ASM_CPU_SPEC): Handle -mcpu=niagara. | |
17462 | * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara | |
17463 | just like v9/ultrasparc/ultrasparc3. | |
17464 | * doc/invoke.texi: Add documentation for "niagara" and improve | |
17465 | existing documentation for ultrasparc variants. | |
17466 | ||
17467 | 2006-03-02 Diego Novillo <dnovillo@redhat.com> | |
17468 | ||
17469 | * tree-ssa-operands.c (update_stmt_operands): Update documentation. | |
17470 | ||
17471 | 2006-03-02 Richard Sandiford <richard@codesourcery.com> | |
17472 | ||
17473 | * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document. | |
17474 | (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS, | |
17475 | and say that only one is needed. | |
17476 | * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null. | |
17477 | * target.h (have_switchable_bss_sections): New hook. | |
17478 | * explow.c (use_anchored_address): Check that the symbol is in a block. | |
17479 | * varasm.c (tls_comm_section, comm_section, lcomm_section) | |
17480 | (bss_noswitch_section): New variables. | |
17481 | (get_unnamed_section): Add SECTION_UNNAMED to the flags. | |
17482 | (get_noswitch_section): New function. | |
17483 | (get_block_for_section): Allow SECT to be null. | |
17484 | (unlikely_text_section_p): Use SECTION_STYLE. | |
17485 | (bss_initializer_p): New function. | |
17486 | (get_variable_section): Move earlier in file. Take a new argument, | |
17487 | prefer_noswitch_p. Move bss checks from assemble_variable to here. | |
17488 | Return one of the new *_sections in such cases. | |
17489 | (get_block_for_decl): New function, extracting some logic from | |
17490 | use_blocks_for_decl_p. | |
17491 | (change_symbol_section): Remove in favor of... | |
17492 | (change_symbol_block): ...this new function. | |
17493 | (use_blocks_for_decl_p): Remove checks now performed by | |
17494 | get_block_for_decl. | |
17495 | (make_decl_rtl): Use change_symbol_block and get_block_for_decl. | |
17496 | (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of... | |
17497 | (emit_local, emit_bss, emit_common): ...these new functions. | |
17498 | Return true if the alignment was honored. | |
17499 | (emit_tls_common): New function. | |
17500 | (asm_emit_uninitialised): Delete. | |
17501 | (assemble_variable_noswitch): New function, split out from... | |
17502 | (assemble_variable): ...here. Don't make decisions about common | |
17503 | variables here. Globalize all public decls that go into non-common | |
17504 | sections. Check whether SYMBOL_REF_BLOCK is null. | |
17505 | (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null. | |
17506 | (output_constant_pool): Likewise. | |
17507 | (init_varasm_once): Initialize the new section variables. | |
17508 | (have_global_bss_p): New function. | |
17509 | (categorize_decl_for_section): Use bss_initializer_p. | |
17510 | (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH. | |
17511 | (place_block_symbol): Assert that the symbol must be in a block. | |
17512 | * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro. | |
17513 | (TARGET_INITIALIZER): Include it. | |
17514 | * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative. | |
17515 | * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros. | |
17516 | (SECTION_MACH_DEP): Bump by two. | |
17517 | (SECTION_UNNAMED, SECTION_NOSWITCH): New macros. | |
17518 | (unnamed_section): Mention SECTION_UNNAMED in comment. | |
17519 | (named_section): Likewise SECTION_NAMED. | |
17520 | (noswitch_section_callback): New type. | |
17521 | (noswitch_section): New structure. | |
17522 | (section): Add a noswitch_section alternative. | |
17523 | (SECTION_STYLE): New macro. | |
17524 | (tls_comm_section, comm_section, lcomm_section): Declare. | |
17525 | (bss_noswitch_section, have_global_bss_p): Declare. | |
17526 | * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. | |
17527 | * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): | |
17528 | Override. | |
17529 | * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. | |
17530 | * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): | |
17531 | Override. | |
17532 | ||
17533 | 2006-03-02 Daniel Berlin <dberlin@dberlin.org> | |
17534 | ||
17535 | * tree-vrp.c (execute_vrp): Return value. | |
17536 | * regrename.c (rest_of_handle_regrename): Ditto. | |
17537 | * tree-into-ssa.c (rewrite_into_ssa): Ditto. | |
17538 | * tree-complex.c (tree_lower_complex): Ditto. | |
17539 | (tree_lower_complex_O0): Ditto. | |
17540 | * tracer.c (rest_of_handle_tracer): Ditto. | |
17541 | * postreload-gcse.c (rest_of_handle_gcse2): Ditto. | |
17542 | * postreload.c (rest_of_handle_postreload): Ditto. | |
17543 | * tree-tailcall.c (execute_tail_recursion): Ditto. | |
17544 | (execute_tail_calls): Ditto. | |
17545 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
17546 | * tree.h (init_function_for_compilation): Ditto. | |
17547 | * ipa-cp.c (ipcp_driver): Ditto. | |
17548 | * tree-scalar-evolution.c (scev_const_prop): Ditto. | |
17549 | * tree-scalar-evolution.h (scev_const_prop): Ditto. | |
17550 | * final.c (compute_alignments): Ditto. | |
17551 | (rest_of_handle_final): Ditto. | |
17552 | (rest_of_handle_shorten_branches): Ditto. | |
17553 | (rest_of_clean_state): Ditto. | |
17554 | * omp-low.c (execute_expand_omp): Ditto. | |
17555 | (execute_lower_omp): Ditto. | |
17556 | * tree-ssa-dse.c (tree_ssa_dse): Ditto. | |
17557 | * ipa-reference.c (static_execute): Ditto. | |
17558 | * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto. | |
17559 | * reorg.c (rest_of_handle_delay_slots): Ditto. | |
17560 | (rest_of_handle_machine_reorg): Ditto. | |
17561 | * cgraphunit.c (rebuild_cgraph_edges): Ditto. | |
17562 | * flow.c (recompute_reg_usage): Ditto. | |
17563 | (rest_of_handle_remove_death_notes): Ditto. | |
17564 | (rest_of_handle_life): Ditto. | |
17565 | (rest_of_handle_flow2): Ditto. | |
17566 | * tree-ssa-copyrename.c (rename_ssa_copies): Ditto. | |
17567 | * tree-ssa-ccp.c (do_ssa_ccp): Ditto. | |
17568 | (do_ssa_store_ccp): Ditto. | |
17569 | (execute_fold_all_builtins): Ditto. | |
17570 | * mode-switching.c (rest_of_handle_mode_switching): Ditto. | |
17571 | * modulo-sched.c (rest_of_handle_sms): Ditto. | |
17572 | * ipa-pure-const.c (static_execute): Ditto. | |
17573 | * cse.c (rest_of_handle_cse): Ditto. | |
17574 | (rest_of_handle_cse2): Ditto. | |
17575 | * web.c (rest_of_handle_web): Ditto. | |
17576 | * tree-stdarg.c (execute_optimize_stdarg): Ditto. | |
17577 | * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto. | |
17578 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. | |
17579 | * tree-nrv.c (tree_nrv): Ditto. | |
17580 | (execute_return_slot_opt): Ditto. | |
17581 | * tree-ssa-alias.c (compute_may_aliases): Ditto. | |
17582 | (create_structure_vars): Ditto. | |
17583 | * loop-init.c (rtl_loop_init): Ditto. | |
17584 | (rtl_loop_done): Ditto. | |
17585 | (rtl_move_loop_invariants): Ditto. | |
17586 | (rtl_unswitch): Ditto. | |
17587 | (rtl_unroll_and_peel_loops): Ditto. | |
17588 | (rtl_doloop): Ditto. | |
17589 | * gimple-low.c (lower_function_body): Ditto. | |
17590 | (mark_used_blocks): Ditto. | |
17591 | * tree-ssa-sink.c (execute_sink_code): Ditto. | |
17592 | * ipa-inline.c (cgraph_decide_inlining): Ditto. | |
17593 | (cgraph_early_inlining): Ditto. | |
17594 | * global.c (rest_of_handle_global_alloc): Ditto. | |
17595 | * jump.c (cleanup_barriers): Ditto. | |
17596 | (purge_line_number_notes): Ditto. | |
17597 | * ifcvt.c (rest_of_handle_if_conversion): Ditto. | |
17598 | (rest_of_handle_if_after_reload): Ditto. | |
17599 | * tree-ssa-loop.c (tree_ssa_loop_init): Ditto. | |
17600 | (tree_ssa_loop_im): Ditto. | |
17601 | (tree_ssa_loop_unswitch): Ditto. | |
17602 | (tree_vectorize): Ditto. | |
17603 | (tree_linear_transform): Ditto. | |
17604 | (tree_ssa_loop_ivcanon): Ditto. | |
17605 | (tree_ssa_empty_loop): Ditto. | |
17606 | (tree_ssa_loop_bounds): Ditto. | |
17607 | (tree_complete_unroll): Ditto. | |
17608 | (tree_ssa_loop_prefetch): Ditto. | |
17609 | (tree_ssa_loop_ivopts): Ditto. | |
17610 | (tree_ssa_loop_done): Ditto. | |
17611 | * predict.c (tree_estimate_probability): Ditto. | |
17612 | * recog.c (split_all_insns_noflow): Ditto. | |
17613 | (rest_of_handle_peephole2): Ditto. | |
17614 | (rest_of_handle_split_all_insns): Ditto. | |
17615 | * tree-eh.c (lower_eh_constructs): Ditto. | |
17616 | * regmove.c (rest_of_handle_regmove): Ditto. | |
17617 | (rest_of_handle_stack_adjustments): Ditto. | |
17618 | * local-alloc.c (rest_of_handle_local_alloc): Ditto. | |
17619 | * function.c (instantiate_virtual_regs): Ditto. | |
17620 | (init_function_for_compilation): Ditto. | |
17621 | (rest_of_handle_check_leaf_regs): Ditto. | |
17622 | * gcse.c (rest_of_handle_jump_bypass): Ditto. | |
17623 | (rest_of_handle_gcse): Ditto. | |
17624 | * ipa-type-escape.c (type_escape_execute): Ditto. | |
17625 | * alias.c (rest_of_handle_cfg): Ditto. | |
17626 | * tree-if-conv.c (main_tree_if_conversion): Ditto. | |
17627 | * profile.c (rest_of_handle_branch_prob): Ditto. | |
17628 | * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto. | |
17629 | * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto. | |
17630 | * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto | |
17631 | * tree-dfa.c (find_referenced_vars): Ditto. | |
17632 | * except.c (set_nothrow_function_flags): Ditto. | |
17633 | (convert_to_eh_region_ranges): Ditto. | |
17634 | (rest_of_handle_eh): Ditto. | |
17635 | * emit-rtl.c (unshare_all_rtl): Ditto. | |
17636 | (remove_unnecessary_notes): Ditto. | |
17637 | * except.h (set_nothrow_function_flags): Ditto. | |
17638 | (convert_to_eh_region_ranges): Ditto. | |
17639 | * cfgexpand.c (tree_expand_cfg): Ditto. | |
17640 | * tree-cfgcleanup.c (merge_phi_nodes): Ditto. | |
17641 | * tree-ssa-pre.c (do_pre): Ditto. | |
17642 | (execute_fre): Ditto. | |
17643 | * cfgcleanup.c (rest_of_handle_jump): Ditto. | |
17644 | (rest_of_handle_jump2): Ditto. | |
17645 | * tree-sra.c (tree_sra): Ditto. | |
17646 | * tree-mudflap.c (execute_mudflap_function_ops): Ditto. | |
17647 | (execute_mudflap_function_decls): Ditto. | |
17648 | * tree-ssa-copy.c (do_copy_prop): Ditto. | |
17649 | (do_store_copy_prop): Ditto. | |
17650 | * ipa-prop.h (ipcp_driver): Ditto. | |
17651 | * cfglayout.c (insn_locators_initialize): Ditto. | |
17652 | * tree-ssa-forwprop.c | |
17653 | (tree_ssa_forward_propagate_single_use_vars): Ditto. | |
17654 | * cfglayout.h (insn_locators_initialize): Ditto. | |
17655 | * tree-ssa-dce.c (tree_ssa_dce): Ditto. | |
17656 | * tree-ssa.c (execute_early_warn_uninitialized): Ditto. | |
17657 | (execute_late_warn_uninitialized): Ditto. | |
17658 | * rtl.h (cleanup_barriers): Ditto. | |
17659 | (split_all_insns_noflow): Ditto. | |
17660 | (purge_line_number_notes): Ditto. | |
17661 | (unshare_all_rtl): Ditto. | |
17662 | (remove_unnecessary_notes): Ditto. | |
17663 | (recompute_reg_usage): Ditto. | |
17664 | (variable_tracking_main): Ditto. | |
17665 | * integrate.c (emit_initial_value_sets): Ditto. | |
17666 | * integrate.h (emit_initial_value_sets): Ditto. | |
17667 | * tree-optimize.c (execute_free_datastructures): Ditto | |
17668 | (execute_free_cfg_annotations): Ditto. | |
17669 | (execute_fixup_cfg): Ditto. | |
17670 | (execute_cleanup_cfg_pre_ipa): Ditto. | |
17671 | (execute_cleanup_cfg_post_optimizing): Ditto. | |
17672 | (execute_init_datastructures): Ditto. | |
17673 | * tree-object-size.c (compute_object_sizes): Ditto. | |
17674 | * combine.c (rest_of_handle_combine): Ditto. | |
17675 | * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto. | |
17676 | * bb-reorder.c (duplicate_computed_gotos): Ditto. | |
17677 | (rest_of_handle_reorder_blocks): Ditto. | |
17678 | (rest_of_handle_partition_blocks): Ditto. | |
17679 | * var-tracking.c (variable_tracking_main): Ditto. | |
17680 | * tree-profile.c (tree_profiling): Ditto. | |
17681 | * tree-vect-generic.c (expand_vector_operations): Ditto. | |
17682 | * reg-stack.c (rest_of_handle_stack_regs): Ditto. | |
17683 | * sched-rgn.c (rest_of_handle_sched): Ditto. | |
17684 | (rest_of_handle_sched2): Ditto. | |
17685 | * basic-block.h (free_bb_insn): Ditto. | |
17686 | * tree-ssa-structalias.c (ipa_pta_execute): Ditto. | |
17687 | * tree-cfg.c (execute_build_cfg): Ditto. | |
17688 | (remove_useless_stmts): Ditto. | |
17689 | (split_critical_edges): Ditto. | |
17690 | (execute_warn_function_return): Ditto. | |
17691 | (execute_warn_function_noreturn): Ditto. | |
17692 | * tree-ssa-reassoc.c (execute_reassoc): Ditto. | |
17693 | * cfgrtl.c (free_bb_for_insn): Ditto. | |
17694 | * passes.c (execute_one_pass): Run additional | |
17695 | todos returned by execute function. | |
17696 | * tree-pass.h (struct tree_opt_pass): Make execute | |
17697 | return a value. | |
17698 | ||
17699 | 2006-03-02 Richard Guenther <rguenther@suse.de> | |
17700 | ||
17701 | * tree-ssa-alias.c (find_used_portions): Consider taking | |
17702 | the address as making the variable not write-only. | |
17703 | ||
17704 | 2006-03-02 Nick Clifton <nickc@redhat.com> | |
17705 | ||
17706 | * config.gcc (default_use_cxa_atexit): Extend the description of | |
17707 | this configure variable. Set its default value to "yes" for | |
17708 | Linux, NetBSD and ELF targets on the assumption that they will | |
17709 | use C libraries with the __cxa_atexit function. | |
17710 | ||
17711 | 2006-03-02 Ben Elliston <bje@au.ibm.com> | |
17712 | ||
17713 | * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs' | |
17714 | parameter as unused to suppress a build warning. | |
17715 | ||
17716 | 2006-03-02 Ben Elliston <bje@au.ibm.com> | |
17717 | ||
17718 | * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile | |
17719 | config/dfp-bit.c. | |
17720 | ||
17721 | 2006-03-01 Roger Sayle <roger@eyesopen.com> | |
17722 | ||
17723 | PR other/26489 | |
17724 | * gthr-posix.h (__gthrw2): Define to take three parameters, the | |
17725 | declared name, the weak reference name, and the typeof name. | |
17726 | (__gthrw): Avoid expanding the declared name suffix. | |
17727 | (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls. | |
17728 | ||
17729 | 2006-03-01 Jakub Jelinek <jakub@redhat.com> | |
17730 | ||
17731 | * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants | |
17732 | from DWARF 3. | |
17733 | (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, | |
17734 | DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, | |
17735 | DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, | |
17736 | DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, | |
17737 | DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. | |
17738 | (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. | |
17739 | (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, | |
17740 | DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. | |
17741 | (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, | |
17742 | DW_DS_leading_separate, DW_DS_trailing_separate): New. | |
17743 | (DW_END_default, DW_END_big, DW_END_little): New. | |
17744 | (DW_END_lo_user, DW_END_hi_user): Define. | |
17745 | (DW_LNE_lo_user, DW_LNE_hi_user): Define. | |
17746 | (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. | |
17747 | (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, | |
17748 | DW_LANG_D): New. | |
17749 | ||
17750 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> | |
17751 | ||
17752 | * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG. | |
17753 | Update all users. | |
17754 | * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage. | |
17755 | Update all users. | |
17756 | (TODO_update_smt_usage): Rename from TODO_update_tmt_usage. | |
17757 | Update all users. | |
17758 | * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE. | |
17759 | Update all users. | |
17760 | * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag' | |
17761 | to 'symbol_mem_tag'. | |
17762 | Update all users. | |
17763 | * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT | |
17764 | rename. | |
17765 | ||
17766 | 2006-03-01 Roger Sayle <roger@eyesopen.com> | |
17767 | ||
17768 | * builtins.c (fold_builtin_copysign): Delete unreachable code. | |
17769 | ||
17770 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> | |
17771 | ||
17772 | PR target/25761 | |
17773 | * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just | |
17774 | MACHO_DYNAMIC_NO_PIC_P. | |
17775 | (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P. | |
17776 | ||
17777 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> | |
17778 | ||
17779 | PR target/26389 | |
17780 | * config/darwin-protos.h (darwin_asm_output_anchor): | |
17781 | Declare. | |
17782 | * config/darwin-sections.def (cstring_section): | |
17783 | Add SECTION_MERGE to the flags. | |
17784 | (literal4_section): Likewise. | |
17785 | (literal8_section): Likewise. | |
17786 | (objc_selector_refs_section): Likewise. | |
17787 | (objc_cls_refs_section): Likewise. | |
17788 | * config/darwin.c (darwin_asm_output_anchor): New | |
17789 | function. | |
17790 | * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define. | |
17791 | ||
17792 | 2006-03-01 Daniel Berlin <dberlin@dberlin.org> | |
17793 | ||
17794 | Fix PR tree-optimization/26443 | |
17795 | * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage | |
17796 | to todo and PROP_tmt_usage to properties_destroyed. | |
17797 | * tree-ssa-ccp.c (pass_ccp): Ditto. | |
17798 | (pass_store_ccp): Ditto. | |
17799 | * tree-ssa-dom.c (pass_dominator): Ditto. | |
17800 | ||
17801 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> | |
17802 | ||
17803 | * tree-ssa-operands.c: Cleanup whitespace. | |
17804 | (get_asm_expr_operands): Move before first invocation. | |
17805 | (get_indirect_ref_operands): Likewise. | |
17806 | (get_tmr_operands): Likewise. | |
17807 | (get_call_expr_operands): Likewise. | |
17808 | (append_def): Likewise. | |
17809 | (append_use): Likewise. | |
17810 | (append_v_may_def): Likewise. | |
17811 | (append_v_must_def): Likewise. | |
17812 | (add_call_clobber_ops): Likewise. | |
17813 | (add_call_read_ops): Likewise. | |
17814 | (add_stmt_operand): Likewise. | |
17815 | (add_virtual_operand): Likewise. | |
17816 | (build_ssa_operands): Likewise. | |
17817 | ||
17818 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> | |
17819 | ||
17820 | PR middle-end/26022 | |
17821 | Revert: | |
17822 | PR middle-end/24437 | |
17823 | * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF | |
17824 | with a call expr to ... | |
17825 | * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. | |
17826 | ||
17827 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> | |
17828 | ||
17829 | * tree-vrp.c (extract_range_from_assert): Remove special | |
17830 | handling for types with super-types. | |
17831 | ||
17832 | 2006-03-01 Ben Elliston <bje@au.ibm.com> | |
17833 | ||
17834 | * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* | |
17835 | and powerpc64-*-linux* configurations. | |
17836 | * config/t-dfprules: New file. | |
17837 | ||
17838 | * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS. | |
17839 | Compile dfp-bit.c from the source directory using -DWIDTH and | |
17840 | $DFP_CFLAGS to control the compilation of that file, rather than | |
17841 | generating width-specific versions in the build directory. | |
17842 | * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS. | |
17843 | (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc]. | |
17844 | ||
17845 | 2006-02-28 Zack Weinberg <zackw@panix.com> | |
17846 | ||
17847 | * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7 | |
17848 | continues to work. | |
17849 | ||
17850 | 2006-02-28 Eric Christopher <echristo@apple.com> | |
17851 | ||
17852 | * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define. | |
17853 | Set up IN_LIBGCC definition of TARGET_64BIT. | |
17854 | * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define. | |
17855 | ||
17856 | 2006-02-28 Roger Sayle <roger@eyesopen.com> | |
17857 | ||
17858 | PR middle-end/14752 | |
17859 | * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR, | |
17860 | BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these | |
17861 | cases via the construction of "expr != 0". | |
17862 | ||
17863 | 2006-02-28 Steven Bosscher <stevenb.gcc@gmail.com> | |
17864 | ||
17865 | * alias.c (alias_invariant, alias_invariant_size): Remove. | |
17866 | (record_base_value): Remove. | |
17867 | (memrefs_conflict_p): Don't look at alias_invariant. | |
17868 | (end_alias_analysis): Don't free it. | |
17869 | * alias.h (record_base_value): Remove prototype. | |
17870 | ||
17871 | 2006-02-28 Paolo Bonzini <bonzini@gnu.org> | |
17872 | Adam Nemet <anemet@caviumnetworks.com> | |
17873 | ||
17874 | * rtl.h (truncated_to_mode): Declare it. | |
17875 | (struct rtl_hooks): Add reg_truncated_to_mode hook. | |
17876 | * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro. | |
17877 | (RTL_HOOKS_INITIALIZER): Include it. | |
17878 | * rtlhooks.c (reg_truncated_to_mode_general): New function. | |
17879 | * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to | |
17880 | reg_truncated_to_mode. | |
17881 | * rtlanal.c (truncated_to_mode): Define it. | |
17882 | * simplify-rtx.c (simplify_unary_operation_1): Use it. | |
17883 | ||
17884 | 2006-02-28 Jeff Law <law@redhat.com> | |
17885 | ||
17886 | * tree-chrec.c (chrec_convert_aggressive): Do not eliminate | |
17887 | conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover | |
17888 | the range allowed by TYPE_PRECISION. | |
17889 | ||
17890 | * tree.h (strct phi_arg_d): Remove unused NONZERO field. | |
17891 | ||
17892 | 2006-02-28 Dorit Nuzman <dorit@il.ibm.com> | |
17893 | ||
17894 | PR tree-optimization/26419 | |
17895 | * doc/invoke.texi (ftree-vectorizer-verbose): Add information on | |
17896 | values of n. | |
17897 | ||
17898 | 2006-02-27 Zack Weinberg <zackw@panix.com> | |
17899 | ||
17900 | * doc/md.texi: Fix typo in previous change. | |
17901 | ||
17902 | 2006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com> | |
17903 | ||
17904 | * df.c: Remove. | |
17905 | ||
17906 | 2006-02-27 Zack Weinberg <zackw@panix.com> | |
17907 | ||
17908 | * rtl.def (define_constraint, define_register_constraint) | |
17909 | (define_memory_constraint, define_address_constraint): New MD forms. | |
17910 | * gensupport.c (process_rtx): Put define_constraint etc on the | |
17911 | predicate queue. | |
17912 | * genpreds.c (process_define_predicate): Adjust comment. Validate | |
17913 | the name, and call validate_exp to validate the expression. | |
17914 | (mark_mode_tests, write_extract_subexp): Can assume correct input. | |
17915 | (write_predicate_expr): Likewise. NAME argument no longer necessary; | |
17916 | all callers changed. | |
17917 | (validate_exp, needs_variable, struct constraint_data) | |
17918 | (constraints_by_letter_table, first_constraint, last_constraint_ptr) | |
17919 | (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints) | |
17920 | (const_dbl_constraints, constraint_max_namelen) | |
17921 | (have_register_constraints, have_memory_constraints) | |
17922 | (have_address_constraints, have_address_constraints) | |
17923 | (have_extra_constraints, have_const_int_constraints) | |
17924 | (have_const_dbl_constraints, mangle, add_constraint) | |
17925 | (process_define_constraint, process_define_register_constraint) | |
17926 | (write_enum_constraint_num, write_lookup_constraint) | |
17927 | (write_insn_constraint_len, write_regclass_for_constraint) | |
17928 | (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint) | |
17929 | (write_insn_extra_memory_constraint) | |
17930 | (write_insn_extra_address_constraint) | |
17931 | (write_satisfies_constraint_fns): New. | |
17932 | (write_tm_preds_h): If we have new-style constraint definitions, | |
17933 | prototype the functions generated from them, and define the | |
17934 | old constraint interface (still used by generic code) in terms of | |
17935 | those functions. | |
17936 | (write_insn_preds_c): If we have new-style constraint definitions, | |
17937 | generate all relevant functions from those definitions. | |
17938 | (main): Handle define_constraint etc. | |
17939 | * genoutput.c (struct constraint_data, indep_constraints) | |
17940 | (mdep_constraint_letters, constraints_by_letter_table, note_constraint) | |
17941 | (mdep_constraint_len): New data structures and functions, defined | |
17942 | #ifdef USE_MD_CONSTRAINTS. | |
17943 | (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS. | |
17944 | (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined, | |
17945 | use new logic to validate operand constraints against constraint | |
17946 | definitions. | |
17947 | (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is | |
17948 | defined. | |
17949 | * defaults.h: If none of the old-style constraint macros are | |
17950 | defined, define USE_MD_CONSTRAINTS; do not provide defaults for any | |
17951 | old-style macros; and poison REG_CLASS_FROM_LETTER, | |
17952 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and | |
17953 | EXTRA_CONSTRAINT. | |
17954 | * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately. | |
17955 | * doc/md.texi: Document new constraint-definition mechanism and the | |
17956 | C interface it provides. Remove references to old mechanism | |
17957 | elsewhere in the document. | |
17958 | (Machine Constraints): Use pathnames relative to gcc directory, | |
17959 | i.e. config/ARCH/FILE. Change i386 section to refer to | |
17960 | config/i386/predicates.md; update that section to match docstrings. | |
17961 | * doc/tm.texi: Move all documentation of the old constraint- | |
17962 | definition macros to their own section, clearly mark as obsolete. | |
17963 | ||
17964 | * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t) | |
17965 | (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint | |
17966 | definitions. | |
17967 | * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P) | |
17968 | (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete. | |
17969 | * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from | |
17970 | constraint strings. | |
17971 | (splits and peepholes): Use satisfies_constraint_*. | |
17972 | * config/i386/i386.c (memory_address_length) | |
17973 | (ix86_attr_length_immediate_default): Use satisfies_constraint_*. | |
17974 | ||
17975 | 2006-02-27 Daniel Berlin <dberlin@dberlin.org> | |
17976 | ||
17977 | * lambda-code.c (can_convert_to_perfect_nest): Allow any type of | |
17978 | scalar operation to be put back into the loop. | |
17979 | ||
17980 | 2006-02-27 Jakub Jelinek <jakub@redhat.com> | |
17981 | ||
17982 | PR other/26208 | |
17983 | * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. | |
17984 | (extract_cie_info): Handle S flag in augmentation string. | |
17985 | (execute_cfa_program): If context->signal_frame, execute also | |
17986 | fs->pc == context->ra instructions. | |
17987 | (uw_frame_state_for): If context->signal_frame, don't subtract one | |
17988 | from context->ra to find FDE. | |
17989 | (uw_update_context_1): Set context->signal_frame to | |
17990 | fs->signal_frame. | |
17991 | (_Unwind_GetIPInfo): New function. | |
17992 | * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. | |
17993 | * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead | |
17994 | of _Unwind_GetIP. | |
17995 | * unwind-sjlj.c (_Unwind_GetIPInfo): New function. | |
17996 | * unwind-generic.h (_Unwind_GetIPInfo): New prototype. | |
17997 | * unwind-compat.c (_Unwind_GetIPInfo): New function. | |
17998 | * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. | |
17999 | * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. | |
18000 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. | |
18001 | * config/i386/linux-unwind.h (x86_fallback_frame_state, | |
18002 | x86_64_fallback_frame_state): Set fs->signal_frame. | |
18003 | * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. | |
18004 | (MD_FROB_UPDATE_CONTEXT): Define unconditionally. | |
18005 | (frob_update_context): Likewise. Workaround missing S flag in | |
18006 | Linux 2.6.12 - 2.6.16 kernel vDSOs. | |
18007 | * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. | |
18008 | Remove the psw_addr + 1 hack. | |
18009 | ||
18010 | 2006-02-27 Daniel Berlin <dberlin@dberlin.org> | |
18011 | ||
18012 | * tree-ssa-structalias.c (get_constraint_for): Move code to deal | |
18013 | with aggregates here. | |
18014 | (find_func_aliases): Remove code for &<aggregate> from here. | |
18015 | ||
18016 | 2006-02-26 Roger Sayle <roger@eyesopen.com> | |
18017 | ||
18018 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as | |
18019 | (X & C) ne/eq 0, where C is a single bit, i.e. a power of two. | |
18020 | Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0" | |
18021 | as (X & C) ne/eq 0. | |
18022 | ||
18023 | 2006-02-26 Roger Sayle <roger@eyesopen.com> | |
18024 | ||
18025 | PR middle-end/19983 | |
18026 | * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes. | |
18027 | ||
18028 | 2006-02-26 Zdenek Dvorak <dvorakz@suse.cz> | |
18029 | ||
18030 | * opts.c (decode_options): Do not handle flag_strength_reduce. | |
18031 | (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt | |
18032 | and OPT_fstrength_reduce. | |
18033 | * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test | |
18034 | flag_prefetch_loop_arrays for being nonzero. | |
18035 | * common.opt (floop-optimize, frerun-loop-opt): Resurrected as | |
18036 | no-ops. | |
18037 | (fprefetch-loop-arrays-rtl): Removed. | |
18038 | (flag_prefetch_loop_arrays): Do not specify the value. | |
18039 | ||
18040 | * doc/passes.texi: Update documentation of loop optimizer | |
18041 | passes. | |
18042 | * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl, | |
18043 | -frerun-loop-opt): Remove. | |
18044 | ||
18045 | 2006-02-26 Richard Guenther <rguenther@suse.de> | |
18046 | ||
18047 | PR tree-optimization/26421 | |
18048 | * tree-ssa-alias.c (find_used_portions): Don't treat parameters | |
18049 | in function calls that are ADDR_EXPRs as using the whole structure. | |
18050 | ||
18051 | 2006-02-26 Steven Bosscher <stevenb.gcc@gmail.com> | |
18052 | ||
18053 | * common.opt (-floop-optimize, -frerun-loop-opt): Remove. | |
18054 | * tree-pass.h (pass_loop_optimize): Remove. | |
18055 | * passes.c (pass_loop_optimize): Never run it. | |
18056 | * toplev.c (backend_init): Don't call init_loop. | |
18057 | * opts.c (flag_loop_optimize_set): Remove. | |
18058 | (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt. | |
18059 | (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable | |
18060 | the old RTL loop optimizer when profiling enabled. | |
18061 | * predict.c (tree_estimate_probability): Always strip builtin_expect. | |
18062 | * cfgcleanup.c (try_forward_edges): Don't avoid killing loop | |
18063 | pre-headers for the sake of the old RTL loop optimizer. | |
18064 | * Makefile.in: Remove all references to loop.o. | |
18065 | ||
18066 | * doc/invoke.texi: Remove all references to -floop-optimize | |
18067 | and -frerun-loop-opt. | |
18068 | ||
18069 | 2006-02-26 Zack Weinberg <zackw@panix.com> | |
18070 | ||
18071 | * doc/md.texi (Machine Constraints): Refer to all files with paths | |
18072 | relative to gcc directory (i.e. config/CPU/file). Add missing | |
18073 | @table @code ... @end table to M32C subsection. | |
18074 | ||
18075 | 2006-02-26 Roger Sayle <roger@eyesopen.com> | |
18076 | ||
18077 | * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as | |
18078 | (X & 1) == 0. | |
18079 | <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0. | |
18080 | ||
18081 | 2006-02-26 Roger Sayle <roger@eyesopen.com> | |
18082 | James A. Morrison <phython@gcc.gnu.org> | |
18083 | ||
18084 | PR middle-end/21137 | |
18085 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0, | |
18086 | when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the | |
18087 | new constant C2<<C1, or as (X<0) or (X,false) depending upon the | |
18088 | signedness of the shift operation. | |
18089 | ||
18090 | 2006-02-26 Dorit Nuzman <dorit@il.ibm.com> | |
18091 | ||
18092 | PR tree-optimization/26359 | |
18093 | * tree-ssa-alias.c (new_type_alias): Set fields for new tag. | |
18094 | ||
18095 | 2006-02-25 Roger Sayle <roger@eyesopen.com> | |
18096 | ||
18097 | * simplify-rtx.c (simplify_relational_operation_1): Simplify | |
18098 | (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y | |
18099 | as X == 0, and some symmetry related transformations. | |
18100 | Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line. | |
18101 | ||
18102 | 2006-02-25 Roger Sayle <roger@eyesopen.com> | |
18103 | ||
18104 | PR middle-end/23673 | |
18105 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y | |
18106 | and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some | |
18107 | symmetry related transformations. Fold (X^C1) == C2 as | |
18108 | X == (C1^C2). | |
18109 | ||
18110 | 2006-02-25 Juergen Weigert <jw@suse.de> | |
18111 | Richard Guenther <rguenther@suse.de> | |
18112 | ||
18113 | * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF. | |
18114 | ||
18115 | 2006-02-24 Adam Nemet <anemet@caviumnetworks.com> | |
18116 | ||
18117 | * combine.c (gen_lowpart_or_truncate): Call | |
18118 | simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE. | |
18119 | ||
18120 | 2006-02-24 Diego Novillo <dnovillo@redhat.com> | |
18121 | ||
18122 | * doc/invoke.texi: Move -fopenmp description to "Options for | |
18123 | Code Generation". | |
18124 | Remove reference to -lgomp. | |
18125 | ||
18126 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> | |
18127 | ||
18128 | * doc/install.texi: Require GNU tar version 1.14. | |
18129 | ||
18130 | 2006-02-24 Geoffrey Keating <geoffk@apple.com> | |
18131 | ||
18132 | * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS. | |
18133 | * doc/invoke.texi (C++ Dialect Options): Document | |
18134 | -fno-use-cxa-get-exception-ptr. | |
18135 | * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1. | |
18136 | * configure: Regenerate. | |
18137 | * c.opt (fuse-cxa-get-exception-ptr): New. | |
18138 | * c-opts.c (c_common_handle_option): Handle | |
18139 | OPT_fuse_cxa_get_exception_ptr. | |
18140 | * c-common.c (flag_use_cxa_atexit): Update documentation. | |
18141 | (flag_use_cxa_get_exception_ptr): New. | |
18142 | * c-common.h (flag_use_cxa_get_exception_ptr): New. | |
18143 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve | |
18144 | documentation. | |
18145 | (C_COMMON_OVERRIDE_OPTIONS): New. | |
18146 | ||
18147 | 2006-02-24 Roger Sayle <roger@eyesopen.com> | |
18148 | ||
18149 | PR middle-end/24952 | |
18150 | * combine.c (try_combine): Explicitly check whether GET_CODE is | |
18151 | a SET or a CLOBBER, instead on checking that it isn't a USE. | |
18152 | ||
18153 | 2006-02-24 Roger Sayle <roger@eyesopen.com> | |
18154 | ||
18155 | * fold-const.c (fold_comparison): New subroutine of fold_binary | |
18156 | containing transformations common to both the equality and | |
18157 | ordering relational operators, factored out of fold_binary. | |
18158 | (fold_binary): Separate out the equality operators (EQ_EXPR | |
18159 | and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR, | |
18160 | LE_EXPR and GE_EXPR), calling fold_comparison to perform the | |
18161 | transformations common to both. | |
18162 | (fold_div_compare): Fix latent bugs in the previously unreachable | |
18163 | LT_EXPR and GE_EXPR cases. | |
18164 | ||
18165 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> | |
18166 | ||
18167 | * config/rs6000/rs6000.c (rs6000_init_builtins): Change | |
18168 | decl libname for clog to __clog on AIX. | |
18169 | ||
18170 | * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define. | |
18171 | ||
18172 | 2006-02-24 Alan Modra <amodra@bigpond.net.au> | |
18173 | ||
18174 | PR target/26453 | |
18175 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't | |
18176 | output traceback table for thunks. Localise rs6000_stack_info call. | |
18177 | ||
18178 | 2006-02-23 Roger Sayle <roger@eyesopen.com> | |
18179 | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
18180 | ||
18181 | * gthr-posix.h (__gthrw): Fix typo in comment. | |
18182 | ||
18183 | 2006-02-23 Geoffrey Keating <geoffk@apple.com> | |
18184 | ||
18185 | * doc/cpp.texi (Character sets): Document that we do support | |
18186 | input files to be in any character set. | |
18187 | ||
18188 | 2006-02-23 Jeff Law <law@redhat.com> | |
18189 | ||
18190 | * tree.h (PHI_ARG_NONZERO): Remove. | |
18191 | * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO. | |
18192 | (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old | |
18193 | node to the new node. | |
18194 | ||
18195 | PR tree-optimization/26425 | |
18196 | * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL | |
18197 | min/max, then assume its varying. | |
18198 | ||
18199 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> | |
18200 | ||
18201 | PR rtl-optimization/26316 | |
18202 | * rtlanal.c (enum may_trap_p_flags): New. | |
18203 | (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore | |
18204 | MEM_NOTRAP_P if flags & MTP_AFTER_MOVE. | |
18205 | (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1. | |
18206 | (may_trap_after_code_motion_p): New function. | |
18207 | * loop-invariant.c (find_identical_invariants): Fix dump formating. | |
18208 | (find_invariant_insn): Use may_trap_after_code_motion_p. | |
18209 | * rtl.h (may_trap_after_code_motion_p): Declare. | |
18210 | ||
18211 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> | |
18212 | ||
18213 | * emit-rtl.c (immed_double_const): Cleanup. | |
18214 | ||
18215 | 2006-02-23 Daniel Berlin <dberlin@dberlin.org> | |
18216 | ||
18217 | Fix PR tree-optimization/26376 | |
18218 | * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree, | |
18219 | remove assert. | |
18220 | ||
18221 | 2006-02-23 Jakub Jelinek <jakub@redhat.com> | |
18222 | ||
18223 | PR middle-end/26412 | |
18224 | * gimplify.c (omp_add_variable): Guard variable size decl test with | |
18225 | DECL_SIZE (decl) check. | |
18226 | ||
18227 | 2006-02-23 Richard Guenther <rguenther@suse.de> | |
18228 | ||
18229 | PR middle-end/26439 | |
18230 | * tree-ssa-structalias.c (find_func_aliases): Handle complex types | |
18231 | like aggregate types. | |
18232 | ||
18233 | 2006-02-23 Jakub Jelinek <jakub@redhat.com> | |
18234 | ||
18235 | * configure.ac: Add --with{,out}-long-double-128 configure option. | |
18236 | (TARGET_DEFAULT_LONG_DOUBLE_128): New test. | |
18237 | * configure: Rebuilt. | |
18238 | * config.in: Rebuilt. | |
18239 | * doc/install.texi (Options specification): Document | |
18240 | --with-long-double-128. | |
18241 | ||
18242 | * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128] | |
18243 | (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. | |
18244 | * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128] | |
18245 | (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. | |
18246 | ||
18247 | 2006-02-23 Aldy Hernandez <aldyh@redhat.com> | |
18248 | ||
18249 | * config/s390/s390.c (override_options): Handle | |
18250 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
18251 | ||
18252 | * config/alpha/alpha.c (override_options): Handle | |
18253 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
18254 | ||
18255 | * config/sparc/sparc.c (sparc_override_options): Handle | |
18256 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
18257 | ||
18258 | 2006-02-22 Daniel Jacobowitz <dan@codesourcery.com> | |
18259 | ||
18260 | * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR). | |
18261 | (real-install-headers-tar, real-install-headers-cpio) | |
18262 | (real-install-headers-cp): New targets. | |
18263 | ||
18264 | 2006-02-22 Richard Sandiford <richard@codesourcery.com> | |
18265 | ||
18266 | * tree.h (variable_section): Delete. | |
18267 | * varasm.c (variable_section): Delete. | |
18268 | ||
18269 | 2006-02-22 Paolo Bonzini <bonzini@gnu.org> | |
18270 | ||
18271 | * install.texi: Add notes on install.texi2html. | |
18272 | (Building in parallel): Do not use footnotes. | |
18273 | ||
18274 | 2006-02-21 Aldy Hernandez <aldyh@redhat.com> | |
18275 | ||
18276 | PR libgomp/26234 | |
18277 | * doc/install.texi (Configuration): Document --disable-libgomp. | |
18278 | ||
18279 | 2006-02-21 Geoffrey Keating <geoffk@apple.com> | |
18280 | ||
18281 | * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New. | |
18282 | ||
18283 | 2006-02-21 Alexandre Oliva <aoliva@redhat.com> | |
18284 | ||
18285 | * config/i386/sse.md (vec_extractv2df_1_sse): New. | |
18286 | (vec_extractv2df_0_sse): New. | |
18287 | ||
18288 | 2006-02-21 Alexandre Oliva <aoliva@redhat.com> | |
18289 | ||
18290 | * defaults.h (CFA_FRAME_BASE_OFFSET): Define. | |
18291 | * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override. | |
18292 | * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document. | |
18293 | * dwarf2out.c (build_cfa_loc): New offset parameter. Add it | |
18294 | to the result of the expression. | |
18295 | (def_cfa_1): Adjust. | |
18296 | (frame_pointer_cfa_offset): Rename to... | |
18297 | (frame_pointer_fb_offset): ... this. Adjust all uses. | |
18298 | (convert_cfa_to_loc_list): Rename to... | |
18299 | (convert_cfa_to_fb_loc_list): ... this. New offset parameter. | |
18300 | Pass it on to build_cfa_loc. | |
18301 | (compute_frame_pointer_to_cfa_displacement): Rename to... | |
18302 | (compute_frame_pointer_to_fb_displacement): ... this. New | |
18303 | offset parameter. Use it in computation. | |
18304 | (gen_subprogram_die): Compute cfa_fb_offset with the new | |
18305 | macro, and use it to compute the fb loc list and the | |
18306 | displacement. | |
18307 | ||
18308 | 2006-02-21 Bernd Schmidt <bernd.schmidt@analog.com> | |
18309 | ||
18310 | * config/bfin/predicates.md (cc_operand): Delete predicate. All uses | |
18311 | replaced with register_operand. | |
18312 | * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any | |
18313 | non-DREG is expensive. | |
18314 | * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed. | |
18315 | * config/bfin/bfin.md (movbi): Fix constraints and template for moves | |
18316 | involving memory. | |
18317 | ||
18318 | 2006-02-21 Joseph S. Myers <joseph@codesourcery.com> | |
18319 | ||
18320 | * doc/install.texi2html: Use set -e. | |
18321 | ||
18322 | 2006-02-21 Richard Sandiford <richard@codesourcery.com> | |
18323 | ||
18324 | * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) | |
18325 | (ASM_OUTPUT_SHARED_LOCAL): Delete. | |
18326 | * doc/invoke.texi (-fshared-data): Delete. | |
18327 | * common.opt (fshared-data): Delete. | |
18328 | * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling. | |
18329 | (assemble_static_space): Remove #if 0 code. | |
18330 | * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) | |
18331 | (ASM_OUTPUT_SHARED_LOCAL): Poison. | |
18332 | * config/cris/cris.h: Remove FIXME. | |
18333 | ||
18334 | 2006-02-21 Paolo Bonzini <bonzini@gnu.org> | |
18335 | ||
18336 | * doc/sourcebuild.texi (Front End Directory): No more double-colon | |
18337 | hooks. | |
18338 | ||
18339 | 2006-02-21 Jakub Jelinek <jakub@redhat.com> | |
18340 | ||
18341 | PR middle-end/26379 | |
18342 | * combine.c (simplify_shift_const_1): Disable nested shifts | |
18343 | optimization for vector shifts. | |
18344 | ||
18345 | 2006-02-20 Roger Sayle <roger@eyesopen.com> | |
18346 | ||
18347 | PR tree-optimization/26361 | |
18348 | * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR | |
18349 | of unsigned integer types. | |
18350 | ||
18351 | 2006-02-20 Sebastian Pop <pop@cri.ensmp.fr> | |
18352 | ||
18353 | * tree-chrec.c (eq_evolutions_p): New. | |
18354 | * tree-chrec.h (eq_evolutions_p): Declared. | |
18355 | * tree-data-ref.c: Fix formatting. | |
18356 | (datadep_stats, dependence_stats): New. | |
18357 | (gcd): Moved... | |
18358 | (print_direction_vector): New. | |
18359 | (dump_data_dependence_relation): Use print_direction_vector. | |
18360 | (object_analysis, create_data_ref): Handle COMPONENT_REF. | |
18361 | (compute_subscript_distance): Static. | |
18362 | (initialize_data_dependence_relation): Static. Get the number | |
18363 | of loops surrounding the references from the callers, and initialize | |
18364 | DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and | |
18365 | base_object_differ_p analyzers. | |
18366 | (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, | |
18367 | compute_overlap_steps_for_affine_1_2, | |
18368 | analyze_subscript_affine_affine): Count the classified dependences. | |
18369 | Print a message when a test failed. | |
18370 | (can_use_analyze_subscript_affine_affine): New. | |
18371 | (analyze_siv_subscript): Compute the data dependences on symbolic | |
18372 | scevs that verify can_use_analyze_subscript_affine_affine. | |
18373 | (chrec_steps_divide_constant_p): Returns true, false, or unknown. | |
18374 | (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p. | |
18375 | Handle symbolic scevs. | |
18376 | (analyze_overlapping_iterations): Let symbolic affine scevs to be | |
18377 | analyzed. | |
18378 | (subscript_dependence_tester): Moved... | |
18379 | (build_classic_dist_vector, build_classic_dir_vector): Don't use | |
18380 | lambda_vector_clear on newly allocated vectors. Get nb_loops from | |
18381 | DDR_SIZE_VECT instead of getting it in parameter. | |
18382 | (subscript_dependence_tester): ... here. Take as a parameter | |
18383 | loop_nest_depth. Call build_classic_dist_vector and | |
18384 | build_classic_dir_vector. | |
18385 | (compute_affine_dependence): Update subscript_dependence_tester | |
18386 | parameters. Update datadep_stats counters. Call | |
18387 | compute_subscript_distance. | |
18388 | (compute_self_dependence): Save the dist and dir vectors. Call | |
18389 | compute_subscript_distance. | |
18390 | (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved... | |
18391 | (compute_all_dependences): Reorder parameters as they were before | |
18392 | conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call | |
18393 | compute_subscript_distance. Update the use of | |
18394 | compute_affine_dependence and initialize_data_dependence_relation. | |
18395 | (find_data_references_in_loop): Handle COMPONENT_REF. | |
18396 | (compute_data_dependences_for_loop): Initialize dependence_stats. | |
18397 | Don't call build_classic_dist_vector and build_classic_dir_vector. | |
18398 | Update the parameters of initialize_data_dependence_relation and | |
18399 | compute_all_dependences. Print the statistics from datadep_stats. | |
18400 | (analyze_all_data_dependences): Static. Not used until the pass for | |
18401 | checking the data dependences is contributed. | |
18402 | * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p), | |
18403 | DEF_VEC_ALLOC_P(ddr_p,heap)): ... here. | |
18404 | (initialize_data_dependence_relation, compute_affine_dependence, | |
18405 | analyze_all_data_dependences, compute_subscript_distance): Removed. | |
18406 | (print_direction_vector): New. | |
18407 | * lambda.h (gcd): ... here. | |
18408 | (lambda_vector_gcd): Moved here from gcd_vector. | |
18409 | * lambda-code.c (gcd, gcd_vector): Removed. | |
18410 | (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting. | |
18411 | * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H. | |
18412 | ||
18413 | 2006-02-20 Diego Novillo <dnovillo@redhat.com> | |
18414 | ||
18415 | * ipa-type-escape.c: Tidy some comments and white space. | |
18416 | * tree-ssa-operands.c: Likewise. | |
18417 | ||
18418 | 2006-02-20 Andrew Pinski <pinskia@physics.uc.edu> | |
18419 | ||
18420 | PR tree-opt/25879 | |
18421 | * tree-pretty-print.c (debug_tree_chain): Walk the chains. | |
18422 | (dump_decl_name): Do not walk the decl tree chains. | |
18423 | * tree-pass.h (TDF_CHAIN): Remove. | |
18424 | ||
719bb4e3 | 18425 | 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
f1aea409 MS |
18426 | |
18427 | * Makefile.in (C): Remove | |
18428 | (PROTO): Remove | |
18429 | (.PHONY): Remove C and PROTO | |
18430 | ||
18431 | 2006-02-20 Roger Sayle <roger@eyesopen.com> | |
18432 | ||
18433 | PR middle-end/26236 | |
18434 | * doc/c-tree.texi (INTEGER_TYPE): Remove reference to the now | |
18435 | deprecated CHAR_TYPE tree code. | |
18436 | ||
18437 | 2006-02-20 Paolo Bonzini <bonzini@gnu.org> | |
18438 | ||
18439 | * configure.ac (target_list): Add install-info, dvi, html. | |
18440 | * configure: Regenerate. | |
18441 | ||
18442 | * ada/Make-lang.in, cp/Make-lang.in, fortran/Make-lang.in, | |
18443 | java/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in, | |
18444 | treelang/Make-lang.in: Do not use double-colon rules. | |
18445 | ||
18446 | 2006-02-20 Daniel Berlin <dberlin@dberlin.org> | |
18447 | ||
18448 | * tree.h (struct tree_memory_tag): Add is_used_alone member. | |
18449 | (TMT_USED_ALONE): New macro. | |
18450 | * tree-pass.h (PROP_tmt_usage): New property. | |
18451 | (TODO_update_tmt_usage): New todo. | |
18452 | * tree-ssa-alias.c (updating_used_alone): New variable. | |
18453 | (recalculate_used_alone): New function. | |
18454 | (compute_may_aliases): Set updating_used_alone, call | |
18455 | recalculate_used_alone. | |
18456 | * tree-sra.c (pass_sra): Note that this pass destroys | |
18457 | PROP_tmt_usage, and add TODO_update_tmt_usage. | |
18458 | * tree-ssa-forwprop.c (pass_forwprop): Ditto. | |
18459 | * tree-flow.h (updating_used_alone): Prototype. | |
18460 | (recalculate_used_alone): Ditto. | |
18461 | * passes.c (execute_todo): Add code to set updating_used_alone, | |
18462 | and call recalculate. | |
18463 | * tree-ssa-operands.c (add_virtual_operand): Only append bare def | |
18464 | for clobber if used alone, and add assert to verify used_alone | |
18465 | status. | |
18466 | ||
18467 | 2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com> | |
18468 | ||
18469 | * config/s390/s390.c (legitimize_pic_address): Assertions checking | |
18470 | for non tls symbols added. | |
18471 | (legitimize_address): Do nothing for PLUS expressions if one of the | |
18472 | addends is a tls symbol reference. | |
18473 | ||
18474 | 2006-02-20 Paolo Bonzini <bonzini@gnu.org> | |
18475 | ||
18476 | PR bootstrap/25476 | |
18477 | ||
18478 | * Makefile.in (LDFLAGS): Define from autoconf substitution. | |
18479 | ||
18480 | * Makefile.in (BOOTSTRAPPING): New. | |
18481 | (quickstrap): New definition if BOOTSTRAPPING=yes. | |
18482 | ||
18483 | * Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages. | |
18484 | * configure.ac: Substitute all_selected_languages with the languages | |
18485 | that were configured. For all the other variables except | |
18486 | lang_specs_files, include all the languages in the tree. | |
18487 | * configure: Regenerate. | |
18488 | ||
18489 | * Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory, | |
18490 | if there is one. Run the commands to run fixincludes in the same | |
18491 | subshell. | |
18492 | ||
18493 | * doc/makefile.texi: Document new makefile targets from toplevel bootstrap. | |
18494 | * doc/install.texi: Document exact conventions for searching target tools. | |
18495 | Document --with-build-time-tools. Document toplevel bootstrap. Document | |
18496 | something more about building an Ada cross-compiler. Don't list GNU Make | |
18497 | requirements which affect all platforms. | |
18498 | ||
18499 | 2006-02-19 Roger Sayle <roger@eyesopen.com> | |
18500 | ||
18501 | PR middle-end/19543 | |
18502 | * varasm.c (compare_constant) <INTEGER_CST>: Integer constants are | |
18503 | only equivalent if the have both the same mode and precision. | |
18504 | ||
18505 | 2006-02-20 Ben Elliston <bje@au.ibm.com> | |
18506 | ||
18507 | * doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE. | |
18508 | ||
18509 | 2006-02-19 Roger Sayle <roger@eyesopen.com> | |
18510 | Steven Bosscher <stevenb.gcc@gmail.com> | |
18511 | ||
18512 | * gcse.c (want_to_gcse_p): On STACK_REGS targets, look through | |
18513 | constant pool references to identify stack mode constants. | |
18514 | * rtlanal.c (constant_pool_constant_p): New predicate to check | |
18515 | whether operand is a floating point constant in the pool. | |
18516 | * rtl.h (constant_pool_constant_p): Prototype here. | |
18517 | * loop.c (scan_loop): Avoid hoisting constants from the constant | |
18518 | pool on STACK_REGS targets. | |
18519 | (load_mems): Likewise. | |
18520 | * loop-invariant.c (get_inv_cost): Make hoisting constant pool | |
18521 | loads into x87 registers expensive in terms of register pressure. | |
18522 | ||
18523 | 2006-02-19 Roger Sayle <roger@eyesopen.com> | |
18524 | ||
18525 | * gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to | |
18526 | __foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined. | |
18527 | ||
18528 | 2006-02-19 David Edelsohn <edelsohn@gnu.org> | |
18529 | ||
18530 | * config/rs6000/xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define. | |
18531 | * config/rs6000/rs6000.c (rs6000_xcoff_asm_output_anchor): Define. | |
18532 | ||
18533 | 2006-02-19 Daniel Berlin <dberlin@dberlin.org> | |
18534 | ||
18535 | * doc/invoke.texi: Document -fipa-pta. | |
18536 | * common.opt: Add ipa-pta option. | |
18537 | * tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed. | |
18538 | (do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code. | |
18539 | (do_ds_constraint): Ditto. | |
18540 | (get_constraint_for): Only add to referenced_vars if | |
18541 | referenced_vars exists. | |
18542 | (insert_into_field_list): Rewrite to do this unsorted. | |
18543 | (insert_into_field_list_sorted): Rename old insert_into_field_list | |
18544 | to this. | |
18545 | (create_function_info_for): Use insert_into_field_list_sorted. | |
18546 | (create_variable_info_for): Rewrite so it uses unsorted version, | |
18547 | since the field list is sorted. | |
18548 | (intra_create_variable_infos): Only add to referenced_vars if | |
18549 | referenced_vars exists. | |
18550 | (ipa_pta_execute): Init heapvars, and delete when done. | |
18551 | * passes.c (init_optimization_passes): Add call to pass_ipa_pta. | |
18552 | ||
18553 | 2006-02-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
18554 | ||
18555 | * doc/install.texi: Add missing `@samp'. | |
18556 | ||
18557 | 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> | |
18558 | ||
18559 | * config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): | |
18560 | Use the arguments. | |
18561 | ||
18562 | 2006-02-18 Mark Wielaard <mark@klomp.org> | |
18563 | ||
18564 | * doc/contrib.texi (Contributors): Add classpath/libgcj hackers | |
18565 | who added new 4.1 features, bug fixes and integration support. | |
18566 | ||
18567 | 2006-02-18 David Edelsohn <edelsohn@gnu.org> | |
18568 | ||
18569 | PR target/26350 | |
18570 | * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized | |
18571 | MEM for ABI_V4 pic. | |
18572 | ||
18573 | 2006-02-18 Richard Sandiford <richard@codesourcery.com> | |
18574 | ||
18575 | * cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE. | |
18576 | * emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx. | |
18577 | (copy_insn_1): Likewise. Don't copy each field individually. | |
18578 | Reindent. | |
18579 | * read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead | |
18580 | of RTX_SIZE. | |
18581 | * reload1.c (eliminate_regs): Use shallow_copy_rtx. | |
18582 | * rtl.c (rtx_size): Rename variable to... | |
18583 | (rtx_code_size): ...this. | |
18584 | (rtx_size): New function. | |
18585 | (rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE. | |
18586 | (copy_rtx): Use shallow_copy_rtx. Don't copy each field individually. | |
18587 | Reindent. | |
18588 | (shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE. | |
18589 | * rtl.h (rtx_code_size): New variable. | |
18590 | (rtx_size): Change from a variable to a function. | |
18591 | (RTX_SIZE): Rename to... | |
18592 | (RTX_CODE_SIZE): ...this. | |
18593 | ||
18594 | PR target/9703 | |
18595 | PR tree-optimization/17106 | |
18596 | * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document. | |
18597 | (Anchored Addresses): New section. | |
18598 | * doc/invoke.texi (-fsection-anchors): Document. | |
18599 | * doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise. | |
18600 | (SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise. | |
18601 | (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise. | |
18602 | * hooks.c (hook_bool_mode_rtx_false): New function. | |
18603 | * hooks.h (hook_bool_mode_rtx_false): Declare. | |
18604 | * gengtype.c (create_optional_field): New function. | |
18605 | (adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when | |
18606 | SYMBOL_REF_IN_BLOCK_P is true. | |
18607 | * target.h (output_anchor, use_blocks_for_constant_p): New hooks. | |
18608 | (min_anchor_offset, max_anchor_offset): Likewise. | |
18609 | (use_anchors_for_symbol_p): New hook. | |
18610 | * toplev.c (compile_file): Call output_object_blocks. | |
18611 | (target_supports_section_anchors_p): New function. | |
18612 | (process_options): Check that -fsection-anchors is only used on | |
18613 | targets that support it and when -funit-at-a-time is in effect. | |
18614 | * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL | |
18615 | if the decl doesn't have one. | |
18616 | * dwarf2out.c: Remove instantiations of VEC(rtx,gc). | |
18617 | * expr.c (emit_move_multi_word, emit_move_insn): Pass the result | |
18618 | of force_const_mem through use_anchored_address. | |
18619 | (expand_expr_constant): New function. | |
18620 | (expand_expr_addr_expr_1): Call it. Use the same modifier when | |
18621 | calling expand_expr for INDIRECT_REF. | |
18622 | (expand_expr_real_1): Pass DECL_RTL through use_anchored_address | |
18623 | for all modifiers except EXPAND_INITIALIZER. Use expand_expr_constant. | |
18624 | * expr.h (use_anchored_address): Declare. | |
18625 | * loop-unroll.c: Don't declare rtx vectors here. | |
18626 | * explow.c: Include output.h. | |
18627 | (validize_mem): Call use_anchored_address. | |
18628 | (use_anchored_address): New function. | |
18629 | * common.opt (-fsection-anchors): New switch. | |
18630 | * varasm.c (object_block_htab, anchor_labelno): New variables. | |
18631 | (hash_section, object_block_entry_eq, object_block_entry_hash) | |
18632 | (use_object_blocks_p, get_block_for_section, create_block_symbol) | |
18633 | (use_blocks_for_decl_p, change_symbol_section): New functions. | |
18634 | (get_variable_section): New function, split out from assemble_variable. | |
18635 | (make_decl_rtl): Create a block symbol if use_object_blocks_p and | |
18636 | use_blocks_for_decl_p say so. Use change_symbol_section if the | |
18637 | symbol has already been created. | |
18638 | (assemble_variable_contents): New function, split out from... | |
18639 | (assemble_variable): ...here. Don't output any code for | |
18640 | block symbols; just pass them to place_block_symbol. | |
18641 | Use get_variable_section and assemble_variable_contents. | |
18642 | (get_constant_alignment, get_constant_section, get_constant_size): New | |
18643 | functions, split from output_constant_def_contents. | |
18644 | (build_constant_desc): Create a block symbol if use_object_blocks_p | |
18645 | says so. Or into SYMBOL_REF_FLAGS. | |
18646 | (assemble_constant_contents): New function, split from... | |
18647 | (output_constant_def_contents): ...here. Don't output any code | |
18648 | for block symbols; just pass them to place_section_symbol. | |
18649 | Use get_constant_section and get_constant_alignment. | |
18650 | (force_const_mem): Create a block symbol if use_object_blocks_p and | |
18651 | use_blocks_for_constant_p say so. Or into SYMBOL_REF_FLAGS. | |
18652 | (output_constant_pool_1): Add an explicit alignment argument. | |
18653 | Don't switch sections here. | |
18654 | (output_constant_pool): Adjust call to output_constant_pool_1. | |
18655 | Switch sections here instead. Don't output anything for block symbols; | |
18656 | just pass them to place_block_symbol. | |
18657 | (init_varasm_once): Initialize object_block_htab. | |
18658 | (default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK. | |
18659 | (default_asm_output_anchor, default_use_aenchors_for_symbol_p) | |
18660 | (place_block_symbol, get_section_anchor, output_object_block) | |
18661 | (output_object_block_htab, output_object_blocks): New functions. | |
18662 | * target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro. | |
18663 | (TARGET_ASM_OUT): Include it. | |
18664 | (TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro. | |
18665 | (TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros. | |
18666 | (TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro. | |
18667 | (TARGET_INITIALIZER): Include them. | |
18668 | * rtl.c (rtl_check_failed_block_symbol): New function. | |
18669 | * rtl.h: Include vec.h. Declare heap and gc rtx vectors. | |
18670 | (block_symbol, object_block): New structures. | |
18671 | (rtx_def): Add a block_symbol field to the union. | |
18672 | (BLOCK_SYMBOL_CHECK): New macro. | |
18673 | (rtl_check_failed_block_symbol): Declare. | |
18674 | (SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags. | |
18675 | (SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates. | |
18676 | (SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2. | |
18677 | (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors. | |
18678 | * output.h (output_section_symbols): Declare. | |
18679 | (object_block): Name structure. | |
18680 | (place_section_symbol, get_section_anchor, default_asm_output_anchor) | |
18681 | (default_use_anchors_for_symbol_p): Declare. | |
18682 | * Makefile.in (RTL_BASE_H): Add vec.h. | |
18683 | (explow.o): Depend on output.h. | |
18684 | * config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default. | |
18685 | (TARGET_MAX_ANCHOR_OFFSET): Likewise. | |
18686 | (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. | |
18687 | (rs6000_use_blocks_for_constant_p): New function. | |
18688 | ||
18689 | 2006-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
18690 | ||
18691 | * doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0. | |
18692 | ||
18693 | 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> | |
18694 | ||
18695 | PR tree-opt/25680 | |
18696 | * tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and | |
18697 | IMAGPART_EXPR. | |
18698 | ||
18699 | 2006-02-18 Diego Novillo <dnovillo@redhat.com> | |
18700 | ||
18701 | * tree-flow.h (struct var_ann_d): Rename field is_alias_tag to | |
18702 | is_aliased. | |
18703 | Update all users. | |
18704 | ||
18705 | 2006-02-18 Jakub Jelinek <jakub@redhat.com> | |
18706 | ||
18707 | PR middle-end/26334 | |
18708 | * stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER | |
18709 | instead of DECL_REGISTER. | |
18710 | ||
18711 | 2006-02-18 Olivier Hainque <hainque@adacore.com> | |
18712 | ||
18713 | PR ada/13408 | |
18714 | * pa.h (WIDEST_HARDWARE_FP_SIZE): Define. | |
18715 | ||
18716 | 2006-02-18 Joseph S. Myers <joseph@codesourcery.com> | |
18717 | ||
18718 | PR target/24837 | |
18719 | * config.gcc: Define UCLIBC_DEFAULT to 0 or 1. | |
18720 | * opth-gen.awk: Handle Var and InverseMask together. | |
18721 | * config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc). | |
18722 | * config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT. | |
18723 | (TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC. | |
18724 | (CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc | |
18725 | used together. | |
18726 | (UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, | |
18727 | LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. | |
18728 | * config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER, | |
18729 | UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, | |
18730 | LINUX_DYNAMIC_LINKER): Define. | |
18731 | (ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER. | |
18732 | * config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to | |
18733 | TARGET_GLIBC. | |
18734 | * config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18735 | (CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option. | |
18736 | * config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18737 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18738 | (TARGET_C99_FUNCTIONS): Don't define. | |
18739 | * config/i386/linux.h (DYNAMIC_LINKER): Rename to | |
18740 | GLIBC_DYNAMIC_LINKER. | |
18741 | (SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER. | |
18742 | * config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32, | |
18743 | GLIBC_DYNAMIC_LINKER64): Define. | |
18744 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and | |
18745 | LINUX_DYNAMIC_LINKER64. | |
18746 | * config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18747 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18748 | * config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define. | |
18749 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18750 | * config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18751 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18752 | * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32, | |
18753 | GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32, | |
18754 | UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define. | |
18755 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64 | |
18756 | and LINUX_DYNAMIC_LINKER32. | |
18757 | * config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18758 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18759 | * config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18760 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18761 | * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to | |
18762 | TARGET_GLIBC. | |
18763 | * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise. | |
18764 | (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, | |
18765 | UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, | |
18766 | CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, | |
18767 | LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. | |
18768 | (LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32. | |
18769 | (LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64. | |
18770 | * config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER, | |
18771 | UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, | |
18772 | LINUX_DYNAMIC_LINKER): Define. | |
18773 | (LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE. | |
18774 | * config/s390/linux.h (GLIBC_DYNAMIC_LINKER32, | |
18775 | GLIBC_DYNAMIC_LINKER64): Define. | |
18776 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and | |
18777 | LINUX_DYNAMIC_LINKER64. | |
18778 | * config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18779 | (SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18780 | * config/sparc/linux.h (GLIBC_DYNAMIC_LINKER, | |
18781 | UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, | |
18782 | LINUX_DYNAMIC_LINKER): Define. | |
18783 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18784 | (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. | |
18785 | * config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32, | |
18786 | GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32, | |
18787 | UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER, | |
18788 | LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. | |
18789 | (LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32. | |
18790 | (LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64. | |
18791 | (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. | |
18792 | * config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18793 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18794 | * doc/invoke.texi (-muclibc): Remove caveat about supported | |
18795 | targets. | |
18796 | ||
18797 | 2006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> | |
18798 | ||
18799 | * doc/cpp.texi (__TIMESTAMP__): Document. | |
18800 | ||
18801 | 2006-02-17 Roger Sayle <roger@eyesopen.com> | |
18802 | ||
18803 | PR middle-end/25600 | |
18804 | * fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when | |
18805 | C is one less than the width of X (and related transformations). | |
18806 | * simplify-rtx.c (simplify_unary_operation_1): Transform | |
18807 | (neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C) | |
18808 | depending on STORE_FLAG_VALUE, were C is one less then the | |
18809 | width of X. | |
18810 | ||
18811 | 2006-02-17 Daniel Berlin <dberlin@dberlin.org> | |
18812 | ||
18813 | Fix PR tree-optimization/26341 | |
18814 | * tree-ssa-operands.c (add_virtual_operand): Remove assert | |
18815 | about NAME_MEMORY_TAG's. | |
18816 | ||
18817 | 2006-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
18818 | ||
18819 | PR target/26255 | |
18820 | * pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit | |
18821 | with hardware float support, and software float support. Add fcpy | |
18822 | alternative to hardware patterns. Add alternatives to copy between | |
18823 | general and floating-point registers to the 32-bit pattern. | |
18824 | * pa.c (pa_secondary_reload): Don't abort if reload tries to find a | |
18825 | secondary reload to load a QI or HI mode constant into a floating | |
18826 | point register. | |
18827 | * pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode. | |
18828 | * pa64-regs.h (VALID_FP_MODE_P): Likewise. | |
18829 | ||
18830 | 2006-02-17 Andrew Pinski <pinskia@physics.uc.edu> | |
18831 | ||
18832 | PR target/26272 | |
18833 | * config/rs6000/darwin.md (load_macho_picbase_si): Add | |
18834 | pc to the pattern. | |
18835 | (load_macho_picbase_di): Likewise. | |
18836 | ||
18837 | 2006-02-16 Jeff Law <law@redhat.com> | |
18838 | ||
18839 | * tree-vrp.c (set_value_range_to_nonnegative): New function. | |
18840 | (vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise. | |
18841 | (ssa_name_nonzero_p): Likewise. | |
18842 | (get_value_range): Return NULL if VRP is not running. | |
18843 | (extract_range_from_expr): Fallback to tree_expr_XXX_p if | |
18844 | VRP routines do not discover a range. | |
18845 | (vrp_finalize): Clear VR_VALUE to indicate VRP is not running. | |
18846 | * tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype. | |
18847 | * fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP. | |
18848 | (tree_expr_nonnegative_p): Similarly. | |
18849 | * tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove. | |
18850 | (restore_nonzero_vars_to_original_value): Remove. | |
18851 | (unsafe_associative_fp_binop): Remove. | |
18852 | (tree_ssa_dominator_optimize): Remove initialization and | |
18853 | finalization of nonzero_vars and nonzero_vars_stack. | |
18854 | (dom_opt_initialize_block): No longer push marker on | |
18855 | nonzero_vars_stack. | |
18856 | (dom_opt_finalize_block): No longer call | |
18857 | restore_nonzero_vars_to_original_value. | |
18858 | (record_equivalences_from_phis): No longer look for | |
18859 | nonzero PHI arguments. | |
18860 | (cprop_into_successor_phis): No longer propagate nonzero | |
18861 | property into PHI arguments. Lose unused argument. Caller | |
18862 | updated. | |
18863 | (record_equivalences_from_stmt): No longer record nonzero | |
18864 | values for SSA_NAMEs. | |
18865 | (lookup_avail_expr): No longer use nonzero_vars. | |
18866 | ||
18867 | * stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly | |
18868 | for sizetype when sizetype is unsigned. | |
18869 | ||
18870 | 2006-02-16 Denis Nagorny <denis_nagorny@linux.intel.com> | |
18871 | ||
18872 | PR rtl-optimization/25603 | |
18873 | * reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note. | |
18874 | (regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case. | |
18875 | * reload1.c (choose_reload_regs): Added call of regno_clobbered_p | |
18876 | with new meaning of SETS. | |
18877 | ||
18878 | 2006-02-16 Joseph S. Myers <joseph@codesourcery.com> | |
18879 | ||
18880 | PR target/20353 | |
18881 | PR target/24578 | |
18882 | PR target/24837 | |
18883 | * config/linux.opt: New file. | |
18884 | * config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, | |
18885 | LINUX_DYNAMIC_LINKER): Define. | |
18886 | (TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC. | |
18887 | * config.gcc (*-*-linux*): Define extra_options. | |
18888 | (*-*-*uclibc*): Define UCLIBC_DEFAULT. | |
18889 | (arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi. | |
18890 | * config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to | |
18891 | GLIBC_DYNAMIC_LINKER. | |
18892 | * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise. | |
18893 | (LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18894 | * config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define. | |
18895 | (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. | |
18896 | * doc/invoke.texi (GNU/Linux Options): New section. | |
18897 | ||
18898 | 2006-02-16 Eric Botcazou <ebotcazou@libertysurf.fr> | |
18899 | ||
18900 | * config/sparc/sparc.md (setjmp): Rewrite. | |
18901 | (setjmp_32): Delete. | |
18902 | (setjmp_64): Likewise. | |
18903 | ||
18904 | 2006-02-16 Daniel Berlin <dberlin@dberlin.org> | |
18905 | ||
18906 | * tree-ssa-operands.c (access_can_touch_variable): Fix typo in | |
18907 | previous change. | |
18908 | ||
18909 | 2006-02-16 Zdenek Dvorak <dvorakz@suse.cz> | |
18910 | ||
18911 | * loop-invariant.c (invariant_for_use, check_dependencies): Fail for | |
18912 | read-write uses. | |
18913 | ||
18914 | 2006-02-16 Zdenek Dvorak <dvorakz@suse.cz> | |
18915 | ||
18916 | PR rtl-optimization/26296 | |
18917 | * Makefile.in (loop-invariant.c): Add except.h dependency. | |
18918 | * loop-invariant.c: Include except.h. | |
18919 | (find_invariant_insn): Ignore insns satisfying can_throw_internal. | |
18920 | ||
ad41bd84 | 18921 | 2006-02-16 Paul Brook <paul@codesourcery.com> |
f1aea409 MS |
18922 | |
18923 | * reload1.c (emit_reload_insns): Invalidate dead input registers used | |
18924 | for reloads. | |
18925 | ||
18926 | 2006-02-16 Bernd Schmidt <bernd.schmidt@analog.com> | |
18927 | ||
18928 | PR rtl-optimization/25636 | |
18929 | * local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test | |
18930 | when deciding whether an insn is an initializing insn. | |
18931 | ||
18932 | 2006-02-15 Daniel Berlin <dberlin@dberlin.org> | |
18933 | ||
18934 | * tree.c (init_ttree): Add STRUCT_FIELD_TAG handling. | |
18935 | (tree_code_size): Ditto. | |
18936 | * tree.h (struct tree_memory_tag): Remove parent_var. | |
18937 | (struct tree_struct_field_tag): New. | |
18938 | (SFT_OFFSET): New. | |
18939 | (SFT_SIZE): New. | |
18940 | (union tree_node): Add sft member. | |
18941 | * tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY | |
18942 | specially here. | |
18943 | (create_sft): Add size and offset argument, set SFT_OFFSET and | |
18944 | SFT_SIZE. | |
18945 | (create_overlap_variables_for): Update for SFT_OFFSET/SFT_SIZE. | |
18946 | * treestruct.def: Add TS_STRUCT_FIELD_TAG. | |
18947 | * tree-flow-inline.h (get_subvar_at): Update for | |
18948 | SFT_OFFSET/SFT_SIZE. | |
18949 | (var_can_have_subvars): Ditto. | |
18950 | (overlap_subvar): Ditto. | |
18951 | * print-tree.c (print_node): Print out interesting things for | |
18952 | SFT's. | |
18953 | * tree-flow.h (struct subvar): Remove offset and size members. | |
18954 | * tree-ssa-operands.c (get_expr_operands): Update for | |
18955 | get_indirect_ref_operands changes. | |
18956 | (get_indirect_ref_operands): Call add_virtual_operand instead of | |
18957 | add_stmt_operand. Only recurse on base var if requested. | |
18958 | (access_can_touch_variable): New function. | |
18959 | (add_stmt_operand): Split virtual operand handling into ... | |
18960 | (add_virtual_operand): Here. Add offset, size, and for_clobber | |
18961 | arguments. Prune alias sets. | |
18962 | (add_call_clobber_ops): Call add_virtual_operand. | |
18963 | ||
18964 | 2006-02-15 Jakub Jelinek <jakub@redhat.com> | |
18965 | ||
18966 | PR middle-end/26300 | |
18967 | * combine.c (make_extraction): Bail out if ORIG_POS is negative. | |
18968 | ||
18969 | * tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather | |
18970 | than TREE_CODE as index into omp_clause_num_ops array. | |
18971 | ||
18972 | 2006-02-15 Uttam Pawar <uttamp@us.ibm.com> | |
18973 | ||
18974 | PR rtl-optimization/26184 | |
18975 | * modulo-sched.c (generate_reg_moves): Free bitmap vector | |
18976 | uses_of_defs. | |
18977 | * modulo-sched.c (sms_schedule): Free g_arr pointer. | |
18978 | * modulo-sched.c (sms_schedule_by_order): Free bitmap pointers | |
18979 | must_precede, must_follow and tobe_scheduled. | |
18980 | ||
18981 | PR other/26147 | |
18982 | * opts.c (common_handle_option): Free new_option pointer. | |
18983 | * df-core.c (df_analyze): Free postorder pointer. | |
18984 | ||
719bb4e3 | 18985 | 2006-02-15 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
f1aea409 MS |
18986 | |
18987 | * Makefile.in: Fix the examples about the use of stamps | |
18988 | ||
18989 | 2006-02-15 Michael Matz <matz@suse.de> | |
18990 | ||
18991 | PR middle-end/22275 | |
18992 | ||
18993 | * stor-layout.c (layout_decl): Zero-width bitfields aren't | |
18994 | influenced by maximum_field_alignment or DECL_PACKED. | |
18995 | (update_alignment_for_field): Ditto. | |
18996 | (place_field): Ditto. | |
18997 | * doc/extend.texi (<#pragma pack>, <Type Attributes>): Document | |
18998 | this behaviour. | |
18999 | ||
19000 | 2006-02-15 Paolo Bonzini <bonzini@gnu.org> | |
19001 | ||
19002 | * cfg.c (dump_flow_info): Get dump flags as an additional parameter. | |
19003 | (debug_flow_info): Pass it. | |
19004 | * alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info. | |
19005 | * bb-reorder.c (reorder_basic_blocks): Likewise. | |
19006 | * cfgcleanup.c (rest_of_handle_jump2): Likewise. | |
19007 | * cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise. | |
19008 | * flow.c (life_analysis, recompute_reg_usage): Likewise. | |
19009 | * gcse.c (gcse_main, bypass_jumps): Likewise. | |
19010 | * ifcvt.c (rest_of_handle_if_conversion): Likewise. | |
19011 | * local-alloc.c (rest_of_handle_local_alloc): Likewise. | |
19012 | * loop-init.c (rtl_loop_init, rtl_loop_done): Likewise. | |
19013 | * profile.c (compute_branch_probabilities, branch_prob): Likewise. | |
19014 | * rtl.h (dump_flow_info): Adjust prototype. | |
19015 | * tracer.c (rest_of_handle_tracer, tracer): Likewise. | |
19016 | * var-tracking.c (variable_tracking_main): Likewise. | |
19017 | * passes.c (execute_todo): Obey TDF_BLOCKS for RTL. | |
19018 | * tree-dump.c (enable_rtl_dump_file): Enable the details and blocks | |
19019 | options. | |
19020 | ||
19021 | 2006-02-15 Marcin Dalecki <martin@dalecki.de> | |
19022 | ||
19023 | * tree-ssa-dom.c (dom_thread_across_edge): fix tag expression | |
19024 | construction. | |
19025 | ||
19026 | 2006-02-14 Zdenek Dvorak <dvorakz@suse.cz> | |
19027 | ||
19028 | PR tree-optimization/26209 | |
19029 | * tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg. | |
19030 | * tree-cfgcleanup.c (cleanup_control_flow): Remove dead | |
19031 | eh edges. | |
19032 | * tree-cfg.c (replace_uses_by): Do not alter cfg. | |
19033 | ||
19034 | 2006-02-14 Roger Sayle <roger@eyesopen.com> | |
19035 | ||
19036 | PR middle-end/23670 | |
19037 | * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into | |
19038 | (X,Y) and the corresponding symmetry related transformations. | |
19039 | (fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into | |
19040 | (X,Y) and its symmetry related transformations. | |
19041 | ||
19042 | 2006-02-14 Roger Sayle <roger@eyesopen.com> | |
19043 | ||
19044 | * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU | |
19045 | and GEU. | |
19046 | ||
19047 | 2006-02-14 Adam Nemet <anemet@caviumnetworks.com> | |
19048 | ||
19049 | * simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE. | |
19050 | ||
19051 | 2006-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
19052 | ||
19053 | PR bootstrap/26053 | |
19054 | * configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers | |
19055 | support COMDAT group. | |
19056 | * configure: Regenerate. | |
19057 | ||
19058 | 2006-02-14 Roger Sayle <roger@eyesopen.com> | |
19059 | ||
19060 | PR middle-end/26279 | |
19061 | PR middle-end/26280 | |
19062 | PR middle-end/26283 | |
19063 | * dojump.c (do_compare_rtx_and_jump): Handle multi-word LE. | |
19064 | ||
19065 | 2006-02-14 Daniel Berlin <dberlin@dberlin.org> | |
19066 | ||
19067 | Fix PR tree-optimization/26260 | |
19068 | ||
19069 | * doc/invoke.texi (max-fields-for-field-sensitive): Document | |
19070 | param. | |
19071 | * params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New. | |
19072 | * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto. | |
19073 | * tree-ssa-structalias.c (create_variable_info_for): Use | |
19074 | MAX_FIELDS_FOR_FIELD_SENSITIVE. | |
19075 | ||
19076 | 2006-02-14 Zdenek Dvorak <dvorakz@suse.cz> | |
19077 | ||
19078 | * doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl): | |
19079 | Document. | |
19080 | * tree-ssa-loop-niter.c (number_of_iterations_ne, | |
19081 | number_of_iterations_lt, number_of_iterations_cond): Remember the shape | |
19082 | of the ending condition. | |
19083 | * tree-ssa-loop-manip.c: Include params.h. | |
19084 | (build_if_stmt, can_unroll_loop_p, determine_exit_conditions, | |
19085 | tree_unroll_loop): New functions. | |
19086 | * tree-pass.h (pass_loop_prefetch): Declare. | |
19087 | * loop.c (rest_of_handle_loop_optimize): Test for | |
19088 | -fprefetch-loop-arrays-rtl. | |
19089 | * tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h. | |
19090 | * timevar.def (TV_TREE_PREFETCH): New timevar. | |
19091 | * tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch, | |
19092 | pass_loop_prefetch): New. | |
19093 | * tree-cfgcleanup.c: Include tree-scalar-evolution.h. | |
19094 | (cleanup_tree_cfg_loop): Call scev_reset. | |
19095 | * common.opt (fprefetch-loop-arrays-rtl): Add. | |
19096 | * tree-ssa-loop-prefetch.c: New file. | |
19097 | * tree-outof-ssa.c (struct value_expr_d): Add expr_vars field. | |
19098 | (new_temp_expr_table): Initialize expr_vars. | |
19099 | (free_temp_expr_table): Cleanup expr_vars. | |
19100 | (check_replaceable, find_replaceable_in_bb): Prevent accumulating | |
19101 | expressions from being merged into one. | |
19102 | * tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h. | |
19103 | (struct tree_niter_desc): Add control, bound and cmp fields. | |
19104 | (tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop): | |
19105 | Declare. | |
19106 | * Makefile.in (tree-ssa-loop-prefetch.o): Add. | |
19107 | (tree-cfgcleanup.o): Add SCEV_H dependency. | |
19108 | (tree-ssa-loop-manip.o): Add PARAMS_H dependency. | |
19109 | * passes.c (init_optimization_passes): Add pass_loop_prefetch. | |
19110 | ||
19111 | 2006-02-14 Richard Guenther <rguenther@suse.de> | |
19112 | ||
19113 | PR tree-optimization/26258 | |
19114 | * tree-ssa-structalias.c (find_func_aliases): Handle aggregates | |
19115 | in PHI argument processing. | |
19116 | ||
19117 | 2006-02-13 Adam Nemet <anemet@caviumnetworks.com> | |
19118 | ||
19119 | * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return | |
19120 | new expression in the requested machine mode. | |
19121 | ||
19122 | 2006-02-13 Roger Sayle <roger@eyesopen.com> | |
19123 | ||
19124 | * optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx | |
19125 | directly, instead let do_compare_rtx_and_jump handle this for us. | |
19126 | * expr.c (expand_expr_real_1): Likewise. | |
19127 | * dojump.c (do_jump_by_parts_greater_rtx): Make static. Move | |
19128 | before do_jump_by_parts_greater. | |
19129 | (do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx. | |
19130 | * expr.h (do_jump_by_parts_greater_rtx): Delete prototype. | |
19131 | ||
19132 | 2006-02-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
19133 | ||
19134 | * pa/quadlib.c: Use defines instead of enum qfcmp_magic. | |
19135 | ||
19136 | 2006-02-13 Zdenek Dvorak <dvorakz@suse.cz> | |
19137 | ||
19138 | PR rtl-optimization/26235 | |
19139 | * loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats. | |
19140 | (invariant_expr_equal_p): Handle 'i' and 'n' formats. Fail on unknown | |
19141 | format. | |
19142 | ||
19143 | 2006-02-13 Jeff Law <law@redhat.com> | |
19144 | ||
19145 | * tree-vrp.c (extract_range_from_binary_expr): Remove handling of | |
19146 | TRUTH_XOR_EPR. | |
19147 | ||
19148 | 2006-02-13 Jakub Jelinek <jakub@redhat.com> | |
19149 | ||
19150 | PR middle-end/26092 | |
19151 | * gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl | |
19152 | twice if decl is a builtin. When trying again, call get_callee_fndecl | |
19153 | first to verify it is still a builtin. | |
19154 | ||
19155 | 2006-02-13 Geoffrey Keating <geoffk@apple.com> | |
19156 | ||
19157 | * dwarf2out.c (base_type_die): Don't add AT_name here. | |
19158 | (subrange_type_die): Don't add AT_name here. | |
19159 | (modified_type_die): Rearrange code flow. Do add AT_name here. | |
19160 | ||
19161 | 2006-02-13 Zdenek Dvorak <dvorakz@suse.cz> | |
19162 | ||
19163 | PR rtl-optimization/26247 | |
19164 | PR rtl-optimization/26248 | |
19165 | * loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode. | |
19166 | ||
19167 | 2006-02-13 Richard Sandiford <richard@codesourcery.com> | |
19168 | ||
19169 | * config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113. | |
19170 | * config/fixtfdi.c: Likewise. | |
19171 | * config/fixunstfdi.c: Likewise. | |
19172 | * config/floatditf.c: Likewise. | |
19173 | ||
19174 | 2006-02-13 Roger Sayle <roger@eyesopen.com> | |
19175 | ||
19176 | PR middle-end/24427 | |
19177 | * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2 | |
19178 | into (X,C2) if C1 is a subset of the bits of C2. Transform | |
19179 | (X&C1)|C2 into X|C2 if C1|C2 == ~0. Canonicalize (X&C1)|C2 as | |
19180 | (X&(C1&~C2))|C2. | |
19181 | <BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2). | |
19182 | ||
19183 | 2006-02-13 Josh Conner <jconner@apple.com> | |
19184 | ||
19185 | PR target/25376 | |
19186 | * varasm.c (function_section): Check for section name before | |
19187 | calling select_section on targets that define | |
19188 | USE_SELECT_SECTION_FOR_FUNCTIONS. On other targets, use | |
19189 | unlikely_text_section instead of hot_function_section if | |
19190 | first_function_block_is_cold. | |
19191 | ||
19192 | 2006-02-13 J"orn Rennecke <joern.rennecke@st.com> | |
19193 | ||
19194 | PR middle-end/25335 | |
19195 | * reload1.c (gen_reload): Also use find_replacement in UNARY_P case. | |
19196 | ||
19197 | 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> | |
19198 | ||
19199 | PR rtl-optimization/26222 | |
19200 | * function.c (assign_stack_temp_for_type): Do not reuse stack slots | |
19201 | after tree->rtl expansion. | |
19202 | * loop-invariant.c (move_invariant_reg): Use force_operand on rhs | |
19203 | before passing it to emit_move_insn. | |
19204 | ||
19205 | 2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
19206 | ||
19207 | * doc/invoke.texi (-Write-strings): Document that it is enabled by | |
19208 | default. | |
19209 | * c.opt (-Wwrite-strings): Declare variable warn_write_strings. | |
19210 | Clarify documentation. | |
19211 | * c-common.h (warn_write_strings): Remove. | |
19212 | * c-common.c (warn_write_strings): Likewise. | |
19213 | * c-opts.c (c_common_init_options): Enable -Wwrite-strings by | |
19214 | default for C++. | |
19215 | ||
19216 | 2006-02-12 Roger Sayle <roger@eyesopen.com> | |
19217 | ||
19218 | PR middle-end/25724 | |
19219 | * dojump.c (do_jump): Call do_compare_rtx_and_jump. | |
19220 | (do_jump_parts_zero_rtx): New function renamed from | |
19221 | do_jump_parts_equality_rtx. Made static. Add a mode argument. | |
19222 | (do_jump_parts_equality_rtx): New function split out from | |
19223 | do_jump_parts_equality. Old implementation renamed as above. | |
19224 | Call do_jump_parts_zero_rtx if either operand is zero. | |
19225 | (do_jump_parts_equality): Call do_jump_parts_equality_rtx to | |
19226 | do all of the heavy lifting. | |
19227 | (do_compare_rtx_and_jump): Handle multi-word comparisons by | |
19228 | calling either do_jump_by_parts_greater_rtx or | |
19229 | do_jump_by_parts_equality_rtx. | |
19230 | * expr.h (do_jump_by_parts_equality_rtx): Remove prototype. | |
19231 | * expmed.c (do_cmp_and_jump): Now multi-word optimization has | |
19232 | moved to do_compare_rtx_and_jump, call it directly. | |
19233 | * stmt.c (do_jump_if_equal): Remove static prototype. Add a | |
19234 | mode argument. Call do_compare_rtx_and_jump. | |
19235 | (emit_case_nodes): Update calls to do_jump_if_equal. | |
19236 | ||
19237 | 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> | |
19238 | ||
19239 | PR rtl-optimization/26225 | |
19240 | * loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands. | |
19241 | ||
19242 | 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> | |
19243 | ||
19244 | PR rtl-optimization/26232 | |
19245 | * loop-invariant.c (find_invariant_insn): Ignore insns that set CC0. | |
19246 | ||
19247 | 2006-02-11 Jason Merrill <jason@redhat.com> | |
19248 | ||
19249 | PR tree-opt/24365 | |
19250 | * tree-inline.c (declare_return_variable): Just don't use the | |
19251 | modify target if it's a gimple complex reg and the return slot | |
19252 | isn't. | |
19253 | ||
19254 | 2006-02-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
19255 | ||
19256 | * doc/contrib.texi: Update my entry. | |
19257 | ||
19258 | 2006-02-10 Geoffrey Keating <geoffk@apple.com> | |
19259 | ||
19260 | * config/i386/darwin.h (DBX_REGISTER_NUMBER): Define. | |
19261 | ||
19262 | 2006-02-10 Diego Novillo <dnovillo@redhat.com> | |
19263 | ||
19264 | * tree-inline.c (estimate_num_insns_1): Make OpenMP directives | |
19265 | expensive. | |
19266 | ||
19267 | 2006-02-10 Zdenek Dvorak <dvorakz@suse.cz> | |
19268 | ||
19269 | * doc/invoke.texi (-floop-optimize2): Removed. | |
19270 | * toplev.c (process_options): Remove handling of flag_loop_optimize2. | |
19271 | * loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2. | |
19272 | Test flag_branch_on_count_reg only if HAVE_doloop_end. | |
19273 | * common.opt (floop-optimize2): Removed. | |
19274 | (fmove-loop-invariants): Enabled by default. | |
19275 | ||
19276 | 2006-02-10 Sebastian Pop <pop@cri.ensmp.fr> | |
19277 | ||
19278 | * tree-if-conv.c (combine_blocks): Free the result of | |
19279 | get_loop_exit_edges. | |
19280 | ||
19281 | 2006-02-10 Jeff Law <law@redhat.com> | |
19282 | ||
19283 | * fold-const.c (tree_expr_nonzero_p): Fix thinko. | |
19284 | ||
19285 | PR tree-optimization/26213 | |
19286 | * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not | |
19287 | loop trying to follow SSA_NAME_VALUE chains. | |
19288 | ||
19289 | 2006-02-10 Richard Guenther <rguenther@suse.de> | |
19290 | ||
19291 | * tree-dfa.c (get_ref_base_and_extent): When computing maxsize | |
19292 | deal with structures that end in implicitly variable sized arrays. | |
19293 | ||
19294 | 2006-02-09 Zdenek Dvorak <dvorakz@suse.cz> | |
19295 | ||
19296 | PR rtl-optimization/24762 | |
19297 | * df-scan.c (df_bb_refs_record): Record correct registers defined on | |
19298 | eh edges. | |
19299 | ||
19300 | 2006-02-09 Zdenek Dvorak <dvorakz@suse.cz> | |
19301 | ||
19302 | * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed. | |
19303 | (struct ivopts_data): Add regs_used field. | |
19304 | (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops. | |
19305 | (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used | |
19306 | instead of loop_data->regs_used; | |
19307 | (free_loop_data): Do not free aux fields for loops. | |
19308 | (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init | |
19309 | and tree_ssa_iv_optimize_finalize. | |
19310 | ||
19311 | 2006-02-09 Kaz Kojima <kkojima@gcc.gnu.org> | |
19312 | ||
19313 | * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE. | |
19314 | ||
19315 | 2006-02-09 J"orn Rennecke <joern.rennecke@st.com> | |
19316 | ||
19317 | PR target/26141 | |
19318 | * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when | |
19319 | computing the effective result type. | |
19320 | ||
19321 | 2006-02-09 J"orn Rennecke <joern.rennecke@st.com> | |
19322 | ||
19323 | PR inline-asm/16194 | |
19324 | * tree.h (decl_overlaps_hard_reg_set_p) Don't declare. | |
19325 | (tree_overlaps_hard_reg_set): Declare. | |
19326 | * stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return | |
19327 | type and signature to match function type expected by walk_tree. | |
19328 | (tree_overlaps_hard_reg_set): New function. | |
19329 | (decl_conflicts_with_clobbers_p): Rename to: | |
19330 | (tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument. | |
19331 | Use tree_overlaps_hard_reg_set. Changed caller. | |
19332 | * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace | |
19333 | decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set. | |
19334 | * cris.c (cris_md_asm_clobbers): Likewise. | |
19335 | ||
19336 | 2006-02-09 Bernd Schmidt <bernd.schmidt@analog.com> | |
19337 | ||
19338 | * reload1.c (emit_input_reload_insns): Delete code that tries to | |
19339 | inherit using find_equiv_reg. | |
19340 | ||
19341 | 2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
19342 | ||
19343 | * c-common.h (flag_const_strings): Don't declare. | |
19344 | * c-common.c (flag_const_strings): Remove. | |
19345 | * c.opt (fconst_strings): Remove. | |
19346 | * c-opts.c (c_common_handle_option): Remove <OPT_fconst_strings>. | |
19347 | <OPT_Wwrite_strings>: Don't set flag_const_strings. | |
19348 | (c_common_init_options): Don't set flag_const_strings. | |
19349 | * doc/invoke.texi (-fno-const-strings): Remove documentation. | |
19350 | ||
19351 | 2006-02-09 Richard Earnshaw <richard.earnshaw@arm.com> | |
19352 | ||
19353 | * arm.md (tlobits_cbranch): New pattern. | |
19354 | * arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if | |
19355 | testing a single bit. | |
19356 | ||
19357 | 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> | |
19358 | ||
19359 | PR tree-opt/26179 | |
19360 | * tree-ssa-pre.c (create_component_ref_by_pieces): | |
19361 | Handle RETURN_DECL like VAR_DECL. | |
19362 | ||
19363 | 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> | |
19364 | ||
19365 | PR middle-end/26134 | |
19366 | * fold-const.c (fold_indirect_ref_1): Fold | |
19367 | "*(foo *)&complexfoo" to "__real__ complexfoo" | |
19368 | and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo". | |
19369 | ||
19370 | 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> | |
19371 | ||
19372 | * tree-flow-inline.h (var_can_have_subvars): | |
19373 | Volatile variables should not have subvariables. | |
19374 | ||
19375 | 2006-02-09 Diego Novillo <dnovillo@redhat.com> | |
19376 | ||
19377 | PR 26180 | |
19378 | * tree-vrp.c (vrp_int_const_binop): Detect overflow when | |
19379 | multiplying unsigned values. | |
19380 | Tidy comments. | |
19381 | ||
19382 | 2006-02-09 Eric Botcazou <ebotcazou@libertysurf.fr> | |
19383 | ||
19384 | * config/sparc/sparc.c (tls_call_delay): Fix oversight. | |
19385 | ||
19386 | 2006-02-08 Jason Merrill <jason@redhat.com> | |
19387 | ||
19388 | PR c++/25979 | |
19389 | * tree.def: Elaborate on difference from MODIFY_EXPR. | |
19390 | * doc/c-tree.texi (INIT_EXPR): Likewise. | |
19391 | * gimplify.c (internal_get_tmp_var): Use INIT_EXPR. | |
19392 | (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise. | |
19393 | (gimplify_target_expr): Likewise. | |
19394 | (gimplify_cond_expr): Remove target handling. | |
19395 | (gimplify_modify_expr): Don't clobber INIT_EXPR code here. | |
19396 | (gimplify_expr): Clobber it here. | |
19397 | (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here. | |
19398 | Do return slot optimization if we have an INIT_EXPR. | |
19399 | ||
19400 | PR tree-opt/24365 | |
19401 | * tree-inline.c (declare_return_variable): Also clear | |
19402 | DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case. | |
19403 | ||
19404 | PR c++/16405 | |
19405 | * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling. | |
19406 | ||
19407 | PR middle-end/22439 | |
19408 | * gimplify.c (gimplify_one_sizepos): Fix typo. | |
19409 | ||
19410 | 2006-02-08 Jeff Law <law@redhat.com> | |
19411 | ||
19412 | PR tree-optimization/21417 | |
19413 | * tree-ssa-threadedge.c (thread_across_edge): Reject threading | |
19414 | across a backedge if the control statement at the end of the | |
19415 | block is data dependent on other statements in the same block. | |
19416 | (record_temporary_equivalences_from_stmts): Remove over-conservative | |
19417 | test for threading across backedges. | |
19418 | ||
19419 | * tree-ssa-dce.c (remove_dead_statement): When removing a dead | |
19420 | control statement, handle all three special cases in the same | |
19421 | manner as they all have the same desired solution. No longer | |
19422 | special case edge flag updating when the post dominator is | |
19423 | the exit block. | |
19424 | ||
19425 | 2006-02-08 Roger Sayle <roger@eyesopen.com> | |
19426 | ||
19427 | * tree.def (CHAR_TYPE): Remove. | |
19428 | * dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE. | |
19429 | * dwarf2out.c (base_type_die, is_base_type): Likewise. | |
19430 | (gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays. | |
19431 | (gen_string_type_die): Delete unreachable function. | |
19432 | ||
19433 | * tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE. | |
19434 | * tree.c (build_int_cst_wide, type_contains_placeholder_1, | |
19435 | type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise. | |
19436 | * tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise. | |
19437 | * builtins.c (type_to_class): Likewise. | |
19438 | * fold-const.c (fold_convert, build_range_check, | |
19439 | merge_ranges): Likewise. | |
19440 | * expr.c (count_type_elements): Likewise. | |
19441 | * c-pretty-print.c (pp_c_type_specifier): Likewise. | |
19442 | * stor-layout.c (layout_type): Likewise. | |
19443 | * ipa-type-escape.c (type_to_consider): Likewise. | |
19444 | * gimplify.c (omp_firstprivatize_type_sizes, | |
19445 | gimplify_type_sizes): Likewise. | |
19446 | * explow.c (promote_mode): Likewise. | |
19447 | * tree-sra.c (is_sra_scalar_type): Likewise. | |
19448 | * varasm.c (output_constant): Likewise. | |
19449 | * tree-inline.c (remap_type_1): Likewise. | |
19450 | * convert.c (convert_to_pointer, convert_to_real, | |
19451 | convert_to_integer, convert_to_complex): Likewise. | |
19452 | ||
19453 | 2006-02-08 Daniel Berlin <dberlin@dberlin.org> | |
19454 | ||
19455 | * df-scan.c (df_def_record_1): A set destination may | |
19456 | be a parallel regardless of mode. | |
19457 | ||
19458 | 2006-02-08 Roger Sayle <roger@eyesopen.com> | |
19459 | ||
19460 | PR target/22209 | |
19461 | * config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc. | |
19462 | * config/mips/_tilib.c: Remove. | |
19463 | * config/fixtfdi.c: New libgcc source file. | |
19464 | * config/fixunstfdi.c: New source file. | |
19465 | * config/floatditf.c: New source file. | |
19466 | * config/floatunditf.c: New souce file. | |
19467 | * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source | |
19468 | files above instead of config/mips/_tilib.c. | |
19469 | * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. | |
19470 | ||
19471 | 2006-02-08 Jeff Law <law@redhat.com> | |
19472 | ||
19473 | PR tree-optimization/26169 | |
19474 | * tree-vrp.c (execute_vrp): Perform any queued SSA updates before | |
19475 | threading jumps. | |
19476 | ||
19477 | 2006-02-08 Zdenek Dvorak <dvorakz@suse.cz> | |
19478 | ||
19479 | * df.h (DF_REG_SIZE): Return the length of the initialized | |
19480 | part of the array. | |
19481 | ||
19482 | 2006-02-08 Nathan Sidwell <nathan@codesourcery.com> | |
19483 | ||
19484 | * config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3, | |
19485 | __muldf3): Return a correctly signed zero. | |
19486 | ||
19487 | 2006-02-08 Paolo Bonzini <bonzini@gnu.org> | |
19488 | ||
19489 | * passes.c (register_one_dump_file): Accept the current properties | |
19490 | instead of pass number. Adjust call to dump_register. Remove | |
19491 | duplicated code. | |
19492 | (register_dump_files): Now a wrapper around... | |
19493 | (register_dump_files_1): ... this one. Do not modify the pass | |
19494 | structure. | |
19495 | (next_pass_1): Cosmetic fix. | |
19496 | (execute_todo): Keep second parameter only. Use curr_properties | |
19497 | instead of fetching it from the pass structure. Check and set | |
19498 | last_verified. | |
19499 | (execute_one_pass): Handle TODO_set_props. Use curr_properties | |
19500 | instead of fetching it from the pass structure. Fix calls to | |
19501 | execute_todo. Update curr_properties and initialize .vcg RTL dump | |
19502 | after running the pass. Reset last_verified. | |
19503 | * tree-dump.c (dump_files): Renumber consecutively. Put .cgraph dump | |
19504 | at the beginning. | |
19505 | (FIRST_AUTO_NUMBERED_DUMP): New. | |
19506 | (dump_register): Remove "num" parameter, assign it within the | |
19507 | function. | |
19508 | (get_dump_file_name): Modify template for dumps. | |
19509 | * tree-dump.h (dump_register): Adjust prototype. | |
19510 | * tree-pass.h (enum tree_dump_index): Move cgraph at the beginning. | |
19511 | (PROP_trees): Add PROP_gimple_lomp. | |
19512 | (TODO_set_props): New. | |
19513 | * gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf. | |
19514 | * tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh. | |
19515 | * cfgexpand.c (pass_expand): Destroy PROP_trees. | |
19516 | ||
19517 | 2006-02-08 Jakub Jelinek <jakub@redhat.com> | |
19518 | ||
19519 | * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file. | |
19520 | (sparc64-*-linux*): Likewise. | |
19521 | * config/sparc/t-linux64 (SHLIB_MAPFILES): Removed. | |
19522 | * config/sparc/t-linux: New file. | |
19523 | * config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi, | |
19524 | __floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128. | |
19525 | (__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if | |
19526 | -m32 -mlong-double-128. | |
19527 | ||
19528 | * config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file. | |
19529 | * config/alpha/t-linux: New file. | |
19530 | * config/alpha/libgcc-alpha-ldbl.ver: New file. | |
19531 | ||
19532 | * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define | |
19533 | __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128. | |
19534 | (CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here. | |
19535 | * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define | |
19536 | __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32. | |
19537 | (CPP_ARCH32_SPEC): Remove. | |
19538 | ||
19539 | 2006-02-07 Uttam Pawar <uttamp@us.ibm.com> | |
19540 | ||
19541 | PR tree-optimization/26145 | |
19542 | * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free | |
19543 | bbs pointer. | |
19544 | ||
19545 | 2006-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
19546 | ||
19547 | PR target/26109 | |
19548 | * pa.c (attr_length_indirect_call): Don't return length 8 for distances | |
19549 | >= 240000 when generating code for SOM runtime. | |
19550 | (output_indirect_call): Don't use "b,l" instruction for indirect calls | |
19551 | to $$dyncall when generating code for SOM runtime.. | |
19552 | ||
19553 | 2006-02-07 Dirk Mueller <dmueller@suse.com> | |
19554 | ||
19555 | PR c++/18150 | |
19556 | * doc/invoke.texi (-Wsequence-point): Update documentation | |
19557 | that -Wsequence-point is implemented for C++ as well. | |
19558 | ||
19559 | 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
19560 | ||
19561 | * config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread. | |
19562 | * config/sol2.h (CPP_SUBTARGET_SPEC): Likewise. | |
19563 | (LIB_SPEC): Likewise. | |
19564 | * doc/invoke.texi (SPARC options): Document -pthread. | |
19565 | ||
19566 | 2006-02-07 Geoffrey Keating <geoffk@apple.com> | |
19567 | ||
19568 | * config/i386/i386.c (ix86_delegitimize_address): Support Darwin | |
19569 | PIC addresses. | |
19570 | ||
19571 | 2006-02-07 Roger Sayle <roger@eyesopen.com> | |
19572 | ||
19573 | * config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE. | |
19574 | Correct comment describing BOOLEAN_TYPE. | |
19575 | ||
19576 | 2006-02-07 Dirk Mueller <dmueller@suse.com> | |
19577 | ||
19578 | * c.opt: C++ frontend supports -Wdiv-by-zero. | |
19579 | * c-opts.c (c_common_handle_option): Remove dead case. | |
19580 | ||
19581 | 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
19582 | ||
19583 | * configure.ac (TLS assembler check): Do not enable TLS by | |
19584 | default on SPARC/Solaris before version 10. | |
19585 | * configure: Regenerate. | |
19586 | ||
19587 | 2006-02-07 David Edelsohn <edelsohn@gnu.org> | |
19588 | ||
19589 | * doc/invoke.texi (xl-compat): Document conversion and support | |
19590 | routine names. | |
19591 | ||
19592 | 2006-02-07 Jeff Law <law@redhat.com> | |
19593 | ||
19594 | * tree-vrp.c (find_conditional_asserts): Update comments. | |
19595 | (simplify_stmt_for_jump_threading): New. | |
19596 | (identify_jump_threads, finalize_jump_threads): New. | |
19597 | (vrp_finalize): Call identify_jump_threads. | |
19598 | (execute_vrp): Call finalize_jump_threads. | |
19599 | * tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field. | |
19600 | (vrp_element, vrp_data, vrp_element_p): Remove. | |
19601 | (vrp_hash_elt, vrp_variables_stack): Remove. | |
19602 | (vrp_hash, vrp_eq, record_range): Remove. | |
19603 | (simplify_cond_and_lookup_avail_expr): Remove. | |
19604 | (extract_range_from_cond): Remove. | |
19605 | (thread_across_edge): Relocated into tree-ssa-threadedge.c. | |
19606 | (simplify_stmt_for_jump_threading): New. | |
19607 | (dom_thread_across_edge): New wrapper. | |
19608 | (tree_ssa_dominator_optimize): No longer initialize or | |
19609 | finalize any of the VRP datastructures. Remove iteration | |
19610 | step and simplify as a result of removal of iteration step. | |
19611 | (pass_dominator): Perform a cfg cleanup after DOM. | |
19612 | (dom_opt_finalize_block): Use the new common routines | |
19613 | for threading jumps. Simplify stack management slightly. | |
19614 | No longer need to unwind VRP state. | |
19615 | (record_equivalences_from_incoming_edge): No longer record | |
19616 | VRP information. | |
19617 | (eliminate_redundant_computations): No longer call | |
19618 | simplify_cond_and_lookup_avail_expr. | |
19619 | * tree-flow.h (potentially_threadable_block): Prototype. | |
19620 | (thread_across_edge): Likewise. | |
19621 | * Makefile.in (OBJS-common): Add tree-ssa-threadedge.o | |
19622 | (tree-ssa-threadedge.o): Add dependencies. | |
19623 | * tree-ssa-threadedge.c: New file. | |
19624 | * passes.c (init_optimization_passes): Merge PHIs before | |
19625 | calling VRP. Run VRP again late in the SSA optimization pipeline. | |
19626 | ||
19627 | 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
19628 | ||
19629 | * df-core.c (df_set_blocks): Do not dereference function pointers. | |
19630 | (df_finish1): Likewise. | |
19631 | (df_hybrid_search_forward): Likewise. | |
19632 | (df_hybrid_search_backward): Likewise. | |
19633 | (df_iterative_dataflow): Likewise. | |
19634 | (df_analyze_problem): Likewise. | |
19635 | (df_compact_blocks): Likewise. | |
19636 | (df_dump): Likewise. | |
19637 | * df-scan.c (df_rescan_blocks): Likewise. | |
19638 | (df_record_entry_block_defs): Likewise. | |
19639 | ||
19640 | * genconditions.c (write_conditions): Guard the definition of | |
19641 | 'insn_conditions' with the check on GCC version. | |
19642 | (write_writer): Guard the traversal 'insn_conditions' with | |
19643 | the check on GCC version. | |
19644 | ||
19645 | 2006-02-07 Richard Guenther <rguenther@suse.de> | |
19646 | ||
19647 | PR c++/26140 | |
19648 | Revert | |
19649 | 2006-01-30 Richard Guenther <rguenther@suse.de> | |
19650 | PR c++/23372 | |
19651 | * gimplify.c (gimplify_target_expr): Handle easy cases | |
19652 | without creating a temporary. | |
19653 | ||
19654 | 2006-02-07 Pete Steinmetz <steinmtz@us.ibm.com> | |
19655 | ||
19656 | * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate | |
19657 | use of float in probability computations. Use edge probabilities | |
19658 | in place of statically computed probabilities. | |
19659 | (min_spec_prob): New static variable. | |
19660 | (schedule_insns): Initialize it. | |
19661 | (GET_SRC_PROB): Removed. | |
19662 | * doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob. | |
19663 | ||
19664 | 2006-02-07 Alexandre Oliva <aoliva@redhat.com> | |
19665 | ||
19666 | PR debug/24444 | |
19667 | * config/ia64/unwind-ia64.c: Revert last change. | |
19668 | * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed. | |
19669 | (INCOMING_FRAME_SP_OFFSET): Define. | |
19670 | ||
19671 | 2006-02-06 Roger Sayle <roger@eyesopen.com> | |
19672 | ||
19673 | * config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE. | |
19674 | ||
19675 | 2006-02-07 Ben Elliston <bje@au.ibm.com> | |
19676 | ||
19677 | * config/i386/i386.c (ix86_scalar_mode_supported_p): New. | |
19678 | (TARGET_SCALAR_MODE_SUPPORTED_P): Define hook. | |
19679 | (classify_argument): Handle SDmode, DDmode, TDmode for 64-bit. | |
19680 | (ix86_return_in_memory): Handle TDmode. | |
19681 | (ix86_libcall_value): Handle SDmode, DDmode, TDmode. | |
19682 | (ix86_value_regno): Return non-TDmode decimal float modes in %eax. | |
19683 | ||
19684 | 2006-02-06 Richard Sandiford <richard@codesourcery.com> | |
19685 | ||
19686 | * reorg.c (dbr_schedule): Use dump_file instead of file. | |
19687 | ||
19688 | 2006-02-06 Steve Ellcey <sje@cup.hp.com> | |
19689 | ||
19690 | PR target/25917 | |
19691 | * config/ia64/predicates.md (extr_len_operand): New predicate. | |
19692 | * config/ia64/ia64.md (extv): Tighten constraints. | |
19693 | (extzv): Ditto. | |
19694 | (*tbit_and_2): Ditto. | |
19695 | (*tbit_and_3): Ditto. | |
19696 | (*tbit_or_2): Ditto. | |
19697 | (*tbit_or_3): Ditto. | |
19698 | (*bit_zero): Ditto. | |
19699 | (*bit_one): Ditto. | |
19700 | ||
19701 | 2006-02-06 Andrew Pinski <pinskia@physics.uc.edu> | |
19702 | ||
19703 | PR target/23359 | |
19704 | * config/i386/i386.md (trap): Use ASM_SHORT instead of .word. | |
19705 | ||
19706 | 2006-02-06 Zdenek Dvorak <dvorakz@suse.cz> | |
19707 | ||
19708 | * tree-vrp.c (execute_vrp): Do not pass dump argument to. | |
19709 | loop_optimizer_init and loop_optimizer_finalize | |
19710 | * tree-ssa-sink.c (execute_sink_code): Ditto. | |
19711 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
19712 | * tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init, | |
19713 | tree_ssa_loop_done): Ditto. | |
19714 | * tree-ssa-pre.c (init_pre, fini_pre): Ditto. | |
19715 | * sched-ebb.c: Include output.h. | |
19716 | (schedule_ebbs): Do not use dump argument. | |
19717 | * value-prof.h (struct profile_hooks): Remove profile_dump_file. | |
19718 | * loop.c (loop_dump_stream): Removed. | |
19719 | (loop_optimize, rest_of_handle_loop_optimize): Do not use dump | |
19720 | argument. | |
19721 | (scan_loop, move_movables, find_and_verify_loops, mark_loop_jump, | |
19722 | emit_prefetch_instructions, loop_bivs_find, loop_bivs_check, | |
19723 | final_biv_value, loop_biv_eliminable_p, loop_givs_rescan, | |
19724 | loop_iterations, strength_reduce, record_biv, record_giv, | |
19725 | final_giv_value, check_final_value, check_ext_dependent_givs, | |
19726 | combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems, | |
19727 | try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use | |
19728 | dump_file instead of loop_dump_stream. | |
19729 | * ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call | |
19730 | argument dump_file. | |
19731 | * reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use | |
19732 | dump argument. | |
19733 | * flow.c (life_analysis, rest_of_handle_life): Ditto. | |
19734 | * haifa-sched.c: Include output.h | |
19735 | (schedule_insns, sched_init): Do not use dump argument. | |
19736 | * mode-switching.c (optimize_mode_switching): Ditto. | |
19737 | * modulo-sched.c (stats_file): Removed. | |
19738 | (print_node_sched_params): Do not call argument dump_file. | |
19739 | (sms_schedule_by_order, loop_canon_p, sms_schedule, | |
19740 | rest_of_handle_sms): Do not use dump argument. Use dump_file instead | |
19741 | of stats_file. | |
19742 | * cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not | |
19743 | use dump argument. | |
19744 | * loop-init.c (loop_optimizer_init, loop_optimizer_finalize, | |
19745 | rtl_loop_init, rtl_loop_done): Ditto. | |
19746 | * global.c (global_alloc, rest_of_handle_global_alloc): Ditto. | |
19747 | * predict.c (combine_predictions_for_bb, tree_estimate_probability): | |
19748 | Ditto. | |
19749 | * recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto. | |
19750 | * lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto. | |
19751 | * regmove.c (fixup_match_1, fixup_match_2, regmove_optimize, | |
19752 | rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto. | |
19753 | * emit-rtl.c (renumber_insns): Ditto. | |
19754 | * cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr, | |
19755 | expand_gimple_basic_block, tree_expand_cfg): Ditto. | |
19756 | * regclass.c (regclass): Ditto. | |
19757 | * tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts, | |
19758 | remove_ssa_form, rewrite_out_of_ssa): Ditto. | |
19759 | * reg-stack.c (compensate_edge, compensate_edges, convert_regs_1, | |
19760 | convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs): | |
19761 | Ditto. | |
19762 | * sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto. | |
19763 | * local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file | |
19764 | to regclass. | |
19765 | * gcse.c (gcse_file, debug_stderr): Removed. | |
19766 | (gcse_main, bypass_jumps, rest_of_handle_jump_bypass, | |
19767 | rest_of_handle_gcse): Do not use dump argument. | |
19768 | (cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets, | |
19769 | one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb, | |
19770 | pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass, | |
19771 | compute_code_hoist_vbeinout, compute_code_hoist_data, | |
19772 | one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores, | |
19773 | compute_store_table, build_store_vectors, insert_insn_start_bb, | |
19774 | insert_store, remove_reachable_equiv_notes, replace_store_insn, | |
19775 | store_motion): Use dump_file instead of gcse_file. | |
19776 | * ipa-type-escape.c (type_escape_execute): Remove debugging comments. | |
19777 | * profile.c (profile_dump_file): Removed. | |
19778 | (branch_prob): Use dump_file instead of profile_dump_file. | |
19779 | * ipa.c (cgraph_remove_unreachable_nodes): Do not call argument | |
19780 | dump_file. | |
19781 | * tree-ssa-copy.c (dump_copy_of): Ditto. | |
19782 | * rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass | |
19783 | dump file to life_analysis. | |
19784 | * bt-load.c (branch_target_load_optimize): Ditto. | |
19785 | * cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to | |
19786 | renumber_insns. | |
19787 | * rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs, | |
19788 | regclass, dbr_schedule): Declaration changed. | |
19789 | * sched-int.h (sched_init): Declaration changed. | |
19790 | * tree-profile.c (tree_profile_dump_file): Removed. | |
19791 | (tree_profile_hooks): Removed profile_dump_file hook. | |
19792 | * rtl-profile (rtl_profile_dump_file): Removed. | |
19793 | (rtl_profile_hooks): emoved profile_dump_file hook. | |
19794 | * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration | |
19795 | changed. | |
19796 | * c-gimplify.c (c_genericize): Do not call local variable dump_file. | |
19797 | * tree-cfg.c (build_tree_cfg): Ditto. | |
19798 | * Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency. | |
19799 | * basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm): | |
19800 | Declaration changed. | |
19801 | * config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to | |
19802 | life_analysis and schedule_insns. | |
19803 | * config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to | |
19804 | life_analysis. | |
19805 | * config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to | |
19806 | dbr_schedule. | |
19807 | * config/mips/mips.c (mips_reorg): Ditto. | |
19808 | * config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to | |
19809 | schedule_ebbs. | |
19810 | ||
19811 | 2006-02-06 Aldy Hernandez <aldyh@redhat.com> | |
19812 | ||
19813 | * config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. | |
19814 | (s390_mangle_fundamental_type): New. | |
19815 | * config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): | |
19816 | Define. | |
19817 | ||
19818 | * config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. | |
19819 | (alpha_mangle_fundamental_type): New. | |
19820 | * config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): | |
19821 | Define. | |
19822 | ||
19823 | * config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): | |
19824 | Define. | |
19825 | * config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): | |
19826 | Define. | |
19827 | * config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. | |
19828 | (sparc_mangle_fundamental_type): New. | |
19829 | ||
19830 | 2006-02-06 Jakub Jelinek <jakub@redhat.com> | |
19831 | ||
19832 | * config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file. | |
19833 | (s390x-*-linux*): Likewise. | |
19834 | * config/s390/t-linux64 (SHLIB_MAPFILES): Removed. | |
19835 | * config/s390/t-linux: New file. | |
19836 | ||
19837 | 2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> | |
19838 | ||
19839 | * config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>, | |
19840 | sync_and<mode>, sync_xor<mode>): Operand 0 is in-out. | |
19841 | ||
19842 | 2006-02-06 Daniel Berlin <dberlin@dberlin.org> | |
19843 | ||
19844 | * tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads. | |
19845 | (ANTIC_SAFE_LOADS): New macro. | |
19846 | (find_or_generate_expression): Add prototype. | |
19847 | (set_contains_value): Allow null set for sake of not always having | |
19848 | to allocate ANTIC_SAFE_LOADS. | |
19849 | (phi_translate): Move placement of AGGREGATE_TYPE_P check. | |
19850 | Allow COMPONENT_REF too. | |
19851 | (valid_in_set): Allow COMPONENT_REF. | |
19852 | Check ANTIC_SAFE_LOADS too. | |
19853 | (compute_antic_aux): Print out ANTIC_SAFE_LOADS. | |
19854 | (compute_rvuse_and_antic_safe): Add ANTIC_SAFE computation, and | |
19855 | rename. | |
19856 | (can_PRE_operation): Add COMPONENT_REF. | |
19857 | (create_component_ref_by_pieces): New function. | |
19858 | (create_expression_by_pieces): Use create_component_ref_by_pieces. | |
19859 | (insert_aux): Move AGGREGATE_TYPE_P check here. | |
19860 | (compute_avail): Set bb local stmt uids. | |
19861 | (pass_pre): Use TODO_update_ssa_only_virtuals. | |
19862 | ||
19863 | 2006-02-06 Ben Elliston <bje@au.ibm.com> | |
19864 | ||
19865 | * configure.ac: Unconditionally disable decimal float by default. | |
19866 | * configure: Regenerate. | |
19867 | ||
19868 | 2006-02-06 Ben Elliston <bje@au.ibm.com> | |
19869 | ||
19870 | * read-rtl.c (read_name): Terminate reading on EOF. | |
19871 | ||
19872 | 2006-02-06 Ben Elliston <bje@au.ibm.com> | |
19873 | ||
19874 | * dfp.c (decimal_real_arithmetic): Change second argument type | |
19875 | from int to enum tree_code. Do not always return true, but now | |
19876 | return result of any call to decimal_do helper functions. | |
19877 | * dfp.h (decimal_real_arithmetic): Update prototype. | |
19878 | ||
19879 | 2006-02-05 Eric Botcazou <ebotcazou@libertysurf.fr> | |
19880 | ||
19881 | * config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID. | |
19882 | ||
19883 | 2006-02-05 Andrew Pinski <pinskia@physics.uc.edu> | |
19884 | ||
19885 | PR tree-opt/25251 | |
19886 | * tree-cfg.c (cleanup_dead_labels): Also don't remove | |
19887 | forced labels. | |
19888 | ||
19889 | 2006-02-04 Zdenek Dvorak <dvorakz@suse.cz> | |
19890 | ||
19891 | * tree-vrp.c (cfg_loops): Removed. | |
19892 | (adjust_range_with_scev, vrp_visit_assignment, execute_vrp): | |
19893 | Use current_loops instead of cfg_loops. Pass flags to | |
19894 | loop_optimizer_init. | |
19895 | * cfgloopmanip.c (fix_loop_structure): Update only available | |
19896 | information. | |
19897 | * tree-ssa-loop-ch.c (copy_loop_headers): Pass flags to | |
19898 | loop_optimizer_init. | |
19899 | * modulo-sched.c (build_loops_structure): Removed. | |
19900 | (sms_schedule): Use loop_optimizer_init. | |
19901 | * loop-init.c (loop_optimizer_init): Use flags to determine | |
19902 | which properties of loops to prepare. | |
19903 | (rtl_loop_init): Pass flags to loop_optimizer_init. | |
19904 | * tree-ssa-sink.c (execute_sink_code): Ditto. | |
19905 | * tree-ssa-loop.c (tree_loop_optimizer_init): Ditto. | |
19906 | * tree-ssa-pre.c (init_pre): Ditto. | |
19907 | * cfgloop.h (LOOPS_NORMAL): New. | |
19908 | (loop_optimizer_init): Declaration changed. | |
19909 | ||
19910 | 2006-02-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
19911 | ||
19912 | * pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files. | |
19913 | * config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of | |
19914 | pa/t-pa. | |
19915 | * config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of | |
19916 | pa/t-pa. | |
19917 | * config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of | |
19918 | pa/x-ada. | |
19919 | * pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules. | |
19920 | * pa/t-pa64: Delete quadlib.c rule. | |
19921 | * pa/x-ada: Revert last change. | |
19922 | * pa/t-pa: Revert last change. Delete quadlib.c rule. | |
19923 | ||
19924 | 2006-02-04 Zdenek Dvorak <dvorakz@suse.cz> | |
19925 | ||
19926 | PR rtl-optimization/26087 | |
19927 | * rtlanal.c (canonicalize_condition): Do not cross basic block | |
19928 | boundaries. | |
19929 | ||
19930 | 2006-02-04 Alexandre Oliva <aoliva@redhat.com> | |
19931 | ||
19932 | PR debug/24444 | |
19933 | * config/ia64/ia64.c: Include debug.h. | |
19934 | (MAX_ARTIFICIAL_LABEL_BYTES): New. | |
19935 | (ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New. | |
19936 | (IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0. | |
19937 | (process_epilogue, process_set, process_for_unwind_directive): | |
19938 | Output unwind info only if requested. Add CFA info if requested. | |
19939 | Add new arguments as needed. Adjust callers. | |
19940 | * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override | |
19941 | incorrect default. | |
19942 | (DWARF2_FRAME_INFO): Define to zero. | |
19943 | * config/ia64/unwind-ia64.c: Remove code that compensated for | |
19944 | the CFA offset error fixed above. | |
19945 | * config/ia64/t-ia64 (ia64.o): Depend on debug.h. | |
19946 | * dwarf2out.c (DWARF2_FRAME_INFO): Define default. | |
19947 | (dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for | |
19948 | -funwind-tables and -fexceptions to enable frame info. | |
19949 | (dwarf2out_frame_init): Define initial CFA even if | |
19950 | DWARF2_UNWIND_INFO is disabled. Call initial_return_save if | |
19951 | DWARF2_UNWIND_INFO is nonzero, not just defined. | |
19952 | (dwarf2out_frame_finish): Output non-EH call frame info only | |
19953 | if DWARF2_FRAME_INFO is nonzero. | |
19954 | (convert_cfa_to_loc_list, | |
19955 | compute_frame_pointer_to_cfa_displacement): Define even if | |
19956 | unwind info is not supported. | |
19957 | (gen_subprogram_die): Use the above unconditionally. Remove | |
19958 | legacy alternate code. | |
19959 | * toplev.c (compile_file): Compile in call to | |
19960 | dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined. | |
19961 | (lang_dependent_init): Ditto for dwarf2out_frame_init. | |
19962 | ||
19963 | 2006-02-04 David Edelsohn <edelsohn@gnu.org> | |
19964 | Jakub Jelinek <jakub@redhat.com> | |
19965 | ||
19966 | * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle | |
19967 | IBM extended float format long double as "g" on powerpc*-linux. | |
19968 | ||
19969 | 2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
19970 | ||
19971 | PR target/25926 | |
19972 | * pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10. | |
19973 | * pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10. | |
19974 | ||
19975 | 2006-02-03 Jason Merrill <jason@redhat.com> | |
19976 | ||
19977 | PR c++/25979 | |
19978 | * gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now. | |
19979 | ||
19980 | PR middle-end/25977 | |
19981 | * gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO | |
19982 | on the return slot if it's an NRV. | |
19983 | ||
19984 | 2006-02-03 Zdenek Dvorak <dvorakz@suse.cz> | |
19985 | ||
19986 | * tree-ssa-loop-ivopts.c (enum use_type): Remove USE_OUTER. | |
19987 | (dump_use, add_derived_ivs_candidates, determine_use_iv_cost, | |
19988 | rewrite_use): Do not handle USE_OUTER. | |
19989 | (find_interesting_uses_outer_or_nonlin, find_interesting_uses_outer, | |
19990 | add_iv_outer_candidates, may_replace_final_value, | |
19991 | determine_use_iv_cost_outer, rewrite_use_outer): Removed. | |
19992 | (find_interesting_uses_op): Functionality of | |
19993 | find_interesting_uses_outer_or_nonlin moved here. | |
19994 | (find_interesting_uses_outside): Use find_interesting_uses_op. | |
19995 | ||
19996 | 2006-02-03 Alan Modra <amodra@bigpond.net.au> | |
19997 | ||
19998 | PR target/25960 | |
19999 | * config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result. | |
20000 | ||
20001 | 2006-02-03 Andreas Krebbel <krebbel1@de.ibm.com> | |
20002 | Ulrich Weigand <uweigand@de.ibm.com> | |
20003 | ||
20004 | PR target/25864 | |
20005 | * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf", | |
20006 | "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations. | |
20007 | * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions. | |
20008 | * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr | |
20009 | and dxr fields. | |
20010 | (z900_cost, z990_cost, z9_109_cost): Values for the new fields added. | |
20011 | (s390_rtx_costs): Use the new fields to calculate rtx costs. | |
20012 | (s390_secondary_input_reload_class, s390_secondary_output_reload_class): | |
20013 | Define secondary reloads for TFmode moves. | |
20014 | (constant_modes): Add TFmode. | |
20015 | (NR_C_MODES): Set to 8. | |
20016 | * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__ | |
20017 | builtin define. | |
20018 | (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64. | |
20019 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define. | |
20020 | (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, | |
20021 | CANNOT_CHANGE_MODE_CLASS): Consider TFmode. | |
20022 | * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, | |
20023 | fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values. | |
20024 | (FPR mode macro): Add TFmode. | |
20025 | (DSF mode macro): New. | |
20026 | (<de>, <dee> mode attributes): Removed. | |
20027 | (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New. | |
20028 | ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", | |
20029 | "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", | |
20030 | "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", | |
20031 | "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", | |
20032 | "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", | |
20033 | "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>", | |
20034 | "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", | |
20035 | "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", | |
20036 | "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2", | |
20037 | "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", | |
20038 | "*negabs<mode>2", "sqrt<mode>2"): | |
20039 | Changed <de> to <xde>. R constraint replaced by <Rf>. | |
20040 | ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by | |
20041 | <Rf>. | |
20042 | ("fix_trunc<FPR:mode>di2"): 'FPR:' removed. | |
20043 | ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF. | |
20044 | ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 | |
20045 | splitters. | |
20046 | ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", | |
20047 | "extenddftf2", "extendsftf2"): New expanders. | |
20048 | ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", | |
20049 | "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm", | |
20050 | "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns. | |
20051 | * config/s390/s390.opt (mlong-double-128, mlong-double-64): | |
20052 | New options. | |
20053 | * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined. | |
20054 | * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, | |
20055 | __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi, | |
20056 | __floatditf): Add a GCC_4.1.0 symbol version tag. | |
20057 | * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document | |
20058 | the new options. | |
20059 | ||
20060 | 2006-02-02 Andrew Pinski <pinskia@physics.uc.edu> | |
20061 | ||
20062 | PR target/25377 | |
20063 | * config/i386/i386.c (ix86_function_ok_for_sibcall): | |
20064 | Use targetm.binds_local_p instead of TREE_PUBLIC. | |
20065 | ||
20066 | 2006-02-02 Roger Sayle <roger@eyesopen.com> | |
20067 | ||
20068 | * tree.h (TYPE_STRING_FLAG): Document that this field may be used | |
20069 | on INTEGER_TYPEs to indicate that it denotes a character type. | |
20070 | * tree.c (build_common_tree_nodes): Set TYPE_STRING_FLAG on | |
20071 | signed_char_type_node, unsigned_char_type_node and char_type_node. | |
20072 | * dwarf2out.c (base_type_die): Treat CHAR_TYPE identically to | |
20073 | INTEGER_TYPE. Use TYPE_STRING_FLAG to decide whether to emit | |
20074 | a DW_ATE_[un]signed_char instead of a DW_ATE_[un]signed. | |
20075 | ||
20076 | 2006-02-02 Zdenek Dvorak <dvorakz@suse.cz> | |
20077 | Daniel Berlin <dberlin@dberlin.org> | |
20078 | ||
20079 | * tree-tailcall.c (arg_needs_copy_p): New function. | |
20080 | (eliminate_tail_call): Use arg_needs_copy_p. | |
20081 | (tree_optimize_tail_calls_1): Ditto. Also call add_virtual_phis. | |
20082 | (add_virtual_phis): New function. | |
20083 | ||
20084 | 2006-02-02 Jakub Jelinek <jakub@redhat.com> | |
20085 | ||
20086 | * config/sparc/sparc.c (sparc_output_scratch_registers): Use | |
20087 | #ignore instead of #scratch for %g7 .register directive. | |
20088 | ||
20089 | 2006-02-02 Andreas Tobler <a.tobler@schweiz.ch> | |
20090 | ||
20091 | * config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate | |
20092 | object files. | |
20093 | ||
20094 | 2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> | |
20095 | ||
20096 | * flow.c (calculate_global_regs_live): Assert that there aren't any | |
20097 | EDGE_FAKE edges. | |
20098 | ||
20099 | 2006-02-02 Paolo Bonzini <bonzini@gnu.org> | |
20100 | ||
20101 | * tree-flow-inline.h (bsi_after_labels): Rewrite, return | |
20102 | what its name says. | |
20103 | * lambda-code.c (perfect_nestify): Use bsi_insert_before on | |
20104 | bsi_after_labels iterator. | |
20105 | * tree-if-conv.c (find_phi_replacement_condition, | |
20106 | replace_phi_with_cond_modify_expr): Likewise. | |
20107 | * tree-scalar-evolution.c (scev_const_prop): Likewise. | |
20108 | * tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Likewise. | |
20109 | ||
20110 | 2006-02-02 Diego Novillo <dnovillo@redhat.com> | |
20111 | ||
20112 | * tree-inline.c (copy_tree_r): Also copy OMP_CLAUSE nodes. | |
20113 | ||
20114 | 2006-02-02 Diego Novillo <dnovillo@redhat.com> | |
20115 | ||
20116 | PR 25990 | |
20117 | * tree-cfg.c (move_block_to_fn): Clear out the basic block | |
20118 | array after growing it. | |
20119 | ||
20120 | 2006-02-01 Steve Ellcey <sje@cup.hp.com> | |
20121 | ||
20122 | PR middle-end/24901 | |
20123 | * fold-const.c (fold_checksum_tree): Change type of buf. | |
20124 | ||
20125 | 2006-02-01 Bernd Schmidt <bernd.schmidt@analog.com> | |
20126 | ||
20127 | * reload.c (push_secondary_reload): Initialize t_icode. | |
20128 | ||
20129 | 2006-02-01 Jakub Jelinek <jakub@redhat.com> | |
20130 | ||
20131 | * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For | |
20132 | -msoft-float -mlong-double-128 only issue a warning, but don't | |
20133 | swich to DFmode long double. | |
20134 | ||
20135 | 2006-02-01 Hans-Peter Nilsson <hp@axis.com> | |
20136 | ||
20137 | * cse.c (fold_rtx) <case RTX_COMM_COMPARE, RTX_COMPARE>: When arg1 | |
20138 | has a constant equivalent, iterate over equivalents for arg0, | |
20139 | calling simplify_relational_operation and if there's a result | |
20140 | cheaper than X, apply fold_rtx and return the result. | |
20141 | ||
20142 | 2006-02-01 Jan Hubicka <jh@suse.cz> | |
20143 | ||
20144 | * opts.c (no_unit_at_a_time_default): New global variable. | |
20145 | (decode_options): Use it. | |
20146 | * opts.h (no_unit_at_a_time_default): Declare. | |
20147 | ||
20148 | 2006-02-01 Paul Brook <paul@codesourcery.com> | |
20149 | ||
20150 | * function.c (assign_parm_setup_reg): Use function argument promotion | |
20151 | rules. | |
20152 | * expr.c (expand_expr_real_1): Use function argument promotion rules | |
20153 | for PARM_DECLs. | |
20154 | ||
20155 | 2006-02-01 Steve Ellcey <sje@cup.hp.com> | |
20156 | ||
20157 | * gcc.c (process_command): Change j to 'unsigned int'. | |
20158 | ||
20159 | 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> | |
20160 | ||
20161 | PR middle-end/26001 | |
20162 | * expr.c (expand_expr_real_1) <case ARRAY_REF>: | |
20163 | Use the corrected index for the character | |
20164 | out of the string constant. | |
20165 | ||
20166 | 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> | |
20167 | ||
20168 | * mode-switching.c (optimize_mode_switching): Fix size | |
20169 | allocated for bb_info[n_entities]. | |
20170 | ||
20171 | 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> | |
20172 | ||
20173 | * gcc.c (main): Correct type that is allocated for | |
20174 | explicit_link_files. | |
20175 | ||
20176 | 2006-01-31 Jakub Jelinek <jakub@redhat.com> | |
20177 | ||
20178 | * config/s390/s390.c (init_alignment_context): Set | |
20179 | ALIAS_SET_MEMORY_BARRIER on the MEM. | |
20180 | * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Likewise. | |
20181 | ||
20182 | 2006-01-31 Uttam Pawar <uttamp@us.ibm.com> | |
20183 | ||
20184 | PR middle-end/25933 | |
20185 | * loop-unroll.c (unroll_loop_runtime_iterations): Free | |
20186 | dom_bbs pointer. | |
20187 | * tree-ssa-live.c (type_var_init): Allocate bitmap after | |
20188 | call to tpa_init. | |
20189 | ||
20190 | 2006-01-31 Marcin Dalecki <martin@dalecki.de> | |
20191 | ||
20192 | * tree-vrp.c: Use XNEW/XCNEW allocation wrappers. | |
20193 | * regrename.c: Ditto. | |
20194 | * tree-ssa-loop-im.c: Ditto. | |
20195 | * tree-dump.c: Ditto. | |
20196 | * tree-complex.c: Ditto. | |
20197 | * genrecog.c: Ditto. | |
20198 | * tree-ssa-threadupdate.c: Ditto. | |
20199 | * tracer.c: Ditto. | |
20200 | * java/class.c: Ditto. | |
20201 | * java/jcf-parse.c: Ditto. | |
20202 | * java/resource.c: Ditto. | |
20203 | * java/except.c: Ditto. | |
20204 | * java/jvspec.c: Ditto. | |
20205 | * java/jcf-write.c: Ditto. | |
20206 | * java/jcf-path.c: Ditto. | |
20207 | * java/gjavah.c: Ditto. | |
20208 | * java/zextract.c: Ditto. | |
20209 | * java/jcf-io.c: Ditto. | |
20210 | * java/jcf.h: Ditto. | |
20211 | * java/buffer.c: Ditto. | |
20212 | * java/lang.c: Ditto. | |
20213 | * java/parse-scan.y: Ditto. | |
20214 | * java/lex.c: Ditto. | |
20215 | * java/lex.h: Ditto. | |
20216 | * cfgloopmanip.c: Ditto. | |
20217 | * postreload-gcse.c: Ditto. | |
20218 | * tree-ssa-loop-manip.c: Ditto. | |
20219 | * postreload.c: Ditto. | |
20220 | * tree-ssa-loop-ch.c: Ditto. | |
20221 | * loop.c: Ditto. | |
20222 | * ipa-cp.c: Ditto. | |
20223 | * cppspec.c: Ditto. | |
20224 | * diagnostic.c: Ditto. | |
20225 | * final.c: Ditto. | |
20226 | * genoutput.c: Ditto. | |
20227 | * gcc.c: Ditto. | |
20228 | * cfghooks.c: Ditto. | |
20229 | * cfgloopanal.c: Ditto. | |
20230 | * objc/objc-act.c: Ditto. | |
20231 | * gcov.c: Ditto. | |
20232 | * genextract.c: Ditto. | |
20233 | * genautomata.c: Ditto. | |
20234 | * pretty-print.c: Ditto. | |
20235 | * genemit.c: Ditto. | |
20236 | * cgraphunit.c: Ditto. | |
20237 | * flow.c: Ditto. | |
20238 | * df-scan.c: Ditto. | |
20239 | * haifa-sched.c: Ditto. | |
20240 | * dominance.c: Ditto. | |
20241 | * dbxout.c: Ditto. | |
20242 | * tree-ssa-loop-ivopts.c: Ditto. | |
20243 | * df-core.c: Ditto. | |
20244 | * mode-switching.c: Ditto. | |
20245 | * modulo-sched.c: Ditto. | |
20246 | * graph.c: Ditto. | |
20247 | * ipa-pure-const.c: Ditto. | |
20248 | * cse.c: Ditto. | |
20249 | * fix-header.c: Ditto. | |
20250 | * web.c: Ditto. | |
20251 | * tree-stdarg.c: Ditto. | |
20252 | * ipa-utils.c: Ditto. | |
20253 | * loop-init.c: Ditto. | |
20254 | * ipa-inline.c: Ditto. | |
20255 | * cfganal.c: Ditto. | |
20256 | * global.c: Ditto. | |
20257 | * alloc-pool.c: Ditto. | |
20258 | * dwarf2out.c: Ditto. | |
20259 | * opts.c: Ditto. | |
20260 | * genattrtab.c: Ditto. | |
20261 | * tree-ssa-loop-ivcanon.c: Ditto. | |
20262 | * predict.c: Ditto. | |
20263 | * timevar.c: Ditto. | |
20264 | * lcm.c: Ditto. | |
20265 | * fortran/gfortranspec.c: Ditto. | |
20266 | * regmove.c: Ditto. | |
20267 | * local-alloc.c: Ditto. | |
20268 | * langhooks.c: Ditto. | |
20269 | * function.c: Ditto. | |
20270 | * tree-vectorizer.c: Ditto. | |
20271 | * gcse.c: Ditto. | |
20272 | * ipa-type-escape.c: Ditto. | |
20273 | * alias.c: Ditto. | |
20274 | * tree-if-conv.c: Ditto. | |
20275 | * profile.c: Ditto. | |
20276 | * ipa.c: Ditto. | |
20277 | * tree-data-ref.c: Ditto. | |
20278 | * loop-unroll.c: Ditto. | |
20279 | * treelang/treetree.c: Ditto. | |
20280 | * calls.c: Ditto. | |
20281 | * bt-load.c: Ditto. | |
20282 | * ggc-common.c: Ditto. | |
20283 | * except.c: Ditto. | |
20284 | * coverage.c: Ditto. | |
20285 | * cselib.c: Ditto. | |
20286 | * tree-cfgcleanup.c: Ditto. | |
20287 | * tree-ssa-pre.c: Ditto. | |
20288 | * cfgcleanup.c: Ditto. | |
20289 | * loop-invariant.c: Ditto. | |
20290 | * loop-iv.c: Ditto. | |
20291 | * ipa-prop.c: Ditto. | |
20292 | * print-tree.c: Ditto. | |
20293 | * conflict.c: Ditto. | |
20294 | * ggc-page.c: Ditto. | |
20295 | * sched-deps.c: Ditto. | |
20296 | * regclass.c: Ditto. | |
20297 | * tree-object-size.c: Ditto. | |
20298 | * combine.c: Ditto. | |
20299 | * bb-reorder.c: Ditto. | |
20300 | * resource.c: Ditto. | |
20301 | * var-tracking.c: Ditto. | |
20302 | * cfgloop.c: Ditto. | |
20303 | * df-problems.c: Ditto. | |
20304 | * reg-stack.c: Ditto. | |
20305 | * tlink.c: Ditto. | |
20306 | * gccspec.c: Ditto. | |
20307 | * sched-rgn.c: Ditto. | |
20308 | * tree-ssa-structalias.c: Ditto. | |
20309 | * tree-ssa-reassoc.c: Ditto. | |
20310 | * config/darwin-c.c: Ditto. | |
20311 | * config/darwin.c: Ditto. | |
20312 | * config/arm/arm.c: Ditto. | |
20313 | * cfgrtl.c: Ditto. | |
20314 | * collect2.c: Ditto. | |
20315 | * reload1.c: Ditto. | |
20316 | ||
20317 | 2006-01-31 Nicolas Pitre <nico@cam.org> | |
20318 | ||
20319 | * arm.md (smaxsi3): Make aware of smax_m1. | |
20320 | (smax_m1): New. | |
20321 | ||
20322 | 2006-01-31 Nathan Sidwell <nathan@codesourcery.com> | |
20323 | ||
20324 | * config/m68k/lb1sf68.asm: Use moveq to load small constants. | |
20325 | ||
20326 | 2006-01-31 Richard Guenther <rguenther@suse.de> | |
20327 | ||
20328 | * doc/invoke.texi (-msselibm): Document. | |
20329 | * target.h (expand_library_builtin): New target hook. | |
20330 | * builtins.c (expand_builtin): Use expand_library_builtin. | |
20331 | (default_expand_library_builtin): New function. | |
20332 | * gcc.c (LINK_GCC_MATH_SPEC): Define. | |
20333 | (LINK_COMMAND_SPEC): Handle %(link_gcc_math). | |
20334 | (link_gcc_math_spec): Declare. | |
20335 | (static_specs): Add link_gcc_math_spec. | |
20336 | * expr.h (default_expand_library_builtin): Declare. | |
20337 | * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. | |
20338 | (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. | |
20339 | * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. | |
20340 | * config/i386/i386.opt (msselibm): New target option. | |
20341 | * config/i386/i386.c (ix86_builtin_function_variants): New array. | |
20342 | (ix86_init_sse_abi_builtins): New function. | |
20343 | (ix86_expand_library_builtin): Likewise. | |
20344 | (TARGET_EXPAND_LIBRARY_BUILTIN): Define. | |
20345 | (override_options): Handle error conditions wrt -msselibm. | |
20346 | (ix86_builtins): Add function codes for SSE2 ABI builtins. | |
20347 | (ix86_init_builtins): Call ix86_init_sse_abi_builtins. | |
20348 | * doc/extend.texi (__builtin_sse2_*): Document new target specific | |
20349 | builtins. | |
20350 | ||
20351 | 2006-01-31 Richard Guenther <rguenther@suse.de> | |
20352 | Paolo Bonzini <bonzini@gnu.org> | |
20353 | ||
20354 | * doc/install.texi (--disable-libgcc-math): Document. | |
20355 | ||
20356 | 2006-01-30 Marcin Dalecki <martin@dalecki.de> | |
20357 | ||
20358 | * expr.h (expand_normal): new inline function. | |
20359 | * builtins.c: use it, use EXPAND_NORMAL explicitely. | |
20360 | * dojump.c: use it. | |
20361 | * dwarf2out.c: use it. | |
20362 | * expr.c: use it. | |
20363 | * calls.c: use it. | |
20364 | * expmed.c: use it. | |
20365 | * except.c: use it. | |
20366 | * config/sparc/sparc.c: use it. | |
20367 | * config/i386/i386.c: use it. | |
20368 | * config/rs6000/rs6000.c: use it. | |
20369 | * config/arm/arm.c: use it. | |
20370 | * config/mips/mips.c: use it. | |
20371 | * stmt.c: use it, use EXPAND_NORMAL explicitely. | |
20372 | ||
20373 | 2006-01-30 Roger Sayle <roger@eyesopen.com> | |
20374 | ||
20375 | * config/i386/cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast | |
20376 | argv to the appropriate type. | |
20377 | ||
20378 | 2006-01-30 Zdenek Dvorak <dvorakz@suse.cz> | |
20379 | ||
20380 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove | |
20381 | unreachable code. | |
20382 | ||
20383 | 2006-01-30 Ulrich Weigand <uweigand@de.ibm.com> | |
20384 | ||
20385 | PR target/26018 | |
20386 | * config/s390/s390.c (struct machine_function): New flag | |
20387 | decomposed_literal_pool_addresses_ok_p. | |
20388 | (s390_reorg): Set it before final stage of literal pool transforms. | |
20389 | (s390_decompose_address): Only accept displacements of the form | |
20390 | (minus (label_ref ...) (label_ref ...)) if that flag is set. | |
20391 | ||
20392 | 2006-01-30 Carlos O'Donell <carlos@codesourcery.com> | |
20393 | ||
20394 | * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias | |
20395 | the comparison routine return. | |
20396 | ||
20397 | 2006-01-30 Michael Matz <matz@suse.de> | |
20398 | ||
20399 | * global.c (find_reg): Only evict for global regs. | |
20400 | Take n_refs into account and dump more info. | |
20401 | ||
20402 | 2006-01-30 J"orn Rennecke <joern.rennecke@st.com> | |
20403 | ||
20404 | PR target/14798: | |
20405 | * sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable. | |
20406 | (pragma_trap, pragma_nosave_low_regs): Likewise. | |
20407 | (current_function_anonymous_args): Likewise. | |
20408 | (sh_deferred_function_attributes): New variable. | |
20409 | (sh_deferred_function_attributes_tail): Likewise. | |
20410 | (print_operand): For '@', look up trap_exit attribute. | |
20411 | (calc_live_regs): Look up trapa_handler attribute. For trapa | |
20412 | handlers, save/restore fpscr, but don't do any other | |
20413 | interrupt-specific saves. | |
20414 | Don't save r0..r7 if the nosave_low_regs attribute is in effect. | |
20415 | Fix check for partially saved registers to check for SHmedia. | |
20416 | (sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute. | |
20417 | (sh_output_function_epilogue): Don't clear any of the removed | |
20418 | variables. | |
20419 | (sh_insert_attributes): Don't check pragma_interrupt. | |
20420 | Insert deferred attributes. Check that interrupt attribute is | |
20421 | present for other attributes that require its presence. | |
20422 | (sh_attribute_table): Add new attributes trapa_handler and | |
20423 | nosave_low_regs. | |
20424 | (sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute): | |
20425 | Don't check for pragma_interrupt. Don't store argument. | |
20426 | * sh.h (pragma_interrupt, sp_switch): Don't declare. | |
20427 | (sh_deferred_function_attributes): Declare. | |
20428 | (sh_deferred_function_attributes_tail): Likewise. | |
20429 | * sh.md (sp_switch_1): Add operand. Change generator caller. | |
20430 | (sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove. | |
20431 | (*return_i): Don't use when trap_exit attribute is in effect. | |
20432 | (*return_trapa): New insn pattern. | |
20433 | * sh-c.c: New file. | |
20434 | * config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza, | |
20435 | setting c_target_objs and cxx_target_objs. | |
20436 | * t-sh: Add rule for sh-c.o. | |
20437 | ||
20438 | 2006-01-30 Richard Guenther <rguenther@suse.de> | |
20439 | ||
20440 | PR c++/23372 | |
20441 | * gimplify.c (gimplify_target_expr): Handle easy cases | |
20442 | without creating a temporary. | |
20443 | ||
20444 | 2006-01-30 Nathan Sidwell <nathan@codesourcery.com> | |
20445 | ||
20446 | * vec.h (safe_grow): Remove duplicated line. | |
20447 | ||
20448 | 2006-01-29 Diego Novillo <dnovillo@redhat.com> | |
20449 | ||
20450 | PR 25874 | |
20451 | * omp-low.c (execute_expand_omp): Move CFG cleanup code ... | |
20452 | (expand_omp): ... here. | |
20453 | (expand_omp_parallel): Only remove barriers for combined | |
20454 | parallel+workshare constructs. | |
20455 | ||
20456 | 2006-01-29 Eric Botcazou <ebotcazou@adacore.com> | |
20457 | ||
20458 | Revert | |
20459 | ||
20460 | 2005-11-09 Eric Botcazou <ebotcazou@adacore.com> | |
20461 | * tree.c (build_qualified_type): Chain the new type to the original | |
20462 | type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is | |
20463 | a POINTER_TYPE or a REFERENCE_TYPE respectively. | |
20464 | (build_pointer_type_for_mode): Only return unqualified types. | |
20465 | (build_reference_type_for_mode): Likewise. | |
20466 | ||
20467 | 2006-01-29 Gabriel Dos Reis <gdr@integgrable-solutions.net> | |
20468 | ||
20469 | * configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported. | |
20470 | * Makefile.in (CXX_COMPAT_WARN): Define. | |
20471 | * configure: Regenerate. | |
20472 | ||
20473 | 2006-01-29 Dorit Nuzman <dorit@il.ibm.com> | |
20474 | ||
20475 | PR tree-opt/25911 | |
20476 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Change assert | |
20477 | to an if check. | |
20478 | ||
20479 | 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
20480 | ||
20481 | * toplev.c: Fix thinko. | |
20482 | ||
20483 | 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
20484 | Marcin Dalecki <martin@dalecki.de> | |
20485 | ||
20486 | * toplev.c (floor_log2, exact_log2): Don't define if __cplusplus. | |
20487 | (push_srcloc): Use XNEW. | |
20488 | (init_asm_output, default_get_pch_validity): Use XNEWVEC. | |
20489 | ||
20490 | 2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com> | |
20491 | ||
20492 | * df-core.c (df_set_blocks): Deleted all variable. | |
20493 | ||
20494 | 2006-01-28 Ian Lance Taylor <ian@airs.com> | |
20495 | ||
20496 | * cgraphunit.c (cgraph_assemble_pending_functions): Call | |
20497 | cgraph_output_pending_asms. | |
20498 | ||
20499 | 2006-01-28 Zack Weinberg <zackw@panix.com> | |
20500 | ||
20501 | * c.opt: Add -W(no-)overlength-strings. | |
20502 | * doc/invoke.texi: Document it. | |
20503 | * c-opts.c (c_common_handle_option): -pedantic implies | |
20504 | -Woverlength-strings, if not explicitly disabled already. | |
20505 | (c_common_post_options): -Woverlength-strings defaults to off, and | |
20506 | is always off for C++. | |
20507 | * c-common.c (fix_string_type): Issue warning about strings longer | |
20508 | than is portable only if warn_overlength_strings. Rearrange code | |
20509 | a little for clarity. | |
20510 | * configure.in: Check for -Wno-overlength-strings as well before | |
20511 | enabling -pedantic in stage 1. | |
20512 | * Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings. | |
20513 | (gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete. | |
20514 | ||
20515 | * genconditions.c (write_header, write_one_condition) | |
20516 | (write_conditions, write_writer): Consolidate very long strings | |
20517 | that were broken up to fit in C89 portable limit. Don't use | |
20518 | printf when fputs will do. | |
20519 | ||
20520 | 2006-01-28 Adam Nemet <anemet@caviumnetworks.com> | |
20521 | ||
20522 | * combine.c (simplify_comparison <AND>): Check | |
20523 | TRULY_NOOP_TRUNCATION before start using a subreg. | |
20524 | ||
20525 | * config/mips/mips.md (*branch_zero<mode>, | |
20526 | *branch_zero<mode>_inverted, *branch_equality<mode>, | |
20527 | *branch_equality<mode>_inverted, *branch_equality<mode>_mips16): | |
20528 | Remove mode check from comparisons. | |
20529 | ||
20530 | 2006-01-28 Kenneth Zadeck <zadeck@naturalbridge.com> | |
20531 | ||
20532 | * config/mips/mips-protos.h (mips_set_live_on_entry): Deleted. | |
20533 | ||
20534 | 2006-01-28 Kazu Hirata <kazu@codesourcery.com> | |
20535 | ||
20536 | * expmed.c (const_mult_add_overflow_p): Remove. | |
20537 | * expr.h: Remove the prototype for const_mult_add_overflow_p. | |
20538 | ||
20539 | * recog.c (validate_replace_rtx_subexp): Remove. | |
20540 | * recog.h: Remove the prototype for | |
20541 | validate_replace_rtx_subexp. | |
20542 | ||
20543 | * integrate.h: Remove the prototype for | |
20544 | copy_decl_for_inlining. | |
20545 | * rtl.h: Remove the prototype for mark_constant_function. | |
20546 | * tree-vectorizer.h: Remove the prototype for | |
20547 | vect_strip_conversion. | |
20548 | ||
20549 | * modulo-sched.c (create_partial_schedule, | |
20550 | free_partial_schedule, reset_partial_schedule): Make them | |
20551 | static. | |
20552 | ||
20553 | * hooks.c (hook_bool_rtx_int_false): Remove. | |
20554 | * hooks.h: Remove the prototype for hook_bool_rtx_int_false. | |
20555 | ||
20556 | 2006-01-28 David Edelsohn <edelsohn@gnu.org> | |
20557 | ||
20558 | * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float | |
20559 | and -mlong-double-128 are incompatible. | |
20560 | * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same. | |
20561 | * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c. | |
20562 | (TARGET_LIBGCC2_CFLAGS): Define. | |
20563 | * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same. | |
20564 | (TARGET_LIBGCC2_CFLAGS): Same. | |
20565 | * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX. | |
20566 | ||
20567 | 2006-01-28 Kazu Hirata <kazu@codesourcery.com> | |
20568 | ||
20569 | PR c/19606. | |
20570 | * c-typeck.c (build_binary_op): Perform implicit casts of | |
20571 | operands before shortening them. | |
20572 | ||
20573 | * cfgloopmanip.c (split_loop_bb): Remove. | |
20574 | * cfgloop.h: Remove the prototype for split_loop_bb. | |
20575 | ||
20576 | * cfgloop.c (flow_loop_outside_edge_p): Remove. | |
20577 | * cfgloop.h: Remove the prototype for | |
20578 | flow_loop_outside_edge_p. | |
20579 | ||
20580 | * emit-rtl.c (init_virtual_regs): Make it static. | |
20581 | * function.h: Remove the prototype for init_virtual_regs. | |
20582 | ||
20583 | * recog.c (peephole2_optimize): Make it static. | |
20584 | * recog.h: Remove the prototype for peephole2_optimize. | |
20585 | ||
20586 | 2006-01-27 H.J. Lu <hongjiu.lu@intel.com> | |
20587 | ||
20588 | * df-scan.c (df_record_entry_block_defs): Check if | |
20589 | INCOMING_RETURN_ADDR_RTX is defined. | |
20590 | ||
20591 | 2006-01-27 Daniel Berlin <dberlin@dberlin.org> | |
20592 | Kenneth Zadeck <zadeck@naturalbridge.com> | |
20593 | ||
20594 | PR rtl-optimization/24762 | |
20595 | * doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY. | |
20596 | * targhooks.c (hook_void_bitmap): New hook prototype. | |
20597 | * targhoohs.h (hook_void_bitmap): Ditto. | |
20598 | * bitmap.h (bitmap_head_def): Moved to coretypes.h. | |
20599 | * coretypes.h (bitmap_head_def): Moved from bitmap.h. | |
20600 | * target.h (live_on_entry): New function pointer. | |
20601 | * df-scan.c (df_all_hard_regs): Removed. | |
20602 | (df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs. | |
20603 | (df_scan_free_internal): Added df->entry_block_defs. | |
20604 | (df_scan_alloc): Ditto. | |
20605 | (df_scan_dump): Ditto. | |
20606 | (df_uses_record): Plumbed flag field properly thru calls. | |
20607 | Record EH_RETURN_DATA_REGNO in eh blocks unconditionally. | |
20608 | This part fixes PR24762. | |
20609 | (df_bb_refs_record): Added code to make the frame and arg | |
20610 | pointers live in EH blocks. | |
20611 | (df_refs_record): Added call to df_record_entry_block_defs. | |
20612 | (df_record_entry_block_defs): New function. | |
20613 | * df-core.c: Added comments to describe new artifical defs. | |
20614 | * df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags. | |
20615 | (entry_block_defs): New field in struct df. | |
20616 | (df_all_hard_regs): Deleted. | |
20617 | * target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY. | |
20618 | * df-problems.c (df_ru_bb_local_compute_process_def): | |
20619 | Added code to handle artifical defs in the entry to a function. | |
20620 | (df_ru_bb_local_compute): Ditto. | |
20621 | (df_rd_bb_local_compute_process_def): Ditto. | |
20622 | (df_rd_bb_local_compute): Ditto. | |
20623 | (df_lr_bb_local_compute): Ditto. | |
20624 | (df_ur_bb_local_compute): Ditto. | |
20625 | (df_urec_bb_local_compute): Ditto. | |
20626 | (df_chain_create_bb): Ditto. | |
20627 | (df_ur_local_finalize): Removed entry. | |
20628 | (df_urec_init): Ditto. | |
20629 | (df_urec_local_finalize): Ditto. | |
20630 | (df_ri_bb_compute): Added detection of last use of pseudos. | |
20631 | * Makefile.in (df-scan.o): Updated dependencies. | |
20632 | * config/mips/mips-protos.h (mips_set_live_on_entry): Added. | |
20633 | * config/mips/mips.c (mips_set_live_on_entry): Added. | |
20634 | * config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value | |
20635 | for target hook. | |
20636 | * dce.c (marked_insn_p): Added code to handle artifical defs. | |
20637 | ||
20638 | 2006-01-27 H.J. Lu <hongjiu.lu@intel.com> | |
20639 | ||
20640 | * config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel | |
20641 | intrinsic. | |
20642 | (_mm_cvtsi128_si64): Likewise. | |
20643 | (_mm_cvtsd_si64): Likewise. | |
20644 | (_mm_cvttsd_si64): Likewise. | |
20645 | (_mm_cvtsi64_sd): Likewise. | |
20646 | (_mm_cvtsi64_si128): Likewise. | |
20647 | * config/i386/mmintrin.h (_m_from_int64): Likewise. | |
20648 | (_mm_cvtsi64_m64): Likewise. | |
20649 | (_m_to_int64): Likewise. | |
20650 | (_mm_cvtm64_si64): Likewise. | |
20651 | * config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise. | |
20652 | (_mm_cvttss_si64): Likewise. | |
20653 | (_mm_cvtsi64_ss): Likewise. | |
20654 | (_mm_cvtss_f32): Likewise. | |
20655 | ||
20656 | 2006-01-27 Carlos O'Donell <carlos@codesourcery.com> | |
20657 | ||
20658 | * c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion | |
20659 | for pragma redefine_extname. | |
20660 | ||
20661 | 2006-01-27 Jakub Jelinek <jakub@redhat.com> | |
20662 | ||
20663 | PR target/25864 | |
20664 | * libgcc-std.ver: Add GCC_4.1.0 symbol version. | |
20665 | * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append | |
20666 | -mno-minimal-toc to previous content. | |
20667 | (bispecs): Remove goal. | |
20668 | * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h. | |
20669 | * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4 | |
20670 | compatibility aliases on powerpc-*-*gnu*. | |
20671 | * config/rs6000/libgcc-ppc-glibc.ver: New file. | |
20672 | * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append | |
20673 | libgcc-ppc-glibc.ver on powerpc*-*-*gnu*. | |
20674 | (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs. | |
20675 | (ldblspecs): New goal. | |
20676 | * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed. | |
20677 | * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and | |
20678 | _df_to_tf. | |
20679 | * config/fp-bit.h (TMODES): Don't define if none of TFLOAT, | |
20680 | L_sf_to_tf or L_df_to_tf is defined. | |
20681 | ||
20682 | 2006-01-27 David Edelsohn <edelsohn@gnu.org> | |
20683 | Alan Modra <amodra@bigpond.net.au> | |
20684 | ||
20685 | PR target/25864 | |
20686 | * config/rs6000/linux.h (POWERPC_LINUX): Define. | |
20687 | * config/rs6000/linux64.h (POWERPC_LINUX): Define. | |
20688 | * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC. | |
20689 | * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero. | |
20690 | * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero. | |
20691 | * config/rs6000/rs6000.c (rs6000_ieeequad): New variable. | |
20692 | (rs6000_override_options): Initialize rs6000_ieeequad. | |
20693 | Initialize TFmode format to ibm_extended_format if not | |
20694 | TARGET_IEEEQUAD. | |
20695 | (rs6000_handle_option): Accept -mabi= ibmlongdouble and | |
20696 | ieeelongdouble. | |
20697 | (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts. | |
20698 | (rs6000_return_in_memory): Only return IEEEQUAD in memory. | |
20699 | (function_arg_advance): IBM long double passed in two FPRs, not | |
20700 | split. | |
20701 | (function_arg): IBM long double passed in FPRs. | |
20702 | (rs6000_pass_by_reference): Only IEEEQUAD passed by reference. | |
20703 | (rs6000_gimplify_va_arg): IBM long double passed in two FPRs. | |
20704 | Only multireg GPR aligned. | |
20705 | (rs6000_init_libfuncs): Enable IBM long double functions if not | |
20706 | IEEEQUAD. | |
20707 | (rs6000_generate_compare): Use IBM long double compare if not | |
20708 | TARGET_IEEEQUAD. | |
20709 | * config/rs6000/rs6000.h (rs6000_ieeequad): Declare. | |
20710 | (TARGET_IEEEQUAD): Define. | |
20711 | (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if | |
20712 | not TARGET_IEEEQUAD. | |
20713 | * config/rs6000/rs6000.md: Enable TFmode patterns if | |
20714 | !TARGET_IEEEQUAD. | |
20715 | * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c. | |
20716 | * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float | |
20717 | and -mlong-double-128 are incompatible. | |
20718 | * doc/invoke.texi (-mabi): Collect options together. Add | |
20719 | ibmlongdouble and ieeelongdouble. | |
20720 | ||
20721 | 2006-01-27 Richard Sandiford <richard@codesourcery.com> | |
20722 | ||
20723 | * doc/rtl.texi (SYMBOL_REF_DATA): Adjust documentation for new | |
20724 | opaque type. | |
20725 | * optabs.c (init_one_libfunc): Use SET_SYMBOL_REF_DECL. | |
20726 | * varasm.c (make_decl_rtl, build_constant_desc): Likewise. | |
20727 | (force_const_mem): Use SET_SYMBOL_REF_CONSTANT. | |
20728 | * rtl.h (rtunion_def): Remove rt_ptr. | |
20729 | (X0PTR): Delete. | |
20730 | (SYMBOL_REF_DATA): Use X0ANY instead of X0PTR. | |
20731 | (SET_SYMBOL_REF_DECL, SET_SYMBOL_REF_CONSTANT): New macros. | |
20732 | * config/i386/winnt.c (i386_pe_mark_dllexport) | |
20733 | (i386_pe_mark_dllimport): Use SET_SYMBOL_REF_DECL. | |
20734 | ||
20735 | 2006-01-27 Gabor Loki <loki@gcc.gnu.org> | |
20736 | ||
20737 | * cfgcleanup.c (try_crossjump_to_edge): Fix comment typo. | |
20738 | ||
20739 | 2006-01-26 Alexandre Oliva <aoliva@redhat.com> | |
20740 | ||
20741 | PR other/24829 | |
20742 | PR target/24831 | |
20743 | * gthr-dce.h: Do not gthrw-ify pthread_once_init, | |
20744 | pthread_key_delete. From John David Anglin. gthrw-ify | |
20745 | pthread_getunique_np only if it it's not a macro. Delete | |
20746 | UNUSED macro. | |
20747 | (__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate, | |
20748 | __gthread_objc_condition_wait, __gthread_objc_condition_broadcast, | |
20749 | __gthread_objc_condition_signal, __gthread_key_delete): Add | |
20750 | "__attribute__ ((__unused__))" to unused arguments. | |
20751 | (__gthread_recursive_mutex_init_function): Add missing return. | |
20752 | * gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h, | |
20753 | gthr-posix95.h: Use macro-based approach for name redirection | |
20754 | on targets missing weakref. | |
20755 | ||
20756 | 2006-01-26 Zack Weinberg <zackw@panix.com> | |
20757 | ||
20758 | * genconditions.c (write_header): In generated code, #ifdef out | |
20759 | all includes and fake declarations, except includes of bconfig.h | |
20760 | and system.h, unless GCC_VERSION >= 3001. Do not include | |
20761 | gensupport.h in any case. | |
20762 | (write_conditions): Generate a definition of struct c_test. Add | |
20763 | a comment to the generated #endif. | |
20764 | (write_one_condition): Escape backslashes in string too. | |
20765 | (write_writer): Generated code must escape backslashes and quote | |
20766 | marks (but not newlines) in the strings it writes. | |
20767 | * Makefile.in (build/gencondmd.o): Update dependencies. | |
20768 | ||
20769 | 2006-01-26 Steve Ellcey <sje@cup.hp.com> | |
20770 | ||
20771 | PR target/25961 | |
20772 | * Makefile.in (insn-automata.o): Add header file dependencies. | |
20773 | * genautomata.c: Add includes. | |
20774 | ||
20775 | 2006-01-26 Steve Ellcey <sje@cup.hp.com> | |
20776 | ||
20777 | PR target/25961 | |
20778 | * Makefile.in (insn-automata.o): Add -Wno-error flag. | |
20779 | ||
20780 | 2006-01-26 Paolo Bonzini <bonzini@gnu.org> | |
20781 | ||
20782 | * configure.ac: Expect target tools paths to be passed from the toplevel | |
20783 | and wrap the detection into AS_SET_VAR_IF. Extract side-effects out of | |
20784 | AS_SET_VAR_IF. | |
20785 | * acinclude.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL): Remove. | |
20786 | ||
20787 | 2006-01-26 Alexandre Oliva <aoliva@redhat.com> | |
20788 | ||
20789 | PR c/25892 | |
20790 | * c.opt (Wpointer-sign): Init to -1. | |
20791 | * c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and | |
20792 | OPT_pedantic, to 0 otherwise. | |
20793 | * doc/invoke.texi: Update. | |
20794 | ||
20795 | 2006-01-26 Paolo Bonzini <bonzini@gnu.org> | |
20796 | ||
20797 | * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Emit | |
20798 | constants provided by 80387 instructions in the destination mode. | |
20799 | ||
20800 | 2006-01-26 Richard Guenther <rguenther@suse.de> | |
20801 | Andrew Pinski <pinskia@physics.uc.edu> | |
20802 | ||
20803 | PR tree-opt/21470 | |
20804 | partial PR tree-opt/17064 | |
20805 | * tree-ssa-structalias.c (intra_create_variable_infos): | |
20806 | Create heap variables for incoming parameters if | |
20807 | flag_argument_noalias > 1. | |
20808 | (find_what_p_points_to): Look through default defs of | |
20809 | parameter decls. | |
20810 | ||
20811 | 2006-01-26 Jeff Law <law@redhat.com> | |
20812 | ||
20813 | PR ada/25900 | |
20814 | * tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE | |
20815 | with a VR_ANTI_RANGE and the VR_ANTI_RANGE is completely contained | |
20816 | within the VR_RANGE, use the VR_RANGE as the result, not the | |
20817 | VR_ANTI_RANGE. | |
20818 | (adjust_range_with_scev): Reject ranges from SCEV which are out of | |
20819 | bounds for the type. | |
20820 | ||
20821 | 2006-01-26 Daniel Berlin <dberlin@dberlin.org> | |
20822 | ||
20823 | * tree-ssa-alias.c (maybe_create_global_var): Change | |
20824 | subvar walking to an assertion that we don't have subvar'd variables. | |
20825 | ||
20826 | 2006-01-26 Andrew Pinski <pinskia@physics.uc.edu> | |
20827 | ||
20828 | PR C/25861 | |
20829 | * c-common.c (c_common_truthvalue_conversion) <case ADDR_EXPR>: | |
20830 | Use a new variable, inner. PARM_DECLs are always non-weak. | |
20831 | ||
20832 | 2006-01-26 Shantonu Sen <ssen@opendarwin.org> | |
20833 | ||
20834 | * tree.h (OMP_CLAUSE_SUBCODE_CHECK): Add definition for | |
20835 | --disable-checking. | |
20836 | ||
20837 | 2006-01-26 Adam Nemet <anemet@caviumnetworks.com> | |
20838 | ||
20839 | * config/mips/mips.md (*clear_upper32): New combiner pattern. | |
20840 | ||
20841 | 2006-01-26 Richard Earnshaw <richard.earnshaw@arm.com> | |
20842 | ||
20843 | * arm.md (smaxsi3, sminsi3): Convert to define_expand. | |
20844 | (smax_insn, smin_insn, smax_0, smin_0): New. | |
20845 | ||
20846 | 2006-01-26 Hans-Peter Nilsson <hp@axis.com> | |
20847 | ||
20848 | PR target/25947 | |
20849 | * config/cris/cris.c (cris_order_for_addsi3): New function. | |
20850 | * config/cris/cris-protos.h: Prototype it. | |
20851 | * config/cris/cris.md (split for "move.S1 [rx=rx+i],ry") | |
20852 | (split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]") | |
20853 | (split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry") | |
20854 | (split for "op.S1 [rx=rx+i],ry (swapped)") | |
20855 | (split for "op(s|u).S1 [rx=rx+i],ry") | |
20856 | (split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"): | |
20857 | Apply cris_order_for_addsi3 when generating addsi3 insns. | |
20858 | ||
20859 | 2006-01-25 Diego Novillo <dnovillo@redhat.com> | |
20860 | ||
20861 | * tree.h (TREE_RANGE_CHECK): Fix range predicate. | |
20862 | (TREE_BLOCK): Add call to EXPR_CHECK. | |
20863 | ||
20864 | 2006-01-25 Diego Novillo <dnovillo@redhat.com> | |
20865 | ||
20866 | PR 25886 | |
20867 | * tree-dump.c (dequeue_and_dump): Handle OMP_CLAUSE. | |
20868 | * tree-pretty-print.c (dump_omp_clause): Extract from ... | |
20869 | (dump_omp_clauses): ... here. | |
20870 | (dump_generic_node): Handle OMP_CLAUSE. | |
20871 | * tree.c (omp_clause_num_ops): New. | |
20872 | (omp_clause_code_name): New. | |
20873 | (tree_code_size): Handle OMP_CLAUSE. | |
20874 | (tree_size): Likewise. | |
20875 | (make_node): Document handling of OMP_CLAUSE. | |
20876 | (tree_node_structure): Handle OMP_CLAUSE. | |
20877 | (omp_clause_check_failed): New. | |
20878 | (omp_clause_range_check_failed): New. | |
20879 | (omp_clause_operand_check_failed): New. | |
20880 | (build_omp_clause): New. | |
20881 | (walk_tree): Adjust handling of OMP_CLAUSE_* nodes. | |
20882 | * tree.h (enum omp_clause_code): Declare. | |
20883 | (OMP_CLAUSE_SUBCODE_CHECK): Define. | |
20884 | (OMP_CLAUSE_RANGE_CHECK): Define. | |
20885 | (OMP_CLAUSE_ELT_CHECK): Define. | |
20886 | (omp_clause_check_failed): Declare. | |
20887 | (omp_clause_operand_check_failed): Declare. | |
20888 | (omp_clause_range_check_failed): Declare. | |
20889 | (OMP_CLAUSE_CHAIN): Do not use TREE_RANGE_CHECK. | |
20890 | (OMP_CLAUSE_OPERAND): Use OMP_CLAUSE_RANGE_CHECK. | |
20891 | (OMP_CLAUSE_PRIVATE_DEBUG): Use OMP_CLAUSE_SUBCODE_CHECK. | |
20892 | (OMP_CLAUSE_LASTPRIVATE): Likewise. | |
20893 | (OMP_CLAUSE_IF_EXPR): Likewise. | |
20894 | (OMP_CLAUSE_NUM_THREADS_EXPR): Likewise. | |
20895 | (OMP_CLAUSE_SCHEDULE_CHUNK_EXPR): Likewise. | |
20896 | (OMP_CLAUSE_REDUCTION_CODE): Likewise. | |
20897 | (OMP_CLAUSE_REDUCTION_INIT): Likewise. | |
20898 | (OMP_CLAUSE_REDUCTION_MERGE): Likewise. | |
20899 | (OMP_CLAUSE_REDUCTION_PLACEHOLDER): Likewise. | |
20900 | Use tree_node.omp_clause.subcode instead of TREE_COMPLEXITY. | |
20901 | (OMP_CLAUSE_SCHEDULE_KIND): Likewise. | |
20902 | (OMP_CLAUSE_DEFAULT_KIND): Likewise. | |
20903 | (OMP_CLAUSE_CODE): Define. | |
20904 | (OMP_CLAUSE_SET_CODE): Define. | |
20905 | (OMP_CLAUSE_CODE): Define. | |
20906 | (OMP_CLAUSE_OPERAND): Define. | |
20907 | (struct tree_omp_clause): Declare. | |
20908 | (union tree_node): Add field 'omp_clause'. | |
20909 | * treestruct.def (TS_OMP_CLAUSE): Define. | |
20910 | * tree.def (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED | |
20911 | OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE, | |
20912 | OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN, | |
20913 | OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF, | |
20914 | OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE, | |
20915 | OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Remove. | |
20916 | (OMP_CLAUSE): Define. | |
20917 | * print-tree.c (print_node): Handle OMP_CLAUSE. | |
20918 | * omp-low.c: Adapt all uses of OMP_CLAUSE_* nodes. | |
20919 | * c-typeck.c: Likewise. | |
20920 | * gimplify.c: Likewise. | |
20921 | * c-omp.c: Likewise. | |
20922 | * tree-nested.c: Likewise. | |
20923 | * tree-inline.c: Likewise. | |
20924 | * c-parser.c: Likewise. | |
20925 | * gimple-low.c (lower_omp_directive): Do not set TREE_BLOCK on | |
20926 | clauses. | |
20927 | ||
20928 | 2006-01-25 Roger Sayle <roger@eyesopen.com> | |
20929 | ||
20930 | PR rtl-optimization/25703 | |
20931 | * combine.c (try_combine): Handle zero_extract and strict_low_part | |
20932 | of non-lowpart SUBREGs for constant reg_subword_p set optimization. | |
20933 | ||
20934 | 2006-01-25 Peter Bergner <bergner@vnet.ibm.com> | |
20935 | ||
20936 | * global.c: Fix comment typos. | |
20937 | ||
20938 | 2006-01-25 Andrew Pinski <pinskia@physics.uc.edu> | |
20939 | ||
20940 | PR target/25758 | |
20941 | * config/i386/i386.c (output_pic_addr_const) <case SYMBOL_REF>: | |
20942 | Use output_addr_const instead of assemble_name. | |
20943 | ||
20944 | 2006-01-25 Paolo Bonzini <bonzini@gnu.org> | |
20945 | ||
20946 | * Makefile.in (sched-vis.o): Update dependencies. | |
20947 | * haifa-sched.c (sched_finish): Clear current_sched_info. | |
20948 | * cfg.c (dump_bb_info): New, split from dump_flow_info. | |
20949 | (dump_flow_info): Call it. | |
20950 | * passes.c (execute_todo): Call print_rtl_slim_with_bb to make | |
20951 | a slim RTL dump. | |
20952 | * basic-block.h (dump_bb_info): Declare. | |
20953 | * tree-dump.c (dump_enable_all): OR the flags of a -fdump-tree-all | |
20954 | option, and apply options only for dump files whose TDF_RTL, | |
20955 | TDF_TREE, or TDF_IPA bits match. | |
20956 | * rtl.h: Declare new functions exported from sched-vis.c. | |
20957 | * sched-vis.c: Enable also if scheduling is not used. | |
20958 | (print_value): Print the mode of registers if not inside scheduling. | |
20959 | (print_insn): Make it work outside the scheduler. Beautify the output | |
20960 | a bit. | |
20961 | (dump_insn_slim, debug_insn_slim, print_rtl_slim_with_bb): New. | |
20962 | ||
20963 | 2006-01-25 Richard Sandiford <richard@codesourcery.com> | |
20964 | ||
20965 | * doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document. | |
20966 | * gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of | |
20967 | a SYMBOL_REF as either a tree or a constant_descriptor_rtx, | |
20968 | depending on the value of CONSTANT_POOL_ADDRESS_P. | |
20969 | * optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than | |
20970 | SYMBOL_REF_DECL. | |
20971 | * varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA | |
20972 | rather than SYMBOL_REF_DECL. | |
20973 | (rtx_constant_pool): Remove const_rtx_sym_htab. | |
20974 | (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete. | |
20975 | (init_varasm_status): Don't initialize const_rtx_sym_htab. | |
20976 | (force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry. | |
20977 | Remove handling of const_rtx_sym_htab. | |
20978 | (find_pool_constant): Delete. | |
20979 | (get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT | |
20980 | rather than find_pool_constant. | |
20981 | (get_pool_constant_for_function): Delete. | |
20982 | (get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than | |
20983 | find_pool_constant. | |
20984 | * rtl.h (rtunion_def): Add rt_constant and rt_ptr fields. | |
20985 | (X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros. | |
20986 | (SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P. | |
20987 | (SYMBOL_REF_CONSTANT): New macro. | |
20988 | (get_pool_constant_for_function): Delete. | |
20989 | * config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA | |
20990 | rather than SYMBOL_REF_DECL. | |
20991 | (i386_pe_mark_dllimport): Likewise. | |
20992 | * config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA | |
20993 | rather than SYMBOL_REF_DECL. | |
20994 | * config/darwin.c (machopic_indirect_data_reference): Likewise. | |
20995 | (machopic_indirect_call_target): Likewise. | |
20996 | ||
20997 | 2006-01-25 Eric Botcazou <ebotcazou@adacore.com> | |
20998 | ||
20999 | * flow.c (delete_noop_moves): Add missing EOL to dump message. | |
21000 | ||
21001 | 2006-01-25 Richard Sandiford <richard@codesourcery.com> | |
21002 | ||
21003 | * genattrtab.c (gen_bypass): Allow bypasses to contain whitespace. | |
21004 | ||
21005 | 2006-01-25 Kaz Kojima <kkojima@gcc.gnu.org> | |
21006 | ||
21007 | * config/sh/predicates.md (sh_register_operand): Accept CONST_DOUBLE. | |
21008 | ||
21009 | 2006-01-24 David Daney <ddaney@avtrex.com> | |
21010 | ||
21011 | PR java/25816 | |
21012 | * configure.ac (enable_tls): New enable option. | |
21013 | (HAVE_AS_TLS): Don't do assembler check if enable_tls set. | |
21014 | * configure: Regenerate. | |
21015 | * doc/install.texi (--enable-tls): Document new option. | |
21016 | (--disable-tls): Ditto. | |
21017 | ||
21018 | 2006-01-24 Richard Henderson <rth@redehat.com> | |
21019 | ||
21020 | * alias.h (ALIAS_SET_MEMORY_BARRIER): New. | |
21021 | * alias.c (true_dependence): Respect it. | |
21022 | (canon_true_dependence, write_dependence_p): Likewise. | |
21023 | * builtins.c (get_builtin_sync_mem): Set it. | |
21024 | ||
21025 | 2006-01-25 Zdenek Dvorak <dvorakz@suse.cz> | |
21026 | ||
21027 | * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more | |
21028 | efficient way. | |
21029 | ||
21030 | 2006-01-24 DJ Delorie <dj@redhat.com> | |
21031 | ||
21032 | * expmed.c (store_bit_field): Don't arbitrarily deny using insv | |
21033 | for storing constants in single-bit bitfields. | |
21034 | ||
21035 | 2006-01-25 Ben Elliston <bje@au.ibm.com> | |
21036 | ||
21037 | * dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long. | |
21038 | ||
21039 | 2006-01-24 Andrew Pinski <pinskia@physics.uc.edu> | |
21040 | ||
21041 | PR tree-opt/25860 | |
21042 | * tree-ssa-pre.c (phi_translate): Return NULL | |
21043 | for AGGREGATE_TYPE's. | |
21044 | ||
21045 | 2006-01-24 Zack Weinberg <zackw@panix.com> | |
21046 | ||
21047 | * genautomata.c (process_state_for_insn_equiv_partition): | |
21048 | Use xcalloc for insn_arcs_array. | |
21049 | * vec.h (DEF_VEC_ALLOC_FUNC_I): New set of templates. | |
21050 | (DEF_VEC_ALLOC_I): Use it, not DEF_VEC_ALLOC_FUNC_P. | |
21051 | ||
21052 | 2006-01-24 Richard Henderson <rth@redhat.com> | |
21053 | ||
21054 | * genextract.c (VEC_safe_set_locstr): Take VEC by reference; | |
21055 | update all callers. | |
21056 | ||
21057 | 2006-01-23 Paolo Bonzini <bonzini@gnu.org> | |
21058 | ||
21059 | PR rtl-optimization/25890 | |
21060 | PR rtl-optimization/25905 | |
21061 | * combine.c (expand_compound_operation, expand_field_assignment): | |
21062 | Fail if the bitfield's final position is out of bounds. | |
21063 | ||
21064 | 2006-01-24 Ian Lance Taylor <ian@airs.com> | |
21065 | ||
21066 | PR middle-end/25930 | |
21067 | * cgraphunit.c (cgraph_output_in_order): Don't clear | |
21068 | cgraph_asm_nodes until after asm strings have been output. | |
21069 | ||
21070 | 2006-01-23 Adam Nemet <anemet@caviumnetworks.com> | |
21071 | ||
21072 | * fix-header.c (read_scan_file): Add new parameter imultilib when | |
21073 | calling register_include_chains. | |
21074 | ||
21075 | 2006-01-23 Diego Novillo <dnovillo@redhat.com> | |
21076 | ||
21077 | * omp-low.c: Update documentation. | |
21078 | ||
21079 | 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> | |
21080 | Daniel Berlin <dberlin@dberlin.org> | |
21081 | ||
21082 | PR tree-opt/25315 | |
21083 | PR tree-opt/25857 | |
84047858 | 21084 | * tree-ssa-pre.c (insert_extra_phis): If an incoming edge is abnormal |
f1aea409 MS |
21085 | return from the function. |
21086 | ||
21087 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21088 | ||
21089 | * rtl.def (match_code): Add second argument. | |
21090 | * genpreds.c (write_extract_subexp): New function. | |
21091 | (write_match_code): Add path argument. Use write_extract_subexp. | |
21092 | (write_predicate_expr): Pass path to write_match_code. | |
21093 | (mark_mode_tests): MATCH_CODE applied to a subexpression does | |
21094 | not perform a mode test. | |
21095 | * genrecog.c (compute_predicate_codes): MATCH_CODE applied to | |
21096 | a subexpression does not constrain the top-level code set. | |
21097 | * read-rtl.c (read_rtx_variadic): New function. | |
21098 | (read_rtx_1): Use it; allow AND and IOR to be variadic. | |
21099 | * doc/md.texi: Document new notation. | |
21100 | * config/i386/predicates.md (cmpsi_operand_1): Fold into ... | |
21101 | (cmpsi_operand): ... here, using new notation. | |
21102 | ||
21103 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21104 | ||
21105 | * varray.c: Remove GENERATOR_FILE #ifdefs. | |
21106 | ||
21107 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21108 | ||
21109 | * genautomata.c (output_reserved_units_table): Emit nothing if | |
21110 | description->query_units_num is zero. Remove extra blank line. | |
21111 | (output_cpu_unit_reservation_p): Short circuit | |
21112 | if description->query_units_num is zero. | |
21113 | ||
21114 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21115 | ||
21116 | * genattrtab.c: Don't include genattrtab.h. Define ATTR_NONE | |
21117 | and ATTR_SPECIAL (from genattrtab.h). Don't define num_dfa_decls | |
21118 | nor any of the random handful of variables that used to be necessary | |
21119 | when this program was linked with rtlanal.o. Prune set of forward | |
21120 | function declarations. | |
21121 | (struct attr_desc): Remove static_p field. | |
21122 | (hash_obstack, temp_obstack, attr_hash_table, attr_printf) | |
21123 | (check_attr_test, make_internal_attr, make_numeric_value): Make static. | |
21124 | (attr_string): Do not read the character one past the length of | |
21125 | the string. | |
21126 | (write_attr_get, find_attr, make_internal_attr): Don't touch static_p. | |
21127 | (struct insn_reserv, all_insn_reservs, last_insn_reserv_p) | |
21128 | (n_insn_reservs, gen_insn_reserv, struct bypass_list, all_bypasses) | |
21129 | (n_bypasses, gen_bypass_1, gen_bypass, process_bypasses) | |
21130 | (make_automaton_attrs): New. | |
21131 | (main): Do not call into genautomata. Call local gen_bypass | |
21132 | and gen_insn_reserv as appropriate. Call make_automaton_attrs. | |
21133 | Remove special case for insn_alts. | |
21134 | * genautomata.c: Include gensupport.h; not genattrtab.h nor | |
21135 | varray.h (leftover from previous change). Prune set of forward | |
21136 | function declarations. Remove state_alts fields from all | |
21137 | structures. Remove state_alts_table from struct automaton. | |
21138 | Make everything except main static. Do not maintain num_dfa_decls. | |
21139 | Do not maintain state_alts fields of various structures. | |
21140 | (process_decls): Don't validate condexp for dm_insn_reserv decls. | |
21141 | (add_arc): Remove state_alts argument. All callers updated. | |
21142 | (output_reserved_units_table): Emit #ifdef here... | |
21143 | (output_tables): ...not here. Don't generate state_alts tables. | |
21144 | (expand_automata): Don't generate attributes. | |
21145 | (write_automata): Don't generate state_alts functions. | |
21146 | (main): New function. | |
21147 | (it_is_empty_reserv_sets, output_state_alts_full_vect_name) | |
21148 | (output_state_alts_comb_vect_name, output_state_alts_check_vect_name) | |
21149 | (AUTOMATON_STATE_ALTS_MACRO_NAME, INTERNAL_STATE_ALTS_FUNC_NAME) | |
21150 | (STATE_ALTS_FUNC_NAME, INSN_DEFAULT_LATENCY_FUNC_NAME) | |
21151 | (BYPASS_P_FUNC_NAME, output_state_alts_table) | |
21152 | (output_automata_list_state_alts_code, output_internal_state_alts_func) | |
21153 | (output_state_alts_func, make_insn_alts_attr, make_bypass_attr) | |
21154 | (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr): | |
21155 | Delete. | |
21156 | * genattr.c: Declare internal_dfa_insn_code in insn-attr.h. | |
21157 | * genattrtab.h: Delete file. | |
21158 | * Makefile.in (OBJS-common): Add insn-automata.o. | |
21159 | (insn-automata.o): New rule. | |
21160 | (simple_generated_c): Add insn-automata.c. | |
21161 | (build/genattrtab.o, build/genautomata.o): Update dependencies. | |
21162 | (genprogmd): Add automata. | |
21163 | (build/genattrtab): Needs no extra objects nor libraries. | |
21164 | (build/genautomata): Needs build/vec.o and -lm. | |
21165 | ||
21166 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21167 | ||
21168 | * genautomata.c (process_state_longest_path, max_dfa_issue_rate) | |
21169 | (output_dfa_max_issue_rate, locked_states_num): Delete. | |
21170 | (struct automaton): Add locked_states field. | |
21171 | (output_dead_lock_vect): Save number of locked states in | |
21172 | automaton->locked_states. If it is zero, don't print anything. | |
21173 | (output_max_insn_queue_index_def): Define max_insn_queue_index const. | |
21174 | (output_internal_dead_lock_func): Only test the dead_lock_vect | |
21175 | for automata that have locked states. | |
21176 | (output_statistics): Always print the number of locked states for | |
21177 | each automaton. Calculate total number of locked states here. | |
21178 | (write_automata): Don't call output_dfa_max_issue_rate. | |
21179 | * genattrtab.c: Define length_unit_log as a const variable. | |
21180 | * genattr.c: Don't emit MAX_DFA_ISSUE_RATE. Declare | |
21181 | max_insn_queue_index const. | |
21182 | * final.c (length_unit_log): Declare const. | |
21183 | * doc/tm.texi: Remove all references to MAX_DFA_ISSUE_RATE. | |
21184 | ||
21185 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21186 | ||
21187 | * genautomata.c: Include vec.h, not varray.h. | |
21188 | Delete vla_ptr_t, all of the VLA_PTR_ macros, and all of the | |
21189 | VLA_HWINT_ macros. Change vla_hwint_t to a typedef for | |
21190 | VEC(vect_el_t,heap) *. Convert all uses of VLA_* macros to | |
21191 | VEC_* macros operating on appropriately typed vectors, or to | |
21192 | malloced arrays when the size is known in advance. Const-ify | |
21193 | many char* variables and function arguments. No functional changes. | |
21194 | * Makefile.in (build/varray.o): Delete rule. | |
21195 | (build/genattrtab): Depend on build/vec.o instead of build/varray.o. | |
21196 | (build/genautomata.o): Depend on vec.h instead of $(VARRAY_H). | |
21197 | ||
21198 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21199 | ||
21200 | * gensupport.c: Define get_insn_name and record_insn_name here. | |
21201 | (read_md_rtx): Call record_insn_name as appropriate. | |
21202 | * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c | |
21203 | * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c | |
21204 | * genpreds.c, genrecog.c: Don't define get_insn_name nor | |
21205 | record_insn_name. | |
21206 | * Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL. | |
21207 | (BUILD_VARRAY): Delete. | |
21208 | (genprognormal): Rename genprogmd. Fold in all programs from | |
21209 | genprognoprint; also attrtab. | |
21210 | (build/genattrtab): Just mention genautomata.o and varray.o. | |
21211 | Reorganize a bit, add comments to make the categories clearer. | |
21212 | ||
21213 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21214 | ||
21215 | * genconditions.c (condition_table, add_condition): Delete. | |
21216 | (write_conditions): Don't emit n_insn_conditions nor | |
21217 | insn_elision_unavailable. Issue the gcc version #ifdef here, | |
21218 | inside the table, with no #else clause ... | |
21219 | (write_header): ...not here. | |
21220 | (write_writer): New function. | |
21221 | (main): Don't initialize condition_table. Use add_c_test. | |
21222 | Call write_writer. | |
21223 | * gensupport.c (init_md_reader_args_cb): Handle multiple input | |
21224 | files on the command line. | |
21225 | (maybe_eval_c_test): Don't check insn_elision_unavailable. | |
21226 | Return -1 if there is no entry in the table, don't abort. | |
21227 | (add_c_test, traverse_c_tests): New functions. | |
21228 | * gensupport.h (insn_elision_unavailable, insn_conditions) | |
21229 | (n_insn_conditions): Delete declarations. | |
21230 | (add_c_test, traverse_c_tests): Declare. | |
21231 | * read-rtl.c: Include gensupport.h. | |
21232 | (read_conditions): New function. | |
21233 | (read_rtx): If read_rtx_1 returns 0, treat as EOF. | |
21234 | (read_rtx_1): If we get EOF when we were looking for an initial | |
21235 | open paren, return 0. Call read_conditions when appropriate. | |
21236 | * Makefile.in: Kill BUILD_EARLY_SUPPORT and all references to | |
21237 | dummy-conditions.o. Eliminate references to insn-conditions.o, | |
21238 | or change them to build/gencondmd.o, as appropriate. Remove | |
21239 | insn-constants.h from $(simple_generated_h) and insn-conditions.c | |
21240 | from $(simple_generated_c). For all files remaining in those | |
21241 | two lists, add insn-conditions.md to the generator command line. | |
21242 | Give insn-constants.h/s-constants their own rules. Add rules | |
21243 | for build/gencondmd.c, s-conditions, insn-conditions.md, s-condmd. | |
21244 | (build/read-rtl.o): Depend on gensupport.h. | |
21245 | (genprognormal): Include preds. | |
21246 | (genprogearly): Rename genprognoprint; only difference is now that | |
21247 | they don't link with $(BUILD_PRINT). | |
21248 | * dummy-conditions.c: Delete. | |
21249 | ||
21250 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21251 | ||
21252 | * genextract.c: Don't include insn-config.h. Do include vec.h. | |
21253 | Declare vectors of int, char, and locstr. | |
21254 | (locstr): New typedef. | |
21255 | (struct extraction): Make all array fields into bare pointers. | |
21256 | (insn_name_ptr, insn_name_ptr_size): Move down by get_insn_name. | |
21257 | (insn_code_number): Delete. | |
21258 | (accum_extract): New struct. | |
21259 | (VEC_safe_set_locstr, VEC_char_to_string): New functions. | |
21260 | (gen_insn): Take insn_code_number as an argument. Use an | |
21261 | accum_extract structure instead of loading data directly into | |
21262 | a struct extraction, and having to know how big it might get. | |
21263 | (walk_rtx): Operate entirely on an accum_extract structure. | |
21264 | (print_path): Avoid unnecessary use of printf. | |
21265 | (print_header): New function, split out of main. Distinguish | |
21266 | more carefully between an unrecognizable insn and an insn that | |
21267 | has the code number of a define_expand. | |
21268 | (main): Pass insn_code_number to gen_insn. Call print_header | |
21269 | only after parsing. Avoid unnecessary use of printf. | |
21270 | * Makefile.in (build/vec.o): New rule. | |
21271 | (build/genextract): Depend on build/vec.o. | |
21272 | (build/genextract.o): Don't depend on insn-config.h. | |
21273 | ||
21274 | 2006-01-22 Zack Weinberg <zackw@panix.com> | |
21275 | ||
21276 | * Makefile.in: Consolidate most rules that use $(CC_FOR_BUILD) and/or | |
21277 | $(RUN_GEN). Use pattern rules to factor out as much boilerplate as | |
21278 | practical. Eliminate per-generator-program link rules. | |
21279 | ||
21280 | 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> | |
21281 | ||
21282 | PR middle-end/24437 | |
21283 | * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF | |
21284 | with a call expr to ... | |
21285 | * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. | |
21286 | ||
21287 | 2006-01-23 Richard Guenther <rguenther@suse.de> | |
21288 | ||
21289 | * cfgloopmanip.c (lv_adjust_loop_entry_edge): Add comment | |
21290 | before make_edge with conditional EDGE_TRUE_VALUE. | |
21291 | ||
21292 | 2006-01-23 Steven Bosscher <stevenb.gcc@gmail.com> | |
21293 | Jan Hubicka <jh@suse.cz> | |
21294 | Richard Guenther <rguenther@suse.de> | |
21295 | ||
21296 | PR rtl-optimization/25654 | |
21297 | * cfgexpand.c (aggregate_contains_union_type): New function. | |
21298 | (add_alias_set_conflicts): Call it. Make sure to add conflicts | |
21299 | for structure variables that contain a union type. | |
21300 | ||
21301 | 2006-01-23 Richard Sandiford <richard@codesourcery.com> | |
21302 | ||
21303 | * gengtype.c (new_structure): Return the structure. | |
21304 | (create_option): Add an extra "next" argument. | |
21305 | (create_field): New function. | |
21306 | (adjust_field_rtx_def): Use create_option and create_field. | |
21307 | Remove a now-unnecessary call to find_structure. | |
21308 | (adjust_field_tree_def): Likewise. | |
21309 | (note_yacc_type): Remove an unnecessary call to find_structure. | |
21310 | * gengtype.h (new_structure): Return the structure. | |
21311 | (create_option): Add an extra argument. | |
21312 | * gengtype-yacc.y (type): Remove unnecessary calls to find_structure. | |
21313 | (option): Adjust calls to create_option. | |
21314 | ||
21315 | 2006-01-22 David Edelsohn <edelsohn@gnu.org> | |
21316 | ||
21317 | * config/rs6000/aix.h (STACK_BOUNDARY): Define. | |
21318 | ||
21319 | 2006-01-22 Paul Brook <paul@codesourcery.com> | |
21320 | Peter Barada <peter@the-baradas.com> | |
21321 | ||
21322 | * config/m68k/m68k.md: Add Coldfire FPU support. | |
21323 | Define FP mode macro and associated attributes. | |
21324 | Use it for float mode patterns. | |
21325 | * config/m68k/linux.h (FUNCTION_VALUE): Use m68k_function_value. | |
21326 | (LIBCALL_VALUE): Use m68k_libcall_value. | |
21327 | * config/m68k/m68k-protos.h (m68k_libcall_value): Add prototype. | |
21328 | (m68k_function_value): Ditto. | |
21329 | (emit_move_sequence): Ditto. | |
21330 | * config/m68k/m68kemb.h (LIBCALL_VALUE): Use m68k_libcall_value. | |
21331 | * config/m68k/m68k-none.h (ASM_SPEC): Add mcfv4e. | |
21332 | * config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcfv4e. | |
21333 | (MULTILIB_EXCEPTIONS): Ditto. | |
21334 | * config/m68k/m68k.opt: Add mcfv4e. | |
21335 | * config/m68k/m68k.c (m68k_handle_option): Handle OPT_mcfv4e. | |
21336 | (m68k_compute_frame_layout): Include space for ColdFire FPU regs. | |
21337 | (m68k_output_function_prologue): Save ColdFire FPU registers. | |
21338 | (m68k_output_function_epilogue): Restore ColdFire FPU registers. | |
21339 | (force_mode, fp_reg_operand, emit_move_sequence): New functions. | |
21340 | (m68k_regno_mode_ok): Don't allow types larget than 8 bytes in | |
21341 | ColdFire FPU registers. | |
21342 | (m68k_libcall_value, m68k_function_value): New functions. | |
21343 | * config/m68k/netbsd-elf.h (FUNCTION_VALUE): Use m68k_function_value. | |
21344 | (LIBCALL_VALUE): Use m68k_libcall_value. | |
21345 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcfv4e__. | |
21346 | (MASK_COLDFIRE): Add MASK_CFV4E. | |
21347 | (TARGET_COLDFIRE_FPU, TARGET_HARD_FLOAT, TARGET_FP_REG_SIZE): New. | |
21348 | (MODES_TIEABLE_P): Use TARGET_HARD_FLOAT. | |
21349 | (REG_CLASS_FROM_LETTER, PREFERRED_RELOAD_CLASS): Ditto. | |
21350 | (GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Define. | |
21351 | (GO_IF_LEGITIMATE_ADDRESS): Use it. | |
21352 | (LEGITIMIZE_ADDRESS): Handle ColdFire FPU addresses. | |
21353 | * doc/invoke.tex: Document -mcfv4e on m68k. | |
21354 | ||
21355 | 2006-01-22 Ranjit Mathew <rmathew@gcc.gnu.org> | |
21356 | ||
21357 | * doc/contribute.texi: Change CVS to SVN and update the corresponding | |
21358 | URL. | |
21359 | ||
21360 | 2006-01-21 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
21361 | ||
21362 | PR c++/16190 | |
21363 | * c-opts.c (c_common_handle_option): Don't include | |
21364 | -Wnon-virtual-dtor in -Wall; enable if -Weffc++. | |
21365 | * doc/invoke.texi (C++ Dialect Options): Document that | |
21366 | -Wnon-virtual-dtor is no longer included in -Wall. | |
21367 | ||
21368 | 2006-01-21 Joseph S. Myers <joseph@codesourcery.com> | |
21369 | ||
21370 | * gcov.c (print_version), gcov-dump.c (print_version), | |
21371 | mips-tdump.c (main), mips-tfile.c (main): Update copyright notice | |
21372 | dates. | |
21373 | ||
21374 | 2006-01-21 Kenneth Zadeck <zadeck@naturalbridge.com> | |
21375 | ||
21376 | * df-scan.c (problem_SCAN): Added NULL reset function. | |
21377 | (df_scan_reset_blocks): Added code to call reset block function | |
21378 | (df_bb_refs_delete) Fixed comment. | |
21379 | (df_insn_refs_delete): Made tolerant of deleting non existent info | |
21380 | for dataflow problems that need to be reset. | |
21381 | * df-core.c (df_set_blocks): Ditto. | |
21382 | * df.h (struct df_problem): Added reset_fun. | |
21383 | * df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR, | |
21384 | problem_UREC, problem_CHAIN, problem_RI): Initialized reset_fun field. | |
21385 | (df_chain_insn_reset, df_chain_bb_reset, df_chain_reset): New | |
21386 | functions to clear out all references to def-use or use-def chains. | |
21387 | ||
21388 | 2006-01-21 Ben Elliston <bje@au.ibm.com> | |
21389 | ||
21390 | * varasm.c (assemble_real): Initialise data array. | |
21391 | ||
21392 | 2006-01-20 Paul Brook <paul@codesourcery.com> | |
21393 | ||
21394 | Merge from csl-arm-branch. | |
21395 | 2005-09-21 Kazu Hirata <kazu@codesourcery.com> | |
21396 | * config/arm/arm.md (movdi): Force operands[1] to a register | |
21397 | if we have a non-register source. | |
21398 | (*arm_movdi, *movdf_soft_insn): Require that one of the | |
21399 | operands be a register. | |
21400 | * config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise. | |
21401 | * config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise. | |
21402 | ||
21403 | 2006-01-20 DJ Delorie <dj@redhat.com> | |
21404 | ||
21405 | * varasm.c (initializer_constant_valid_p): Allow pointers | |
21406 | initialized from integer constants of lesser precision. | |
21407 | (output_constant): Allow non-int-sized pointer modes to be | |
21408 | initialized from integer constants. | |
21409 | ||
21410 | 2006-01-20 Joseph S. Myers <joseph@codesourcery.com> | |
21411 | ||
21412 | PR libstdc++/25524 | |
21413 | * cppdefault.h (struct default_include): Add multilib flag. | |
21414 | * cppdefault.c (cpp_include_defaults): Set it. | |
21415 | * c.opt (-imultilib): New option. | |
21416 | * c-opts.c (imultilib): New. | |
21417 | (c_common_handle_option): Handle -imultilib. | |
21418 | (c_common_post_options): Likewise. | |
21419 | * c-incpath.c (add_standard_paths, register_include_chains): | |
21420 | Likewise. | |
21421 | * c-incpath.h (register_include_chains): Add extra parameter. | |
21422 | * gcc.c (do_spec_1): Generate -imultilib option. | |
21423 | (The Specs Language): Update %I description. | |
21424 | (process_command): Update copyright notice. | |
21425 | * doc/cppopts.texi (-imultilib): Document. | |
21426 | * doc/invoke.texi (-imultilib): Include in option summary. | |
21427 | (%I): Update specs documentation. | |
21428 | ||
21429 | 2006-01-20 Zdenek Dvorak <dvorakz@suse.cz> | |
21430 | ||
21431 | * loop-iv.c (iv_analysis_loop_init): Use df in more conservative way. | |
21432 | ||
21433 | 2006-01-20 Richard Sandiford <richard@codesourcery.com> | |
21434 | ||
21435 | * stmt.c (case_bit_test_cmp): Stabilize the sort using code | |
21436 | label numbers. | |
21437 | ||
21438 | 2006-01-20 Richard Guenther <rguenther@suse.de> | |
21439 | Steven Bosscher <stevenb.gcc@gmail.com> | |
21440 | ||
21441 | PR rtl-optimization/24626 | |
21442 | * cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set | |
21443 | EDGE_TRUE_VALUE if in RTL mode. | |
21444 | ||
21445 | Revert | |
21446 | 2005-03-30 Mostafa Hagog <mustafa@il.ibm.com> | |
21447 | * cfgrtl.c (rtl_verify_flow_info_1): Fix. | |
21448 | ||
21449 | 2006-01-20 Dirk Mueller <dmueller@suse.com> | |
21450 | ||
21451 | PR c++/5520 | |
21452 | * c-parser.c (c_parser_if_body): Use build_empty_stmt() | |
21453 | instead of a special NOP marker. | |
21454 | * c-typeck.c (c_finish_if_stmt): Remove obsoleted special | |
21455 | NOP marker handling. | |
21456 | * c-common.h (empty_body_warning): Add forward declaration. | |
21457 | * c-common.c (empty_body_warning): Add (from c_finish_if_stmt). | |
21458 | Now uses IS_EMPTY_STMT() instead of special NOP markers. | |
21459 | ||
21460 | 2006-01-20 Paul Brook <paul@codesourcery.com> | |
21461 | ||
21462 | * Makefile.in (lang_checks): Keep going if mkdir fails. | |
21463 | ||
21464 | 2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com> | |
21465 | ||
21466 | * df-scan.c (df_scan_free_bb_info): Added basic block parameter to | |
21467 | be able to clean out basic block when not necessary. | |
21468 | (df_scan_free): Fixed to properly delete information if df is | |
21469 | unused before calling df_finish. | |
21470 | (df_scan_alloc, df_rescan_blocks, df_reg_chain_unlink, | |
21471 | df_insn_create_insn_record, df_bb_refs_record): Fixed formatting | |
21472 | or comment typos. | |
21473 | (df_bb_refs_delete): New function. | |
21474 | (df_refs_delete): Moved per block code to df_bb_refs_delete. | |
21475 | * df-core.c (df_set_blocks): Added code to properly clean out | |
21476 | unused blocks if they are not part of the blocks to consider. | |
21477 | Added additional null check. | |
21478 | (df_compact_blocks): Added basic block parameter to free_bb_fun to | |
21479 | be able to clean out basic block when not necessary | |
21480 | * df.h (df_free_bb_function): Ditto. | |
21481 | (df_bb_refs_delete): New function. | |
21482 | * df-problems.c (df_ru_free_bb_info, df_rd_set_bb_info, | |
21483 | df_lr_set_bb_info, df_ur_free_bb_info, df_urec_free_bb_info):Added | |
21484 | basic block parameter to be able to clean out basic block when not | |
21485 | necessary. | |
21486 | (df_ru_alloc, df_rd_alloc): Fixed dyslexic overflow test. | |
21487 | (df_ru_free, df_rd_free, df_lr_free, df_ur_free, df_urec_free): | |
21488 | Fixed to properly delete information if df is unused before | |
21489 | calling df_finish. | |
21490 | ||
21491 | 2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com> | |
21492 | ||
21493 | PR rtl-optimization/25799 | |
21494 | * df-problems.c (df_ru_confluence_n, df_rd_confluence_n): | |
21495 | Corrected confluence operator to remove bits from op2 before oring | |
21496 | with op1 rather than removing bits from op1. | |
21497 | (df_ru_transfer_function): Corrected test on wrong bitmap which | |
21498 | caused infinite loop. Both of these problems were introduced in | |
21499 | the dataflow rewrite. | |
21500 | ||
21501 | 2006-01-19 DJ Delorie <dj@redhat.com> | |
21502 | ||
21503 | * reload1.c (find_reload_regs): Note the details of reload | |
21504 | failures in the dump file. | |
21505 | (spill_failure): Likewise. | |
21506 | ||
21507 | 2006-01-20 Zdenek Dvorak <dvorakz@suse.cz> | |
21508 | ||
21509 | * loop-iv.c: Include df.h and hashtab.h. | |
21510 | (enum iv_grd_result): New enum. | |
21511 | (DF_REF_IV, DF_REF_IV_SET): New macros. | |
21512 | (struct biv_entry): New. | |
21513 | (df, bivs): New global variables. | |
21514 | (struct insn_info, insn_info, last_def, bivs, max_insn_no, max_reg_no, | |
21515 | assign_luids, mark_sets, kill_sets, mark_single_set, simple_set_p): | |
21516 | Removed. | |
21517 | (clear_iv_info, latch_dominating_def, record_iv, iv_analyze_expr, | |
21518 | iv_analyze_result, iv_analyze_def, biv_hash, biv_eq, | |
21519 | analyzed_for_bivness_p, record_biv): New functions. | |
21520 | (iv_analysis_loop_init, iv_get_reaching_def, simple_reg_p, | |
21521 | get_biv_step_1, get_biv_step, iv_analyze_biv, iv_analyze_op, | |
21522 | iv_analyze, biv_p, iv_analysis_done): Work with df representation of | |
21523 | UD chains. | |
21524 | (iv_constant, iv_subreg, iv_extend, iv_mult, iv_shift): Do not set | |
21525 | analysed. | |
21526 | (iv_number_of_iterations): Use new interface to iv analysis. | |
21527 | * loop-unroll.c: Do not include varray.h. | |
21528 | (analyze_iv_to_split_insn): Use new interface to iv | |
21529 | analysis. | |
21530 | * loop-unswitch.c (may_unswitch_on): Ditto. | |
21531 | * df.c (df_bitmaps_free): Only work for bbs for that structures are | |
21532 | allocated. | |
21533 | (df_bb_modify): Realloc tables to the new index. | |
21534 | (df_find_use): New function. | |
21535 | * df.h (df_find_use): Declare. | |
21536 | * optabs.c (expand_unop): Make the mode of the REG_EQUAL node be | |
21537 | outmode. | |
21538 | * cfgloop.h (struct rtx_iv): Remove analysed field. | |
21539 | (iv_get_reaching_def): Removed. | |
21540 | (iv_analyze_result, iv_analyze_expr, iv_current_loop_df): Declare. | |
21541 | * Makefile.in (loop-unroll.o): Remove VARRAY_H dependency. | |
21542 | (loop-iv.o): Add df.h and hashtab.h dependency. | |
21543 | * df-problems.c (df_ru_alloc, df_rd_alloc): Fix memory reallocation. | |
21544 | ||
21545 | 2006-01-20 Alan Modra <amodra@bigpond.net.au> | |
21546 | ||
21547 | PR target/25668 | |
21548 | * libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended | |
21549 | Double TFmode. | |
21550 | (__floatundisf, __floatundidf): Likewise. | |
21551 | * libgcc2.h (IS_IBM_EXTENDED): Define. | |
21552 | ||
21553 | 2006-01-19 DJ Delorie <dj@redhat.com> | |
21554 | ||
21555 | * config/m32c/m32c.h (REG_ALLOC_ORDER): Define. | |
21556 | ||
21557 | 2006-01-19 Paul Brook <paul@codesourcery.com> | |
21558 | ||
21559 | * config/arm/arm.c (arm_compute_func_type): Treat all functions | |
21560 | as nothrow when unwinding tables are disabled. | |
21561 | ||
21562 | 2006-01-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
21563 | ||
21564 | PR testsuite/25171 | |
21565 | * c-decl.c (check_bitfield_type_and_width): Don't issue pedwarn "type | |
21566 | of bit-field" when in system header. | |
21567 | ||
21568 | 2006-01-19 DJ Delorie <dj@redhat.com> | |
21569 | ||
21570 | * config/m32c/m32c.c (m32c_prepare_shift): Add code to deal with | |
21571 | the 16 bit shift limit of the m16c. | |
21572 | ||
21573 | 2006-01-19 Andrew Pinski <pinskia@physics.uc.edu> | |
21574 | ||
21575 | PR target/22099 | |
21576 | * config/i386/i386.md (builtin_setjmp_receiver): Don't emit the label. | |
21577 | * config/i386/i386.c (output_set_got): Output the label if we have one | |
21578 | for the TARGET_DEEP_BRANCH_PREDICTION case. | |
21579 | ||
21580 | 2006-01-19 Jan Hubicka <jh@suse.cz> | |
21581 | H.J. Lu <hongjiu.lu@intel.com> | |
21582 | Evandro Menezes <evandro.menezes@amd.com> | |
21583 | ||
21584 | * invoke.texi (generic): Document | |
21585 | (i686) Update. | |
21586 | * config.gcc: Make x86_64-* and i686-* default to generic tunning. | |
21587 | * i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC, | |
21588 | TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros. | |
21589 | (x86_use_incdec, x86_pad_returns): New variables | |
21590 | (TARGET_CPU_DEFAULT_generic): New constant | |
21591 | (TARGET_CPU_DEFAULT_NAMES): Add generic. | |
21592 | (enum processor_type): Add generic32 and generic64. | |
21593 | * i386.md (cpu attribute): Add generic32/generic64 | |
21594 | (movhi splitter): Behave sanely when both partial_reg_dependency and | |
21595 | partial_reg_stall are set. | |
21596 | (K8 splitters): Enable for generic as well. | |
21597 | * predicates.md (incdec_operand): Use TARGET_INCDEC | |
21598 | (aligned_operand): Avoid memory mismatch stalls. | |
21599 | * athlon.md: Enable for generic64, new patterns for 128bit moves. | |
21600 | * ppro.md: Enable for generic32 | |
21601 | * i386.c (generic64_cost, generic32_cost): New. | |
21602 | (m_GENERIC32, m_GENERIC64, m_GENERIC): New macros. | |
21603 | (x86_use_leave): Enable for generic64. (x86_use_sahf, | |
21604 | x86_ext_80387_constants): Enable for generic32. (x86_push_memory, | |
21605 | x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop, | |
21606 | x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, | |
21607 | x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, | |
21608 | x86_partial_reg_dependency, x86_memory_mismatch_stall, | |
21609 | x86_accumulate_outgoing_args, x86_prologue_using_move, | |
21610 | x86_epilogue_using_move, x86_arch_always_fancy_math_387, | |
21611 | x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule): | |
21612 | Enable for generic. | |
21613 | (x86_use_incdec, x86_pad_returns): New. | |
21614 | (override_options): Add generic32 and generic64, translate "generic" | |
21615 | to generic32/generic64 and "i686" to "generic32", refuse | |
21616 | "generic32"/"generic64" as arch target. | |
21617 | (ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon. | |
21618 | (ix86_reorg): Honor PAD_RETURNS. | |
21619 | ||
21620 | 2006-01-19 Diego Novillo <dnovillo@redhat.com> | |
21621 | ||
21622 | * tree-pretty-print.c (dump_generic_node): Handle | |
21623 | OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR. | |
21624 | * cgraph.c (cgraph_expand_queue): Rename from | |
21625 | cgraph_analyze_queue. Update all users. | |
21626 | * cgraphunit.c (cgraph_assemble_pending_functions): Process | |
21627 | cgraph_expand_queue. | |
21628 | (cgraph_expand_all_functions): Likewise. | |
21629 | (cgraph_finalize_pending_functions): Remove. Update callers. | |
21630 | ||
21631 | * tree.h (OMP_DIRECTIVE_P): Define. | |
21632 | (OMP_PARALLEL_FN): Define. | |
21633 | (OMP_PARALLEL_DATA_ARG): Define. | |
21634 | (OMP_SECTIONS_SECTIONS): Define. | |
21635 | * tree-pass.h (pass_expand_omp): Declare. | |
21636 | * omp-low.c (struct omp_region): Declare. | |
21637 | (struct omp_context): Remove fields 'parallel_type', | |
21638 | 'parallel_start_ix' and 'parallel_start_additional_args'. | |
21639 | Update all users. | |
21640 | (struct omp_for_data): Rename from struct expand_omp_for_data. | |
21641 | (omp_regions): New static variable. | |
21642 | (root_omp_region): New static variable. | |
21643 | (find_omp_clause): Make static. | |
21644 | (is_in_combined_parallel_ctx): Remove. | |
21645 | (is_combined_parallel): New. | |
21646 | (extract_omp_for_data): Move earlier in the file. | |
21647 | (workshare_safe_to_combine_p): New. | |
21648 | (get_ws_args_for): New. | |
21649 | (determine_parallel_type): Move earlier in the file. | |
21650 | (omp_copy_decl_2): Do not set DECL_CONTEXT of new local to the | |
21651 | child function. | |
21652 | (omp_copy_decl): Likewise. | |
21653 | (create_omp_child_function): Likewise. | |
21654 | (lookup_omp_region): New. | |
21655 | (dump_omp_region): New. | |
21656 | (debug_omp_region): New. | |
21657 | (debug_all_omp_regions): New. | |
21658 | (new_omp_region): New. | |
21659 | (scan_omp_parallel): If parallel_nesting_level > 1, the | |
21660 | directive is nested within another parallel directive. | |
21661 | Set OMP_PARALLEL_FN. | |
21662 | (scan_omp_for): Do not try to handle combined parallel+for | |
21663 | cases. | |
21664 | Remove FIXME comment. | |
21665 | (scan_omp_nested): Remove. | |
21666 | (scan_omp_1): Do not call scan_omp_nested when | |
21667 | parallel_nesting_level is > 1. | |
21668 | Do not change the DECL_CONTEXT of local variables found. | |
21669 | (lookup_decl_in_outer_ctx): New. | |
21670 | (lower_rec_input_clauses): Rename from expand_rec_input_clauses. | |
21671 | (lower_lastprivate_clauses): Rename from expand_lastprivate_clauses. | |
21672 | (lower_reduction_clauses): Rename from expand_reduction_clauses. | |
21673 | (lower_copyprivate_clauses): Rename from expand_copyprivate_clauses. | |
21674 | If CTX is nested, lookup VAR in the outer context when | |
21675 | building copy assignment. | |
21676 | (lower_send_clauses): Rename from expand_send_clauses. | |
21677 | If CTX is nested, lookup VAR in the outer context when | |
21678 | building copy assignments. | |
21679 | (lower_send_shared_vars): Rename from expand_send_shared_vars. | |
21680 | If CTX is nested, lookup VAR in the outer context when | |
21681 | building copy assignments. | |
21682 | (expand_parallel_call): Rename from build_parallel_call. | |
21683 | Handle combined parallel+workshare cases. | |
21684 | Re-implement to emit code into the CFG. | |
21685 | (list2chain): New. | |
21686 | (expand_omp_parallel): Re-implement to emit code into the CFG. | |
21687 | Call move_sese_region_to_fn to outline the sub-graph | |
21688 | containing the parallel region. | |
21689 | (expand_omp_for_1): Remove. | |
21690 | (expand_omp_for_generic): Re-implement to emit code into the | |
21691 | CFG. | |
21692 | (expand_omp_for_static_nochunk): Likewise. | |
21693 | (expand_omp_for_static_chunk): Likewise. | |
21694 | (expand_omp_for): Likewise. | |
21695 | (expand_omp_sections): Likewise. | |
21696 | (remove_exit_barriers): New. | |
21697 | (expand_omp_synch): New. | |
21698 | (expand_omp): New. | |
21699 | (build_omp_regions_1): New. | |
21700 | (build_omp_regions): New. | |
21701 | (execute_expand_omp): New. | |
21702 | (gate_expand_omp): New. | |
21703 | (pass_expand_omp): Define. | |
21704 | (lower_omp_sections): Rename from expand_omp_sections. | |
21705 | Set OMP_SECTIONS_SECTIONS. | |
21706 | (lower_omp_single_simple): Rename from expand_omp_single_simple. | |
21707 | (lower_omp_single_copy): Rename from expand_omp_single_copy. | |
21708 | (lower_omp_single): Rename from expand_omp_simple. | |
21709 | (lower_omp_master): Rename from expand_omp_master. | |
21710 | (lower_omp_ordered): Rename from expand_omp_ordered. | |
21711 | (lower_omp_critical): Rename from expand_omp_critical. | |
21712 | (lower_omp_for_lastprivate): Rename from expand_omp_for_lastprivate. | |
21713 | (lower_omp_for): Re-implement. | |
21714 | (lower_omp_parallel): Re-implement. | |
21715 | (lower_regimplify): Rename from expand_regimplify. | |
21716 | (lower_omp_1): Rename from expand_omp_1. | |
21717 | If there are syntax errors in the program, replace every | |
21718 | OpenMP directive with NOP. | |
21719 | Call lower_omp_* instead of expand_omp_*. | |
21720 | (lower_omp): Rename from expand_omp. | |
21721 | ||
21722 | * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN_EXPR. | |
21723 | * tree-gimple.h (enum omp_parallel_type): Remove. | |
21724 | (gimple_boolify): Declare extern. | |
21725 | (find_omp_clause, determine_parallel_type): Remove. | |
21726 | ||
21727 | * gimple-low.c (lower_omp_directive): New. | |
21728 | (lower_stmt): Call it. | |
21729 | (record_vars_into): Move from ... | |
21730 | (record_vars): ... here. | |
21731 | Call record_vars_into with current_function_decl. | |
21732 | ||
21733 | * gimplify.c (struct gimplify_ctx): Remove fields | |
21734 | combined_pre_p and combined_ctxp. Update users. | |
21735 | (get_formal_tmp_var): Add documentation. | |
21736 | (gimple_boolify): Make extern. | |
21737 | (gimplify_expr_in_ctx): Remove. Update callers. | |
21738 | (gimplify_omp_parallel): Do not assume that OMP_PARALLEL_BODY | |
21739 | will always be a BIND_EXPR. | |
21740 | (gimplify_expr): Handle OMP_RETURN_EXPR. | |
21741 | * tree.def (BLOCK): Remove documentation about BLOCK_TYPE_TAGS. | |
21742 | (OMP_PARALLEL): Add 3 operands. | |
21743 | (OMP_SECTIONS): Add 1 operand. | |
21744 | (OMP_RETURN_EXPR): Define. | |
21745 | ||
21746 | * tree-inline.c (estimate_num_insns_1): Handle OpenMP directives. | |
21747 | (copy_tree_r): Restore TREE_CHAIN in OMP_CLAUSE_*. | |
21748 | * tree-iterator.c (alloc_stmt_list): Assert that we are not | |
21749 | creating a circular free list. | |
21750 | (free_stmt_list): Assert that we are not freeing stmt_list_cache. | |
21751 | ||
21752 | * tree-flow.h (move_sese_region_to_fn): Declare. | |
21753 | (record_vars_into): Declare. | |
21754 | * tree-cfg.c (make_omp_sections_edges): New. | |
21755 | (make_exit_edges): Handle OMP_PARALLEL, OMP_FOR, OMP_SINGLE, | |
21756 | OMP_MASTER, OMP_ORDERED, OMP_CRITICAL, OMP_RETURN_EXPR, | |
21757 | OMP_SECTIONS and OMP_SECTION. | |
21758 | (is_ctrl_altering_stmt): Return true for OMP_DIRECTIVE_P. | |
21759 | (set_bb_for_stmt): Undo change to check currently_expanding_to_rtl. | |
21760 | (verify_stmt): Do not handle OMP_DIRECTIVE_P. | |
21761 | (gather_blocks_in_sese_region): New. | |
21762 | (struct move_stmt_d): Declare. | |
21763 | (move_stmt_r): New. | |
21764 | (move_block_to_fn): New. | |
21765 | (move_sese_region_to_fn): New. | |
21766 | ||
21767 | * passes.c (init_optimization_passes): Schedule | |
21768 | pass_expand_omp after pass_init_datastructures. | |
21769 | ||
21770 | * tree-ssa-operands.c (get_expr_operands): Handle | |
21771 | OMP_PARALLEL, OMP_SECTIONS, OMP_FOR, OMP_RETURN_EXPR, | |
21772 | OMP_SINGLE, OMP_MASTER, OMP_ORDERED, OMP_CRITICAL. | |
21773 | ||
21774 | 2006-01-19 Jeff Law <law@redhat.com> | |
21775 | ||
21776 | * tree-vrp.c (extract_range_from_assert): Refine the result range | |
21777 | if the variable referenced by the ASSERT_EXPR has a range and | |
21778 | either the tentative result range or the previous range is a | |
21779 | VR_ANTI_RANGE. | |
21780 | ||
21781 | 2006-01-19 Richard Sandiford <richard@codesourcery.com> | |
21782 | ||
21783 | * c-decl.c (add_flexible_array_elts_to_size): Simplify vector accesses. | |
21784 | ||
21785 | 2006-01-19 Jan Hubicka <jh@suse.cz> | |
21786 | ||
21787 | * tree-vect-patterns.c (vect_pattern_recog_1): Prevent parse error. | |
21788 | ||
21789 | 2006-01-19 Paolo Bonzini <bonzini@gnu.org> | |
21790 | ||
21791 | * combine.c (try_combine): Do not worry about MEMs wrapped by USEs. | |
21792 | (expand_compound_operation, expand_field_assignment): Fail if the | |
21793 | bit lengths of an extract operation are out of range. | |
21794 | (make_extraction): Compute wanted_inner_mode based on the position | |
21795 | and length of the extraction. Make it extraction_mode for non-constant | |
21796 | positions, and do not modify offset in that case. When generating a | |
21797 | new MEM, use a mode that can hold the extraction while keeping correct | |
21798 | alignment. Remove code that supported MEMs wrapped by USEs. | |
21799 | (simplify_shift_const_1, force_to_mode) <case USE>: Remove. | |
21800 | ||
21801 | 2006-01-19 Andreas Krebbel <krebbel1@de.ibm.com> | |
21802 | ||
21803 | * config/s390/s390.md ("Y", "y"): New mode attribute. | |
21804 | ("*cmpdi_ccs", "*cmpsi_ccs", "*adddi3_imm_cc", "*adddi3_carry1_cc", | |
21805 | "*adddi3_carry1_cconly", "*adddi3_carry2_cc", "*adddi3_carry2_cconly", | |
21806 | "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2", "*adddi3_64", | |
21807 | "*addsi3_imm_cc", "*addsi3_carry1_cc", | |
21808 | "*addsi3_carry1_cconly", "*addsi3_carry2_cc", "*addsi3_carr2_cconly", | |
21809 | "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", | |
21810 | "*subdi3_borrow_cc", "*subdi3_borrow_cconly", "*subdi3_cc", | |
21811 | "*subdi3_cc2", "*subdi3_cconly", "*subdi3_cconly2", "*subdi3_64", | |
21812 | "*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc", | |
21813 | "*subsi3_cc2", "*subsi3_cconly", "*subsi3_cconly", "*subsi3_cconly2", | |
21814 | "addsi3", "subsi3"): Insn patterns removed. | |
21815 | ("*add<mode>3_carry1_cc", "*add<mode>3_carry1_cconly", | |
21816 | "*add<mode>3_carry2_cc", "*add<mode>3_carry2_cconly", "*add<mode>3_cc", | |
21817 | "*add<mode>3_cconly", "*add<mode>3_cconly2", "*add<mode>3_imm_cc", | |
21818 | "*sub<mode>3_borrow_cc", "*sub<mode>3_borrow_cconly", | |
21819 | "*sub<mode>3_cc", "*sub<mode>3_cc2", "*sub<mode>3_cconly", | |
21820 | "*sub<mode>3_cconly2"): New insn patterns. | |
21821 | ("addsi3", "subsi3"): New expanders. | |
21822 | ||
21823 | 2006-01-19 Dorit Nuzman <dorit@il.ibm.com> | |
21824 | ||
21825 | * Makefile.in (tree-vect-patterns.o): Add rule for new file. | |
21826 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Use | |
21827 | existing STMT_VINFO_VECTYPE if available. | |
21828 | (vect_mark_relevant): Add special handling for stmts that are | |
21829 | marked as STMT_VINFO_IN_PATTERN_P. | |
21830 | (vect_analyze_loop): Call vect_pattern_recog. | |
21831 | * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields. | |
21832 | * tree-vectorizer.h (in_pattern_p, related_stmt): New fields in | |
21833 | stmt_info. | |
21834 | (STMT_VINFO_IN_PATTERN_P, STMT_VINFO_RELATED_STMT): New macros. | |
21835 | (vect_recog_func_ptr): New function-pointer type. | |
21836 | * tree-vect-patterns.c: New file. | |
21837 | (vect_recog_widen_sum_pattern, vect_recog_widen_mult_pattern): | |
21838 | (vect_recog_dot_prod_pattern, vect_pattern_recog): | |
21839 | (vect_pattern_recog_1): New functions. | |
21840 | (vect_pattern_recog_funcs): New array of function pointers. | |
21841 | ||
21842 | * tree-vectorizer.h (ternary_op): New enum value. | |
21843 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Added | |
21844 | declaration. Revised documentation. Removed redundant dump prints. | |
21845 | Removed redundant argument. Added support for reduction patterns. | |
21846 | (vectorizable_reduction): Added support for reduction patterns. | |
21847 | (vect_transform_stmt): Added support for patterns. | |
21848 | ||
21849 | * expr.c (expand_expr_real_1): Added case for DOT_PROD_EXPR. | |
21850 | * genopinit.c (udot_prod_optab, sdot_prod_optab): Initialize. | |
21851 | * optabs.c (optab_for_tree_code): Added case for DOT_PROD_EXPR. | |
21852 | (expand_widen_pattern_expr): New function. | |
21853 | (init_optabs): Initialize new optabs udot_prod_optab, | |
21854 | sdot_prod_optab. | |
21855 | * optabs.h (OTI_sdot_prod, OTI_udot_prod): New. | |
21856 | (sdot_prod_optab, udot_prod_optab): Define new optabs. | |
21857 | (expand_widen_pattern_expr): New function declaration. | |
21858 | * tree.def (DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR): New | |
21859 | tree-codes. | |
21860 | * tree-inline.c (estimate_num_insns_1): Added cases for new | |
21861 | tree-codes DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR. | |
21862 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
21863 | (op_prio): Likewise. | |
21864 | (op_symbol): Added cases for WIDEN_SUM_EXPR, WIDEN_MULT_EXPR. | |
21865 | * tree-ssa-operands.c (get_expr_operands): Added case for | |
21866 | DOT_PROD_EXPR. | |
21867 | * tree-vect-patterns.c (widened_name_p): New function. | |
21868 | (vect_recog_dot_prod_pattern): Added function implementation. | |
21869 | * tree-vect-transform.c (get_initial_def_for_reduction): Added | |
21870 | cases for DOT_PROD_EXPR, WIDEN_SUM_EXPR. | |
21871 | * config/rs6000/altivec.md (udot_prod<mode>, sdot_prodv8hi): New. | |
21872 | * config/i386/sse.md (sdot_prodv8hi, udot_prodv4si): New. | |
21873 | ||
21874 | * expr.c (expand_expr_real_1): Added case for WIDEN_SUM_EXPR. | |
21875 | * genopinit.c (widen_ssum_optab, widen_usum_optab): Initialize. | |
21876 | * optabs.c (optab_for_tree_code): Added case for WIDEN_SUM_EXPR. | |
21877 | (init_optabs): Initialize new optabs widen_ssum_optab, | |
21878 | widen_usum_optab. | |
21879 | * optabs.h (OTI_widen_ssum, OTI_widen_usum): New. | |
21880 | (widen_ssum_optab, widen_usum_optab): Define new optabs. | |
21881 | * tree-vect-generic.c: (expand_vector_operations_1): Check type of | |
21882 | use instead of type of def. | |
21883 | * tree-vect-patterns.c (vect_recog_widen_sum_pattern): Added | |
21884 | function implementation. | |
21885 | * config/rs6000/altivec.md (widen_usum<mode>, widen_ssumv16qi, | |
21886 | widen_ssumv8hi): New. | |
21887 | ||
21888 | * doc/tm.texi (ssum_widen, usum_widen, sdot_prod, udot_prod): New | |
21889 | patterns. | |
21890 | ||
21891 | 2006-01-19 Richard Sandiford <richard@codesourcery.com> | |
21892 | ||
21893 | PR c/25805 | |
21894 | * c-decl.c (add_flexible_array_elts_to_size): New function. | |
21895 | (finish_decl): Use it. | |
21896 | ||
21897 | 2006-01-18 Andrew Pinski <pinskia@physics.uc.edu> | |
21898 | ||
21899 | * diagnostic.h: Include options.h. | |
21900 | * config/rs6000/x-darwin (host-ppc-darwin.o): Correct the | |
21901 | dependancies for diagnostic.h. | |
21902 | * Makefile.in (DIAGNOSTIC_H): Add options.h. | |
21903 | ||
21904 | 2006-01-16 Daniel Berlin <dberlin@dberlin.org> | |
21905 | ||
21906 | * tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove. | |
21907 | (ssa_ro_call_cache_valid): Ditto. | |
21908 | * tree-ssa-alias.c (sort_tags_by_id): New function. | |
21909 | (init_transitive_clobber_worklist): Ditto. | |
21910 | (add_to_worklist): Ditto. | |
21911 | (mark_aliases_call_clobbered): Ditto. | |
21912 | (compute_tag_properties): Ditto. | |
21913 | (set_initial_properties): Ditto. | |
21914 | (compute_call_clobbered): Ditto. | |
21915 | (compute_may_aliases): Call compute_call_clobbered and grouping. | |
21916 | (compute_flow_sensitive_aliasing): Remove clobbering related code. | |
21917 | (compute_flow_insensitive_aliasing): Grouping now happens in our | |
21918 | caller. | |
21919 | (setup_pointers_and_addressables): Remove clobbering related code. | |
21920 | (add_may_alias): Ditto. | |
21921 | (replace_may_alias): Ditto. | |
21922 | (get_nmt_for): Ditto. | |
21923 | (create_global_var): | |
21924 | (is_escape_site): Return an escape_type enumeration. | |
21925 | * tree-flow-inline.h (is_call_clobbered): Global var does not | |
21926 | imply call clobbered. | |
21927 | (mark_call_clobbered): Take a reason for marking this. Remove | |
21928 | marking of globalness, and cache invalidation. | |
21929 | (clear_call_clobbered): Remove cache invalidation code. | |
21930 | * tree-dfa.c (dump_variable): If details is on, dump the reason | |
21931 | for escaping. | |
21932 | * tree-outof-ssa.c (create_temp): Copy escape mask from original | |
21933 | variable. | |
21934 | * tree-flow.h (struct ptr_info_def): Add escape mask member. | |
21935 | (struct var_ann_d): Ditto. | |
21936 | (enum escape_type): New. | |
21937 | (mark_call_clobbered): Adjust prototype. | |
21938 | * tree-ssa-structalias.c (update_alias_info): Unmodifiable vars | |
21939 | are never call clobbered. | |
21940 | Record reasons for escaping. | |
21941 | * tree-ssa-structalias.h (is_escape_site): Update prototype. | |
21942 | * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove. | |
21943 | (ssa_ro_call_cache_valid): Ditto. | |
21944 | (clobbered_v_may_defs): Ditto. | |
21945 | (clobbered_vuses): Ditto. | |
21946 | (ro_call_vuses): Ditto. | |
21947 | (clobber_stats): New. | |
21948 | (init_ssa_operands): Zero out clobber stats. | |
21949 | (fini_ssa_operands): Print out clobber stats. | |
21950 | (get_call_expr_operands): Pass callee fndecl to | |
21951 | add_call_read_ops). | |
21952 | (add_call_clobber_ops): Remove use of cache. | |
21953 | Add use of PURE_CONST information. | |
21954 | (add_call_read_ops): Remove use of cache. | |
21955 | Add use of static not_read information. | |
21956 | ||
21957 | 2006-01-18 Alexandre Oliva <aoliva@redhat.com> | |
21958 | ||
21959 | Introduce TLS descriptors for i386 and x86_64. | |
21960 | * config/i386/i386.h (TARGET_GNU2_TLS): New macro. | |
21961 | (TARGET_ANY_GNU_TLS): New macro. | |
21962 | (enum tls_dialect): Added TLS_DIALECT_GNU2. | |
21963 | (struct machine_function): Add tls_descriptor_call_expanded_p. | |
21964 | (ix86_tls_descriptor_calls_expande_in_cfun): New macro. | |
21965 | (ix86_current_function_calls_tls_descriptor): Likewise. | |
21966 | * config/i386/i386.c (ix86_tls_dialect): Fix typo in comment. | |
21967 | (override_options): Introduce gnu2 tls dialect. | |
21968 | (ix86_frame_pointer_required): Functions containing TLSCALLs are | |
21969 | not leaves. | |
21970 | (ix86_select_alt_pic_regnum, ix86_compute_frame_layout): | |
21971 | Likewise. | |
21972 | (legitimize_tls_address): Adjust logic for GNU2 TLS. | |
21973 | (ix86_init_machine_status): Initialize new field. | |
21974 | (ix86_tls_get_addr): Use TARGET_ANY_GNU_TLS. | |
21975 | (ix86_tls_module_base): New. | |
21976 | * config/i386/i386-protos.h (ix86_tls_module_base): Declare it. | |
21977 | * config/i386/i386.md (UNSPEC_TLSDESC): New constant. | |
21978 | (tls_global_dynamic_32, tls_global_dynamic_64): Handle GNU2 TLS. | |
21979 | (tls_local_dynamic_base_32, tls_local_dynamic_base_64): Likewise. | |
21980 | (tls_dynamic_gnu2_32, *tls_dynamic_lea_32): New patterns. | |
21981 | (*tls_dynamic_call_32, *tls_dynamic_gnu2_combine_32): Likewise. | |
21982 | (tls_dynamic_gnu2_64, *tls_dynamic_lea_64): Likewise. | |
21983 | (*tls_dynamic_call_64, *tls_dynamic_gnu2_combine_64): Likewise. | |
21984 | * config/i386/predicates.md (tls_modbase_operand): New. | |
21985 | (tp_or_register_operand): New. | |
21986 | ||
21987 | 2006-01-18 Daniel Berlin <dberlin@dberlin.org> | |
21988 | ||
21989 | * ipa-reference.c (check_operand): Allow FUNCTION_DECL. | |
21990 | (look_for_address_of): Ditto. | |
21991 | (ipa_init): Walk the function decls. | |
21992 | (static_execute): Don't set readonly on FUNCTION_DECL's. | |
21993 | ||
21994 | 2006-01-18 Roger Sayle <roger@eyesopen.com> | |
21995 | ||
21996 | * config/i386/i386.md (shift spliter): Fix a a typo in the splitter | |
21997 | for shifts where the source and destination registers are different. | |
21998 | ||
21999 | 2006-01-18 Paul Brook <paul@codesourcery.com> | |
22000 | ||
22001 | Merge from csl-arm-branch. | |
22002 | 2005-03-14 Julian Brown <julian@codesourcery.com> | |
22003 | * config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS. | |
22004 | (aeabi_llsl): Likewise. | |
22005 | (ashrdi3): Likewise. | |
22006 | (aeabi_lasr): Likewise. | |
22007 | (lshrdi3): Likewise. | |
22008 | (aeabi_llsr): Likewise. | |
22009 | 2005-03-10 Julian Brown <julian@codesourcery.com> | |
22010 | * config.gcc: Disable shared libgcc for SymbianOS. | |
22011 | * config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c. | |
22012 | ||
22013 | 2006-01-18 DJ Delorie <dj@redhat.com> | |
22014 | ||
22015 | * c-pragma.c (handle_pragma_diagnostic): New. | |
22016 | (init_pragma): Register it. | |
22017 | * doc/extend.texi: Document it. | |
22018 | ||
22019 | * diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED. | |
22020 | * diagnostic.h (diagnostic_classify_diagnostic): Declare. | |
22021 | (diagnostic_context): Add classify_diagnostic[]. | |
22022 | * diagnostic.c (diagnostic_count_diagnostic): Don't count warnings | |
22023 | as errors if they're overridden to DK_WARNING. | |
22024 | (diagnostic_initialize): Initialize classify_diagnostic[]. | |
22025 | (diagnostic_set_kind_override): New. | |
22026 | (diagnostic_report_diagnostic): Check for kind changes. | |
22027 | * opts.c (common_handle_option): Take lang_mask. Update callers. | |
22028 | Handle OPT_Werror_. | |
22029 | * common.opt (Werror=): New. | |
22030 | * doc/invoke.texi: Document -Werror=* | |
22031 | ||
22032 | 2006-01-18 Jeff Law <law@redhat.com> | |
22033 | ||
22034 | * tree-vrp.c (test_for_singularity): Correct test for new | |
22035 | min limit. Use operand_equal_p rather than pointer equality | |
22036 | for testing if new min/max values are equal. | |
22037 | ||
22038 | * tree-ssa-propagate.c (substitute_and_fold): Delay simplifications | |
22039 | using range information until after propagation and folding. | |
22040 | ||
22041 | 2006-01-18 Richard Henderson <rth@redhat.com> | |
22042 | Aldy Hernandez <aldyh@redhat.com> | |
22043 | Jakub Jelinek <jakub@redhat.com> | |
22044 | Diego Novillo <dnovillo@redhat.com> | |
22045 | ||
22046 | * omp-low.c: New file. | |
22047 | * c-omp.c: New file. | |
22048 | ||
22049 | 2006-01-18 Richard Henderson <rth@redhat.com> | |
22050 | Jakub Jelinek <jakub@redhat.com> | |
22051 | Diego Novillo <dnovillo@redhat.com> | |
22052 | ||
22053 | * doc/invoke.texi: Document -fopenmp. | |
22054 | * tree-dump.h (debug_function): Declare. | |
22055 | * hooks.c (hook_bool_tree_bool_false): New function. | |
22056 | (hook_tree_tree_null): Remove. | |
22057 | (hook_tree_tree_tree_null): New. | |
22058 | * hooks.h: Update to match. | |
22059 | * tree-pretty-print.c (debug_tree_chain): New. | |
22060 | (print_generic_expr): Handle TDF_CHAIN. | |
22061 | (dump_generic_node): Handle BLOCK. | |
22062 | Do not abort with incomplete SWITCH_EXPRs. | |
22063 | Do not dump body of an OpenMP directive if TDF_SLIM is given. | |
22064 | <case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't | |
22065 | print space after directive name. | |
22066 | <OMP_FOR>: Handle printing OMP_FOR_PRE_BODY. | |
22067 | Handle OMP_MASTER and OMP_ORDERED. | |
22068 | Handle printing of OMP_BODY just in one place, goto | |
22069 | dump_omp_body in the rest of OMP_* nodes that have | |
22070 | OMP_BODY. | |
22071 | Don't handle clause nodes here. Update omp statements to | |
22072 | use dump_omp_clauses. | |
22073 | Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION, | |
22074 | OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC, | |
22075 | OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF, | |
22076 | GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED, | |
22077 | GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE, | |
22078 | GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE. | |
22079 | Adjust output for GOMP_PARALLEL. | |
22080 | (dump_omp_clauses): New. | |
22081 | (print_declaration): Dump DECL_VALUE_EXPR. | |
22082 | (op_symbol_1): Split out of op_symbol. | |
22083 | (dumping_stmts): Remove. Update all users. | |
22084 | * cgraph.c (cgraph_analyze_queue): New. | |
22085 | (cgraph_add_new_function): New. | |
22086 | * cgraph.h (cgraph_analyze_queue): Declare. | |
22087 | (cgraph_add_new_function): Declare. | |
22088 | (cgraph_lower_function): Remove. | |
22089 | * tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_* | |
22090 | nodes. Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS | |
22091 | and TYPE_P nodes in its default clause. | |
22092 | (empty_body_p): New. | |
22093 | (tree_range_check_failed): New. | |
22094 | (build5_stat): New. | |
22095 | * tree.h (OMP_CLAUSE_REDUCTION_INIT, | |
22096 | OMP_CLAUSE_REDUCTION_MERGE, | |
22097 | OMP_CLAUSE_REDUCTION_PLACEHOLDER, | |
22098 | OMP_CLAUSE_PRIVATE_DEBUG, | |
22099 | OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY, | |
22100 | OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY, | |
22101 | OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND, | |
22102 | OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL, | |
22103 | OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR, | |
22104 | OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR, | |
22105 | OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT, | |
22106 | OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT, | |
22107 | OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC, | |
22108 | OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST, | |
22109 | OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE | |
22110 | OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY, | |
22111 | OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY, | |
22112 | OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New. | |
22113 | (TREE_RANGE_CHECK): New. | |
22114 | (empty_body_p): Declare. | |
22115 | (enum omp_clause_default_kind): New. | |
22116 | (build_string_literal): Declare. | |
22117 | (enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New. | |
22118 | (build5_stat, build5): Declare. | |
22119 | * tree-pass.h (TDF_CHAIN): Define. | |
22120 | * tree-pass.h (PROP_gimple_lomp): Define. | |
22121 | (pass_lower_omp): Declare. | |
22122 | * diagnostic.h (debug_tree_chain): Declare. | |
22123 | * builtins.c (get_builtin_sync_mode): Use 0 as last argument to | |
22124 | mode_for_size. | |
22125 | (expand_builtin): Handle sync BUILT_IN_*_16 builtins. | |
22126 | * builtins.c (build_string_literal): Make extern. | |
22127 | * gcc.c (include_spec_function): New. | |
22128 | (static_spec_functions): Add it. | |
22129 | (main): Move load of libgomp.spec ... | |
22130 | (LINK_COMMAND_SPEC): ... here. | |
22131 | (link_gomp_spec): New. | |
22132 | (static_specs): Include it. | |
22133 | (LINK_COMMAND_SPEC): Add link_gomp. | |
22134 | (GOMP_SELF_SPECS): New. | |
22135 | (driver_self_specs): Include it. | |
22136 | (switch_matches): Don't mark inline. | |
22137 | (main): Load libgomp.spec. | |
22138 | * tree-gimple.c (is_gimple_stmt): True for OMP_MASTER, | |
22139 | OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION, | |
22140 | and OMP_SINGLE, OMP_FOR and OMP_PARALLEL. | |
22141 | * tree-gimple.h (enum omp_parallel): Declare. | |
22142 | (determine_parallel_type): Declare. | |
22143 | (omp_firstprivatize_variable): Declare. | |
22144 | (omp_reduction_init): Declare. | |
22145 | (diagnose_omp_structured_block_errors): Declare. | |
22146 | (struct walk_stmt_info): Add want_return_expr. | |
22147 | (struct walk_stmt_info): Add want_bind_expr, want_locations. | |
22148 | (find_omp_clause): Declare. | |
22149 | (insert_field_into_struct): Declare. | |
22150 | (struct walk_stmt_info): Move from tree-nested.c | |
22151 | (walk_stmts): Declare. | |
22152 | * c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP | |
22153 | to 200505. | |
22154 | * cgraphunit.c (cgraph_lower_function): Make static. | |
22155 | (cgraph_finalize_pending_functions): New. | |
22156 | (cgraph_finalize_function): Call it. | |
22157 | (cgraph_finalize_compilation_unit): Likewise. | |
22158 | * builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16, | |
22159 | BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add. | |
22160 | (BT_FN_UINT_UINT): New. | |
22161 | (DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7, | |
22162 | DEF_FUNCTION_TYPE_VAR_4): Document. | |
22163 | (BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT, | |
22164 | BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR, | |
22165 | BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT, | |
22166 | BT_FN_VOID_OMPFN_PTR_UINT_UINT, | |
22167 | BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, | |
22168 | BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, | |
22169 | BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG, | |
22170 | BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New. | |
22171 | * builtins.def: Update DEF_BUILTIN comment to include COND argument. | |
22172 | Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins | |
22173 | into separate files. | |
22174 | (DEF_GOMP_BUILTIN): New. | |
22175 | (BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER, | |
22176 | BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END, | |
22177 | BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END, | |
22178 | BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START, | |
22179 | BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START, | |
22180 | BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START, | |
22181 | BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START, | |
22182 | BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START, | |
22183 | BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START, | |
22184 | BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, | |
22185 | BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, | |
22186 | BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT, | |
22187 | BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT, | |
22188 | BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT, | |
22189 | BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT, | |
22190 | BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START, | |
22191 | BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START, | |
22192 | BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START, | |
22193 | BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START, | |
22194 | BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT, | |
22195 | BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END, | |
22196 | BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END, | |
22197 | BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT, | |
22198 | BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END, | |
22199 | BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START, | |
22200 | BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New. | |
22201 | * sync-builtins.def: New file, moved from builtins.def. | |
22202 | * omp-builtins.def: New file, moved from builtins.def. | |
22203 | * c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine. | |
22204 | * gimple-low.c (lower_function_body): Clear data. | |
22205 | (lower_stmt): Do not handle COMPOUND_EXPR. | |
22206 | Remove call to print_node_brief. | |
22207 | * c-tree.h (c_finish_omp_clauses): New prototype. | |
22208 | (C_DECL_THREADPRIVATE_P): Define. | |
22209 | (lookup_name_no_remap, c_omp_remap_private): Remove | |
22210 | (c_begin_omp_parallel, c_finish_omp_parallel): Update. | |
22211 | (check_for_loop_decls): Update decl. | |
22212 | (lookup_name_no_remap, c_omp_remap_private): Declare. | |
22213 | (build_indirect_ref, build_modify_expr, pushdecl, | |
22214 | pushdecl_top_level): Move to c-common.h. | |
22215 | * dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp | |
22216 | before the switch, but just in the 2 places that need it. | |
22217 | * c-decl.c (diagnose_mismatched_decls): Do not check for | |
22218 | mismatched thread-local attributes when OLDDECL is marked | |
22219 | threadprivate and NEWDECL has no thread-local attributes. | |
22220 | (merge_decls): Merge C_DECL_THREADPRIVATE_P. | |
22221 | (c_gimple_diagnostics_recursively): Rename from | |
22222 | c_warn_unused_result_recursively. Invoke | |
22223 | diagnose_omp_structured_block_errors. | |
22224 | (check_for_loop_decls): Return a singular decl found. | |
22225 | * langhooks.c (lhd_omp_predetermined_sharing): Return | |
22226 | OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls. | |
22227 | (lhd_omp_firstprivatize_type_sizes): New. | |
22228 | (lhd_omp_assignment): New. | |
22229 | (lhd_omp_predetermined_sharing): New. | |
22230 | * langhooks.h (struct gimplify_omp_ctx): Forward declare. | |
22231 | (struct lang_hooks_for_types): Add | |
22232 | omp_firstprivatize_type_sizes, omp_privatize_by_reference, | |
22233 | omp_predetermined_sharing, omp_disregard_value_expr, | |
22234 | omp_private_debug_clause, omp_clause_default_ctor, | |
22235 | omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor. | |
22236 | (c_finish_omp_clauses): New. | |
22237 | (c_finish_bc_stmt): Diagnose break within omp for. | |
22238 | (c_begin_omp_parallel, c_finish_omp_parallel): New. | |
22239 | (build_unary_op): Return error_mark after reporting | |
22240 | a readonly_error. | |
22241 | (build_modify_expr): Likewise. | |
22242 | * gimplify.c: Include optabs.h and pointer-set.h. | |
22243 | (enum gimplify_omp_var_data): Declare. | |
22244 | (struct gimplify_omp_ctx): Declare. | |
22245 | (struct gimplify_ctx): Add fields prev_context, combined_pre_p | |
22246 | and combined_ctxp. | |
22247 | (gimplify_ctxp, gimplify_omp_ctxp): New local variables. | |
22248 | (push_gimplify_context, pop_gimplify_context): Allow nesting. | |
22249 | (splay_tree_compare_decl_uid): New. | |
22250 | (new_omp_context): New. | |
22251 | (delete_omp_context): New. | |
22252 | (gimple_add_tmp_var): Call omp_add_variable. | |
22253 | (gimplify_bind_expr): Likewise. | |
22254 | (gimplify_var_or_parm_decl): If omp_notice_variable returned | |
22255 | true, disregard DECL_VALUE_EXPR on the decl if any. | |
22256 | (gimplify_expr_in_ctx): New. | |
22257 | (omp_firstprivatize_variable, omp_firstprivatize_type_sizes | |
22258 | omp_add_variable, omp_notice_variable, omp_is_private | |
22259 | gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1 | |
22260 | gimplify_adjust_omp_clauses, gimplify_omp_parallel | |
22261 | gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p | |
22262 | gimplify_omp_atomic_fetch_op, goa_stabilize_expr | |
22263 | gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex | |
22264 | gimplify_omp_atomic): New. | |
22265 | (gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS, | |
22266 | OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED, | |
22267 | OMP_CRITICAL and OMP_ATOMIC. | |
22268 | (gimplify_body): Verify gimplify_ctxp is empty after gimplification. | |
22269 | * c-pragma.h (enum pragma_kind): Add | |
22270 | PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER, | |
22271 | PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR, | |
22272 | PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED, | |
22273 | PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR, | |
22274 | PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION, | |
22275 | PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE, | |
22276 | PRAGMA_OMP_THREADPRIVATE. | |
22277 | * tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS, | |
22278 | OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED, | |
22279 | OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE, | |
22280 | OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE, | |
22281 | OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION, | |
22282 | OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE, | |
22283 | OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, | |
22284 | OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT, | |
22285 | OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define. | |
22286 | * print-tree.c (print_node): Dump DECL_VALUE_EXPR. | |
22287 | * tree-ssa-dce.c (find_control_dependence): Do not assume that | |
22288 | ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR). | |
22289 | * tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for | |
22290 | OpenMP directives. | |
22291 | (struct nesting_info): Add field_map, | |
22292 | suppress_expansion, debug_var_chain. | |
22293 | (create_nesting_tree): Initialize them. | |
22294 | (lookup_field_for_decl): Use field_map. | |
22295 | (get_nonlocal_debug_decl, get_local_debug_decl): New. | |
22296 | (convert_local_omp_clauses): New. | |
22297 | (finalize_nesting_tree_1): Add debug_var_chain to toplevel block. | |
22298 | (walk_body): Split out of walk_function. | |
22299 | (convert_nonlocal_omp_clauses, convert_local_omp_clauses): New. | |
22300 | (convert_nonlocal_reference): Handle omp statements. | |
22301 | (convert_local_reference): Likewise. | |
22302 | (unnest_nesting_tree_1): Split out of finalize_nesting_tree_1. | |
22303 | (unnest_nesting_tree): New. | |
22304 | (lower_nested_functions): Call it. | |
22305 | (insert_field_into_struct): Make extern. | |
22306 | (struct walk_stmt_info): Move to tree-gimple.h. | |
22307 | (walk_stmts): Make extern. | |
22308 | * omp-builtins.def: New file. | |
22309 | * tree-iterator.c (expr_only): Clarify comment. | |
22310 | * c-common.h (pushdecl_top_level, pushdecl, | |
22311 | build_modify_expr, build_indirect_ref, | |
22312 | c_finish_omp_master, c_finish_omp_critical, | |
22313 | c_finish_omp_ordered, c_finish_omp_barrier, | |
22314 | c_finish_omp_atomic, c_finish_omp_flush, | |
22315 | c_finish_omp_for, c_split_parallel_clauses, | |
22316 | omp_clause_default_kind, c_omp_sharing_predetermined, | |
22317 | c_omp_remap_decl): Declare. | |
22318 | * Makefile.in (BUILTINS_DEF): Add omp-builtins.def. | |
22319 | (OBJS-common): Add omp-low.o. | |
22320 | (c-omp.o, omp-low.o): Add. | |
22321 | (gimplify.o): Add dependency on $(OPTABS_H). | |
22322 | (GTFILES): Add omp-low.c. | |
22323 | (gt-stringpool.h): Add. | |
22324 | * tree-cfg.c (set_bb_for_stmt): Do not update the | |
22325 | block-to-labels map if we are currently expanding to RTL. | |
22326 | (tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P | |
22327 | checks. | |
22328 | Handle IDENTIFIER_NODE. | |
22329 | (tree_verify_flow_info): Do not ICE when emitting error | |
22330 | messages about invalid labels. | |
22331 | (dump_function_to_file): Reset CFUN before emitting the body | |
22332 | of the function. | |
22333 | (debug_function): New. | |
22334 | * passes.c (init_optimization_passes): Schedule | |
22335 | pass_lower_omp. | |
22336 | * langhooks-def.h (lhd_omp_predetermined_sharing, | |
22337 | lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes): | |
22338 | Declare. | |
22339 | (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define. | |
22340 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it. | |
22341 | (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE, | |
22342 | LANG_HOOKS_OMP_PREDETERMINED_SHARING, | |
22343 | LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR, | |
22344 | LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE, | |
22345 | LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR, | |
22346 | LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, | |
22347 | LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, | |
22348 | LANG_HOOKS_OMP_CLAUSE_DTOR): Define. | |
22349 | (LANG_HOOK_DECLS): Use them. | |
22350 | ||
22351 | 2006-01-18 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> | |
22352 | Richard Henderson <rth@redhat.com> | |
22353 | Jakub Jelinek <jakub@redhat.com> | |
22354 | Diego Novillo <dnovillo@redhat.com> | |
22355 | ||
22356 | * c-parser.c (pragma_omp_clause): Define. | |
22357 | (c_parser_declaration_or_fndef): Document OpenMP syntax. | |
22358 | (c_parser_compound_statement): Likewise. | |
22359 | (c_parser_statement): Likewise. | |
22360 | (c_parser_pragma): Handle omp pragmas. | |
22361 | (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK, | |
22362 | OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define. | |
22363 | (c_parser_omp_clause_name, check_no_duplicate_clause, | |
22364 | c_parser_omp_variable_list, | |
22365 | c_parser_omp_var_list_parens, c_parser_omp_clause_copyin, | |
22366 | c_parser_omp_clause_copyprivate, | |
22367 | c_parser_omp_clause_default, | |
22368 | c_parser_omp_clause_firstprivate, c_parser_omp_clause_if, | |
22369 | c_parser_omp_clause_lastprivate, | |
22370 | c_parser_omp_clause_nowait, | |
22371 | c_parser_omp_clause_num_threads, | |
22372 | c_parser_omp_clause_ordered, c_parser_omp_clause_private, | |
22373 | c_parser_omp_clause_reduction, | |
22374 | c_parser_omp_clause_schedule, c_parser_omp_clause_shared, | |
22375 | c_parser_omp_all_clauses, c_parser_omp_structured_block, | |
22376 | c_parser_omp_atomic, c_parser_omp_barrier, | |
22377 | c_parser_omp_critical, c_parser_omp_flush, | |
22378 | c_parser_omp_for_loop, c_parser_omp_for, | |
22379 | c_parser_omp_master, c_parser_omp_ordered, | |
22380 | c_parser_omp_sections_scope, c_parser_omp_sections, | |
22381 | c_parser_omp_parallel, c_parser_omp_single, | |
22382 | c_parser_omp_construct, c_parser_omp_threadprivate): New. | |
22383 | * c-pragma.c (init_pragma): Do omp pragma registration here. | |
22384 | * c.opt (fopenmp): New flag. | |
22385 | ||
22386 | 2006-01-18 Eric Christopher <echristo@apple.com> | |
22387 | ||
22388 | * gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif. | |
22389 | * config/darwin.h (GOMP_SELF_SPECS): Define. | |
22390 | ||
22391 | 2006-01-18 Kazu Hirata <kazu@codesourcery.com> | |
22392 | ||
22393 | * rtl.h: Remove the prototype for reg_alloc. | |
22394 | ||
22395 | 2006-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
22396 | ||
22397 | PR target/25731 | |
22398 | * config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*, | |
22399 | hppa[12]*-*-hpux11*): Override default shared libgcc version for both | |
22400 | sjlj and dwarf2 exception handling. | |
22401 | * pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable. | |
22402 | Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION. | |
22403 | * pa/pa.c (function_value): Treat complex and vector types as | |
22404 | aggregates. | |
22405 | (function_arg): Likewise. Only pass scalar floats in the floating | |
22406 | point argument registers. | |
22407 | * pa/t-slibgcc-dwarf-ver: New file. | |
22408 | * pa/t-slibgcc-sjlj-ver: New file. | |
22409 | * pa/t-slibgcc-elf-ver: Delete file. | |
22410 | ||
22411 | 2006-01-19 Alan Modra <amodra@bigpond.net.au> | |
22412 | ||
22413 | * config/rs6000/rs6000.c (rs6000_assemble_integer): Correct | |
22414 | unlikely_test_section_p test. | |
22415 | ||
22416 | 2006-01-18 Kazu Hirata <kazu@codesourcery.com> | |
22417 | ||
22418 | * mode-switching.c (optimize_mode_switching): Make it static. | |
22419 | * basic-block.h: Remove the prototype for | |
22420 | optimize_mode_switching. | |
22421 | ||
22422 | * modulo-sched.c (sms_schedule): Make it static. | |
22423 | * rtl.h: Remove the prototype for sms_schedule. | |
22424 | ||
22425 | * postreload-gcse.c (gcse_after_reload_main): Make it static. | |
22426 | * rtl.h: Remove the prototype for gcse_after_reload_main. | |
22427 | ||
22428 | * reg-stack.c (reg_to_stack): Make it static. | |
22429 | * rtl.h: Remove the prototype for reg_to_stack. | |
22430 | ||
22431 | * regrename.c (regrename_optimize, copyprop_hardreg_forward): | |
22432 | Make them static. | |
22433 | * rtl.h: Remove the prototypes for regrename_optimize and | |
22434 | copyprop_hardreg_forward. | |
22435 | ||
22436 | 2006-01-18 Eric Botcazou <ebotcazou@adacore.com> | |
22437 | ||
22438 | * config/alpha/alpha.c (alpha_split_tfmode_pair): Rename into | |
22439 | alpha_split_tmode_pair. Add 'mode' and 'fixup_overlap' arguments. | |
22440 | Test against the appropriate null constant for the mode. | |
22441 | If 'fixup_overlap' is true, swap the operands if they overlap. | |
22442 | (alpha_split_tfmode_frobsign): Adjust call to alpha_split_tfmode_pair. | |
22443 | * config/alpha/alpha-protos.h (alpha_split_tfmode_pair): Rename into | |
22444 | alpha_split_tmode_pair and adjust for above change. | |
22445 | * config/alpha/alpha.md (movtf_internal): Adjust call to | |
22446 | alpha_split_tfmode_pair and rely on it to swap the operands. | |
22447 | (movti_internal): New insn and post-reload splitter. | |
22448 | (movti): New expander. | |
22449 | ||
22450 | 2006-01-18 Philippe De Muyter <phdm@macqel.be> | |
22451 | ||
22452 | * config/m68k/m68k.md (*addsi3_5200): Allow addq/subq to memory | |
22453 | operands. | |
22454 | ||
22455 | 2006-01-18 Kazu Hirata <kazu@codesourcery.com> | |
22456 | ||
22457 | * rtlanal.c (global_reg_mentioned_p_1, | |
22458 | global_reg_mentioned_p): Remove. | |
22459 | * rtl.h: Remove the prototype for global_reg_mentioned_p. | |
22460 | ||
22461 | * flow.c (initialize_uninitialized_subregs): Make it static. | |
22462 | * rtl.h: Remove the prototype for | |
22463 | initialize_uninitialized_subregs. | |
22464 | ||
22465 | * function.c (instantiate_virtual_regs): Make it static. | |
22466 | * function.h: Remove the prototype for | |
22467 | instantiate_virtual_regs. | |
22468 | ||
22469 | * regmove.c (regmove_optimize, combine_stack_adjustments): | |
22470 | Make them static. | |
22471 | * rtl.h: Remove the prototypes for regmove_optimize and | |
22472 | combine_stack_adjustments. | |
22473 | ||
22474 | 2006-01-17 Roger Sayle <roger@eyesopen.com> | |
22475 | ||
22476 | * config/i386/i386.c (COSTS_N_BYTES): New macro. | |
22477 | (size_cost): Encode costs in bytes so that a reg-reg addition is | |
22478 | equivalent to COSTS_N_INSNS(1). | |
22479 | (override_options): Use the size_cost.branch_cost as the default | |
22480 | ix86_branch_cost when optimizing for size. | |
22481 | ||
22482 | 2006-01-18 Ben Elliston <bje@au.ibm.com> | |
22483 | ||
22484 | * Makefile.in (D32PBIT_FUNCS): New. | |
22485 | (D64PBIT_FUNCS, D128PBIT_FUNCS): Likewise. | |
22486 | (libgcc.mk): Set D32PBIT, D64PBIT, D128PBIT, D32PBIT_FUNCS, | |
22487 | D64PBIT_FUNCS and D128PBIT_FUNCS. | |
22488 | (LIBGCC_DEPS): Include $(D32PBIT), $(D64PBIT), $(D128PBIT). | |
22489 | * mklibgcc.in Bring in the DFP support code if D32PBIT, D64PBIT or | |
22490 | D128PBIT are set. | |
22491 | (decnumber_dep): Define. | |
22492 | * doc/libgcc.texi (Decimal float library routines): New node. | |
22493 | * config/dfp-bit.h, config/dfp-bit.c: New files. | |
22494 | ||
22495 | 2006-01-18 Ben Elliston <bje@au.ibm.com> | |
22496 | ||
22497 | * expr.c (emit_move_change_mode): Always adjust addresses, not | |
22498 | just during reload. Copy replacements only during reload. | |
22499 | (emit_move_insn_1): Move MODE_DECIMAL_FLOAT modes by invoking | |
22500 | emit_move_via_integer. | |
22501 | ||
22502 | 2006-01-17 Shantonu Sen <ssen@opendarwin.org> | |
22503 | ||
22504 | * Makefile.in (check-%, check-consistency): Use $${srcdir} | |
22505 | instead of $(srcdir) and ${srcdir}. | |
22506 | ||
22507 | 2006-01-17 Richard Earnshaw <rearnsha@arm.com> | |
22508 | ||
22509 | PR target/592 | |
22510 | PR middle-end/11135 | |
22511 | * arm.h (struct machine_function): Add pic_reg. | |
22512 | * arm.c (arm_pic_register): Make unsigned. | |
22513 | (arm_override_options): Only set arm_pic_register if | |
22514 | TARGET_SINGLE_PIC_BASE. | |
22515 | (use_return_insn): Only test for a pic register if it is fixed. | |
22516 | (arm_compute_save_reg0_reg12_mask): Likewise. | |
22517 | (thumb_compute_save_reg_mask): Likewise. | |
22518 | (legitimate_pic_operand): Factor out some known invariants. | |
22519 | (legitimize_pic_address): If we don't have a fixed pic register, | |
22520 | then set up a pseudo in the function entry sequence. Handle the | |
22521 | pic base being in a pseudo. | |
22522 | (arm_load_pic_register): Handle the pic register being in a pseudo. | |
22523 | (arm_expand_prologue): Only set up the pic register if it is fixed. | |
22524 | (thumb_expand_prologue): Likewise. | |
22525 | * arm.md (pic_load_addr_based): Handle the pic base being a pseudo. | |
22526 | (pic_load_addr_based_insn): Likewise. | |
22527 | (builtin_setjmp_receiver): Don't restore the pic base if it isn't | |
22528 | fixed. | |
22529 | ||
22530 | 2006-01-18 Ben Elliston <bje@au.ibm.com> | |
22531 | ||
22532 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Reject | |
22533 | decimal float modes for all floating point registers. | |
22534 | ||
22535 | * config/rs6000/predicates.md (reg_or_mem_operand): Pair up | |
22536 | match_code "mem" with match_test "macho_lo_sum_memory_operand". | |
22537 | ||
22538 | 2006-01-17 Jakub Jelinek <jakub@redhat.com> | |
22539 | ||
22540 | PR c/25682 | |
22541 | * c-typeck.c (build_unary_op): Fold offsetof-like expressions | |
22542 | even when the pointer is not NULL. | |
22543 | ||
22544 | 2006-01-16 Ian Lance Taylor <ian@airs.com> | |
22545 | ||
22546 | * common.opt (ftoplevel-reorder): New option. | |
22547 | * cgraph.c (cgraph_asm_nodes): New global variable. | |
22548 | (cgraph_asm_last_node): New static variable. | |
22549 | (cgraph_order): New global variable. | |
22550 | (cgraph_create_node): Set new order field. | |
22551 | (cgraph_varpool_node): Likewise. | |
22552 | (decide_is_variable_needed): Return true if not | |
22553 | flag_toplevel_reorder. | |
22554 | (cgraph_add_asm_node): New function. | |
22555 | * cgraph.h (struct cgraph_node): Add order field. | |
22556 | (struct cgraph_varpool_node): Add order field. | |
22557 | (struct cgraph_asm_node): Define. | |
22558 | (cgraph_asm_nodes, cgraph_order): Declare. | |
22559 | (cgraph_add_asm_node): Declare. | |
22560 | * cgraphunit.c (cgraph_varpool_assemble_decl): New static | |
22561 | function. | |
22562 | (cgraph_varpool_assemble_pending_decls): Call it. | |
22563 | (cgraph_output_pending_asms): New static function. | |
22564 | (cgraph_finalize_compilation_unit): Call it. | |
22565 | (struct cgraph_order_sort): Define. | |
22566 | (cgraph_output_in_order): New static function. | |
22567 | (cgraph_optimize): Call cgraph_output_pending_asms. Add code for | |
22568 | !flag_toplevel_reorder case. | |
22569 | * c-parser.c: Include "cgraph.h". | |
22570 | (c_parser_asm_definition): Call cgraph_add_asm_node rather than | |
22571 | assemble_asm. | |
22572 | * Makefile.in (CRTSTUFF_CFLAGS): Use -fno-toplevel-reorder rather | |
22573 | than -fno-unit-at-a-time. | |
22574 | * doc/invoke.texi (Option Summary): Mention | |
22575 | -fno-toplevel-reorder. | |
22576 | (Optimize Options): Document -fno-toplevel-reorder. Mention it in | |
22577 | -funit-at-a-time documentation. | |
22578 | ||
22579 | 2006-01-17 Hans-Peter Nilsson <hp@axis.com> | |
22580 | Kazu Hirata <kazu@codesourcery.com> | |
22581 | ||
22582 | * Makefile.in (FUNCTION_H, LAMBDA_H): Use $(TREE_H), not tree.h. | |
22583 | ||
22584 | 2006-01-17 Kazu Hirata <kazu@codesourcery.com> | |
22585 | ||
22586 | * Makefile.in (FUNCTION_H): New. Use it instead of | |
22587 | function.h throughout the file. | |
22588 | * function.h: Include tree.h. | |
22589 | ||
22590 | 2006-01-17 Ben Elliston <bje@au.ibm.com> | |
22591 | ||
22592 | * recog.c: Separate some functions with whitespace. | |
22593 | ||
22594 | 2006-01-16 Richard Henderson <rth@redhat.com> | |
22595 | ||
22596 | Merge from gomp branch: | |
22597 | * Makefile.in (TREE_INLINE_H): New. Use it as needed. | |
22598 | * tree-inline.h (struct copy_body_data): Move from tree-inline.c | |
22599 | and rename from struct inline_data. Rename callee* to dst*; | |
22600 | caller* to src*; add copy_decl hook, transform_call_graph_edges, | |
22601 | transform_new_cfg, transform_return_to_modify, and | |
22602 | transform_lang_insert_block flags; remove cloning_p, versioning_p, | |
22603 | update_clones_p. | |
22604 | (copy_body_r, insert_decl_map, remap_decl, remap_type): Declare. | |
22605 | (copy_decl_for_dup): Remove. | |
22606 | * tree-inline.c (struct inline_data): Move to header. | |
22607 | (insert_decl_map): Export. | |
22608 | (remap_decl): Update for member name changes. Use copy_decl hook. | |
22609 | Allow for replacement to be a non-decl. Remove dead code. | |
22610 | (remap_type_1): Check for existing mapping. | |
22611 | (remap_type): Export. | |
22612 | (remap_decls): Update for member name changes. | |
22613 | (remap_block, copy_bb, copy_cfg_body, copy_generic_body): Likewise. | |
22614 | (copy_body, setup_one_parameter, declare_return_variable): Likewise. | |
22615 | (expand_call_inline, optimize_inline_calls, clone_body): Likewise. | |
22616 | (copy_tree_r, mark_local_for_remap_r, unsave_expr_now): Likewise. | |
22617 | (tree_function_versioning, build_duplicate_type): Likewise. | |
22618 | (copy_body_r): Likewise. Export. | |
22619 | (copy_decl_for_dup): Split into ... | |
22620 | (copy_decl_for_dup_finish, copy_decl_to_var, | |
22621 | copy_decl_no_change, copy_decl_maybe_to_var): ... these. | |
22622 | (replace_ref_tree, inlining_p): Remove. | |
22623 | ||
22624 | 2006-01-16 Kazu Hirata <kazu@codesourcery.com> | |
22625 | ||
22626 | * ifcvt.c (if_convert): Make it static. | |
22627 | * rtl.h: Remove the prototype for if_convert. | |
22628 | ||
22629 | * local-alloc.c (local_alloc): Make it static. | |
22630 | * rtl.h: Remove the prototype for local_alloc. | |
22631 | ||
22632 | * loop.c (loop_optimize): Make it static. | |
22633 | * cfgloop.h: Remove the prototype for loop_optimize. | |
22634 | * rtl.h: Likewise. | |
22635 | ||
22636 | 2006-01-16 DJ Delorie <dj@redhat.com> | |
22637 | ||
22638 | * reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of | |
22639 | mems. | |
22640 | ||
22641 | 2006-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
22642 | ||
22643 | * pa.md: Disparage copies between general and floating-point registers | |
22644 | in 32-bit move patterns. | |
22645 | ||
22646 | 2006-01-16 H.J. Lu <hongjiu.lu@intel.com> | |
22647 | ||
22648 | PR testsuite/25741 | |
22649 | * Makefile.in (check-%): Depend on site.exp instead of | |
22650 | $(TESTSUITEDIR)/site.exp. Run "runtest" in separate language | |
22651 | directories. | |
22652 | ||
22653 | 2006-01-16 Kazu Hirata <kazu@codesourcery.com> | |
22654 | ||
22655 | * global.c (global_alloc): Make it static. | |
22656 | * rtl.h: Remove the prototype for global_alloc. | |
22657 | ||
22658 | 2006-01-16 Richard Guenther <rguenther@suse.de> | |
22659 | ||
22660 | * tree-ssa-alias.c (struct used_part): Add write_only field. | |
22661 | (get_or_create_used_part_for): Initialize it to true. | |
22662 | (create_overlap_variables_for): Don't create structure variables | |
22663 | for structures that only are written to. | |
22664 | (find_used_portions): Handle MODIFY_EXPR to track whether a | |
22665 | structure is only written to. | |
22666 | ||
22667 | 2006-01-16 Kazu Hirata <kazu@codesourcery.com> | |
22668 | ||
22669 | * bb-reorder.c (partition_hot_cold_basic_blocks): Make it | |
22670 | static. | |
22671 | * basic-block.h: Remove the prototype for | |
22672 | partition_hot_cold_basic_blocks. | |
22673 | ||
ed8a0bc4 | 22674 | 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
f1aea409 MS |
22675 | |
22676 | * cppspec.c (lang_specific_spec_functions): Remove. | |
22677 | * gcc.c (lookup_spec_function): Use static_spec_functions directly. | |
22678 | * gcc.h (lang_specific_spec_functions): Remove. | |
22679 | * gccspec.c (lang_specific_spec_functions): Remove. | |
22680 | ||
22681 | 2006-01-16 Paolo Bonzini <bonzini@gnu.org> | |
22682 | ||
22683 | * combine.c (record_value_for_reg): Invalidate registers | |
22684 | if INSN is null. | |
22685 | (record_dead_and_set_regs_1): Likewise, by passing them to | |
22686 | record_value_for_reg. | |
22687 | (record_dead_and_set_regs): Invalidate stores made by a | |
22688 | call. We do not combine across a call, but we still | |
22689 | relied on equivalences. | |
22690 | ||
22691 | 2006-01-16 Eric Botcazou <ebotcazou@adacore.com> | |
22692 | ||
22693 | * tree-vrp.c (extract_range_from_binary_expr): Cope with | |
22694 | vrp_int_const_binop returning non-constant nodes. | |
22695 | ||
22696 | 2006-01-16 Paul Brook <paul@codesourcery.com> | |
22697 | ||
22698 | * config/m68k/m68k.c (output_move_const_into_data_reg): | |
22699 | Output correct mnemonic for mvz and mvs. | |
22700 | ||
22701 | 2006-01-16 Gabor Loki <loki@gcc.gnu.org> | |
22702 | ||
22703 | * rtl-factoring.c: Add sequence abstraction algorithm. | |
22704 | * cfgcleanup.c (outgoing_edges_match): Extra checks. | |
22705 | (try_crossjump_to_edge): Avoid deleting preserve label when redirecting | |
22706 | ABNORMAL edges. | |
22707 | (block_has_preserve_label): New function. | |
22708 | * common.opt: Register new pass. | |
22709 | * Makefile.in: Ditto. | |
22710 | * passes.c: Ditto. | |
22711 | * timevar.def: Ditto. | |
22712 | * tree-pass.h: Ditto. | |
22713 | * emit-rtl.c (make_jump_insn_raw): Remove forward decl. | |
22714 | * rtl.h (make_jump_insn_raw): Add forward decl. | |
22715 | * doc/invoke.texi: Add documentation for -frtl-abstract-sequences. | |
22716 | ||
22717 | 2006-01-16 Eric Botcazou <ebotcazou@adacore.com> | |
22718 | Roger Sayle <roger@eyesopen.com> | |
22719 | ||
22720 | * fold-const.c (fold_minmax): New static function. | |
22721 | (fold_binary) <MIN_EXPR>: Call it. | |
22722 | <MAX_EXPR>: Likewise. | |
22723 | * stor-layout.c (place_field): Use DECL_SIZE consistently | |
22724 | in the computation of the new record size. | |
22725 | ||
22726 | 2006-01-16 Kazu Hirata <kazu@codesourcery.com> | |
22727 | ||
22728 | * cse.c (cse_condition_code_reg): Make it static. | |
22729 | * rtl.h: Remove the prototype for cse_condition_code_reg. | |
22730 | ||
22731 | * combine.c (combine_instructions): Make it static. | |
22732 | * rtl.h: Remove the prototype for combine_instructions. | |
22733 | ||
22734 | 2006-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
22735 | ||
22736 | PR target/25168 | |
22737 | * tree.c (get_file_function_name_long): Concatenate the first global | |
22738 | object name with a string derived from the input filename of the object | |
22739 | for type "F". | |
22740 | ||
22741 | 2006-01-16 Ben Elliston <bje@au.ibm.com> | |
22742 | ||
22743 | * config/i386/winnt-stubs.c: Update FSF address. | |
22744 | * config/xtensa/ieee754-df.S: Ditto. | |
22745 | * config/xtensa/ieee754-sf.S: Ditto. | |
22746 | ||
22747 | 2006-01-14 Ian Lance Taylor <ian@airs.com> | |
22748 | ||
22749 | * ifcvt.c (noce_init_if_info): New static function, broken out of | |
22750 | noce_process_if_block. | |
22751 | (noce_process_if_block): Call noce_init_if_info. | |
22752 | (check_cond_move_block): New static function. | |
22753 | (cond_move_process_if_block): New static function. | |
22754 | (process_if_block): Call cond_move_process_if_block. | |
22755 | ||
22756 | 2006-01-15 Kazu Hirata <kazu@codesourcery.com> | |
22757 | ||
22758 | * cselib.c (hash_table): Rename to cselib_hash_table. | |
22759 | (cselib_clear_table, discard_useless_values, | |
22760 | remove_useless_values, cselib_lookup_mem, cselib_lookup, | |
22761 | cselib_init, cselib_finish): Adjust uses of hash_table. | |
22762 | ||
22763 | 2006-01-14 Kazu Hirata <kazu@codesourcery.com> | |
22764 | ||
22765 | PR tree-optimization/25485 | |
22766 | * tree-vrp.c (extract_range_from_binary_expr): Handle cases | |
22767 | where one of the operands of TRUTH_AND_EXPR and TRUTH_OR_EXPR | |
22768 | is known to be false and true, respectively. | |
22769 | ||
22770 | 2006-01-14 Richard Guenther <rguenther@suse.de> | |
22771 | ||
22772 | PR tree-optimization/22548 | |
22773 | PR tree-optimization/22555 | |
22774 | PR tree-optimization/22501 | |
22775 | * Makefile.in (tree-ssa-structalias.o): Depend on $(PARAMS_H). | |
22776 | * params.def (salias-max-array-elements): New parameter. | |
22777 | * params.h (SALIAS_MAX_ARRAY_ELEMENTS): Define. | |
22778 | * doc/invoke.texi (salias-max-array-elements): Document. | |
22779 | * tree-flow-inline.h (var_can_have_subvars): We also handle | |
22780 | arrays now. | |
22781 | * tree-ssa-alias.c (find_used_portions): Handle ARRAY_REF like | |
22782 | COMPONENT_REF. | |
22783 | * tree-ssa-structalias.c (params.h): Include. | |
22784 | (push_fields_onto_fieldstack): Handle ARRAY_TYPE. | |
22785 | (find_func_aliases): Handle multiple constraints from ARRAY_REF. | |
22786 | (get_constraint_for): For ADDR_EXPR operating on something | |
22787 | containing an ARRAY_REF, add all subvars to the solution. | |
22788 | (handle_ptr_arith): Handle ARRAY_TYPE like RECORD_TYPE types. | |
22789 | * tree-ssa-operands.c (parse_ssa_operands): Handle ARRAY_REF | |
22790 | for creating MUST_DEFs. | |
22791 | (get_expr_operands): Treat ARRAY_REF like COMPONENT_REF wrt subvars. | |
22792 | ||
22793 | 2006-01-14 Zdenek Dvorak <dvorakz@suse.cz> | |
22794 | ||
22795 | * tree-ssa-loop-niter.c (number_of_iterations_cond): Split into several | |
22796 | functions. | |
22797 | (number_of_iterations_ne, number_of_iterations_lt_to_ne, | |
22798 | assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt, | |
22799 | number_of_iterations_le): New functions. | |
22800 | (number_of_iterations_special): Removed. | |
22801 | (number_of_iterations_exit): Do not use number_of_iterations_special. | |
22802 | * tree.c (unsigned_type_for): Always return integer type. | |
22803 | ||
22804 | 2006-01-14 Steven Bosscher <stevenb.gcc@gmail.com> | |
22805 | Richard Guenther <rguenther@suse.de> | |
22806 | ||
22807 | PR rtl-optimization/24257 | |
22808 | * gcse.c (find_moveable_store): Only consider a store movable | |
22809 | when the SET_SRC of the insn can be assigned to a register. | |
22810 | ||
22811 | 2006-01-14 Ian Lance Taylor <ian@airs.com> | |
22812 | ||
22813 | * tree.c (tree_not_class_check_failed): New function. | |
22814 | * tree.h (NON_TYPE_CHECK): Call tree_not_class_check_failed. | |
22815 | (tree_not_class_check_failed): Declare. | |
22816 | ||
22817 | 2006-01-13 Ian Lance Taylor <ian@airs.com> | |
22818 | ||
22819 | * reload1.c (do_output_reload): Add assertion rejecting a | |
22820 | CALL_INSN. | |
22821 | ||
22822 | 2006-01-13 Adam Nemet <anemet@caviumnetworks.com> | |
22823 | ||
22824 | * combine.c (struct reg_stat): Add new fields truncation_label and | |
22825 | truncated_to_mode. | |
22826 | (record_value_for_reg): Reset truncated_to_mode. | |
22827 | (record_truncated_value): New function. | |
22828 | (check_promoted_subreg): Call it. Rename to check_conversions. | |
22829 | (combine_instructions): Rename check_promoted_subreg to | |
22830 | check_conversions. | |
22831 | (reg_truncated_to_mode): New function. | |
22832 | (make_extraction): Use it. Check TRULY_NOOP_TRUNCATION. | |
22833 | (gen_lowpart_or_truncate): New function. | |
22834 | (force_to_mode): Use it instead of gen_lowpart. | |
22835 | ||
22836 | 2006-01-13 Diego Novillo <dnovillo@redhat.com> | |
22837 | ||
22838 | * tree-ssa-alias.c (add_type_alias): Fix typo. Test whether | |
22839 | VAR is a tag, not its type tag. | |
22840 | ||
22841 | 2006-01-13 Alexandre Oliva <aoliva@redhat.com> | |
22842 | ||
22843 | * config/i386/sse.md (*vec_extractv2di_1_sse2): Reorder | |
22844 | alternatives to match style of other entries. | |
22845 | (*vec_extractv2di_1_sse): Likewise. Fix mode attr. | |
22846 | ||
22847 | 2006-01-13 Daniel Berlin <dberlin@dberlin.org> | |
22848 | ||
22849 | PR tree-optimization/25771 | |
22850 | * tree-ssa-pre.c (insert_extra_phis): Don't insert merges of abnormal | |
22851 | SSA_NAMES. | |
22852 | ||
22853 | 2006-01-13 Andrew Pinski <pinskia@physics.uc.edu> | |
22854 | ||
22855 | PR tree-opt/24365 | |
22856 | * tree-inline.c (declare_return_variable): If the return variable | |
22857 | was marked as a non gimple complex, set the return slot variable | |
22858 | to be a non gimple comple variable. | |
22859 | ||
22860 | 2006-01-13 Richard Guenther <rguenther@suse.de> | |
22861 | ||
22862 | * builtins.c (expand_builtin_sincos): New function. | |
22863 | (expand_builtin_mathfn_3): Remove dead code, sin and cos | |
22864 | do not set errno. | |
22865 | (expand_builtin): Expand sincos using expand_builtin_sincos. | |
22866 | ||
22867 | 2006-01-12 DJ Delorie <dj@redhat.com> | |
22868 | ||
22869 | * config/m32c/shift.md: Rewrite: Allow arbitrary operands for | |
22870 | shift counts, separate SI shifts for m32c vs m16c, pass shift type | |
22871 | so that constant shifts can be split. | |
22872 | * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Add In6. | |
22873 | (m32c_valid_pointer_mode): Make static. | |
22874 | (shift_gen_func_for): New. | |
22875 | (m32c_prepare_shift): Use it. Split large const shifts into | |
22876 | multiple shifts. | |
22877 | * config/m32c/predicates.md (shiftcount_operand): Allow more | |
22878 | general operands. | |
22879 | (longshiftcount_operand): New. | |
22880 | * doc/md.texi (Machine Constraints): Document In6. | |
22881 | ||
22882 | 2006-01-13 Ben Elliston <bje@au.ibm.com> | |
22883 | ||
22884 | * doc/tm.texi (Data Output): Add REAL_VALUE_TO_TARGET_DECIMAL32, | |
22885 | REAL_VALUE_TO_TARGET_DECIMAL64 and REAL_VALUE_TO_TARGET_DECIMAL128 | |
22886 | documentation. | |
22887 | ||
22888 | 2006-01-12 Daniel Berlin <dberlin@dberlin.org> | |
22889 | ||
22890 | * tree-ssa-operands.c (add_call_clobber_ops): Use SFT_PARENT_VAR | |
22891 | to try to avoid clobbering pieces of structures when we know | |
22892 | something about the whole structure. | |
22893 | * tree-ssa-alias.c (create_sft): Set SFT_PARENT_VAR | |
22894 | ||
22895 | 2006-01-13 Ben Elliston <bje@au.ibm.com> | |
22896 | ||
22897 | * doc/rtl.texi (Insns): Remove statement that libcalls cannot | |
22898 | return in memory, as this is no limitation is no longer present. | |
22899 | ||
22900 | 2006-01-12 DJ Delorie <dj@redhat.com> | |
22901 | ||
22902 | * config/m32c/addsub.md (addhi3): Add two more alternatives, for | |
22903 | mova with fb, and for fb+0 -> An. | |
22904 | ||
22905 | * config/m32c/mov.md (peephole2): Fix enabling logic. | |
22906 | ||
22907 | * config/m32c/m32c.h (CTOR_LIST_BEGIN, CTOR_LIST_END, | |
22908 | DTOR_LIST_BEGIN, DTOR_LIST_END, CTORS_SECTION_ASM_OP, | |
22909 | DTORS_SECTION_ASM_OP, INIT_ARRAY_SECTION_ASM_OP, | |
22910 | FINI_ARRAY_SECTION_ASM_OP): Define. | |
22911 | ||
22912 | * config/m32c/m32c.c (m32c_legitimize_address): Remove temporary | |
22913 | variable. | |
22914 | (m32c_legitimize_reload_address): New logic to reload FB to An. | |
22915 | (m32c_output_reg_push): Add newline. | |
22916 | (m32c_output_reg_pop): Likewise. | |
22917 | ||
22918 | 2006-01-12 Ulrich Weigand <uweigand@de.ibm.com> | |
22919 | ||
22920 | * struct-equiv.c (find_dying_inputs): Fix off-by-one bug. | |
22921 | ||
22922 | 2006-01-11 Andrew Pinski <pinskia@physics.uc.edu> | |
22923 | ||
22924 | * config/i386/darwin.h (SUBTARGET_ENCODE_SECTION_INFO): Define. | |
22925 | ||
22926 | 2006-01-11 Kazu Hirata <kazu@codesourcery.com> | |
22927 | ||
22928 | * config/sh/predicates.md (sh_rep_vec): Add parallel to | |
22929 | match_code. | |
22930 | ||
22931 | 2006-01-11 Ben Elliston <bje@au.ibm.com> | |
22932 | ||
22933 | * rtlanal.c (find_reg_note): Assert insn is not null. | |
22934 | ||
22935 | 2006-01-11 Kenneth Zadeck <zadeck@naturalbridge.com> | |
22936 | ||
22937 | * df-scan.c (df_hard_reg_init): Move declaration of i outside | |
22938 | ifdef. | |
22939 | ||
22940 | 2006-01-11 Jeff Law <law@redhat.com> | |
22941 | ||
22942 | * tree-ssa-threadupdate.c (threaded_edges): New VEC to | |
22943 | hold edge pairs. | |
22944 | (mark_threaded_blocks, register_jump_thread): New functions. | |
22945 | (thread_through_all_blocks): Remove unwanted argument. No | |
22946 | longer rely on e->aux to communicate thread target info. | |
22947 | Call mark_threaded_blocks. Release the threaded_blocks | |
22948 | bitmap and threaded_edges vector when complete. | |
22949 | * tree-ssa-dom.c (struct edge_info): Remove redirection_target field. | |
22950 | (threaded_blocks): Remove. | |
22951 | (tree_ssa_dominator_optimize): Remove initialization and | |
22952 | finalization of threaded_blocks. Simplify call to | |
22953 | thread_through_all_blocks. | |
22954 | (thread_across_edge): Call register_jump_thread rather than | |
22955 | storing thread information into e->aux. | |
22956 | (free_all_edge_infos): Simplify now that e->aux is no longer | |
22957 | used to communicate with thread_through_all_blocks. | |
22958 | * tree-flow.h (thread_through_all_blocks): Update prototype. | |
22959 | (register_jump_thread): Prototype. | |
22960 | ||
22961 | 2006-01-11 Kazu Hirata <kazu@codesourcery.com> | |
22962 | ||
22963 | * df-core.c (df_compact_blocks, df_bb_replace): Use | |
22964 | SET_BASIC_BLOCK instead of BASIC_BLOCK. | |
22965 | ||
22966 | 2006-01-11 Richard Guenther <rguenther@suse.de> | |
22967 | ||
22968 | PR tree-optimization/25734 | |
22969 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not | |
22970 | stop propagation after successful propagation to the LHS. | |
22971 | ||
22972 | 2006-01-11 Kazu Hirata <kazu@codesourcery.com> | |
22973 | ||
22974 | * basic-block.h (control_flow_graph): Change the type of | |
22975 | x_basic_block_info to VEC(basic_block,gc) *. | |
22976 | (BASIC_BLOCK_FOR_FUNCTION, BASIC_BLOCK): Adjust the uses of | |
22977 | basic_block_info. | |
22978 | (SET_BASIC_BLOCK): New. | |
22979 | * cfg.c (compact_blocks, expunge_block): Use SET_BASIC_BLOCK | |
22980 | instead of BASIC_BLOCK when assigning to BASIC_BLOCK. | |
22981 | * cfgbuild.c (find_basic_blocks): Likewise. | |
22982 | * cfglayout.c (fixup_reorder_chain): Likewise. | |
22983 | * cfgrtl.c (create_basic_block_structure, | |
22984 | rtl_create_basic_block): Likewise. | |
22985 | * ifcvt.c (find_if_case_1): Likewise. | |
22986 | * tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb): | |
22987 | Likewise. | |
22988 | ||
22989 | 2006-01-11 Kenneth Zadeck <zadeck@naturalbridge.com> | |
22990 | ||
22991 | * Makefile.in: Removed rotted odf.c entry. | |
22992 | ||
22993 | 2006-01-11 Hans-Peter Nilsson <hp@axis.com> | |
22994 | ||
22995 | PR target/25706 | |
22996 | * config/cris/cris.md ("*extopqihi_side", "*extop<mode>si_side") | |
22997 | ("*extop<mode>si_swap_side_biap", "*extop<mode>si_swap_side", | |
22998 | ("*extopqihi", "*extop<mode>si", "*extop<mode>si_swap"): Use %E | |
22999 | output pattern modifier, not %e. | |
23000 | * config/cris/cris.c (cris_op_str): Update comment about pattern | |
23001 | modifier. | |
23002 | (cris_print_operand) <case 'e'>: Clear cris_output_insn_is_bound | |
23003 | before falling through into... | |
23004 | <case 'E'>: Redefined from old 'e' case. | |
23005 | ||
23006 | 2006-01-11 Jan Hubicka <jh@suse.cz> | |
23007 | ||
23008 | PR target/25042 | |
23009 | * i386.c (ix86_init_mmx_sse_builtins): Do not delcare float128 | |
23010 | ||
23011 | 2006-01-11 Jan Hubicka <jh@suse.cz> | |
23012 | ||
23013 | * i386.h (TARGET_DECOMPOSE_LEA): Kill. | |
23014 | * i386.c (x86_decompose_lea): Kill. | |
23015 | (ix86_rtx_costs): Kill. | |
23016 | ||
23017 | 2006-01-11 Jan Hubicka <jh@suse.cz> | |
23018 | ||
23019 | * cgraph.c (cgraph_insert_node_to_hashtable): New function. | |
23020 | * cgraph.h (cgraph_node): Add inline_decl. | |
23021 | (cgraph_insert_node_to_hashtable): Declare. | |
23022 | (save_inline_function_body): Declare. | |
23023 | * cgraphunit.c (verify_cgraph_node): Inline edges might point to inline | |
23024 | clones. | |
23025 | (cgraph_preserve_function_body_p): Do not presrve when dump is enabled. | |
23026 | (cgraph_function_versioning): Update call of tree_function_versioning. | |
23027 | (save_inline_function_body): New function. | |
23028 | * function.h (struct function): Kill saved_eh, saved_cfg, saved_args, | |
23029 | saved_static_chain_decl, saved_blocks and saved-unexpanded_var_list. | |
23030 | * ipa-inline.c (cgraph_mark_inline_edge): Look for inline clones. | |
23031 | (cgraph_default_inline_p): Likewise. | |
23032 | (cgraph_decide_inlining_incrementally): Likewise. | |
23033 | * tree-inline.c (inline_data): Kill saving_p add update_clones_p. | |
23034 | (copy_bb): Kill saving; do updating of clones. | |
23035 | (copy_cfg_body): Kill saving. | |
23036 | (initialize_inlined-parameters): Likewise. | |
23037 | (expand_call_inline): Likewise. | |
23038 | (save_body): Kill. | |
23039 | (tree_function_versioning): New parameter "update_clones". | |
23040 | (inlining_p): Kill saving. | |
23041 | * tree-inline.h (tree_function_versioning): Update prototype. | |
23042 | * tree-optimize.c (tree_rest_of_compilation): Use clonning instead of | |
23043 | saving. | |
23044 | ||
23045 | 2006-01-11 Ian Lance Taylor <ian@airs.com> | |
23046 | ||
23047 | * combine.c (struct undo): Remove is_int. Enumify types of undos. | |
23048 | Allow undoing set of machine mode. | |
23049 | (do_SUBST): Use enums instead of is_int. | |
23050 | (do_SUBST_MODE): New function. | |
23051 | (SUBST_MODE): New macro. | |
23052 | (try_combine): Use SUBST_MODE/PUT_MODE instead of generating a new | |
23053 | reg and trying to replace reg_regno_rtx with a new register. | |
23054 | (undo_all): Use new enums, handle undoing a PUT_MODE change. | |
23055 | (simplify_set): Use SUBST_MODE. | |
23056 | (distribute_notes): Remove code that tried to update reg notes | |
23057 | for regno_reg_rtx changes. | |
23058 | ||
23059 | 2006-01-11 Paolo Bonzini <bonzini@gnu.org> | |
23060 | ||
23061 | PR tree-optimization/23109 | |
23062 | PR tree-optimization/23948 | |
23063 | PR tree-optimization/24123 | |
23064 | ||
23065 | * Makefile.in (tree-ssa-math-opts.o): Adjust dependencies. | |
23066 | * tree-cfg.c (single_noncomplex_succ): New. | |
23067 | * tree-flow.h (single_noncomplex_succ): Declare it. | |
23068 | * tree-ssa-math-opts.c (enum place_reciprocal): Remove. | |
23069 | * tree-ssa-math-opts.c (enum place_reciprocal): Remove. | |
23070 | (struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit, | |
23071 | insert_bb, register_division_in, insert_reciprocals, | |
23072 | replace_reciprocal, free_bb): New. | |
23073 | (execute_cse_reciprocals_1): Rewritten. | |
23074 | (execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1. | |
23075 | Do not commit any edge insertion. Always compute dominators and | |
23076 | create the allocation pool. | |
23077 | * target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New. | |
23078 | * target.h (struct gcc_target): Add min_divistions_for_recip_mul. | |
23079 | * targhooks.c (default_min_divistions_for_recip_mul): New. | |
23080 | * targhooks.h (default_min_divistions_for_recip_mul): New prototype. | |
23081 | * passes.c (init_optimization_passes): Run recip after tree loop | |
23082 | optimizations. | |
23083 | * doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL. | |
23084 | ||
23085 | 2006-01-11 Danny Berlin <dberlin@dberlin.org> | |
23086 | Kenneth Zadeck <zadeck@naturalbridge.com> | |
23087 | ||
23088 | * df.h (DF_SCAN, DF_RU, DF_RD, DF_LR, DF_UR, DF_UREC, DF_CHAIN, | |
23089 | DF_RI, DF_LAST_PROBLEM_PLUS1, DF_DU_CHAIN, DF_UD_CHAIN, | |
23090 | DF_REF_TYPE_NAMES, DF_HARD_REGS, DF_EQUIV_NOTES, DF_SUBREGS, | |
23091 | DF_SCAN_BB_INFO, DF_RU_BB_INFO, DF_RD_BB_INFO, DF_LR_BB_INFO, | |
23092 | DF_UR_BB_INFO, DF_UREC_BB_INFO, DF_LIVE_IN, DF_LIVE_OUT, | |
23093 | DF_RA_LIVE_IN, DF_RA_LIVE_OUT, DF_UPWARD_LIVE_IN, | |
23094 | DF_UPWARD_LIVE_OUT, DF_REF_REAL_REG, DF_REF_REGNO, | |
23095 | DF_REF_REAL_LOC, DF_REF_REG, DF_REF_LOC, DF_REF_BB, DF_REF_BBNO, | |
23096 | DF_REF_INSN, DF_REF_INSN_UID, DF_REF_TYPE, DF_REF_CHAIN, | |
23097 | DF_REF_ID, DF_REF_FLAGS, DF_REF_NEXT_REG, DF_REF_PREV_REG, | |
23098 | DF_REF_NEXT_REF, DF_REF_DATA, DF_REF_REG_DEF_P, DF_REF_REG_USE_P, | |
23099 | DF_REF_REG_MEM_STORE_P, DF_REF_REG_MEM_LOAD_P, DF_REF_REG_MEM_P, | |
23100 | DF_DEFS_SIZE, DF_DEFS_GET, DF_DEFS_SET, DF_USES_SIZE, DF_USES_GET, | |
23101 | DF_USES_SET, DF_REG_SIZE, DF_REG_DEF_GET, DF_REG_DEF_SET, | |
23102 | DF_REG_USE_GET, DF_REG_USE_SET, DF_REGNO_FIRST_DEF, | |
23103 | DF_REGNO_LAST_USE, DF_INSN_SIZE, DF_INSN_GET, DF_INSN_SET, | |
23104 | DF_INSN_CONTAINS_ASM, DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES, | |
23105 | DF_INSN_UID_GET, DF_INSN_UID_LUID, DF_INSN_UID_DEFS, | |
23106 | DF_INSN_UID_USES, DF_SCAN_INITIAL, DF_SCAN_GLOBAL, | |
23107 | DF_SCAN_POST_ALLOC): New macros. | |
23108 | (df_flow_dir, df_ref_type, df_ref_flags, df_alloc_function, | |
23109 | df_free_bb_function, df_local_compute_function, df_init_function, | |
23110 | df_dataflow_function, df_confluence_function_0, | |
23111 | df_confluence_function_n, df_transfer_function, | |
23112 | df_finalizer_function, df_free_function, df_dump_problem_function, | |
23113 | df_problem, dataflow, df_insn_info, df_reg_info, df_ref, df_link, | |
23114 | df_ref_info, df, df_map, df_scan_bb_info, df_ru_bb_info, | |
23115 | df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, df_ur_bb_info, | |
23116 | df_urec_bb_info, ) New types. | |
23117 | (df_invalidated_by_call, df_all_hard_regs, df_state) New public | |
23118 | variables. | |
23119 | (df_init, df_add_problem, df_set_blocks, df_finish, df_analyze, | |
23120 | df_analyze_simple_change_some_blocks, | |
23121 | df_analyze_simple_change_one_block, df_compact_blocks, | |
23122 | df_bb_replace, df_bb_regno_last_use_find, | |
23123 | df_bb_regno_first_def_find, df_bb_regno_last_def_find, | |
23124 | df_insn_regno_def_p, df_find_def, df_find_use, | |
23125 | df_iterative_dataflow, df_dump, df_chain_dump, df_refs_chain_dump, | |
23126 | df_regs_chain_dump, df_insn_debug, df_insn_debug_regno, | |
23127 | df_regno_debug, df_ref_debug, debug_df_insn, debug_df_regno, | |
23128 | debug_df_reg, debug_df_defno, debug_df_useno, debug_df_ref, | |
23129 | debug_df_chain, df_get_dependent_problem, df_chain_create, | |
23130 | df_chain_unlink, df_chain_copy, df_get_live_in, df_get_live_out, | |
23131 | df_grow_bb_info, df_chain_dump, df_print_bb_index, | |
23132 | df_ru_add_problem, df_ru_get_bb_info, df_rd_add_problem, | |
23133 | df_rd_get_bb_info, df_lr_add_problem, df_lr_get_bb_info, | |
23134 | df_ur_add_problem, df_ur_get_bb_info, df_urec_add_problem, | |
23135 | df_urec_get_bb_info, df_chain_add_problem, df_ri_add_problem, | |
23136 | df_reg_lifetime, df_scan_get_bb_info, df_scan_add_problem, | |
23137 | df_rescan_blocks, df_ref_create, df_get_artificial_defs, | |
23138 | df_get_artificial_uses, df_reg_chain_create, df_reg_chain_unlink, | |
23139 | df_ref_remove, df_insn_refs_delete, df_refs_delete, | |
23140 | df_reorganize_refs, df_set_state, df_hard_reg_init, | |
23141 | df_read_modify_subreg_p) New public functions. | |
23142 | * df-core.c: The core dataflow solver and glue routines for rtl | |
23143 | dataflow. | |
23144 | (df_init, df_add_problem, df_set_blocks, df_finish, | |
23145 | df_hybrid_search_forward, df_hybrid_search_backward, | |
23146 | df_iterative_dataflow, df_prune_to_subcfg, df_analyze_problem, | |
23147 | df_analyze, df_get_bb_info, df_set_bb_info, df_bb_replace, | |
23148 | df_bb_regno_last_use_find, df_bb_regno_first_def_find, | |
23149 | df_bb_regno_last_def_find, df_insn_regno_def_p, df_find_def, | |
23150 | df_reg_defined, df_find_use, df_reg_used, df_dump, | |
23151 | df_refs_chain_dump, df_regs_chain_dump, df_insn_debug, | |
23152 | df_insn_debug_regno, df_regno_debug, df_ref_debug, debug_df_insn, | |
23153 | debug_df_reg, debug_df_regno, debug_df_ref debug_df_defno, | |
23154 | debug_df_useno, reset_df_after_reload): New functions. | |
23155 | * df-scan.c: The scanning fuctions, once in df.c, completely | |
23156 | rewritten so that they now fully model the functionality of | |
23157 | register usage at the backend. | |
23158 | (df_scan_free_internal, df_scan_get_bb_info, df_scan_set_bb_info, | |
23159 | df_scan_free_bb_info, df_scan_alloc, df_scan_free, df_scan_dump, | |
23160 | df_scan_add_problem, df_grow_reg_info, df_grow_ref_info, | |
23161 | df_grow_insn_info, df_rescan_blocks, df_ref_create, | |
23162 | df_get_artificial_defs, df_get_artificial_uses, | |
23163 | df_reg_chain_create, df_ref_unlink, df_reg_chain_unlink, | |
23164 | df_ref_remove, df_insn_create_insn_record, df_insn_refs_delete, | |
23165 | df_refs_delete, df_reorganize_refs, df_set_state, | |
23166 | df_ref_create_structure, df_ref_record, df_read_modify_subreg_p, | |
23167 | df_def_record_1, df_defs_record, df_uses_record, | |
23168 | df_insn_contains_asm_1, df_insn_contains_asm, df_insn_refs_record, | |
23169 | df_has_eh_preds, df_bb_refs_record, df_refs_record, df_mark_reg, | |
23170 | df_record_exit_block_uses, df_hard_reg_init): New functions. | |
23171 | ||
23172 | * df-problems.c: Seven concrete dataflow problems that use the | |
23173 | scanning in df-scan.c and are solved by the engine in df-core.c. | |
23174 | (df_get_dependent_problem, df_chain_create, df_chain_unlink, | |
23175 | df_chain_copy, df_get_live_in, df_get_live_out, df_grow_bb_info, | |
23176 | df_chain_dump, df_print_bb_index, df_ref_bitmap, df_set_seen, | |
23177 | df_unset_seen, df_ru_get_bb_info, df_ru_set_bb_info, | |
23178 | df_ru_free_bb_info, df_ru_alloc, | |
23179 | df_ru_bb_local_compute_process_def, | |
23180 | df_ru_bb_local_compute_process_use, df_ru_bb_local_compute, | |
23181 | df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n, | |
23182 | df_ru_transfer_function, df_ru_free, df_ru_dump, | |
23183 | df_ru_add_problem, df_rd_get_bb_info, df_rd_set_bb_info, | |
23184 | df_rd_free_bb_info, df_rd_alloc, | |
23185 | df_rd_bb_local_compute_process_def, df_rd_bb_local_compute, | |
23186 | df_rd_local_compute, df_rd_init_solution, df_rd_confluence_n, | |
23187 | df_rd_transfer_function, df_rd_free, df_rd_dump, | |
23188 | df_rd_add_problem, df_lr_get_bb_info, df_lr_set_bb_info, | |
23189 | df_lr_free_bb_info, df_lr_alloc, df_lr_bb_local_compute, | |
23190 | df_lr_local_compute, df_lr_init, df_lr_confluence_0, | |
23191 | df_lr_confluence_n, df_lr_transfer_function, df_lr_free, | |
23192 | df_lr_dump, df_lr_add_problem, df_ur_get_bb_info, | |
23193 | df_ur_set_bb_info, df_ur_free_bb_info, df_ur_alloc, | |
23194 | df_ur_bb_local_compute, df_ur_local_compute, df_ur_init, | |
23195 | df_ur_local_finalize, df_ur_confluence_n, df_ur_transfer_function, | |
23196 | df_ur_free, df_ur_dump, df_ur_add_problem, df_urec_get_bb_info, | |
23197 | df_urec_set_bb_info, df_urec_free_bb_info, df_urec_alloc, | |
23198 | df_urec_mark_reg_change, df_urec_check_earlyclobber, | |
23199 | df_urec_mark_reg_use_for_earlyclobber, | |
23200 | df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute, | |
23201 | df_urec_local_compute, df_urec_init, df_urec_local_finalize, | |
23202 | df_urec_confluence_n, df_urec_transfer_function, df_urec_free, | |
23203 | df_urec_dump, df_urec_add_problem, df_chain_alloc, | |
23204 | df_chain_create_bb_process_use, df_chain_create_bb, | |
23205 | df_chain_finalize, df_chain_free, df_chains_dump, | |
23206 | df_chain_add_problem, df_ri_alloc, df_ri_bb_compute, | |
23207 | df_ri_compute, df_ri_free, df_ri_dump, df_ri_add_problem, | |
23208 | df_reg_lifetime): New functions. | |
23209 | * df.c: Deleted file. | |
23210 | * ddg.c (create_ddg_dep_no_link, build_inter_loop_deps): Made code | |
23211 | consistent with new df api. | |
23212 | * modulo-sched.c (sms_schedule, rest_of_handle_sms, | |
23213 | rest_of_handle_sms): Ditto. | |
23214 | * web.c (unionfind_union, union_defs, entry_register, web_main): | |
23215 | Ditto. | |
23216 | * loop_invariant.c (invariant_for_use, hash_invariant_expr_1, | |
23217 | invariant_expr_equal_p, find_defs, check_dependencies, | |
23218 | find_invariant_insn, find_invariants_to_move, move_invariant_reg, | |
23219 | free_inv_motion_data, move_loop_invariants): Ditto. | |
23220 | * Makefile.in (df.c, df-scan.c df-problems.c df-core.c): | |
23221 | Update dependencies. | |
23222 | (odf.c): Added defective entry that was deleted later in day. | |
23223 | * sched-deps.c (sched_analyze_1): Ditto. | |
23224 | ||
23225 | 2006-01-11 Zdenek Dvorak <dvorakz@suse.cz> | |
23226 | ||
23227 | * tree-ssa-operands.c (get_expr_operands): Record addressable | |
23228 | variables directly. Do not call add_stmt_operands for CONST_DECLs | |
23229 | and ARRAY_DECLs. | |
23230 | (get_indirect_ref_operands): Remove handling of *(&a + offset) case. | |
23231 | (add_stmt_operands): Handle only objects satisfying SSA_VAR_P. | |
23232 | ||
23233 | 2006-01-11 Ben Elliston <bje@au.ibm.com> | |
23234 | ||
23235 | * config/i386/i386.c (ix86_return_in_memory): Fix comment: this | |
23236 | function returns true in the positive case. | |
23237 | ||
23238 | 2006-01-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
23239 | ||
23240 | PR target/20754 | |
23241 | * config/pa/pa.md: Create separate 32 and 64-bit move patterns | |
23242 | for SI, DI, SF and DF modes. Add alternatives to copy between | |
23243 | general and floating point registers to the 32-bit patterns. | |
23244 | * config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED_RTX): Delete undefine. | |
23245 | * config/pa/pa.h (SECONDARY_MEMORY_NEEDED_RTX): Delete define. | |
23246 | (SECONDARY_MEMORY_NEEDED): Secondary memory is only needed when | |
23247 | generating 64-bit code. | |
23248 | * config/pa/pa.c (output_move_double): Handle copies between general | |
23249 | and floating registers. | |
23250 | ||
23251 | 2006-01-10 Stuart Hastings <stuart@apple.com> | |
23252 | ||
23253 | * config/i386/i386.md (set_got): Update. | |
23254 | (set_got_labelled): New. (UNSPEC_LD_MPIC): New. | |
23255 | (builtin_setjmp_receiver): Mach-O support. | |
23256 | * config/i386/darwin.h (TARGET_ASM_FILE_END) Define. | |
23257 | (GOT_SYMBOL_NAME): Define. | |
23258 | (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New. | |
23259 | (TARGET_DEEP_BRANCH_PREDICTION): Remove. | |
23260 | * config/i386/i386.c (override_options): Revise for Darwin. | |
23261 | (USE_HIDDEN_LINKONCE): Enable for Mach-O. (ix86_file_end): Mach-O | |
23262 | support. (darwin_x86_file_end): New. (output_set_got): Add label | |
23263 | parameter, revise for Mach-O. (x86_output_mi_thunk): Likewise. | |
23264 | * config/i386/i386-protos.h (output_set_got): Likewise. | |
23265 | * config/darwin.c (machopic_legitimize_pic_address): Update | |
23266 | regs_ever_live[]. | |
23267 | ||
23268 | 2006-01-10 Kaz Kojima <kkojima@gcc.gnu.org> | |
23269 | ||
23270 | * config/sh/sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Use GET_MODE_SIZE | |
23271 | when MODE isn't BLKmode. | |
23272 | ||
23273 | 2006-01-10 Eric Botcazou <ebotcazou@libertysurf.fr> | |
23274 | ||
23275 | PR rtl-optimization/25367 | |
23276 | * config/sparc/sparc.h (HARD_REGNO_RENAME_OK): New macro. | |
23277 | ||
23278 | 2006-01-10 Hans-Peter Nilsson <hp@axis.com> | |
23279 | ||
23280 | PR target/25718 | |
23281 | * config/cris/cris.md ("uminsi3"): Don't use 8- or 16-bit sizes | |
23282 | for a negative bound. | |
23283 | ||
23284 | 2006-01-10 Richard Guenther <rguenther@suse.de> | |
23285 | ||
23286 | * tree-ssa-structalias.c (get_constraint_for_component_ref): | |
23287 | Never override with anything constraint. | |
23288 | ||
23289 | 2006-01-10 Jan Beulich <jbeulich@novell.com> | |
23290 | ||
23291 | * config/i386/i386.c (ix86_data_alignment): Don't force alignment to | |
23292 | 256 bits when optimize_size. | |
23293 | ||
23294 | 2006-01-10 Jan Beulich <jbeulich@novell.com> | |
23295 | ||
23296 | * config/i386/netware.h (TARGET_SUBTARGET_DEFAULT): Include | |
23297 | MASK_ALIGN_DOUBLE. | |
23298 | * config/i386/nwld.h (LINK_SPEC): Add --extensions:GNU option. | |
23299 | * config/i386/t-nwld (SHLIB_LINK): Insert spaces between expr | |
23300 | arguments. | |
23301 | ||
23302 | 2006-01-10 Ben Elliston <bje@au.ibm.com> | |
23303 | ||
23304 | * config/rs6000/predicates.md (easy_fp_constant): Discount decimal | |
23305 | float modes. | |
23306 | * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): New. | |
23307 | (TARGET_SCALAR_MODE_SUPPORTED_P): Define. | |
23308 | (USE_FP_FOR_ARG): Reject decimal float modes. | |
23309 | (function_arg_advance): Likewise. | |
23310 | (output_toc): Handle emitting TDmode, DDmode and SDmode constants. | |
23311 | (rs6000_handle_altivec_attribute): Do not permit decimal floating | |
23312 | point types in AltiVec vectors. | |
23313 | (rs6000_function_value): Use GP_ARG_RETURN for decimal floats. | |
23314 | (rs6000_libcall_value): Likewise. | |
23315 | ||
23316 | 2006-01-09 Bob Wilson <bob.wilson@acm.org> | |
23317 | ||
23318 | * config/xtensa/ieee754-df.S: New file. | |
23319 | * config/xtensa/ieee754-sf.S: New file. | |
23320 | * config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove fp-bit.c & dp-bit.c. | |
23321 | (LIB1ASMFUNCS): Add SFmode and DFmode floating-point functions. | |
23322 | * config/xtensa/lib1funcs.asm: Include ieee754-df.S and ieee754-sf.S. | |
23323 | ||
23324 | 2006-01-09 Kazu Hirata <kazu@codesourcery.com> | |
23325 | ||
23326 | * config/sh/predicates.md (binary_float_operator, | |
23327 | binary_logical_operator, commutative_float_operator, | |
23328 | equality_comparison_operator, greater_comparison_operator, | |
23329 | less_comparison_operator, logical_operator, | |
23330 | noncommutative_float_operator, shift_operator, | |
23331 | symbol_ref_operand, unary_float_operator): Remove redundant | |
23332 | conditionals. | |
23333 | ||
23334 | 2006-01-09 Jeff Law <law@redhat.com> | |
23335 | ||
23336 | * tree-ssa-dom.c (simplify_cond_and_lookup_avail_expr): Remove | |
23337 | code to propagate the RHS of a cast into COND_EXPR_COND. Remove | |
23338 | now unused arguments. Callers updated. | |
23339 | (eliminate_redundant_computations): Remove now unused arguments, | |
23340 | callers updated. | |
23341 | (local_fold): Remove, no longer used. | |
23342 | (find_equivalent_equality_comparison): Removed from tree-ssa-dom.c | |
23343 | and moved to... | |
23344 | * tree-ssa-forwprop.c (find_equivalent_equality_comparison): Here. | |
23345 | (simplify_cond): New function. | |
23346 | (forward_propagate_into_cond): Call simplify_cond. | |
23347 | ||
23348 | 2006-01-09 Alexandre Oliva <aoliva@redhat.com> | |
23349 | ||
23350 | * config/i386/sse.md (*vec_extractv2di_1_sse2): New. | |
23351 | (*vec_extractv2di_1_sse): New. | |
23352 | ||
23353 | 2006-01-09 Ben Elliston <bje@au.ibm.com> | |
23354 | ||
23355 | * config/rs6000/rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Typo fix. | |
23356 | ||
23357 | 2006-01-08 Richard Guenther <rguenther@suse.de> | |
23358 | ||
23359 | * tree-ssa-structalias.c (get_constraint_for): Remove | |
23360 | anyoffset argument. | |
23361 | (get_constraint_for_component_ref): Likewise. | |
23362 | (do_deref): Likewise. | |
23363 | (get_constraint_for): Likewise. | |
23364 | (do_structure_copy): Likewise. | |
23365 | (handle_ptr_arith): Likewise. | |
23366 | (find_func_aliases): Likewise. Remove unused need_anyoffset | |
23367 | variable. | |
23368 | ||
23369 | 2006-01-08 J"orn Rennecke <joern.rennecke@st.com> | |
23370 | Kaz Kojima <kkojima@gcc.gnu.org> | |
23371 | ||
23372 | * config/sh/sh.h (CONST_OK_FOR_K16): Define. | |
23373 | (CONST_OK_FOR_K): Add CONST_OK_FOR_K16 case. | |
23374 | (EXTRA_CONSTRAINT_C16): Remove. | |
23375 | (EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Define. | |
23376 | (EXTRA_CONSTRAINT_C): Remove EXTRA_CONSTRAINT_C16 case and add | |
23377 | EXTRA_CONSTRAINT_Css and EXTRA_CONSTRAINT_Csu cases. | |
23378 | * config/sh/sh.c (print_operand): Handle unsigned 16-bit symbolic | |
23379 | constants of SHmedia. Handle nested constant expressions of | |
23380 | SHmedia correctly. | |
23381 | (andcosts): Fix the costs for SHmedia constants. | |
23382 | (sh_rtx_costs): Take account of outer_code for SHmedia constants. | |
23383 | * config/sh/sh.md (*movsi_media): Use Css constraint instead of C16. | |
23384 | (*movsi_media_nofpu, *movqi_media, *movhi_media): Likewise. | |
23385 | (*movdi_media, *movdi_media_nofpu, movv8qi_i, movv2hi_i): Likewise. | |
23386 | (movv4hi_i, movv2si_i): Likewise. | |
23387 | (movsi_const): Adjust the second operand of ior so to match with | |
23388 | the Csu constraint. | |
23389 | (movdi_const, movdi_const_32bit): Likewise. | |
23390 | (movdi_const_16bit+1): Don't sign-extend LOW. | |
23391 | (movdi_const_16bit+2): Likewise. Remove the zero_extend and truncate | |
23392 | step. | |
23393 | (*double_shori): Fix the split condition. Use GEN_INT instead | |
23394 | of get_int_mode calls. Mask lower 16-bit of the argument of | |
23395 | the last GEN_INT. | |
23396 | (sym2GOTPLT): Remove. | |
23397 | (symGOTPLT2reg): Replace gen_sym2GOTPLT with gen_rtx_CONST and | |
23398 | gen_rtx_UNSPEC. | |
23399 | * config/sh/predicates.md (arith_operand): Use EXTRA_CONSTRAINT_Css | |
23400 | instead of EXTRA_CONSTRAINT_C16. | |
23401 | ||
23402 | 2006-01-07 Ian Lance Taylor <ian@airs.com> | |
23403 | David Edelsohn <edelsohn@gnu.org> | |
23404 | ||
23405 | PR rtl-optimization/25662 | |
23406 | * optabs.c (simplify_expand_binop): Use simplify_binary_operation | |
23407 | for constant operands instead of simplify_gen_binary. | |
23408 | * simplify-rtx.c (simplify_gen_binary): Swap commutative operands | |
23409 | after trying simplify_binary_operation | |
23410 | ||
23411 | 2006-01-06 Daniel Berlin <dberlin@dberlin.org> | |
23412 | ||
23413 | * tree.c (iterative_hash_expr): Hash decls based on UID. | |
23414 | ||
23415 | 2006-01-06 Eric Christopher <echristo@apple.com> | |
23416 | ||
23417 | * doc/tm.texi (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Document. | |
23418 | (TARGET_UNWIND_EMIT): Fix spelling. | |
23419 | * target.h (gcc_target): Add except_table_label. | |
23420 | * except.c (output_function_exception_table): Use. | |
23421 | * varasm.c (default_emit_except_table_label): New. | |
23422 | * target-def.h (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): New default | |
23423 | define. | |
23424 | (asm_out): Add here. | |
23425 | * output.h (default_emit_except_table_label): Prototype. | |
23426 | * config/darwin-protos.h (darwin_emit_except_table_label): Ditto. | |
23427 | * config/darwin.c (darwin_emit_except_table_label): Define. | |
23428 | * config/darwin.h (TARGET_ASM_EMIT_EXCEPT_TABLE): Ditto. | |
23429 | ||
23430 | 2006-01-06 Zdenek Dvorak <dvorakz@suse.cz> | |
23431 | ||
23432 | PR tree-optimization/18527 | |
23433 | * tree-ssa-loop-niter.c (number_of_iterations_cond, | |
23434 | number_of_iterations_special, number_of_iterations_exit): | |
23435 | Move base and step of an iv to a single structure. Add | |
23436 | no_overflow flag, and use it in # of iterations analysis. | |
23437 | * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Add | |
23438 | folded_casts argument. | |
23439 | (simple_iv): Pass base and step in a structure. Set no_overflow | |
23440 | flag. | |
23441 | (scev_const_prop): Add argument to analyze_scalar_evolution_in_loop. | |
23442 | Evaluate expensiveness of computing # of iterations instead of | |
23443 | the final expression. | |
23444 | * tree-scalar-evolution.h (affine_iv): New structure. | |
23445 | (simple_iv): Declaration changed. | |
23446 | * tree-chrec.c (chrec_apply): Handle chrecs containing symbols. | |
23447 | * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev, | |
23448 | find_givs_in_stmt): Changed due to simple_iv change. | |
23449 | ||
23450 | 2006-01-06 Jeff Law <law@redhat.com> | |
23451 | ||
23452 | PR ada/24994 | |
23453 | * tree-cfg.c (bsi_replace): Rename final argument from | |
23454 | PRESERVE_EH_INFO to UPDATE_EH_INFO. Fix typo in last | |
23455 | change (stmt -> orig_stmt). | |
23456 | * tree-eh.c (verify_eh_throw_stmt_node): New function. | |
23457 | (bsi_remove): Add new argument. Remove EH information | |
23458 | if requested. | |
23459 | (verify_eh_throw_table_statements): New function. | |
23460 | (bsi_remove): Add new argument REMOVE_EH_INFO. All callers | |
23461 | updated. | |
23462 | * tree-optimize.c (execute_free_cfg_annotations): Verify | |
23463 | the EH throw statement table after removing annotations. | |
23464 | * except.h (verify_eh_throw_table_statements): Prototype. | |
23465 | * tree-flow.h (bsi_remove): Update prototype. | |
23466 | * tree-vrp.c (remove_range_assertions): Add new argument to | |
23467 | bsi_remove call. | |
23468 | * tree-ssa-loop-im.c (move_computations_stmt): Likewise. | |
23469 | * tree-complex.c (expand_complex_div_wide): Likewise. | |
23470 | * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Likewise | |
23471 | * tree-tailcall.c (eliminate_tailcall): Likewise. | |
23472 | * tree-ssa-dse.c (dse_optimize_stmt): Likewise. | |
23473 | * tree-ssa-loop-ivopts.c (remove_statement): Likewise. | |
23474 | * tree-nrv.c (tree_nrv): Likewise. | |
23475 | * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Likewise. | |
23476 | * tree-if-conv.c (tree_if_convert_cond_expr): Likewise. | |
23477 | (combine_blocks): Likewise. | |
23478 | * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Likewise. | |
23479 | * tree-cfgcleanup.c (cleanup_ctrl_expr_graph): Likewise. | |
23480 | (cleanup_control_flow): Likewise. | |
23481 | (remove_forwarder_block): Likewise. | |
23482 | * tree-ssa-pre.c (remove_dead_inserted_code): Likewise. | |
23483 | * tree-sra.c (sra_replace): Likewise. | |
23484 | * tree-ssa-forwprop.c (forward_propagate_into_cond): Likewise. | |
23485 | (forward_propagate_single_use_vars): Likewise. | |
23486 | * tree-ssa-dce.c (remove_dead_stmt): Likewise. | |
23487 | * tree-inline.c (expand_call_inline): Likewise. | |
23488 | * tree-vect-transform.c (vect_transform_loop): Likewise. | |
23489 | * tree-outof-ssa.c (rewrite_trees): Likewise. | |
23490 | * tree-cfg.c (make_goto_expr_edges): Likewise. | |
23491 | (cleanup_dead_labels): Likewise. | |
23492 | (tree_merge_blocks, remove_bb, disband_implicit_edges): Likewise. | |
23493 | (bsi_move_before, bsi_move_after): Likewise. | |
23494 | (bsi_move_to_bb_end, try_redirect_by_replacing_jump): Likewise | |
23495 | (tree_redirect_edge_and_branch, tree_split_block): Likewise. | |
23496 | ||
23497 | 2006-01-06 Andrew Pinski <pinskia@physics.uc.edu> | |
23498 | ||
23499 | PR tree-opt/25528 | |
23500 | * tree-ssa-alias.c (find_used_portions): Handle REALPART_EXPR | |
23501 | and IMAGPART_EXPR. | |
23502 | * tree-flow-inline.h (var_can_have_subvars): Handle complex types | |
23503 | on non gimple variables. Also add checks at the top for decls and | |
23504 | mtags. | |
23505 | * tree-ssa-structalias.c (push_fields_onto_fieldstack): Handle | |
23506 | complex types. | |
23507 | * tree-ssa-operands.c (parse_ssa_operands): Handle REALPART_EXPR | |
23508 | and IMAGPART_EXPR for creating MUST_DEFs. | |
23509 | (get_expr_operands): Handle SSA_NAME, STRUCT_FIELD_TAG, TYPE_MEMORY_TAG, | |
23510 | and NAME_MEMORY_TAG separately from the DECLs. | |
23511 | ||
23512 | 2006-01-06 Richard Guenther <rguenther@suse.de> | |
23513 | ||
23514 | * tree-dfa.c (mark_new_vars_to_rename): Create stmt | |
23515 | annotation, if necessary. | |
23516 | * tree-ssa-pre.c (create_expression_by_pieces): Remove | |
23517 | redundant calls to update_stmt. | |
23518 | * tree-ssa-forwprop.c (tidy_after_forward_propagate_addr): | |
23519 | Likewise. | |
23520 | ||
23521 | 2006-01-05 Richard Henderson <rth@redhat.com> | |
23522 | ||
23523 | * c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA. | |
23524 | ||
23525 | 2006-01-05 Carlos O'Donell <carlos@codesourcery.com> | |
23526 | ||
23527 | * c-typeck.c: Update copyright date. | |
23528 | ||
23529 | 2006-01-05 Carlos O'Donell <carlos@codesourcery.com> | |
23530 | ||
23531 | * c-typeck.c (build_c_cast): Always warn when casting | |
23532 | from a pointer to an integer of different size, even if | |
23533 | the node was constant. | |
23534 | ||
23535 | 2006-01-05 Richard Guenther <rguenther@suse.de> | |
23536 | ||
23537 | PR tree-optimization/22555 | |
23538 | * tree-ssa-alias.c (create_overlap_variables_for): Do not give up, | |
23539 | if one structure field is an array. | |
23540 | * tree-ssa-operands.c (get_expr_operands): Continue scanning | |
23541 | operands even if we found a subvar, but ignore VOPs in this | |
23542 | case. | |
23543 | * tree-ssa-loop-ivopts.c (rewrite_use): Mark new vars in stmt | |
23544 | for renaming. | |
23545 | * tree-ssa-loop.c (pass_iv_optimize): Schedule TODO_update_ssa. | |
23546 | ||
23547 | 2006-01-05 Richard Earnshaw <rearnsha@arm.com> | |
23548 | ||
23549 | PR middle-end/24998 | |
23550 | * arm/t-netbsd (LIB2FUNCS_EXTRA): Define. | |
23551 | ||
23552 | 2006-01-05 Richard Guenther <rguenther@suse.de> | |
23553 | Diego Novillo <dnovillo@redhat.com> | |
23554 | ||
23555 | * tree-pass.h (TODO_remove_unused_locals): Define. | |
23556 | * gimple-low.c (expand_var_p, remove_useless_vars, | |
23557 | pass_remove_useless_vars): Remove. Update all users. | |
23558 | * tree-ssa-live.c (mark_all_vars_used_1): Handle SSA names. | |
23559 | (remove_unused_locals): New function. | |
23560 | * tree-flow.h (remove_unused_locals): Declare. | |
23561 | * passes.c (execute_todo): Call remove_unused_locals if | |
23562 | TODO_remove_unused_locals is set. | |
23563 | * tree-into-ssa.c (pass_build_ssa): Add TODO_remove_unused_locals. | |
23564 | * tree-ssa-dce.c (pass_dce): Likewise. | |
23565 | * tree-outof-ssa.c (pass_del_ssa): Likewise. | |
23566 | ||
23567 | 2006-01-05 Richard Guenther <rguenther@suse.de> | |
23568 | ||
23569 | * tree-flow.h (struct fieldoff): Decompose field to | |
23570 | type, size and decl. | |
23571 | * tree-ssa-alias.c (create_sft): Take type as parameter. | |
23572 | (create_overlap_variables_for): Store type, size and decl | |
23573 | in the fieldoff structure. | |
23574 | * tree-ssa-structalias.c (fieldoff_compare): Adjust users | |
23575 | of struct fieldoff. | |
23576 | (push_fields_onto_fieldstack): Likewise. | |
23577 | (create_variable_info_for): Likewise. Use offset for the | |
23578 | SFT name if the decl is not available. | |
23579 | ||
23580 | 2006-01-04 Paul Brook <paul@codesourcery.com> | |
23581 | ||
23582 | * config/m68k/m68k.c (m68k_output_mi_thunk): Use jmp, not jsr. | |
23583 | ||
23584 | 2006-01-04 Daniel Berlin <dberlin@dberlin.org> | |
23585 | ||
23586 | * lambda-code.c (can_put_in_inner_loop): Relax | |
23587 | restrictions. | |
23588 | (can_put_after_inner_loop): New function. | |
23589 | (can_convert_to_perfect_nest): Use can_put_after_inner_loop as well. | |
23590 | (perfect_nestify): Change to make copies and modify uses. | |
23591 | ||
23592 | 2006-01-04 Richard Henderson <rth@redhat.com> | |
23593 | ||
23594 | Merge from gomp branch: | |
23595 | * c-lex.c (c_lex_with_flags) <CPP_PRAGMA>: Smuggle pragma id | |
23596 | via integer constant. | |
23597 | (pragma_lex): Remove. | |
23598 | * c-pch.c (c_common_pch_pragma): Accept the name as an argument, | |
23599 | rather than parsing it. | |
23600 | * c-pragma.c (handle_pragma_weak, handle_pragma_redefine_extname, | |
23601 | handle_pragma_extern_prefix): Add %< %> quotes. | |
23602 | (registered_pragmas): New. | |
23603 | (c_register_pragma_1): New. | |
23604 | (c_register_pragma): Use it. | |
23605 | (c_register_pragma_with_expansion): Likewise. | |
23606 | (c_invoke_pragma_handler): New. | |
23607 | (init_pragma): Use cpp_register_deferred_pragma directly for | |
23608 | pch_preprocess. | |
23609 | * c-pragma.h (enum pragma_kind): New. | |
23610 | (pragma_handler): New. | |
23611 | (c_invoke_pragma_handler): Declare. | |
23612 | * c-common.c (c_parse_error): Pretty print CPP_PRAGMA and | |
23613 | CPP_PRAGMA_EOL. | |
23614 | * c-common.h (c_common_pch_pragma): Update decl. | |
23615 | * Makefile.in (c-parser.o): Update dependencies. | |
23616 | (GTFILES): Add c-pragma.h. | |
23617 | * c-parser.c (struct c_token): Add pragma_kind. | |
23618 | (struct c_parser): Add in_pragma. | |
23619 | (c_lex_one_token): Always initialize keyword and pragma_kind. | |
23620 | Extract data for CPP_PRAGMA. | |
23621 | (c_parser_peek_2nd_token): Deny CPP_PRAGMA_EOL. | |
23622 | (c_parser_consume_token): Don't allow CPP_PRAGMA unless errors. | |
23623 | Don't allow CPP_PRAGMA_EOL if in_pragma. | |
23624 | (c_parser_consume_pragma): New. | |
23625 | (c_parser_skip_until_found): Stop on CPP_PRAGMA_EOL. | |
23626 | (c_parser_skip_to_end_of_parameter): Likewise. | |
23627 | (c_parser_skip_to_end_of_block_or_statement): Likewise. | |
23628 | (c_parser_skip_to_pragma_eol): New. | |
23629 | (c_parser_external_declaration): Handle CPP_PRAGMA. | |
23630 | (c_parser_compound_statement_nostart): Likewise. | |
23631 | (c_parser_statement_after_labels): Likewise. | |
23632 | (c_parser_pragma): New. | |
23633 | (pragma_lex): Likewise. | |
23634 | (c_parser_pragma_pch_preprocess): New. | |
23635 | (c_parser_new): Merge into ... | |
23636 | (c_parse_file): ... here. Call c_parser_pragma_pch_preprocess. | |
23637 | ||
23638 | 2006-01-04 Jeff Law <law@redhat.com> | |
23639 | ||
23640 | PR ada/24994 | |
23641 | * tree-cfg.c (bsi_replace): Remove the original statement | |
23642 | from the EH throw statement table. | |
23643 | ||
23644 | 2006-01-04 Jakub Jelinek <jakub@redhat.com> | |
23645 | ||
23646 | * config/i386/pmm_malloc.h (posix_memalign): If __cplusplus, | |
23647 | make the prototype extern "C" and add throw (). | |
23648 | ||
23649 | PR target/25554 | |
23650 | * config/i386/i386.md (testqi_ext_3): Ensure len is positive | |
23651 | and pos non-negative and pos + len <= 32. | |
23652 | (testqi_ext_3_rex64): Ensure len is positive and pos non-negative, | |
23653 | drop pos + len < HOST_BITS_PER_WIDE_INT test. | |
23654 | (testqi_ext_3* splitter): Handle pos + len == HOST_BITS_PER_WIDE_INT. | |
23655 | ||
23656 | PR c/25559 | |
23657 | * c-common.c (handle_vector_size_attribute): Reject zero vector size | |
23658 | as well as sizes not multiple of component size. | |
23659 | ||
23660 | PR debug/25562 | |
23661 | * function.c (instantiate_expr): New function. | |
23662 | (instantiate_decls_1, instantiate_decls): If DECL_HAS_VALUE_EXPR_P, | |
23663 | walk its DECL_VALUE_EXPR with instantiate_expr. | |
23664 | ||
23665 | * dwarf2out.c (loc_descriptor_from_tree_1): Don't add | |
23666 | DW_OP_deref{,_size} if address isn't going to be added. | |
23667 | ||
23668 | 2006-01-04 Ben Elliston <bje@au.ibm.com> | |
23669 | ||
23670 | * config/fp-bit.h: Use top-of-file comment from libgcc2.c. | |
23671 | * config/fp-bit.c: Likewise. | |
23672 | ||
23673 | 2006-01-03 Daniel Berlin <dberlin@dberlin.org> | |
23674 | ||
23675 | * dominance.c: Add comment about why we use DFS numbering | |
23676 | of dominance tree. | |
23677 | ||
23678 | 2006-01-03 Jakub Jelinek <jakub@redhat.com> | |
23679 | Richard Henderson <rth@redhat.com> | |
23680 | ||
23681 | Merge from gomp-branch: | |
23682 | * varasm.c (assemble_variable): Handle thread-local COMMON data. | |
23683 | * defaults.h (ASM_OUTPUT_TLS_COMMON): Define. | |
23684 | ||
23685 | 2006-01-03 Paolo Bonzini <bonzini@gnu.org> | |
23686 | ||
23687 | PR rtl-optimization/25578 | |
23688 | * combine.c (combine_simplify_rtx, force_to_mode): Don't | |
23689 | pass a parameter to simplify_shift_const if changing ASHIFTRT | |
23690 | to LSHIFTRT. | |
23691 | ||
23692 | 2006-01-03 Adrian Straetling <straetling@de.ibm.com> | |
23693 | ||
23694 | * builtins.c (get_builtin_sync_mem): New function. | |
23695 | (expand_builtin_sync_operation, expand_builtin_compare_and_swap, | |
23696 | expand_builtin_lock_test_and_set, expand_builtin_lock_release): | |
23697 | Call get_builtin_sync_mem to generate mem rtx. | |
23698 | ||
23699 | 2006-01-03 Richard Guenther <rguenther@suse.de> | |
23700 | ||
23701 | PR c/25183 | |
23702 | * stmt.c (add_case_node): Make sure to clear overflow flags | |
23703 | from ranges. | |
23704 | ||
23705 | 2006-01-03 Jakub Jelinek <jakub@redhat.com> | |
23706 | ||
23707 | Merge from gomp-branch. | |
23708 | * config/sparc/sync.md: New file. | |
23709 | * config/sparc/sparc.md (UNSPECV_MEMBAR, UNSPECV_CAS, UNSPECV_SWAP, | |
23710 | UNSPECV_LDSTUB): New constants. | |
23711 | * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): New function. | |
23712 | * config/sparc/predicates.md (memory_reg_operand): New predicate. | |
23713 | * config/sparc/sparc-protos.h (sparc_expand_compare_and_swap_12): New | |
23714 | prototype. | |
23715 | ||
23716 | 2006-01-03 Roger Sayle <roger@eyesopen.com> | |
23717 | ||
23718 | * combine.c (reg_subword_p): New predicate to test whether the | |
23719 | destination of a set refers to a subword/piece of a register. | |
23720 | (try_combine): Generalize the code to merge the setting of a | |
23721 | pseudo to a constant followed by a set of a subword of that | |
23722 | register to a constant. | |
23723 | ||
23724 | 2006-01-03 Kazu Hirata <kazu@codesourcery.com> | |
23725 | ||
23726 | * basic-block.h (control_flow_graph): Change the type of | |
23727 | x_label_to_block_map to VEC(basic_block,gc) *. | |
23728 | * tree-cfg.c (init_empty_tree_cfg, label_to_block_fn, | |
23729 | set_bb_for_stmt): Adjust the uses of x_label_to_block_map. | |
23730 | ||
23731 | * tree-ssa-propagate.c (cfg_blocks): Change the type to | |
23732 | VEC(basic_block,heap) *. | |
23733 | (cfg_blocks_add, cfg_blocks_get, ssa_prop_init, | |
23734 | ssa_prop_fini): Adjust the uses of cfg_blocks. | |
23735 | ||
23736 | 2006-01-03 Steven Bosscher <stevenb.gcc@gmail.com> | |
23737 | ||
23738 | * fold-const.c (operand_equal_p): Accept a NULL operand 0 for | |
23739 | COMPONENT_REFs. | |
23740 | * emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for | |
23741 | hashing trees instead of a pointer hash. | |
23742 | (mem_attrs_htab_eq): Do a deep compare instead of a pointer | |
23743 | compare for MEM_EXPR. | |
23744 | ||
23745 | PR rtl-optimization/25130 | |
23746 | * cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET | |
23747 | when comparing MEMs for GCSE | |
23748 | ||
23749 | 2006-01-03 Ben Elliston <bje@au.ibm.com> | |
23750 | ||
23751 | * targhooks.h (default_decimal_float_supported_p): Declare. | |
23752 | * targhooks.c (default_decimal_float_supported_p): Define. | |
23753 | * target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Redefine to | |
23754 | `default_decimal_float_supported_p'. | |
23755 | * doc/tm.texi (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Update. | |
23756 | ||
23757 | 2006-01-02 Adam Nemet <anemet@caviumnetworks.com> | |
23758 | ||
23759 | * combine.c (apply_distributive_law <SUBREG>): Check | |
23760 | TRULY_NOOP_TRUNCATION. | |
23761 | ||
23762 | 2006-01-02 Geoffrey Keating <geoffk@apple.com> | |
23763 | ||
23764 | * dwarf2out.c (have_switched_text_section): Delete. | |
23765 | (have_multiple_function_sections): New. | |
23766 | (have_location_lists): Make 'bool'. | |
23767 | (add_AT_loc_list): Use 'true' not '1'. | |
23768 | (dwarf2out_switch_text_section): Set have_multiple_function_sections. | |
23769 | (output_loc_list): Use have_multiple_function_sections. | |
23770 | (output_ranges): Likewise. | |
23771 | (dwarf2out_begin_function): Set have_multiple_function_sections if | |
23772 | necessary. | |
23773 | (dwarf2out_source_line): Don't fake separate_line_info_table_in_use. | |
23774 | Check function_section rather than DECL_SECTION_NAME. | |
23775 | (dwarf2out_finish): Use have_multiple_function_sections. | |
23776 | Don't clear have_location_lists. | |
23777 | ||
23778 | 2006-01-02 Eric Botcazou <ebotcazou@adacore.com> | |
23779 | Jan Hubicka <jh@suse.cz> | |
23780 | ||
23781 | * cfglayout.c (fixup_reorder_chain): Remove kludge for the | |
23782 | case of conditional jump jumping to the next instruction. | |
23783 | * cfgrtl.c (force_nonfallthru_and_redirect): Accept all | |
23784 | cases of conditional jump jumping to the next instruction. | |
23785 | ||
23786 | 2006-01-02 Jan Hubicka <jh@suse.cz> | |
23787 | ||
23788 | * i386.c (*_cost): Add COSTS_N_INSNS. | |
23789 | (ix86_rtx_costs): Do not use COSTS_N_INSNS. | |
23790 | ||
23791 | 2006-01-02 Paolo Bonzini <bonzini@gnu.org> | |
23792 | ||
23793 | PR target/25259 | |
23794 | * Makefile.in (DECNUMINC): Include libdecnumber's build directory. | |
23795 | ||
23796 | 2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
23797 | ||
23798 | * config/arm/arm.c (all_fpus): Fix comment typo. | |
23799 | * config/darwin.c: Likewise. | |
23800 | * config/frv/frv.h (FRV_STRUCT_VALUE_REGNUM): Likewise. | |
23801 | * config/h8300/h8300.md (extendqisi2_h8300hs): Likewise. | |
23802 | * config/m68hc11/m68hc11.c (m68hc11_reload_operands): Likewise. | |
23803 | ||
23804 | 2006-01-01 David Edelsohn <edelsohn@gnu.org> | |
23805 | ||
23806 | * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): New. | |
23807 | (rs6000_split_compare_and_swapqhi): New. | |
23808 | * config/rs6000/sync.md (sync_compare_and_swap{hi,qi}): New. | |
23809 | (sync_compare_and_swapqhi_internal): New. | |
23810 | * config/rs6000/rs6000-protos.h: Declare. | |
ad41bd84 JM |
23811 | |
23812 | \f | |
23813 | Copyright (C) 2006 Free Software Foundation, Inc. | |
23814 | ||
23815 | Copying and distribution of this file, with or without modification, | |
23816 | are permitted in any medium without royalty provided the copyright | |
23817 | notice and this notice are preserved. |