1 |
280 |
jeremybenn |
2006-12-31 Richard Guenther
|
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
|
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
|
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
|
21 |
|
|
|
22 |
|
|
* tree-inline.c: Fix a comment typo.
|
23 |
|
|
|
24 |
|
|
2006-12-30 Jan Hubicka
|
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
|
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
|
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
|
47 |
|
|
Vladimir Yanovsky
|
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
|
53 |
|
|
|
54 |
|
|
* cgraph.c (cgraph_expand_queue): Rename to...
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
178 |
|
|
|
179 |
|
|
* tree-ssa-operands.c: Fix a comment typo.
|
180 |
|
|
|
181 |
|
|
2006-12-25 Kazu Hirata
|
182 |
|
|
|
183 |
|
|
* tree-vectorizer.h (VECT_SMODULO): Remove.
|
184 |
|
|
|
185 |
|
|
2006-12-24 Andreas Tobler
|
186 |
|
|
|
187 |
|
|
* config/pa/pa.c: Remove heap vector type defines.
|
188 |
|
|
|
189 |
|
|
2006-12-24 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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
|
267 |
|
|
|
268 |
|
|
* cgraphunit.c (cgraph_optimize): Fixed obvious thinko in memory
|
269 |
|
|
consumption reporting.
|
270 |
|
|
|
271 |
|
|
2006-12-23 Manuel Lopez-Ibanez
|
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
|
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
|
288 |
|
|
|
289 |
|
|
* rtl.h (NOTE_EXPECTED_VALUE): Remove.
|
290 |
|
|
|
291 |
|
|
2006-12-23 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
445 |
|
|
|
446 |
|
|
* config/spu/spu.c (spu_builtin_mul_widen_even): Remove unused
|
447 |
|
|
local variable `d'.
|
448 |
|
|
|
449 |
|
|
2006-12-20 Jan Hubicka
|
450 |
|
|
|
451 |
|
|
* tree-dfa.c (add_referenced_var): Walk initializers of
|
452 |
|
|
non-constant/readonly static vars.
|
453 |
|
|
|
454 |
|
|
2006-12-20 Jan Hubicka
|
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
|
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
|
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
|
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
|
490 |
|
|
|
491 |
|
|
* tree-gimple.c (is_gimple_min_invariant): Treat constant vector
|
492 |
|
|
CONSTRUCTORs as min invariants.
|
493 |
|
|
|
494 |
|
|
2006-12-20 Joseph Myers
|
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
|
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
|
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
|
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
|
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
|
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
|
568 |
|
|
|
569 |
|
|
* doc/invoke.texi (Optimize Options): Typo fix.
|
570 |
|
|
|
571 |
|
|
2006-12-19 Eric Christopher
|
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
|
581 |
|
|
|
582 |
|
|
* config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL): Add undef.
|
583 |
|
|
|
584 |
|
|
2006-12-19 Paolo Bonzini
|
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
|
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
|
598 |
|
|
Eric Christopher
|
599 |
|
|
|
600 |
|
|
PR target/29302
|
601 |
|
|
* real.c (real_maxval): Correctly handle IBM extended double format.
|
602 |
|
|
|
603 |
|
|
2006-12-19 Jan Hubicka
|
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
|
610 |
|
|
|
611 |
|
|
* config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
|
612 |
|
|
|
613 |
|
|
2006-12-19 Ben Elliston
|
614 |
|
|
|
615 |
|
|
* cse.c (cse_insn): Fix formatting.
|
616 |
|
|
|
617 |
|
|
2006-12-18 Geoffrey Keating
|
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
|
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
|
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
|
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
|
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
|
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
|
687 |
|
|
|
688 |
|
|
PR libstdc++/11953
|
689 |
|
|
* gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.
|
690 |
|
|
|
691 |
|
|
2006-12-17 Steven Bosscher
|
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
|
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
|
714 |
|
|
|
715 |
|
|
* cgraphunit.c (ipa_passes): Clear current_function_decl.
|
716 |
|
|
|
717 |
|
|
2006-12-16 Andreas Tobler
|
718 |
|
|
|
719 |
|
|
* passes.c (verify_curr_properties): Define only for ENABLE_CHECKING.
|
720 |
|
|
|
721 |
|
|
2006-12-16 Jan Hubicka
|
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
|
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
|
752 |
|
|
|
753 |
|
|
PR target/30185
|
754 |
|
|
* config/rs6000/rs6000.md (div3): Use correct mode in
|
755 |
|
|
force_reg call.
|
756 |
|
|
|
757 |
|
|
2006-12-15 Andrew Pinski
|
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
|
764 |
|
|
|
765 |
|
|
* invoke.texi (mstringop-strategy): Add missing "byte_loop" value.
|
766 |
|
|
|
767 |
|
|
2006-12-14 Jan Hubicka
|
768 |
|
|
|
769 |
|
|
* tree-flow.h (struct stmt_ann_d): Move bitfield references_memory
|
770 |
|
|
to proper place.
|
771 |
|
|
|
772 |
|
|
2006-12-14 Richard Guenther
|
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
|
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
|
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
|
794 |
|
|
Trevor Smigiel
|
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_, spu_lvsr): New.
|
804 |
|
|
|
805 |
|
|
2006-12-13 Ian Lance Taylor
|
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
|
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
|
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
|
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
|
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
|
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
|
918 |
|
|
|
919 |
|
|
* builtins.c (expand_builtin_cexpi): Fix typo.
|
920 |
|
|
|
921 |
|
|
2006-12-13 Jan Hubicka
|
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
|
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
|
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
|
991 |
|
|
|
992 |
|
|
* ipa-reference.c (scan_for_static_refs): Also scan
|
993 |
|
|
tcc_comparison class trees.
|
994 |
|
|
|
995 |
|
|
2006-12-12 David Daney
|
996 |
|
|
|
997 |
|
|
* config/mips/mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before
|
998 |
|
|
define.
|
999 |
|
|
|
1000 |
|
|
2006-12-12 Andrew Pinski
|
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
|
1007 |
|
|
Ben Elliston
|
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
|
1017 |
|
|
|
1018 |
|
|
* config/spu/spu.c (cpat_info): Fix an incorrectly identified case.
|
1019 |
|
|
|
1020 |
|
|
2006-12-12 Geoffrey Keating
|
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
|
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
|
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
|
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 ): 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
|
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
|
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
|
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
|
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
|
1131 |
|
|
Jakub Jelinek
|
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
|
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
|
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
|
1153 |
|
|
|
1154 |
|
|
* config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA.
|
1155 |
|
|
|
1156 |
|
|
2006-12-12 Olivier Hainque
|
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
|
1163 |
|
|
Ben Elliston
|
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
|
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
|
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
|
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 |
|
|
: Remove. Update all users.
|
1391 |
|
|
: Change to a pointer set. Update all
|
1392 |
|
|
users.
|
1393 |
|
|
: Likewise.
|
1394 |
|
|
: 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
|
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
|
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) : Remove.
|
1446 |
|
|
: Remove.
|
1447 |
|
|
: Add.
|
1448 |
|
|
(struct vuse_optype_d) : Remove.
|
1449 |
|
|
: Remove.
|
1450 |
|
|
: Add.
|
1451 |
|
|
(struct mustdef_optype_d) : Remove.
|
1452 |
|
|
: Remove.
|
1453 |
|
|
: 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) : Add.
|
1469 |
|
|
: 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
|
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
|
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
|
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
|
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
|
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
|
1664 |
|
|
|
1665 |
|
|
* config/arm/elf.h (MAX_OFILE_ALIGNMENT): Remove definition.
|
1666 |
|
|
|
1667 |
|
|
2006-12-11 Jan Hubicka
|
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
|
1683 |
|
|
|
1684 |
|
|
PR target/30120
|
1685 |
|
|
Revert:
|
1686 |
|
|
2006-11-15 Uros Bizjak
|
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
|
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
|
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
|
1792 |
|
|
Ben Elliston
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
2043 |
|
|
|
2044 |
|
|
* haifa-sched.c (schedule_block): Remove excessive sanity check.
|
2045 |
|
|
|
2046 |
|
|
2006-12-08 Trevor Smigiel
|
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, _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
|
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
|
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
|
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
|
2096 |
|
|
|
2097 |
|
|
* pa.h (LEGITIMATE_CONSTANT_P): Simplify.
|
2098 |
|
|
|
2099 |
|
|
2006-12-08 Mark Shinwell
|
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
|
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
|
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
|
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
|
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
|
2205 |
|
|
|
2206 |
|
|
* config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to
|
2207 |
|
|
elf_record_gcc_switches.
|
2208 |
|
|
|
2209 |
|
|
2006-12-07 Andrew Macleod
|
2210 |
|
|
|
2211 |
|
|
* expr.c (string_constant): Account for non-zero lower bound arrays.
|
2212 |
|
|
|
2213 |
|
|
2006-12-07 Richard Guenther
|
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
|
2220 |
|
|
|
2221 |
|
|
* i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset
|
2222 |
|
|
codegen.
|
2223 |
|
|
|
2224 |
|
|
2006-12-07 Jan Hubicka
|
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
|
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
|
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
|
2265 |
|
|
|
2266 |
|
|
PR target/29794
|
2267 |
|
|
* sched-rgn.c (add_block1): Use correct initializer.
|
2268 |
|
|
|
2269 |
|
|
2006-12-07 Richard Guenther
|
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
|
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
|
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
|
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
|
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
|
2355 |
|
|
|
2356 |
|
|
* gdbinit.in: Set complaints to 0.
|
2357 |
|
|
|
2358 |
|
|
2006-12-06 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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
|
2434 |
|
|
|
2435 |
|
|
* doc/include/texinfo.tex: Update to version 2006-11-08.17.
|
2436 |
|
|
|
2437 |
|
|
2006-12-05 Zdenek Dvorak
|
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
|
2443 |
|
|
|
2444 |
|
|
Merge from gimple-tuples-branch.
|
2445 |
|
|
|
2446 |
|
|
2006-12-04 Aldy Hernandez
|
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
|
2462 |
|
|
|
2463 |
|
|
* Merge from mainline at revision 119445.
|
2464 |
|
|
|
2465 |
|
|
2006-12-04 Aldy Hernandez
|
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
|
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
|
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
|
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
|
2491 |
|
|
|
2492 |
|
|
* gimplify.c (gimplify_modify_expr): Remove FIXME comment.
|
2493 |
|
|
|
2494 |
|
|
2006-12-01 Aldy Hernandez
|
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
|
2519 |
|
|
|
2520 |
|
|
* tree.c (build2_stat): Fix comment.
|
2521 |
|
|
|
2522 |
|
|
2006-11-13 Aldy Hernandez
|
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
|
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
|
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
|
2560 |
|
|
|
2561 |
|
|
* Merge from mainline at revision 118200.
|
2562 |
|
|
|
2563 |
|
|
2006-10-09 Aldy Hernandez
|
2564 |
|
|
|
2565 |
|
|
* tree-inline.c (copy_bb): Check for GIMPLE_MODIFY_STMT, and adjust
|
2566 |
|
|
accordingly.
|
2567 |
|
|
|
2568 |
|
|
2006-10-09 Aldy Hernandez
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
3171 |
|
|
|
3172 |
|
|
* config.host: Remove extra blank line.
|
3173 |
|
|
|
3174 |
|
|
2006-12-05 Bernd Schmidt
|
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
|
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
|
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
|
3192 |
|
|
|
3193 |
|
|
* cfgexpand.c (expand_one_var): Guard expand_one_stack_var by
|
3194 |
|
|
really_expand.
|
3195 |
|
|
|
3196 |
|
|
2006-12-04 Bernd Schmidt
|
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
|
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
|
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
|
3259 |
|
|
|
3260 |
|
|
* config/darwin.h: Update copyright notice.
|
3261 |
|
|
* config/i386/darwin.h: Ditto.
|
3262 |
|
|
|
3263 |
|
|
2006-12-04 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
3392 |
|
|
|
3393 |
|
|
* config/spu/spu.md (_mulv4si3): Remove unused local variables.
|
3394 |
|
|
|
3395 |
|
|
2006-12-03 Eric Christopher
|
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
|
3406 |
|
|
|
3407 |
|
|
* config/spu/spu.md (smaxv4sf3, sminv4sf3): New.
|
3408 |
|
|
|
3409 |
|
|
2006-12-03 Uros Bizjak
|
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
|
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
|
3430 |
|
|
|
3431 |
|
|
* doc/install.texi: Update recommended MPFR version. Remove
|
3432 |
|
|
obsolete reference to cumulative patch.
|
3433 |
|
|
|
3434 |
|
|
2006-12-02 Lee Millward
|
3435 |
|
|
|
3436 |
|
|
PR c/27953
|
3437 |
|
|
* c-decl.c (store_parm_decls_oldstyle): Robustify.
|
3438 |
|
|
|
3439 |
|
|
2006-11-30 Jan Hubicka
|
3440 |
|
|
Uros Bizjak
|
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
|
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
|
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 |
|
|
(mul3): New.
|
3483 |
|
|
(_mulv4si3): New.
|
3484 |
|
|
(cmp): 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
|
3489 |
|
|
|
3490 |
|
|
* fold-const.c (fold_binary) : 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
|
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, _movdi, _movti): Handle loads and
|
3502 |
|
|
stores in mov patterns for correct operation of reload.
|
3503 |
|
|
(lq, lq_, stq, stq_): Remove.
|
3504 |
|
|
|
3505 |
|
|
2006-12-01 Volker Reichelt
|
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
|
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
|
3538 |
|
|
|
3539 |
|
|
* config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
|
3540 |
|
|
attribute.
|
3541 |
|
|
|
3542 |
|
|
2006-12-01 Richard Guenther
|
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
|
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
|
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
|
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
|
3581 |
|
|
David Edelsohn
|
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
|
3605 |
|
|
|
3606 |
|
|
* simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than
|
3607 |
|
|
simplify_gen_subreg.
|
3608 |
|
|
|
3609 |
|
|
2006-11-30 Andrew Macleod
|
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
|
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
|
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
|
3645 |
|
|
|
3646 |
|
|
* config/dfp-bit.c (DFP_TO_INT): Use wider precision.
|
3647 |
|
|
|
3648 |
|
|
2006-11-30 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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 |
|
|
(fmod3, remainder3): Enable expaders for SSE math.
|
3712 |
|
|
Generate truncxf2 insn patterns for strict SSE math.
|
3713 |
|
|
|
3714 |
|
|
2006-11-30 Uros Bizjak
|
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
|
3726 |
|
|
|
3727 |
|
|
* config/spu/crt0.c (__dso_handle): Define.
|
3728 |
|
|
|
3729 |
|
|
2006-11-30 Kaz Kojima
|
3730 |
|
|
|
3731 |
|
|
* emit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially
|
3732 |
|
|
when clearing the used flags.
|
3733 |
|
|
|
3734 |
|
|
2006-11-29 Andrew Pinski
|
3735 |
|
|
|
3736 |
|
|
* config/spu/spu.md (extend_compare): Fix whitespace formatting.
|
3737 |
|
|
|
3738 |
|
|
2006-11-29 Andrew Pinski
|
3739 |
|
|
|
3740 |
|
|
PR target/29945
|
3741 |
|
|
* config/spu/spu.md (extend_compare): New pattern.
|
3742 |
|
|
(extend_compare): Change to expand and use the above pattern.
|
3743 |
|
|
|
3744 |
|
|
2006-11-29 Janis Johnson
|
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
|
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
|
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
|
3792 |
|
|
Steven Bosscher
|
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
|
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
|
3803 |
|
|
|
3804 |
|
|
PR tree-optimization/23744
|
3805 |
|
|
* testsuite/gcc.dg/tree-ssa/pr23744.c: new test.
|
3806 |
|
|
|
3807 |
|
|
2006-11-29 Duncan Sands
|
3808 |
|
|
|
3809 |
|
|
PR tree-optimization/23744
|
3810 |
|
|
* testsuite/gcc.dg/tree-ssa/update-threading.c: xfail.
|
3811 |
|
|
|
3812 |
|
|
2006-11-29 Jie Zhang
|
3813 |
|
|
|
3814 |
|
|
* doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.
|
3815 |
|
|
|
3816 |
|
|
2006-11-29 J"orn Rennecke
|
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
|
3830 |
|
|
|
3831 |
|
|
* gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
|
3832 |
|
|
__gthread_recursive_mutex_init): Define.
|
3833 |
|
|
|
3834 |
|
|
2006-11-29 Joseph Myers
|
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
|
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
|
3847 |
|
|
|
3848 |
|
|
* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit.
|
3849 |
|
|
|
3850 |
|
|
2006-11-28 Jan Hubicka
|
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
|
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
|
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
|
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
|
3983 |
|
|
|
3984 |
|
|
* alias.c (init_alias_analysis): Remove simplification loop
|
3985 |
|
|
after propagating pointers.
|
3986 |
|
|
|
3987 |
|
|
2006-11-27 Uros Bizjak
|
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
|
3993 |
|
|
|
3994 |
|
|
* config/xtensa/xtensa.h (XCHAL_HAVE_MUL32_HIGH): Provide default.
|
3995 |
|
|
|
3996 |
|
|
2006-11-27 Roger Sayle
|
3997 |
|
|
Manuel Lopez-Ibanez
|
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
|
4009 |
|
|
|
4010 |
|
|
* doc/invoke.texi: Fixed typo.
|
4011 |
|
|
|
4012 |
|
|
2006-11-27 Michael Matz
|
4013 |
|
|
Andreas Krebbel
|
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
|
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
|
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
|
4087 |
|
|
Zdenek Dvorak
|
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
|
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
|
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
|
4139 |
|
|
|
4140 |
|
|
Revert:
|
4141 |
|
|
2006-05-08 Uros Bizjak
|
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
|
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
|
4161 |
|
|
|
4162 |
|
|
* testsuite/gcc.dg/ipa/ipa-6.c: New.
|
4163 |
|
|
|
4164 |
|
|
2006-11-26 Razya Ladklesky
|
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
|
4171 |
|
|
|
4172 |
|
|
* reg-stack.c (get_true_reg): Fix UNSPEC_TRUNC_NOOP handling.
|
4173 |
|
|
|
4174 |
|
|
2006-11-25 Steven Bosscher
|
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
|
4189 |
|
|
|
4190 |
|
|
* c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
|
4191 |
|
|
-ffixed-line-length-* options.
|
4192 |
|
|
|
4193 |
|
|
2006-11-25 Uros Bizjak
|
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 fmod3. 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
|
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
|
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
|
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
|
4306 |
|
|
|
4307 |
|
|
* config/i386/i386.md (UNSPEC_TRUNC_NOOP): New unspec definition.
|
4308 |
|
|
(X87MODEF): New mode macro.
|
4309 |
|
|
(ssemodefsuffix): New mode attribute.
|
4310 |
|
|
(truncxf2_i387_noop_unspec): New insn pattern.
|
4311 |
|
|
(sqrt_extendxf2_i387): New insn pattern.
|
4312 |
|
|
(sqrt2): For non-SSE sqrt, emit sqrt_extendxf2_i387
|
4313 |
|
|
insn and truncate result back to original mode using
|
4314 |
|
|
UNSPEC_TRUNC_NOOP truncation.
|
4315 |
|
|
(*sqrt2_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
|
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
|
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
|
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
|
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
|
4364 |
|
|
|
4365 |
|
|
* pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
|
4366 |
|
|
|
4367 |
|
|
2006-11-24 Manuel Lopez-Ibanez
|
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
|
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
|
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
|
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
|
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
|
4407 |
|
|
|
4408 |
|
|
* var-tracking.c (emit_note_insn_var_location): Revert previous patch.
|
4409 |
|
|
|
4410 |
|
|
2006-11-23 David Ung
|
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
|
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
|
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
|
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
|
4487 |
|
|
|
4488 |
|
|
* config/spu/spu-elf.h (LIB_SPEC): Do not link with -lc_p.
|
4489 |
|
|
|
4490 |
|
|
2006-11-23 Zdenek Dvorak
|
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
|
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
|
4503 |
|
|
|
4504 |
|
|
* config/rs6000/spe.md (SPE64): New mode macro.
|
4505 |
|
|
(mov_sidf_e500_subreg0): Change to mov_si_e500_subreg0. Add
|
4506 |
|
|
memory load.
|
4507 |
|
|
(mov_si_e500_subreg0_2): New.
|
4508 |
|
|
(mov_sidf_e500_subreg4): Change to mov_si_e500_subreg4. Add
|
4509 |
|
|
memory load.
|
4510 |
|
|
(mov_si_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
|
4520 |
|
|
|
4521 |
|
|
Revert
|
4522 |
|
|
2006-11-12 Kaz Kojima
|
4523 |
|
|
* reorg.c (emit_delay_sequence): Copy the delay slot insn.
|
4524 |
|
|
|
4525 |
|
|
2006-11-22 Bernd Schmidt
|
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
|
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,
|
4598 |
|
|
vec_extract_odd, altivec_vmrghsf, altivec_vmrglsf,
|
4599 |
|
|
vec_interleave_high, vec_interleave_low): Implement.
|
4600 |
|
|
|
4601 |
|
|
2006-11-22 Steven Bosscher
|
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
|
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
|
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
|
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
|
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
|
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
|
4692 |
|
|
|
4693 |
|
|
* c-common.h (enum rid): Add RID_STATIC_ASSERT.
|
4694 |
|
|
|
4695 |
|
|
2006-11-21 Richard Guenther
|
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
|
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
|
4719 |
|
|
|
4720 |
|
|
* config/spu/spu.c (spu_expand_vector_init): Initialise x.
|
4721 |
|
|
|
4722 |
|
|
2006-11-20 Trevor Smigiel
|
4723 |
|
|
Russell Olsen
|
4724 |
|
|
Dmitri Makarov
|
4725 |
|
|
Yukishige Shibata
|
4726 |
|
|
Nobuhisa Fujinami
|
4727 |
|
|
Takeaki Fukuoka
|
4728 |
|
|
Andrew Pinski
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
4819 |
|
|
Mark Mitchell
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
4938 |
|
|
|
4939 |
|
|
* doc/invoke.texi: Fix mno-isel typo.
|
4940 |
|
|
|
4941 |
|
|
2006-11-18 Joseph Myers
|
4942 |
|
|
|
4943 |
|
|
* config/rs6000/spe.md (movv4hi_internal): Add alternative for
|
4944 |
|
|
easy vector constant loads.
|
4945 |
|
|
|
4946 |
|
|
2006-11-18 Joseph Myers
|
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
|
4955 |
|
|
|
4956 |
|
|
* reload1.c (reloads_unique_chain): New.
|
4957 |
|
|
(reloads_conflict): Call it.
|
4958 |
|
|
|
4959 |
|
|
2006-11-17 Bob Wilson
|
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
|
4986 |
|
|
|
4987 |
|
|
* config/xtensa/xtensa.md (tstsi): Delete
|
4988 |
|
|
|
4989 |
|
|
2006-11-17 Bob Wilson
|
4990 |
|
|
|
4991 |
|
|
* config/xtensa/xtensa.md (entry): Do not emit .frame directive.
|
4992 |
|
|
|
4993 |
|
|
2006-11-17 Bob Wilson
|
4994 |
|
|
|
4995 |
|
|
* config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
|
4996 |
|
|
|
4997 |
|
|
2006-11-17 Bob Wilson
|
4998 |
|
|
|
4999 |
|
|
* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
|
5000 |
|
|
|
5001 |
|
|
2006-11-17 Zdenek Dvorak
|
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
|
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
|
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
|
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
|
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
|
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
|
5122 |
|
|
|
5123 |
|
|
* arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
|
5124 |
|
|
optimizing for size.
|
5125 |
|
|
|
5126 |
|
|
2006-11-16 Mike Stump
|
5127 |
|
|
|
5128 |
|
|
* Makefile.in (targhooks.o): Add $(OPTABS_H).
|
5129 |
|
|
|
5130 |
|
|
2006-11-16 Dirk Mueller
|
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
|
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
|
5156 |
|
|
|
5157 |
|
|
* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
|
5158 |
|
|
memory operand.
|
5159 |
|
|
|
5160 |
|
|
2006-11-16 Richard Earnshaw
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
5246 |
|
|
J"orn Rennecke
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
5326 |
|
|
|
5327 |
|
|
* configure: Regenerate with autoconf 2.59.
|
5328 |
|
|
|
5329 |
|
|
2006-11-14 Daniel Berlin
|
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
|
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
|
5363 |
|
|
|
5364 |
|
|
* fold-const.c (fold_strip_sign_ops): Handle COMPOUND_EXPR and
|
5365 |
|
|
COND_EXPR.
|
5366 |
|
|
|
5367 |
|
|
2006-11-13 DJ Delorie
|
5368 |
|
|
|
5369 |
|
|
* config/m32c/m32c.c (m32c_prepare_shift): Use a separate
|
5370 |
|
|
temporary for intermediates.
|
5371 |
|
|
|
5372 |
|
|
2006-11-13 Kaz Kojima
|
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
|
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
|
5384 |
|
|
|
5385 |
|
|
* configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL
|
5386 |
|
|
test.
|
5387 |
|
|
* configure: Rebuilt.
|
5388 |
|
|
|
5389 |
|
|
2006-11-13 Andrew Pinski
|
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
|
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
|
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
|
5438 |
|
|
Mark Mitchell
|
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
|
5451 |
|
|
|
5452 |
|
|
* config/i386/i386.c: Fix a typo in comment.
|
5453 |
|
|
|
5454 |
|
|
2006-11-13 Michael Matz
|
5455 |
|
|
|
5456 |
|
|
* genemit.c (gen_expand): Allocate enough memory.
|
5457 |
|
|
|
5458 |
|
|
2006-11-13 Joseph Myers
|
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
|
5469 |
|
|
Zdenek Dvorak
|
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
|
5476 |
|
|
Andrew Pinski
|
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
|
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
|
5498 |
|
|
|
5499 |
|
|
* fold-const.c (negate_expr_p) : 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) : Likewise.
|
5503 |
|
|
|
5504 |
|
|
2006-11-12 Daniel Berlin
|
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
|
5511 |
|
|
Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
5631 |
|
|
|
5632 |
|
|
PR tree-optimization/13827
|
5633 |
|
|
* fold-const.c (fold_binary) : Fold (X&C) op (Y&C)
|
5634 |
|
|
as ((X^Y)&C) op 0.
|
5635 |
|
|
|
5636 |
|
|
2006-11-12 Zdenek Dvorak
|
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
|
5646 |
|
|
|
5647 |
|
|
* except.c (sjlj_emit_function_enter): Remove unused variable.
|
5648 |
|
|
|
5649 |
|
|
2006-11-11 Roger Sayle
|
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) : Ensure that TYPE_SIZE
|
5663 |
|
|
has type bitsizetype and TYPE_SIZE_UNIT has type sizetype.
|
5664 |
|
|
|
5665 |
|
|
2006-11-11 Andrew Pinski
|
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
|
5673 |
|
|
|
5674 |
|
|
Revert
|
5675 |
|
|
2006-11-11 Jie Zhang
|
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
|
5683 |
|
|
|
5684 |
|
|
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
|
5685 |
|
|
and __BFIN__.
|
5686 |
|
|
|
5687 |
|
|
2006-11-11 Jan Hubicka
|
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
|
5710 |
|
|
|
5711 |
|
|
* tree-pretty-print.c (dump_generic_node): Print sign of Inf.
|
5712 |
|
|
|
5713 |
|
|
2006-11-11 Jan Hubicka
|
5714 |
|
|
|
5715 |
|
|
* predict.c (predict_loops): Kill RTL variant.
|
5716 |
|
|
|
5717 |
|
|
2006-11-11 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
5788 |
|
|
|
5789 |
|
|
* fold-const.c (operand_equal_p) :
|
5790 |
|
|
Don't check for TREE_CONSTANT_OVERFLOW when comparing constants.
|
5791 |
|
|
|
5792 |
|
|
2006-11-10 Peter Bergner
|
5793 |
|
|
|
5794 |
|
|
* rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.
|
5795 |
|
|
|
5796 |
|
|
2006-11-10 Kaveh R. Ghazi
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
5860 |
|
|
|
5861 |
|
|
* config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete.
|
5862 |
|
|
|
5863 |
|
|
2006-11-09 Serge Belyshev
|
5864 |
|
|
|
5865 |
|
|
PR middle-end/29726
|
5866 |
|
|
* fold-const.c (fold_binary) : Fix typo in variable name.
|
5867 |
|
|
|
5868 |
|
|
2006-11-09 Andreas Krebbel
|
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
|
5874 |
|
|
|
5875 |
|
|
* doc/invoke.texi: Minor formatting fixes in option lists.
|
5876 |
|
|
|
5877 |
|
|
2006-11-08 Zdenek Dvorak
|
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
|
5899 |
|
|
|
5900 |
|
|
* tree-pretty-print.c (dump_generic_node) : Use
|
5901 |
|
|
HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer.
|
5902 |
|
|
|
5903 |
|
|
2006-11-08 Roger Sayle
|
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) : 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) : Likewise.
|
5911 |
|
|
* builtins.c (fold_builtin_isascii): Likewise.
|
5912 |
|
|
(fold_builtin_isdigit): Likewise.
|
5913 |
|
|
|
5914 |
|
|
2006-11-08 Carlos O'Donell
|
5915 |
|
|
|
5916 |
|
|
* configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE.
|
5917 |
|
|
* configure: Regenerate.
|
5918 |
|
|
|
5919 |
|
|
2006-11-08 Dorit Nuzman
|
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
|
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
|
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
|
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
|
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
|
6062 |
|
|
|
6063 |
|
|
* tree-vect-transform.c (vectorizable_operation): Support multiple
|
6064 |
|
|
datatypes.
|
6065 |
|
|
|
6066 |
|
|
2006-11-08 Dorit Nuzman
|
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
|
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
|
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
|
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
|
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
|
6125 |
|
|
|
6126 |
|
|
* config/mips/mips.h (ISA_HAS_PREFETCHX): Fix typo.
|
6127 |
|
|
|
6128 |
|
|
2006-11-07 Josh Conner
|
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
|
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
|
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
|
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
|
6155 |
|
|
|
6156 |
|
|
* config/mips/mips.h (ISA_HAS_PREFETCHX): Add ISA_MIPS32R2 to the
|
6157 |
|
|
list.
|
6158 |
|
|
|
6159 |
|
|
2006-11-06 Eric Christopher
|
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
|
6167 |
|
|
|
6168 |
|
|
* gcc/doc/sourcebuild.texi (Test Directives): Add output-exists
|
6169 |
|
|
and output-exists-not.
|
6170 |
|
|
|
6171 |
|
|
2006-11-06 Andrew Pinski
|
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
|
6178 |
|
|
|
6179 |
|
|
* configure.ac: Fixed typo in case statement: :: changed to ;;
|
6180 |
|
|
|
6181 |
|
|
2006-11-06 Bob Wilson
|
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 |
|
|
(mulsidi3, 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
|
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
|
6220 |
|
|
|
6221 |
|
|
* config/sh/lib1funcs-4-300.asm: Guard entire file with
|
6222 |
|
|
#if !__SHMEDIA__ .
|
6223 |
|
|
|
6224 |
|
|
2006-11-05 Jakub Jelinek
|
6225 |
|
|
|
6226 |
|
|
PR middle-end/29695
|
6227 |
|
|
* fold-const.c (fold_ternary): Fix A < 0 ? : 0
|
6228 |
|
|
simplification.
|
6229 |
|
|
|
6230 |
|
|
2006-11-04 Uros Bizjak
|
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
|
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
|
6246 |
|
|
|
6247 |
|
|
* config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable
|
6248 |
|
|
patterns for standard 80387 constants.
|
6249 |
|
|
|
6250 |
|
|
2006-11-03 Paolo Bonzini
|
6251 |
|
|
Steven Bosscher
|
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
|
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
|
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
|
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
|
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
|
6321 |
|
|
|
6322 |
|
|
* config/sh/crt1.asm: Fix #ifdef indent.
|
6323 |
|
|
|
6324 |
|
|
2006-11-03 J"orn Rennecke
|
6325 |
|
|
Merged from STMicroelectronics sources:
|
6326 |
|
|
2006-10-06 Andrew Stubbs
|
6327 |
|
|
* config/sh/crt1.asm (vbr_600): Add missing #if.
|
6328 |
|
|
2006-08-03 J"orn Rennecke
|
6329 |
|
|
* sh.opt (mfused-madd): New option.
|
6330 |
|
|
* sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC.
|
6331 |
|
|
2006-07-04 Andrew Stubbs
|
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
|
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
|
6343 |
|
|
* sh.md (cmpgeusi_t): Change into define_insn_and_split. Accept
|
6344 |
|
|
zero as second operand.
|
6345 |
|
|
2006-04-28 J"orn Rennecke
|
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
|
6351 |
|
|
* config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options.
|
6352 |
|
|
2006-04-26 J"orn Rennecke
|
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
|
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
|
6406 |
|
|
* sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT.
|
6407 |
|
|
|
6408 |
|
|
2006-11-02 Andrew Pinski
|
6409 |
|
|
|
6410 |
|
|
* doc/md.texi (RS6000 constraints): Document H, Z, a, t, and W
|
6411 |
|
|
constraints.
|
6412 |
|
|
|
6413 |
|
|
2006-11-02 Brooks Moses
|
6414 |
|
|
|
6415 |
|
|
* doc/invoke.texi: Fix mfp-trap-mode typo.
|
6416 |
|
|
|
6417 |
|
|
2006-11-02 Carlos O'Donell
|
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
|
6431 |
|
|
|
6432 |
|
|
* tree-ssa.c (warn_uninit): Use expand_location variables for
|
6433 |
|
|
locus and declaration locus.
|
6434 |
|
|
|
6435 |
|
|
2006-11-02 Kaz Kojima
|
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
|
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
|
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
|
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
|
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
|
6483 |
|
|
|
6484 |
|
|
* config/darwin.h (CPP_SPEC): Handle -pthread, transforming
|
6485 |
|
|
it into -D_REENTRANT.
|
6486 |
|
|
|
6487 |
|
|
2006-11-01 Roger Sayle
|
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
|
6499 |
|
|
Peter Bergner
|
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
|
6568 |
|
|
|
6569 |
|
|
* tree-pretty-print.c (dump_generic_node) : 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
|
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
|
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
|
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
|
6602 |
|
|
|
6603 |
|
|
* doc/invoke.texi (-fkeep-inline-functions): Change "GNU C"
|
6604 |
|
|
to "GNU C89".
|
6605 |
|
|
|
6606 |
|
|
2006-11-01 Danny Smith
|
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
|
6622 |
|
|
|
6623 |
|
|
* builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
|
6624 |
|
|
|
6625 |
|
|
2006-10-31 Geoffrey Keating
|
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
|
6638 |
|
|
|
6639 |
|
|
* toplev.c (compile_file): Call final_write_globals
|
6640 |
|
|
even if there have been errors.
|
6641 |
|
|
|
6642 |
|
|
2006-10-31 Eric Christopher
|
6643 |
|
|
Falk Hueffner
|
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 |
|
|
|
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
|
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
|
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
|
6717 |
|
|
|
6718 |
|
|
PR 15834
|
6719 |
|
|
* config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
|
6720 |
|
|
|
6721 |
|
|
2006-10-31 Geoffrey Keating
|
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
|
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
|
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
|
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 |
|
|
lrounddi2, lroundsi2, floorxf2, floordf2, floorsf2,
|
6772 |
|
|
lfloordi2, lfloorsi2, ceilxf2, ceildf2, ceilsf2,
|
6773 |
|
|
btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on
|
6774 |
|
|
!optimize_size.
|
6775 |
|
|
|
6776 |
|
|
2006-10-31 Steven Bosscher
|
6777 |
|
|
|
6778 |
|
|
* opts.c (decode_options): Disable CSE skip blocks.
|
6779 |
|
|
|
6780 |
|
|
2006-10-30 Dirk Mueller
|
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
|
6788 |
|
|
|
6789 |
|
|
PR middle-end/29335
|
6790 |
|
|
* builtins.c (fold_builtin_1): Evaluate tgamma using MPFR.
|
6791 |
|
|
|
6792 |
|
|
2006-10-30 Pete Steinmetz
|
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
|
6799 |
|
|
|
6800 |
|
|
* config/mips/mips.md (mul3): Split into...
|
6801 |
|
|
(mulsi3, muldi3): ...these separate patterns.
|
6802 |
|
|
|
6803 |
|
|
2006-10-30 Richard Sandiford
|
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
|
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
|
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
|
6825 |
|
|
|
6826 |
|
|
* config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
|
6827 |
|
|
|
6828 |
|
|
2006-10-30 Jakub Jelinek
|
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
|
6835 |
|
|
|
6836 |
|
|
* dwarf2out.c (file_name_acquire): Correct typo.
|
6837 |
|
|
|
6838 |
|
|
2006-10-29 Daniel Berlin
|
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
|
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
|
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
|
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
|
6930 |
|
|
|
6931 |
|
|
* config/mips/mips.md (mul3): Check ISA_HAS_MUL3 rather than
|
6932 |
|
|
GENERATE_MULT3_. 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 |
|
|
(rotr3): 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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 (lfloor2): Split into ...
|
7040 |
|
|
(lfloorxf2): ... x87 variant
|
7041 |
|
|
(lfloordi2, lfloorsi2): ... and SSE variants
|
7042 |
|
|
using ix86_expand_lfloorceil.
|
7043 |
|
|
(lceil2, lceilxf2, lceildi2, lceilsi2):
|
7044 |
|
|
Likewise.
|
7045 |
|
|
* doc/md.texi (lfloorMN, lceilMN): Document.
|
7046 |
|
|
|
7047 |
|
|
2006-10-29 Richard Sandiford
|
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
|
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
|
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
|
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
|
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
|
7086 |
|
|
|
7087 |
|
|
* fold-const.c (maybe_canonicalize_comparison): Fix code
|
7088 |
|
|
to match comment.
|
7089 |
|
|
|
7090 |
|
|
2006-10-28 Uros Bizjak
|
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
|
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
|
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
|
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 (lrounddi2, lroundsi2):
|
7147 |
|
|
New expanders.
|
7148 |
|
|
* doc/md.texi (lroundMN2): Document.
|
7149 |
|
|
|
7150 |
|
|
2006-10-28 Uros Bizjak
|
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
|
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
|
7164 |
|
|
|
7165 |
|
|
* config/darwin.c: Fix formatting and grammar.
|
7166 |
|
|
|
7167 |
|
|
2006-10-27 Jan Hubicka
|
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
|
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
|
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
|
7215 |
|
|
Nathan Sidwell
|
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
|
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
|
7235 |
|
|
|
7236 |
|
|
* config/s390/s390.c (s390_init_frame_layout): Check positive
|
7237 |
|
|
frame_size.
|
7238 |
|
|
|
7239 |
|
|
2006-10-26 Ben Elliston
|
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
|
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
|
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
|
7258 |
|
|
|
7259 |
|
|
* config/xtensa/lib2funcs.S: Use C-style comments.
|
7260 |
|
|
|
7261 |
|
|
2006-10-24 Nathan Froyd
|
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
|
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
|
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, *fist2_1, fist2,
|
7288 |
|
|
fist2_with_temp): Likewise.
|
7289 |
|
|
(lrint2): Split into...
|
7290 |
|
|
(lrintxf2): ... x87 part
|
7291 |
|
|
(lrintdi2, lrintsi2): ... 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
|
7298 |
|
|
|
7299 |
|
|
PR target/28909
|
7300 |
|
|
* config/i386/sync.md ("sync_add", "sync_sub"):
|
7301 |
|
|
Use inc and dec instructions for TARGET_USE_INCDEC.
|
7302 |
|
|
("*sync_compare_and_swap"): Fix -masm=intel template.
|
7303 |
|
|
("sync_double_compare_and_swap"): Likewise.
|
7304 |
|
|
("*sync_double_compare_and_swapdi_pic"): Likewise.
|
7305 |
|
|
("*sync_compare_and_swap_cc"): Likewise.
|
7306 |
|
|
("sync_double_compare_and_swap_cc"): Likewise.
|
7307 |
|
|
("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
|
7308 |
|
|
("sync_old_add"): Likewise.
|
7309 |
|
|
("sync_lock_test_and_set"): Likewise.
|
7310 |
|
|
("sync_lock_test_and_set"): Likewise.
|
7311 |
|
|
("sync_add"): Likewise.
|
7312 |
|
|
("sync_sub"): Likewise.
|
7313 |
|
|
("sync_ior"): Likewise.
|
7314 |
|
|
("sync_and"): Likewise.
|
7315 |
|
|
("sync_xor"): Likewise.
|
7316 |
|
|
|
7317 |
|
|
2006-10-25 Uros Bizjak
|
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
|
7348 |
|
|
David Daney
|
7349 |
|
|
|
7350 |
|
|
PR middle-end/29519
|
7351 |
|
|
* rtlanal.c (nonzero_address_p): Remove check for values wrapping.
|
7352 |
|
|
|
7353 |
|
|
2006-10-25 Ben Elliston
|
7354 |
|
|
|
7355 |
|
|
* doc/extend.texi (Variable Attributes): Typo fix.
|
7356 |
|
|
|
7357 |
|
|
2006-10-24 Uros Bizjak
|
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
|
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
|
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
|
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
|
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
|
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
|
7424 |
|
|
|
7425 |
|
|
* reload1.c: Formatting fixes.
|
7426 |
|
|
|
7427 |
|
|
2006-10-23 Zdenek Dvorak
|
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
|
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
|
7446 |
|
|
|
7447 |
|
|
* config/xtensa/lib1funcs.asm: Use C-style comments.
|
7448 |
|
|
|
7449 |
|
|
2006-10-23 Rafael Ávila de Espíndola
|
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
|
7506 |
|
|
|
7507 |
|
|
* builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
|
7508 |
|
|
BUILT_IN_STRNCAT_CHK.
|
7509 |
|
|
|
7510 |
|
|
2006-10-23 Jan Hubicka
|
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
|
7519 |
|
|
|
7520 |
|
|
* stor-layout.c (start_record_layout): maximum_field_alignment
|
7521 |
|
|
overrides STRUCTURE_SIZE_BOUNDARY.
|
7522 |
|
|
|
7523 |
|
|
2006-10-23 Ulrich Weigand
|
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
|
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
|
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
|
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
|
7550 |
|
|
Kaz Kojima
|
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
|
7562 |
|
|
Richard Guenther
|
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
|
7572 |
|
|
|
7573 |
|
|
* config/i386/tmmintrin.h: Remove the duplicated content.
|
7574 |
|
|
|
7575 |
|
|
2006-10-22 H.J. Lu
|
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_psign3): Likewise.
|
7629 |
|
|
(ssse3_psign3): Likewise.
|
7630 |
|
|
(ssse3_palignrti): Likewise.
|
7631 |
|
|
(ssse3_palignrdi): Likewise.
|
7632 |
|
|
(abs2): Likewise.
|
7633 |
|
|
(abs2): 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
|
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
|
7648 |
|
|
|
7649 |
|
|
* config/mips/mips.c (mips_split_const): Don't accept bare PLUS
|
7650 |
|
|
expressions.
|
7651 |
|
|
|
7652 |
|
|
2006-10-21 H.J. Lu
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
7715 |
|
|
|
7716 |
|
|
* builtins.c (fold_builtin_classify): Fix typo.
|
7717 |
|
|
|
7718 |
|
|
2006-10-21 Richard Guenther
|
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
|
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
|
7734 |
|
|
|
7735 |
|
|
* BASE-VER: Set to 4.3.0.
|
7736 |
|
|
|
7737 |
|
|
2006-10-20 Daniel Berlin
|
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
|
7760 |
|
|
|
7761 |
|
|
* doc/install.texi (Downloading GCC): Clarify mention of
|
7762 |
|
|
Fortran in the "full distribution" description.
|
7763 |
|
|
|
7764 |
|
|
2006-10-19 Daniel Berlin
|
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
|
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
|
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
|
7864 |
|
|
|
7865 |
|
|
* config/arm/arm.c: Fix spelling typo.
|
7866 |
|
|
|
7867 |
|
|
2006-10-18 Tom Tromey
|
7868 |
|
|
|
7869 |
|
|
* doc/install.texi (Prerequisites): Mention automake 1.9.6.
|
7870 |
|
|
|
7871 |
|
|
2006-10-18 Jan Hubicka
|
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
|
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
|
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
|
7901 |
|
|
Richard Sandiford
|
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
|
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
|
7915 |
|
|
|
7916 |
|
|
* config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
|
7917 |
|
|
|
7918 |
|
|
2006-10-16 Brooks Moses
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
7996 |
|
|
John David Anglin
|
7997 |
|
|
Andrew Pinski
|
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
|
8003 |
|
|
Richard Guenther
|
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
|
8011 |
|
|
|
8012 |
|
|
* final.c: Update Copyright year. Commentary typo fix. Fix whitespace
|
8013 |
|
|
|
8014 |
|
|
2006-10-14 Uros Bizjak
|
8015 |
|
|
|
8016 |
|
|
* config/i386/athlon.md (athlon_fist): Add fisttp.
|
8017 |
|
|
|
8018 |
|
|
2006-10-13 David Edelsohn
|
8019 |
|
|
Ian Lance Taylor
|
8020 |
|
|
|
8021 |
|
|
PR middle-end/29250
|
8022 |
|
|
* expr.c (expand_expr_real_1)
|
8023 |
|
|
CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
|
8024 |
|
|
recursing.
|
8025 |
|
|
|
8026 |
|
|
2006-10-14 Kazu Hirata
|
8027 |
|
|
|
8028 |
|
|
* config/score/score.c, config/score/score.h: Fix comment
|
8029 |
|
|
typos.
|
8030 |
|
|
|
8031 |
|
|
2006-10-13 Kaveh R. Ghazi
|
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
|
8038 |
|
|
|
8039 |
|
|
* config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
|
8040 |
|
|
|
8041 |
|
|
2006-10-13 Carlos O'Donell
|
8042 |
|
|
|
8043 |
|
|
Revert this change:
|
8044 |
|
|
2006-10-13 Carlos O'Donell
|
8045 |
|
|
* config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
|
8046 |
|
|
alignment supported by 32-bit ELF.
|
8047 |
|
|
|
8048 |
|
|
2006-10-13 Eric Christopher
|
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
|
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
|
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
|
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
|
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
|
8086 |
|
|
Ramana Radhakrishnan
|
8087 |
|
|
|
8088 |
|
|
* tree-flow-inline.h (zero_ssa_operands): Fix comment.
|
8089 |
|
|
|
8090 |
|
|
2006-10-12 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
8150 |
|
|
|
8151 |
|
|
* doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
|
8152 |
|
|
-mdlmzb option.
|
8153 |
|
|
|
8154 |
|
|
2006-10-09 Richard Henderson
|
8155 |
|
|
|
8156 |
|
|
Revert emutls patch.
|
8157 |
|
|
|
8158 |
|
|
2006-10-09 Richard Guenther
|
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
|
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
|
8173 |
|
|
|
8174 |
|
|
* tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
|
8175 |
|
|
|
8176 |
|
|
2006-10-08 Richard Sandiford
|
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
|
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
|
8189 |
|
|
|
8190 |
|
|
* config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
|
8191 |
|
|
|
8192 |
|
|
2006-10-07 Kazu Hirata
|
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
|
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
|
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
|
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
|
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
|
8243 |
|
|
|
8244 |
|
|
* print-tree.c (print_node_brief, print_node): Print sign of Inf.
|
8245 |
|
|
|
8246 |
|
|
2006-10-06 J"orn Rennecke
|
8247 |
|
|
|
8248 |
|
|
* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
|
8249 |
|
|
|
8250 |
|
|
2006-10-05 Uros Bizjak
|
8251 |
|
|
|
8252 |
|
|
* config/i386/sync.md ("sync_add", "sync_sub",
|
8253 |
|
|
"sync_ior", "sync_and", "sync_xor"):
|
8254 |
|
|
Use instead of "r" as operand 1 constraint.
|
8255 |
|
|
|
8256 |
|
|
2006-10-06 Olivier Hainque
|
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
|
8265 |
|
|
|
8266 |
|
|
* config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
|
8267 |
|
|
|
8268 |
|
|
2006-10-06 Jakub Jelinek
|
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
|
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
|
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
|
8296 |
|
|
|
8297 |
|
|
* doc/loop.texi: Add data references analysis description.
|
8298 |
|
|
|
8299 |
|
|
2006-10-04 Brooks Moses
|
8300 |
|
|
|
8301 |
|
|
* doc/gcov.texi: Add formatting to "Invoking gcov" section head.
|
8302 |
|
|
|
8303 |
|
|
2006-10-04 Richard Henderson
|
8304 |
|
|
Jakub Jelinek
|
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
|
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
|
8355 |
|
|
|
8356 |
|
|
PR c++/28448
|
8357 |
|
|
* doc/invoke.texi (fdiagnostics-show-option): Fix typos.
|
8358 |
|
|
|
8359 |
|
|
2006-10-03 Geoffrey Keating
|
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
|
8366 |
|
|
|
8367 |
|
|
* doc/install.texi: Fix typos.
|
8368 |
|
|
|
8369 |
|
|
2006-10-03 Eric Botcazou
|
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
|
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
|
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
|
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
|
8396 |
|
|
|
8397 |
|
|
PR c/20533
|
8398 |
|
|
* doc/extend.texi: Add used variable attribute description.
|
8399 |
|
|
|
8400 |
|
|
2006-09-30 Joseph S. Myers
|
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
|
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
|
8418 |
|
|
|
8419 |
|
|
* builtins.c (expand_builtin_setjmp): Delete.
|
8420 |
|
|
(expand_builtin) : Mark as unreachable.
|
8421 |
|
|
: New case.
|
8422 |
|
|
: Likewise.
|
8423 |
|
|
: 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) : Invoke lower_builtin_setjmp if the callee
|
8431 |
|
|
is __builtin_setjmp and set calls_builtin_setjmp to true as well.
|
8432 |
|
|
: 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) : 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 |
|
|
: 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
|
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
|
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
|
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
|
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
|
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
|
8498 |
|
|
|
8499 |
|
|
* config/sh/sh.md (divsi_inv_m0): Remove unused variable.
|
8500 |
|
|
|
8501 |
|
|
2006-09-27 Steven G. Kargl
|
8502 |
|
|
|
8503 |
|
|
* doc/install.texi: Document required versions of GMP and MPFR.
|
8504 |
|
|
|
8505 |
|
|
2006-09-27 Paul Brook
|
8506 |
|
|
|
8507 |
|
|
PR target/29230
|
8508 |
|
|
* config/arm/arm.md (arith_adjacentmem): Handle large offsets.
|
8509 |
|
|
|
8510 |
|
|
2006-09-27 Richard Sandiford
|
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
|
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
|
8526 |
|
|
|
8527 |
|
|
* doc/invoke.texi: Add missing full stop.
|
8528 |
|
|
|
8529 |
|
|
2006-09-25 Richard Henderson
|
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
|
8535 |
|
|
Adam Nemet
|
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
|
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
|
8549 |
|
|
|
8550 |
|
|
* flags.h (HONOR_NANS): Fix typo in comment.
|
8551 |
|
|
|
8552 |
|
|
2006-09-23 Uros Bizjak
|
8553 |
|
|
|
8554 |
|
|
* config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
|
8555 |
|
|
|
8556 |
|
|
2006-09-23 Jakub Jelinek
|
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
|
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
|
8582 |
|
|
|
8583 |
|
|
* config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
|
8584 |
|
|
code.
|
8585 |
|
|
|
8586 |
|
|
2006-09-22 Richard Guenther
|
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
|
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
|
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
|
8606 |
|
|
|
8607 |
|
|
* tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
|
8608 |
|
|
needed.
|
8609 |
|
|
|
8610 |
|
|
2006-09-21 Richard Sandiford
|
8611 |
|
|
|
8612 |
|
|
* varasm.c (copy_constant): Fix reversed gcc_assert check.
|
8613 |
|
|
|
8614 |
|
|
2006-09-21 Janis Johnson
|
8615 |
|
|
|
8616 |
|
|
* ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
|
8617 |
|
|
|
8618 |
|
|
2006-09-21 Roger Sayle
|
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
|
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, *nmadd_fastmath): Require !HONOR_NANS.
|
8632 |
|
|
(*nmsub, *nmsub_fastmath): Likewise.
|
8633 |
|
|
(abs2, neg2): 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
|
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
|
8644 |
|
|
|
8645 |
|
|
* config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
|
8646 |
|
|
positive offsets.
|
8647 |
|
|
|
8648 |
|
|
2006-09-20 Janis Johnson
|
8649 |
|
|
|
8650 |
|
|
* doc/extend.texi (Decimal Float): Update for latest draft TR,
|
8651 |
|
|
clean up terminology.
|
8652 |
|
|
|
8653 |
|
|
2006-09-20 Steve Ellcey
|
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
|
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
|
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
|
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
|
8678 |
|
|
|
8679 |
|
|
PR rtl-optimization/21299
|
8680 |
|
|
* reload1.c (reload): Purge invalid ASMs in the final pass.
|
8681 |
|
|
|
8682 |
|
|
2006-09-19 Steve Ellcey
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
8729 |
|
|
Jack Howarth
|
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
|
8737 |
|
|
|
8738 |
|
|
* rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
|
8739 |
|
|
* doc/rtl.texi: Remove related documentation.
|
8740 |
|
|
|
8741 |
|
|
2006-09-16 Bernd Schmidt
|
8742 |
|
|
|
8743 |
|
|
* loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
|
8744 |
|
|
printf.
|
8745 |
|
|
|
8746 |
|
|
2006-09-15 Jim Wilson
|
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
|
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
|
8758 |
|
|
|
8759 |
|
|
* config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
|
8760 |
|
|
|
8761 |
|
|
2006-09-15 Uros Bizjak
|
8762 |
|
|
|
8763 |
|
|
* doc/contrib.texi: Add my entry.
|
8764 |
|
|
|
8765 |
|
|
2006-09-15 Nick Clifton
|
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
|
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
|
8800 |
|
|
|
8801 |
|
|
* doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
|
8802 |
|
|
one line.
|
8803 |
|
|
|
8804 |
|
|
2006-09-14 Richard Guenther
|
8805 |
|
|
Kazu Hirata
|
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
|
8814 |
|
|
|
8815 |
|
|
PR target/26504
|
8816 |
|
|
* config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
|
8817 |
|
|
|
8818 |
|
|
2006-09-13 Aldy Hernandez
|
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
|
8824 |
|
|
|
8825 |
|
|
PR debug/28980
|
8826 |
|
|
* dwarf2out.c (loc_descriptor_from_tree_1): Handle
|
8827 |
|
|
FUNCTION_DECL.
|
8828 |
|
|
|
8829 |
|
|
2006-09-13 Andreas Krebbel
|
8830 |
|
|
|
8831 |
|
|
* basic_block.h (bb_has_eh_pred): Fix comment.
|
8832 |
|
|
|
8833 |
|
|
2006-09-13 Andreas Krebbel
|
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
|
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
|
8854 |
|
|
|
8855 |
|
|
* doc/invoke.texi (mpreferred-stack-boundary): Remove exception
|
8856 |
|
|
for -Os. Update __m128 alignment requirement.
|
8857 |
|
|
|
8858 |
|
|
2006-09-13 Jan Hubicka
|
8859 |
|
|
|
8860 |
|
|
* cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
|
8861 |
|
|
|
8862 |
|
|
2006-09-12 Eric Botcazou
|
8863 |
|
|
|
8864 |
|
|
PR rtl-optimization/28243
|
8865 |
|
|
* combine.c (distribute_notes) : Do not consider SETs past
|
8866 |
|
|
the insn to which the note was originally attached.
|
8867 |
|
|
|
8868 |
|
|
2006-09-12 Andrew Pinski
|
8869 |
|
|
Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
9019 |
|
|
David Edelsohn
|
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
|
9027 |
|
|
|
9028 |
|
|
* doc/cpp.texi: Fix names of charset options.
|
9029 |
|
|
|
9030 |
|
|
2006-09-10 Andrew Pinski
|
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
|
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
|
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
|
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_l, mov_r): Use it to check
|
9058 |
|
|
that the size of the source matches the size of the destination.
|
9059 |
|
|
(mov_l, mov_r): Likewise.
|
9060 |
|
|
|
9061 |
|
|
2006-09-10 Eric Christopher
|
9062 |
|
|
|
9063 |
|
|
* config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
|
9064 |
|
|
for literal16.
|
9065 |
|
|
|
9066 |
|
|
2006-09-09 Eric Christopher
|
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
|
9073 |
|
|
Nicolas Setton
|
9074 |
|
|
|
9075 |
|
|
* dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
|
9076 |
|
|
|
9077 |
|
|
2006-09-10 Andreas Schwab
|
9078 |
|
|
|
9079 |
|
|
* config/m68k/m68k.md (bungt_rev): New pattern.
|
9080 |
|
|
|
9081 |
|
|
2006-09-09 Paolo Bonzini
|
9082 |
|
|
Dale Johannesen
|
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
|
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
|
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
|
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
|
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
|
9141 |
|
|
|
9142 |
|
|
* dwarf2out.c: Remove strange characters from comment above
|
9143 |
|
|
dwarf2out_frame_debug_expr.
|
9144 |
|
|
|
9145 |
|
|
2006-09-07 Eric Christopher
|
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
|
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
|
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
|
9201 |
|
|
|
9202 |
|
|
* doc/contrib.texi: Add myself.
|
9203 |
|
|
|
9204 |
|
|
2006-09-07 Andrew Pinski
|
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
|
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
|
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
|
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
|
9231 |
|
|
|
9232 |
|
|
* doc/contrib.texi: Update my entry.
|
9233 |
|
|
|
9234 |
|
|
2006-09-06 Nick Clifton
|
9235 |
|
|
|
9236 |
|
|
* config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
|
9237 |
|
|
|
9238 |
|
|
2006-09-05 Andrew Pinski
|
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
|
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
|
9275 |
|
|
Kaz Kojima
|
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
|
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
|
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
|
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
|
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
|
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
|
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) : 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
|
9335 |
|
|
|
9336 |
|
|
Revert this change:
|
9337 |
|
|
2006-03-17 Alexandre Oliva
|
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
|
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
|
9359 |
|
|
|
9360 |
|
|
* config/m32c/cond.md (cbranch4): Defer splitting until after reload.
|
9361 |
|
|
(stzx_16): Likewise.
|
9362 |
|
|
("stzx_24_"): Likewise.
|
9363 |
|
|
("stzx_reversed_"): Likewise, and make mode-specific.
|
9364 |
|
|
("cmp_op"): New.
|
9365 |
|
|
(cmp): Change to expander; just save operands.
|
9366 |
|
|
(b_op): New.
|
9367 |
|
|
(b): Change to expander, emit compare here.
|
9368 |
|
|
(s_op): Change to use split and expander.
|
9369 |
|
|
(s_24_op): Likewise.
|
9370 |
|
|
(s_): New.
|
9371 |
|
|
(s__24): New.
|
9372 |
|
|
(movqicc__
|
9373 |
|
|
(movhicc__): New.
|
9374 |
|
|
(s): New.
|
9375 |
|
|
(s_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
|
9384 |
|
|
Richard Guenther
|
9385 |
|
|
Adam Nemet
|
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
|
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
|
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
|
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
|
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
|
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) : 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
|
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
|
9435 |
|
|
|
9436 |
|
|
* Makefile.in (see.o): Add $(EXPR_H) dependency.
|
9437 |
|
|
|
9438 |
|
|
2006-08-30 Zdenek Dvorak
|
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
|
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
|
9458 |
|
|
J"orn Rennecke
|
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
|
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
|
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
|
9485 |
|
|
|
9486 |
|
|
* config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
|
9487 |
|
|
|
9488 |
|
|
2006-08-27 Roger Sayle
|
9489 |
|
|
|
9490 |
|
|
* ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
|
9491 |
|
|
x87 instructions.
|
9492 |
|
|
|
9493 |
|
|
2006-08-27 Kazu Hirata
|
9494 |
|
|
|
9495 |
|
|
* config/i386/crtfastmath.c: Fix a comment typo.
|
9496 |
|
|
|
9497 |
|
|
2006-08-26 Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
9569 |
|
|
|
9570 |
|
|
PR target/28621
|
9571 |
|
|
* config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
|
9572 |
|
|
|
9573 |
|
|
2006-08-25 Alan Modra
|
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
|
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
|
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
|
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
|
9600 |
|
|
|
9601 |
|
|
* doc/tm.texi: Fix a typo.
|
9602 |
|
|
* predict.c: Fix comment typos.
|
9603 |
|
|
|
9604 |
|
|
2006-08-25 Nick Clifton
|
9605 |
|
|
|
9606 |
|
|
* config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
|
9607 |
|
|
assertions of "cpu" and "machine".
|
9608 |
|
|
|
9609 |
|
|
2006-08-24 Andrew Pinski
|
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
|
9617 |
|
|
|
9618 |
|
|
* doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
|
9619 |
|
|
|
9620 |
|
|
2006-08-24 Jan Hubicka
|
9621 |
|
|
|
9622 |
|
|
* reload1.c (emit_reload_insns): Fix yet another typo in my patch.
|
9623 |
|
|
|
9624 |
|
|
2006-08-24 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
9699 |
|
|
|
9700 |
|
|
* config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
|
9701 |
|
|
#if !__SHMEDIA__ .
|
9702 |
|
|
|
9703 |
|
|
2006-08-21 Olivier Hainque
|
9704 |
|
|
|
9705 |
|
|
* gimplify.c (gimplify_init_constructor) :
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
9768 |
|
|
|
9769 |
|
|
* tree.c (is_attribute_with_length_p): Remove a duplicated assert.
|
9770 |
|
|
|
9771 |
|
|
2006-08-17 Jakub Jelinek
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
9847 |
|
|
|
9848 |
|
|
* config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
|
9849 |
|
|
|
9850 |
|
|
2006-08-16 Joseph S. Myers
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
9934 |
|
|
|
9935 |
|
|
* Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
|
9936 |
|
|
|
9937 |
|
|
2006-08-14 Kazu Hirata
|
9938 |
|
|
|
9939 |
|
|
* c-decl.c, var-tracking.c: Fix comment typos.
|
9940 |
|
|
|
9941 |
|
|
2006-08-14 Richard Sandiford
|
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
|
9948 |
|
|
Andrew Pinski
|
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
|
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
|
9974 |
|
|
|
9975 |
|
|
* c-common.c (strict_aliasing_warning): Fix formatting.
|
9976 |
|
|
|
9977 |
|
|
2006-08-13 Matthias Klose
|
9978 |
|
|
|
9979 |
|
|
* doc/invoke.texi: Fix spelling errors.
|
9980 |
|
|
|
9981 |
|
|
2006-08-11 Eric Botcazou
|
9982 |
|
|
|
9983 |
|
|
PR rtl-optimization/23454
|
9984 |
|
|
* reorg.c (relax_delay_slots): Update comment.
|
9985 |
|
|
|
9986 |
|
|
2006-08-11 Richard Guenther
|
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
|
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
|
9999 |
|
|
|
10000 |
|
|
* final.c (final_scan_insn): Clear current_insn_predicate before
|
10001 |
|
|
outputting inline asm.
|
10002 |
|
|
|
10003 |
|
|
2006-08-10 Dorit Nuzman
|
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
|
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
|
10023 |
|
|
|
10024 |
|
|
* config/rs6000/rs6000.c (print_operand) : 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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
10096 |
|
|
Roger Sayle
|
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
|
10109 |
|
|
|
10110 |
|
|
* tree-cfg.c: Fix a comment typo.
|
10111 |
|
|
|
10112 |
|
|
2006-08-03 Mark Mitchell
|
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
|
10119 |
|
|
|
10120 |
|
|
* domwalk.c (walk_dominator_tree): Reorganize to non-recursive
|
10121 |
|
|
implementation.
|
10122 |
|
|
|
10123 |
|
|
2006-08-03 Dorit Nuzman
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
10189 |
|
|
|
10190 |
|
|
* tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
|
10191 |
|
|
|
10192 |
|
|
2006-07-31 Volker Reichelt
|
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
|
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
|
10205 |
|
|
|
10206 |
|
|
PR target/28126 (partial fix)
|
10207 |
|
|
* config/mips/mips.md (tls_get_tp_): Set can_delay to no.
|
10208 |
|
|
|
10209 |
|
|
2006-07-28 Jan Hubicka
|
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
|
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
|
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
|
10227 |
|
|
|
10228 |
|
|
* Makefile.in: Use mkinstalldirs.
|
10229 |
|
|
|
10230 |
|
|
2006-07-27 H.J. Lu
|
10231 |
|
|
|
10232 |
|
|
PR driver/28437
|
10233 |
|
|
* opts-common.c (prune_options): Skip joined switches.
|
10234 |
|
|
|
10235 |
|
|
2006-07-27 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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
|
10284 |
|
|
|
10285 |
|
|
* dbxout.c (output_types_sort): Add a comment.
|
10286 |
|
|
(output_used_types): Free the VEC.
|
10287 |
|
|
|
10288 |
|
|
2006-07-26 Daniel Jacobowitz
|
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
|
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
|
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
|
10307 |
|
|
|
10308 |
|
|
* tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
|
10309 |
|
|
|
10310 |
|
|
2006-07-25 Nick Clifton
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
10382 |
|
|
|
10383 |
|
|
* i386.md (subsi_3_zext): Fix output template.
|
10384 |
|
|
|
10385 |
|
|
2006-07-21 Mike Stump
|
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
|
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
|
10399 |
|
|
|
10400 |
|
|
* tree.c (remove_attribute): New fn.
|
10401 |
|
|
* tree.h: Declare it.
|
10402 |
|
|
|
10403 |
|
|
2006-07-20 Paul Brook
|
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
|
10410 |
|
|
|
10411 |
|
|
PR target/28427
|
10412 |
|
|
* config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
|
10413 |
|
|
|
10414 |
|
|
2006-07-20 Eric Christopher
|
10415 |
|
|
|
10416 |
|
|
PR target/26877
|
10417 |
|
|
* config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
|
10418 |
|
|
|
10419 |
|
|
2006-07-19 Eric Christopher
|
10420 |
|
|
|
10421 |
|
|
* config/t-slibgcc-darwin (stmp-lipo): Remove.
|
10422 |
|
|
Rewrite dependencies for libgcc_s.1.dylib.
|
10423 |
|
|
|
10424 |
|
|
2006-07-19 Jakub Jelinek
|
10425 |
|
|
|
10426 |
|
|
* except.c (duplicate_eh_regions_1): Clear next_peer.
|
10427 |
|
|
|
10428 |
|
|
2006-07-17 Nathan Sidwell
|
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
|
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
|
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
|
10453 |
|
|
|
10454 |
|
|
* gcc.c (display_help): Fix typo in help text.
|
10455 |
|
|
|
10456 |
|
|
2006-07-18 Olivier Hainque
|
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) : 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
|
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
|
10489 |
|
|
|
10490 |
|
|
PR c/28286
|
10491 |
|
|
* c-pragma.c (handle_pragma_pack): Handle invalid constants.
|
10492 |
|
|
|
10493 |
|
|
2006-07-18 Alexandre Oliva
|
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
|
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
|
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
|
10511 |
|
|
Rainer Orth
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
10580 |
|
|
|
10581 |
|
|
* doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
|
10582 |
|
|
|
10583 |
|
|
2006-07-15 Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
10622 |
|
|
|
10623 |
|
|
* doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
|
10624 |
|
|
|
10625 |
|
|
2006-07-13 Jan Hubicka
|
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
|
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
|
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
|
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
|
10651 |
|
|
|
10652 |
|
|
* tree.c: Fix a comment typo.
|
10653 |
|
|
|
10654 |
|
|
2006-07-12 Naveen.H.S
|
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
|
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
|
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
|
10672 |
|
|
|
10673 |
|
|
* protoize.c (edit_fn_definition): Add volatile to clean_text_p.
|
10674 |
|
|
|
10675 |
|
|
2006-07-10 Eric Christopher
|
10676 |
|
|
|
10677 |
|
|
* config/t-slibgcc-darwin: Rewrite.
|
10678 |
|
|
|
10679 |
|
|
2006-07-10 Laurynas Biveinis
|
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
|
10686 |
|
|
|
10687 |
|
|
* doc/sourcebuild.texi: Fix typo.
|
10688 |
|
|
|
10689 |
|
|
2006-07-07 Mike Stump
|
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
|
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
|
10716 |
|
|
|
10717 |
|
|
PR target/27991
|
10718 |
|
|
* config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
|
10719 |
|
|
|
10720 |
|
|
2006-07-07 Richard Guenther
|
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
|
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
|
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
|
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
|
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
|
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
|
10784 |
|
|
|
10785 |
|
|
* tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
|
10786 |
|
|
argument name.
|
10787 |
|
|
|
10788 |
|
|
2006-07-06 David Edelsohn
|
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
|
10795 |
|
|
Alan Modra
|
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
|
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
|
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
|
10816 |
|
|
|
10817 |
|
|
* doc/invoke.texi (Invoking G++): Clarify prose for g++.
|
10818 |
|
|
|
10819 |
|
|
2006-07-05 H.J. Lu
|
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
|
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
|
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
|
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
|
10845 |
|
|
|
10846 |
|
|
* mklibgcc.in: chmod 644 before ranlib during install.
|
10847 |
|
|
|
10848 |
|
|
2006-07-04 Andrew Stubbs
|
10849 |
|
|
J"orn Rennecke
|
10850 |
|
|
|
10851 |
|
|
* configure.ac (.eh_frame data check): Use diff -b.
|
10852 |
|
|
|
10853 |
|
|
2006-07-04 Eric Botcazou
|
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
|
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
|
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) : 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) : Use in_array_bounds_p
|
10884 |
|
|
instead of is_valid_const_index.
|
10885 |
|
|
: New case.
|
10886 |
|
|
(sra_walk_expr) : Use in_array_bounds_p instead of
|
10887 |
|
|
is_valid_const_index.
|
10888 |
|
|
: 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
|
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
|
10910 |
|
|
|
10911 |
|
|
* configure.ac: Fix thinko in previous check-in.
|
10912 |
|
|
* configure: Regenerate.
|
10913 |
|
|
|
10914 |
|
|
2006-07-03 Paolo Bonzini
|
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
|
10924 |
|
|
|
10925 |
|
|
* doc/gcov.texi (Invoking Gcov): Add a missing word.
|
10926 |
|
|
|
10927 |
|
|
2006-06-30 Kazu Hirata
|
10928 |
|
|
|
10929 |
|
|
* cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
|
10930 |
|
|
comment typos.
|
10931 |
|
|
|
10932 |
|
|
2006-06-29 Jason Merrill
|
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
|
10957 |
|
|
|
10958 |
|
|
PR middle-end/27428
|
10959 |
|
|
* c-lex.c (c_lex_with_flags) : Increment errorcount
|
10960 |
|
|
to indicate the cpplib has issued an error message for us.
|
10961 |
|
|
|
10962 |
|
|
2006-06-29 Asher Langton
|
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
|
10969 |
|
|
Evan Cheng
|
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_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
|
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
|
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
|
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
|
11001 |
|
|
|
11002 |
|
|
* genpreds.c (write_predicate_stmts) : Add missing break.
|
11003 |
|
|
|
11004 |
|
|
2006-06-28 Roger Sayle
|
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
|
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
|
11023 |
|
|
|
11024 |
|
|
* config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
|
11025 |
|
|
|
11026 |
|
|
2006-06-26 Naveen H.S
|
11027 |
|
|
Jayant Sonar
|
11028 |
|
|
Jaydeep Vipradas
|
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
|
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
|
11043 |
|
|
|
11044 |
|
|
* tree.c (build_string): Do not waste tail padding in
|
11045 |
|
|
struct tree_string.
|
11046 |
|
|
|
11047 |
|
|
2006-06-26 Richard Guenther
|
11048 |
|
|
|
11049 |
|
|
* ggc-page.c (init_ggc): Add missing element to size_lookup
|
11050 |
|
|
table.
|
11051 |
|
|
|
11052 |
|
|
Revert
|
11053 |
|
|
2006-06-23 Richard Guenther
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
11118 |
|
|
John David Anglin
|
11119 |
|
|
|
11120 |
|
|
PR middle-end/28131
|
11121 |
|
|
* expr.c (expand_expr_real_1) : Check whether the
|
11122 |
|
|
call to lang_hooks.types.type_for_mode returned NULL_TREE.
|
11123 |
|
|
|
11124 |
|
|
2006-06-23 Ben Elliston
|
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
|
11130 |
|
|
Steven Bosscher
|
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
|
11137 |
|
|
|
11138 |
|
|
* config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
|
11139 |
|
|
(leaf_entry): Remove use of MIN_ESA.
|
11140 |
|
|
|
11141 |
|
|
2006-06-22 Zdenek Dvorak
|
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
|
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
|
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
|
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
|
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
|
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
|
11180 |
|
|
|
11181 |
|
|
* configure: Regenerated.
|
11182 |
|
|
|
11183 |
|
|
2006-06-21 Joseph Myers
|
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
|
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
|
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
|
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
|
11208 |
|
|
|
11209 |
|
|
* tree-ssa-loop-niter.c (simplify_using_initial_conditions):
|
11210 |
|
|
Limit iteration over the dominators.
|
11211 |
|
|
|
11212 |
|
|
2006-06-20 Roger Sayle
|
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
|
11218 |
|
|
Michael Matz
|
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
|
11230 |
|
|
|
11231 |
|
|
* expr.c (expand_expr_real_1) : 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
|
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
|
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
|
11257 |
|
|
|
11258 |
|
|
PR c/27149
|
11259 |
|
|
* c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
|
11260 |
|
|
|
11261 |
|
|
2006-06-19 Mike Stump
|
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
|
11267 |
|
|
|
11268 |
|
|
* tree-ssa-pre.c (try_combine_conversion): Strip useless
|
11269 |
|
|
type conversions after folding.
|
11270 |
|
|
|
11271 |
|
|
2006-06-19 Richard Guenther
|
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
|
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
|
11288 |
|
|
|
11289 |
|
|
* config/avr/libgcc.S : Correct my wrong previous commit.
|
11290 |
|
|
|
11291 |
|
|
2006-06-19 Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
11350 |
|
|
|
11351 |
|
|
* config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
|
11352 |
|
|
of 4096.
|
11353 |
|
|
|
11354 |
|
|
2006-06-17 Karl Berry
|
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
|
11362 |
|
|
|
11363 |
|
|
* config/i386/i386.c (legitimate_tls_address)
|
11364 |
|
|
: 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
|
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
|
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
|
11389 |
|
|
Richard Guenther
|
11390 |
|
|
|
11391 |
|
|
* fold-const.c (fold_truthop): Only return new tree node if
|
11392 |
|
|
we canonicalized something.
|
11393 |
|
|
|
11394 |
|
|
2006-06-16 Richard Guenther
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
11480 |
|
|
|
11481 |
|
|
* config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
|
11482 |
|
|
|
11483 |
|
|
2006-06-13 Carlos O'Donell
|
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
|
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
|
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
|
11510 |
|
|
|
11511 |
|
|
* configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include
|
11512 |
|
|
before to define sigset_t required by .
|
11513 |
|
|
* configure: Regenerate.
|
11514 |
|
|
|
11515 |
|
|
2006-06-13 Jie Zhang
|
11516 |
|
|
|
11517 |
|
|
* config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
|
11518 |
|
|
for real instruction.
|
11519 |
|
|
|
11520 |
|
|
2006-06-13 Maxim Kuvyrkov
|
11521 |
|
|
|
11522 |
|
|
PR middle-end/26807
|
11523 |
|
|
* haifa-sched.c (check_cfg): Handle special case.
|
11524 |
|
|
|
11525 |
|
|
2006-06-13 Eric Botcazou
|
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
|
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
|
11547 |
|
|
|
11548 |
|
|
PR middle-end/27536
|
11549 |
|
|
* except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
|
11550 |
|
|
|
11551 |
|
|
2006-06-13 Richard Guenther
|
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
|
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
|
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
|
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
|
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
|
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
|
11588 |
|
|
|
11589 |
|
|
PR 27542
|
11590 |
|
|
* doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
|
11591 |
|
|
pragma.
|
11592 |
|
|
|
11593 |
|
|
2006-06-11 Roger Sayle
|
11594 |
|
|
|
11595 |
|
|
PR target/27858
|
11596 |
|
|
Revert incorrect fix for PR target/27158
|
11597 |
|
|
2006-05-08 Roger Sayle
|
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
|
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
|
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
|
11619 |
|
|
|
11620 |
|
|
* config/mips/t-rtems: Add EL/EB multilib variants.
|
11621 |
|
|
|
11622 |
|
|
2006-06-09 Mike Stump
|
11623 |
|
|
|
11624 |
|
|
* c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
|
11625 |
|
|
|
11626 |
|
|
2006-06-09 David Daney
|
11627 |
|
|
|
11628 |
|
|
* doc/install.texi: Add binutils version recommendation for mips-*-*.
|
11629 |
|
|
|
11630 |
|
|
2006-06-09 Andreas Krebbel
|
11631 |
|
|
|
11632 |
|
|
* reload.c (find_reloads): Unset force_reload for 'X' constraint.
|
11633 |
|
|
|
11634 |
|
|
2006-06-09 Richard Guenther
|
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
|
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
|
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
|
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
|
11662 |
|
|
|
11663 |
|
|
* tree-ssa-dom.c (record_conditions): Only record "unordered"
|
11664 |
|
|
conditions from floating point comparisons.
|
11665 |
|
|
|
11666 |
|
|
2006-06-08 Paolo Bonzini
|
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
|
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
|
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
|
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
|
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
|
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
|
11712 |
|
|
|
11713 |
|
|
* config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
|
11714 |
|
|
into single entry.
|
11715 |
|
|
|
11716 |
|
|
2006-06-07 Paolo Bonzini
|
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
|
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
|
11729 |
|
|
|
11730 |
|
|
* config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
|
11731 |
|
|
|
11732 |
|
|
2006-06-06 Ulrich Weigand
|
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
|
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
|
11746 |
|
|
|
11747 |
|
|
* Makefile.in: Rename to htmldir to build_htmldir to avoid
|
11748 |
|
|
installing during build.
|
11749 |
|
|
|
11750 |
|
|
2006-06-06 Maxim Kuvyrkov
|
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
|
11762 |
|
|
|
11763 |
|
|
* stor-layout.c (debug_rli): Fix a typo in a debug message.
|
11764 |
|
|
|
11765 |
|
|
2006-06-05 Steve Ellcey
|
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
|
11771 |
|
|
Victor Kaplansky
|
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
|
11778 |
|
|
Andrew Pinski
|
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
|
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
|
11797 |
|
|
|
11798 |
|
|
PR c++/27601
|
11799 |
|
|
* c-common.c (fold_offsetof_1): Handle static members.
|
11800 |
|
|
|
11801 |
|
|
2006-06-04 Eric Christopher
|
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
|
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
|
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
|
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
|
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
|
11851 |
|
|
|
11852 |
|
|
PR other/27850
|
11853 |
|
|
* Makefile.in (stmp-fixinc): Fix typo.
|
11854 |
|
|
|
11855 |
|
|
2006-06-02 Roger Sayle
|
11856 |
|
|
|
11857 |
|
|
* fold-const.c (fold_unary) : Ensure folded expressions
|
11858 |
|
|
are type correct. Clean-up.
|
11859 |
|
|
: Likewise. Optimize creal(~z) as creal(z).
|
11860 |
|
|
: Likewise. Optimize cimag(~z) as -cimag(z).
|
11861 |
|
|
|
11862 |
|
|
2006-06-01 DJ Delorie
|
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
|
11868 |
|
|
|
11869 |
|
|
Suppress extra '#1 or '#1 ' on -dD output.
|
11870 |
|
|
* c-opts.c (finish_options): Use internal line 0 for .
|
11871 |
|
|
* c-ppoutput.c (cb_define): Don't increment line 0.
|
11872 |
|
|
|
11873 |
|
|
2006-06-01 Pete Steinmetz
|
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
|
11883 |
|
|
|
11884 |
|
|
* config/avr/avr.h (SET_ASM_OP): Define.
|
11885 |
|
|
|
11886 |
|
|
2006-06-01 Kazu Hirata
|
11887 |
|
|
|
11888 |
|
|
* config/bfin/bfin.c: Fix comment typos.
|
11889 |
|
|
|
11890 |
|
|
2006-06-01 Paolo Bonzini
|
11891 |
|
|
|
11892 |
|
|
PR 25453
|
11893 |
|
|
* doc/install.texi: Document --enable-bootstrap and
|
11894 |
|
|
--disable-bootstrap.
|
11895 |
|
|
|
11896 |
|
|
2006-06-01 Paolo Bonzini
|
11897 |
|
|
|
11898 |
|
|
* doc/install.texi: Document that InfoZIP can replace jar.
|
11899 |
|
|
|
11900 |
|
|
2006-05-31 Roger Sayle
|
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
|
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) : Update fold_builtin_cabs call.
|
11917 |
|
|
|
11918 |
|
|
2006-05-31 Jie Zhang
|
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
|
11974 |
|
|
|
11975 |
|
|
* config/bfin/bfin.c (bfin_delegitimize_address): New.
|
11976 |
|
|
(TARGET_DELEGITIMIZE_ADDRESS): Define.
|
11977 |
|
|
|
11978 |
|
|
2006-05-31 Daniel Jacobowitz
|
11979 |
|
|
|
11980 |
|
|
* Makefile.in (CATALOGS): Add po/ prefix.
|
11981 |
|
|
* configure: Regenerated.
|
11982 |
|
|
|
11983 |
|
|
2006-05-31 Richard Earnshaw
|
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
|
11991 |
|
|
DJ Delorie
|
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
|
11997 |
|
|
|
11998 |
|
|
* simplify-rtx.c (simplify_binary_operation_1) : Cast
|
11999 |
|
|
width to HOST_WIDE_INT to avoid comparison warnings on some targets.
|
12000 |
|
|
|
12001 |
|
|
2006-05-30 Roger Sayle
|
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) : Call fold_mult_zconjz for integral
|
12007 |
|
|
complex values and with -ffast-math for FP complex values.
|
12008 |
|
|
|
12009 |
|
|
2006-05-30 Kazu Hirata
|
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
|
12015 |
|
|
|
12016 |
|
|
* cse.c (validate_canon_reg, cse_insn): Don't change insns without
|
12017 |
|
|
calling recog.
|
12018 |
|
|
|
12019 |
|
|
2006-05-30 Roger Sayle
|
12020 |
|
|
|
12021 |
|
|
* simplify-rtx.c (simplify_binary_operation): Unfactor the shift
|
12022 |
|
|
and rotate cases.
|
12023 |
|
|
: 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
|
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
|
12033 |
|
|
|
12034 |
|
|
PR c/27718
|
12035 |
|
|
* c-typeck.c (c_expr_sizeof_type): Handle invalid types.
|
12036 |
|
|
|
12037 |
|
|
2006-05-30 Zdenek Dvorak
|
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
|
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
|
12050 |
|
|
Leehod Baruch
|
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
|
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
|
12063 |
|
|
|
12064 |
|
|
PR tree-optimization/24964
|
12065 |
|
|
* simplify-rtx.c (simplify_binary_operation_1): Add function comment.
|
12066 |
|
|
: 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
|
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
|
12077 |
|
|
|
12078 |
|
|
PR 26237
|
12079 |
|
|
* c-tree.texi: Document OpenMP directives and clauses.
|
12080 |
|
|
|
12081 |
|
|
2006-05-29 Kazu Hirata
|
12082 |
|
|
|
12083 |
|
|
* varasm.c (globalize_decl): Fix indentation.
|
12084 |
|
|
|
12085 |
|
|
2006-05-29 Diego Novillo
|
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 |
|
|
|
12095 |
|
|
2006-05-29 Bernd Schmidt
|
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
|
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
|
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
|
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
|
12173 |
|
|
|
12174 |
|
|
* cgraphunit.c (decide_is_function_needed): Fix wrong
|
12175 |
|
|
PR reference.
|
12176 |
|
|
|
12177 |
|
|
2006-05-26 Ulrich Weigand
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
12396 |
|
|
Anatoly Sokolov
|
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
|
12409 |
|
|
|
12410 |
|
|
* mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
|
12411 |
|
|
|
12412 |
|
|
2006-05-22 Richard Guenther
|
12413 |
|
|
|
12414 |
|
|
Revert
|
12415 |
|
|
2006-01-31 Richard Guenther
|
12416 |
|
|
Paolo Bonzini
|
12417 |
|
|
|
12418 |
|
|
* doc/install.texi (--disable-libgcc-math): Document.
|
12419 |
|
|
|
12420 |
|
|
2006-05-22 Richard Guenther
|
12421 |
|
|
|
12422 |
|
|
Revert
|
12423 |
|
|
2006-01-31 Richard Guenther
|
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
|
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
|
12457 |
|
|
|
12458 |
|
|
* config/cris/cris.opt (march): Remove VarExists attribute.
|
12459 |
|
|
(max-stackframe=): Likewise.
|
12460 |
|
|
|
12461 |
|
|
2006-05-22 Kazu Hirata
|
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
|
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
|
12477 |
|
|
|
12478 |
|
|
* config/rs6000/rs6000.md (floatsitf2): Remove constraints.
|
12479 |
|
|
|
12480 |
|
|
2006-05-21 Kazu Hirata
|
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) : Call fold_convert
|
12489 |
|
|
on arg1.
|
12490 |
|
|
|
12491 |
|
|
2006-05-21 Bernhard Fischer
|
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
|
12498 |
|
|
|
12499 |
|
|
PR middle-end/25776
|
12500 |
|
|
* cgraphunit.c (verify_cgraph_node): Typo in error message.
|
12501 |
|
|
|
12502 |
|
|
2006-05-20 Andrew Pinski
|
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
|
12509 |
|
|
|
12510 |
|
|
* config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
|
12511 |
|
|
|
12512 |
|
|
2006-05-19 Daniel Berlin
|
12513 |
|
|
Kenneth Zadeck
|
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
|
12623 |
|
|
|
12624 |
|
|
* c-tree.h (default_conversion): Remove.
|
12625 |
|
|
* c-common.h (default_conversion): Add.
|
12626 |
|
|
|
12627 |
|
|
2006-05-19 Zdenek Dvorak
|
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
|
12634 |
|
|
|
12635 |
|
|
* config/mips/linux-unwind.h: Include
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |
|
|
|
12774 |
|
|
2006-05-17 Bernd Schmidt
|
12775 |
|
|
|
12776 |
|
|
PR bootstrap/22541
|
12777 |
|
|
From Dan Kegel :
|
12778 |
|
|
* Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
|
12779 |
|
|
|
12780 |
|
|
2006-05-17 Eric Botcazou
|
12781 |
|
|
|
12782 |
|
|
* tree.c (variably_modified_type_p) : Return true
|
12783 |
|
|
if the element type is variably modified without recursing.
|
12784 |
|
|
|
12785 |
|
|
2006-05-17 Sebastian Pop
|
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
|
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 |
|
|
|
12799 |
|
|
2006-05-17 Bernd Schmidt
|
12800 |
|
|
|
12801 |
|
|
PR middle-end/27620
|
12802 |
|
|
* expr.c (safe_from_p): Handle CONSTRUCTOR again.
|
12803 |
|
|
|
12804 |
|
|
2006-05-17 Jakub Jelinek
|
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
|
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
|
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
|
12834 |
|
|
|
12835 |
|
|
* doc/options.texi: Move the Negative option.
|
12836 |
|
|
|
12837 |
|
|
2006-05-16 Richard Guenther
|
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
|
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
|
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
|
12892 |
|
|
|
12893 |
|
|
* doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
|
12894 |
|
|
defmac.
|
12895 |
|
|
|
12896 |
|
|
2006-05-15 Roger Sayle
|
12897 |
|
|
|
12898 |
|
|
PR target/26600
|
12899 |
|
|
* config/i386/i386.c (legitimate_constant_p) : TImode
|
12900 |
|
|
integer constants other than zero are only legitimate on TARGET_64BIT.
|
12901 |
|
|
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
|
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
|
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
|
12919 |
|
|
|
12920 |
|
|
* tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
|
12921 |
|
|
|
12922 |
|
|
2006-05-15 Per Bothner
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
12994 |
|
|
|
12995 |
|
|
PR 27501
|
12996 |
|
|
* mkconfig.sh: Use operator = instead of == for test.
|
12997 |
|
|
|
12998 |
|
|
2006-05-13 Nick Clifton
|
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
|
13005 |
|
|
|
13006 |
|
|
* config.host : Append i386/x-cygwin to
|
13007 |
|
|
host_xmake_file.
|
13008 |
|
|
|
13009 |
|
|
2006-05-13 Steven Bosscher
|
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
|
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
|
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
|
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
|
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
|
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
|
13055 |
|
|
|
13056 |
|
|
PR tree-optimization/27532
|
13057 |
|
|
* tree-object-size.c (plus_expr_object_size): Fix typo.
|
13058 |
|
|
|
13059 |
|
|
2006-05-10 Kazu Hirata
|
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
|
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
|
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
|
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
|
13089 |
|
|
|
13090 |
|
|
PR target/26545
|
13091 |
|
|
* config/rs6000/aix41.h (TARGET_64BIT): Define.
|
13092 |
|
|
|
13093 |
|
|
2006-05-09 Michael Matz
|
13094 |
|
|
|
13095 |
|
|
* config.host (): 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 (): Describe
|
13107 |
|
|
cpu-type "native".
|
13108 |
|
|
|
13109 |
|
|
2006-05-09 Dirk Mueller
|
13110 |
|
|
Richard Guenther
|
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
|
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
|
13123 |
|
|
Richard Sandiford
|
13124 |
|
|
|
13125 |
|
|
* config/mips/mips-ps-3d.md (scc_ps, s_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
|
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
|
13140 |
|
|
|
13141 |
|
|
* hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
|
13142 |
|
|
relocation and relocation stubs.
|
13143 |
|
|
|
13144 |
|
|
2006-05-08 Eric Christopher
|
13145 |
|
|
|
13146 |
|
|
* unwind-dw2-fde-darwin.c (examine_objects): Only check data
|
13147 |
|
|
section for ppc.
|
13148 |
|
|
|
13149 |
|
|
2006-05-08 Jan Hubicka
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
13208 |
|
|
|
13209 |
|
|
* opts.c (flag_see): remove its setting at -O3.
|
13210 |
|
|
|
13211 |
|
|
2006-05-07 Richard Earnshaw
|
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
|
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
|
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
|
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
|
13247 |
|
|
|
13248 |
|
|
* config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
|
13249 |
|
|
scratch with output modifier.
|
13250 |
|
|
|
13251 |
|
|
2006-05-04 David Edelsohn
|
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
|
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
|
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
|
13278 |
|
|
|
13279 |
|
|
* config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
|
13280 |
|
|
|
13281 |
|
|
2006-05-04 Jan Hubicka
|
13282 |
|
|
|
13283 |
|
|
PR middle-end/25962
|
13284 |
|
|
* cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
|
13285 |
|
|
|
13286 |
|
|
2006-05-04 Bernd Schmidt
|
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
|
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
|
13321 |
|
|
Daniel Berlin
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
13408 |
|
|
|
13409 |
|
|
* tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
|
13410 |
|
|
|
13411 |
|
|
2006-05-02 Kazu Hirata
|
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
|
13418 |
|
|
Joshua Kinard
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
13555 |
|
|
|
13556 |
|
|
* omp-low.c (dump_omp_region): Add newlines.
|
13557 |
|
|
|
13558 |
|
|
2006-04-30 Roger Sayle
|
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
|
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
|
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
|
13582 |
|
|
|
13583 |
|
|
* tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
|
13584 |
|
|
|
13585 |
|
|
2006-04-28 Roger Sayle
|
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
|
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
|
13605 |
|
|
|
13606 |
|
|
PR middle-end/27260
|
13607 |
|
|
* builtins.c (expand_builtin_memset): Expand val in original mode.
|
13608 |
|
|
|
13609 |
|
|
2006-04-27 Eric Christopher
|
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
|
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
|
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
|
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
|
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
|
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
|
13691 |
|
|
|
13692 |
|
|
* config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
|
13693 |
|
|
prototype for SSE.
|
13694 |
|
|
|
13695 |
|
|
2006-04-26 Kenneth Zadeck
|
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
|
13701 |
|
|
Paolo Bonzini
|
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
|
13708 |
|
|
|
13709 |
|
|
* tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
|
13710 |
|
|
|
13711 |
|
|
2006-04-26 Jakub Jelinek
|
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
|
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
|
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
|
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
|
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
|
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
|
13767 |
|
|
|
13768 |
|
|
* expmed.c (store_bit_field): Handle paradoxical subregs on big endian
|
13769 |
|
|
machines.
|
13770 |
|
|
|
13771 |
|
|
2006-04-25 Bernd Schmidt
|
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
|
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
|
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
|
13821 |
|
|
|
13822 |
|
|
Revert:
|
13823 |
|
|
2006-04-23 Mark Mitchell
|
13824 |
|
|
* configure.ac: Completely disregard languages that are not
|
13825 |
|
|
enabled.
|
13826 |
|
|
* configure: Regenerated.
|
13827 |
|
|
|
13828 |
|
|
2006-04-24 Andrew Pinski
|
13829 |
|
|
Richard Guenther
|
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
|
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
|
13842 |
|
|
Richard Guenther
|
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
|
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
|
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
|
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
|
13877 |
|
|
|
13878 |
|
|
* tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
|
13879 |
|
|
|
13880 |
|
|
2006-04-23 Mark Mitchell
|
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
|
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
|
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
|
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
|
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
|
13920 |
|
|
|
13921 |
|
|
Revert:
|
13922 |
|
|
* config/soft-fp/op-common.h: Fix a typo.
|
13923 |
|
|
|
13924 |
|
|
2006-04-22 Frank Ch. Eigler
|
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
|
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
|
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
|
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
|
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
|
13982 |
|
|
|
13983 |
|
|
* config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
|
13984 |
|
|
|
13985 |
|
|
2006-04-21 Paul Brook
|
13986 |
|
|
|
13987 |
|
|
* config/arm/arm.c (arm_override_options): Error on iWMMXt and
|
13988 |
|
|
hardware floating point.
|
13989 |
|
|
|
13990 |
|
|
2006-04-21 David Edelsohn
|
13991 |
|
|
|
13992 |
|
|
* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
|
13993 |
|
|
NON_FLOAT_REGS.
|
13994 |
|
|
|
13995 |
|
|
2006-04-21 Nick Clifton
|
13996 |
|
|
|
13997 |
|
|
* config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
|
13998 |
|
|
OPT_EXTRA_PARTS.
|
13999 |
|
|
|
14000 |
|
|
2006-04-21 Alan Modra
|
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
|
14009 |
|
|
|
14010 |
|
|
* config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
|
14011 |
|
|
|
14012 |
|
|
2006-04-20 Volker Reichelt
|
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
|
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
|
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
|
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
|
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
|
14047 |
|
|
Nathan Sidwell
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
14109 |
|
|
|
14110 |
|
|
* config/m32c/m32c.h (PTRDIFF_TYPE): Define.
|
14111 |
|
|
|
14112 |
|
|
2006-04-18 Devang Patel
|
14113 |
|
|
|
14114 |
|
|
* doc/invoke.texi (-Wuninitialized): Clarify -O connection.
|
14115 |
|
|
|
14116 |
|
|
2006-04-18 Nick Clifton
|
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
|
14124 |
|
|
|
14125 |
|
|
* builtins.c (expand_builtin_strcmp): Cover label definition of
|
14126 |
|
|
do_libcall with HAVE_cmpstrnsi.
|
14127 |
|
|
|
14128 |
|
|
2006-04-18 Kazu Hirata
|
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
|
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
|
14144 |
|
|
|
14145 |
|
|
PR target/27117
|
14146 |
|
|
|
14147 |
|
|
Partial revert of revision 112637
|
14148 |
|
|
2006-04-03 Paolo Bonzini
|
14149 |
|
|
Dale Johannesen
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
14236 |
|
|
Andrew Pinski
|
14237 |
|
|
Dale Johannesen
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
14305 |
|
|
Eric Botcazou
|
14306 |
|
|
|
14307 |
|
|
* config/sparc/sparc.c (emit_and_preserve): Allocate space for the
|
14308 |
|
|
register save area.
|
14309 |
|
|
|
14310 |
|
|
2006-04-13 Uros Bizjak
|
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
|
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
|
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
|
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
|
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
|
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
|
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) : 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
|
14431 |
|
|
Ulrich Weigand
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
14522 |
|
|
|
14523 |
|
|
* caller-save.c: #include "addresses.h" after #include "tm_p.h".
|
14524 |
|
|
|
14525 |
|
|
2006-04-11 Richard Sandiford
|
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
|
14533 |
|
|
|
14534 |
|
|
* config/sparc/sparc.c (function_arg_slotno) : 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
|
14543 |
|
|
|
14544 |
|
|
* dwarf2out.c (premark_used_types): Remove problematic prototype.
|
14545 |
|
|
|
14546 |
|
|
2006-04-11 Jakub Jelinek
|
14547 |
|
|
|
14548 |
|
|
* gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
|
14549 |
|
|
|
14550 |
|
|
2006-04-03 Jeff Law
|
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
|
14557 |
|
|
|
14558 |
|
|
* Makefile.in (gcc-cross): Add $(exeext) to target name.
|
14559 |
|
|
|
14560 |
|
|
2006-04-10 Aldy Hernandez
|
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
|
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
|
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
|
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
|
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
|
14641 |
|
|
|
14642 |
|
|
* doc/install.texi (*-*-solaris2*): Point to the configure page.
|
14643 |
|
|
|
14644 |
|
|
2006-04-10 Jakub Jelinek
|
14645 |
|
|
|
14646 |
|
|
PR debug/27057
|
14647 |
|
|
* dwarf2out.c (is_symbol_die): Return true also for namespaces.
|
14648 |
|
|
|
14649 |
|
|
2006-04-09 Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
14752 |
|
|
|
14753 |
|
|
* config/rs6000/rs6000.c (rs6000_rtx_costs) : Do not
|
14754 |
|
|
treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra
|
14755 |
|
|
insn.
|
14756 |
|
|
|
14757 |
|
|
2006-04-07 Jan Hubicka
|
14758 |
|
|
|
14759 |
|
|
* ipa-inline.c (cgraph_early_inlining): Collect garbage.
|
14760 |
|
|
|
14761 |
|
|
2006-04-07 Richard Guenther
|
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
|
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
|
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
|
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
|
14792 |
|
|
|
14793 |
|
|
* config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
|
14794 |
|
|
vs m32c.
|
14795 |
|
|
|
14796 |
|
|
2006-04-05 Bernd Schmidt
|
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
|
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
|
14811 |
|
|
|
14812 |
|
|
* reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
|
14813 |
|
|
|
14814 |
|
|
2006-04-05 Sebastian Pop
|
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
|
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
|
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
|
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
|
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
|
14859 |
|
|
|
14860 |
|
|
* config/i386/i386.c (machopic_output_stub): Output \t
|
14861 |
|
|
between instructions and operands.
|
14862 |
|
|
|
14863 |
|
|
2006-04-04 David Edelsohn
|
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
|
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
|
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
|
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
|
14899 |
|
|
|
14900 |
|
|
* doc/install.texi (Prerequisites): Mention jar.
|
14901 |
|
|
|
14902 |
|
|
2006-04-04 Daniel Berlin
|
14903 |
|
|
|
14904 |
|
|
* doc/tree-ssa.texi (Preserving the virtual ssa form): New
|
14905 |
|
|
subsection.
|
14906 |
|
|
|
14907 |
|
|
2006-04-04 Matthias Klose
|
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
|
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
|
14931 |
|
|
|
14932 |
|
|
* simplify-rtx.c (simplify_unary_operation_1) : 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
|
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
|
14942 |
|
|
Dale Johannesen
|
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
|
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
|
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
|
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
|
14995 |
|
|
|
14996 |
|
|
PR tree-optimization/26939
|
14997 |
|
|
* tree-chrec.c (chrec_merge): Use eq_evolutions_p.
|
14998 |
|
|
|
14999 |
|
|
2006-04-02 Sebastian Pop
|
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
|
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
|
15035 |
|
|
Richard Henderson
|
15036 |
|
|
|
15037 |
|
|
* gimplify.c (gimplify_scan_omp_clauses) : Call
|
15038 |
|
|
gimple_boolify on the condition before calling gimplify_expr.
|
15039 |
|
|
|
15040 |
|
|
2006-03-31 Bob Wilson
|
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
|
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
|
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
|
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
|
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): 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
|
15095 |
|
|
|
15096 |
|
|
* doc/md.texi: Refer to avr/constraints.md instead of
|
15097 |
|
|
avr/avr.h.
|
15098 |
|
|
|
15099 |
|
|
2006-03-30 Roger Sayle
|
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
|
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
|
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
|
15121 |
|
|
|
15122 |
|
|
* Makefile.in: Rename docdir to gcc_docdir.
|
15123 |
|
|
|
15124 |
|
|
2006-03-30 Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
15171 |
|
|
|
15172 |
|
|
* config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
|
15173 |
|
|
variants with double arguments.
|
15174 |
|
|
|
15175 |
|
|
2006-03-29 David Edelsohn
|
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
|
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
|
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
|
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
|
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
|
15251 |
|
|
|
15252 |
|
|
* config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
|
15253 |
|
|
(movdf_vfp): Ditto.
|
15254 |
|
|
|
15255 |
|
|
2006-03-29 Sebastian Pop
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
15327 |
|
|
|
15328 |
|
|
* fold-const.c (fold_binary) : Fold (X & Y) ^ Y as
|
15329 |
|
|
the equivalent ~X & Y, and the symmetry related transformations.
|
15330 |
|
|
(fold_binary) : Similarly, fold (X ^ Y) & Y as
|
15331 |
|
|
~X & Y, and symmetry related transforms.
|
15332 |
|
|
|
15333 |
|
|
2006-03-28 Maxim Kuvyrkov
|
15334 |
|
|
|
15335 |
|
|
Revert my 2006-03-27 patches.
|
15336 |
|
|
|
15337 |
|
|
2006-03-28 Roger Sayle
|
15338 |
|
|
|
15339 |
|
|
* fold-const.c (fold_unary) : 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
|
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
|
15351 |
|
|
|
15352 |
|
|
* tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
|
15353 |
|
|
from parent_var.
|
15354 |
|
|
|
15355 |
|
|
2006-03-27 Roger Sayle
|
15356 |
|
|
|
15357 |
|
|
PR middle-end/22524
|
15358 |
|
|
* fold-const.c (fold_binary) : Call fold_convert to
|
15359 |
|
|
cast BIT_NOT_EXPR operand to the correct type.
|
15360 |
|
|
|
15361 |
|
|
2006-03-27 Sebastian Pop
|
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
|
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
|
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
|
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
|
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
|
15437 |
|
|
J"orn Rennecke
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
15571 |
|
|
Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
15660 |
|
|
|
15661 |
|
|
* regrename.c (scan_rtx_address): Initialize a variable to shut up
|
15662 |
|
|
the compiler.
|
15663 |
|
|
|
15664 |
|
|
2006-03-24 Eric Botcazou
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
15731 |
|
|
|
15732 |
|
|
* cse.c (cse_end_of_basic_block): Do not check for LOOP_END note.
|
15733 |
|
|
|
15734 |
|
|
2006-03-23 Zdenek Dvorak
|
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
|
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
|
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
|
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
|
15772 |
|
|
|
15773 |
|
|
* loop-unroll.c (analyze_iv_to_split_insn): Handle
|
15774 |
|
|
iv_analyze_result returning false.
|
15775 |
|
|
|
15776 |
|
|
2006-03-22 Jie Zhang
|
15777 |
|
|
|
15778 |
|
|
* config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
|
15779 |
|
|
|
15780 |
|
|
2006-03-22 Richard Henderson
|
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
|
15809 |
|
|
|
15810 |
|
|
* doc/md.texi (-mshared): Mention that -mshared code can be linked
|
15811 |
|
|
into shared libraries.
|
15812 |
|
|
|
15813 |
|
|
2006-03-22 Richard Sandiford
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
15913 |
|
|
|
15914 |
|
|
* genautomata.c (, 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
|
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
|
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
|
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
|
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
|
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
|
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
|
16033 |
|
|
|
16034 |
|
|
* function.h (struct function) :
|
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
|
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
|
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
|
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
|
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
|
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
|
16093 |
|
|
|
16094 |
|
|
* config/ia64/ia64.opt: Add empty line to end of file.
|
16095 |
|
|
|
16096 |
|
|
2006-03-17 Richard Guenther
|
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
|
16104 |
|
|
|
16105 |
|
|
* config/rs6000/rs6000.md (strlensi): Emit barrier after
|
16106 |
|
|
unconditional jump.
|
16107 |
|
|
|
16108 |
|
|
2006-03-17 Paul Brook
|
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
|
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
|
16135 |
|
|
|
16136 |
|
|
* dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
|
16137 |
|
|
with ATTRIBUTE_UNUSED.
|
16138 |
|
|
|
16139 |
|
|
2006-03-17 Alexandre Oliva
|
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
|
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 (and3): 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
|
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
|
16218 |
|
|
|
16219 |
|
|
* config.gcc (tm_defines): Always add to previous value rather
|
16220 |
|
|
than replacing it.
|
16221 |
|
|
|
16222 |
|
|
2006-03-16 Richard Sandiford
|
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
|
16253 |
|
|
|
16254 |
|
|
* config.gcc (mips64*-*-linux*): Keep existing tm_defines.
|
16255 |
|
|
(mips*-*-linux*): Likewise.
|
16256 |
|
|
|
16257 |
|
|
2006-03-16 Roger Sayle
|
16258 |
|
|
Daniel Speyer
|
16259 |
|
|
|
16260 |
|
|
PR middle-end/18259
|
16261 |
|
|
* tree-dump.c (dump_real): New function.
|
16262 |
|
|
(dequeue_and_dump) : 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
|
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
|
16273 |
|
|
|
16274 |
|
|
* simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
|
16275 |
|
|
|
16276 |
|
|
2006-03-16 Maxim Kuvyrkov
|
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_advanced, mov_speculative,
|
16315 |
|
|
mov_speculative_advanced, zero_extenddi2_advanced,
|
16316 |
|
|
zero_extenddi2_speculative,
|
16317 |
|
|
zero_extenddi2_speculative_advanced): New patterns for
|
16318 |
|
|
data and control speculative loads.
|
16319 |
|
|
(mov_clr, zero_extenddi2_clr): New patterns for
|
16320 |
|
|
check loads.
|
16321 |
|
|
(advanced_load_check_clr_, speculation_check_):
|
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
|
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
|
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
|
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
|
16552 |
|
|
Andrey Belevantsev
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
16679 |
|
|
|
16680 |
|
|
* config/sh/predicates.md (cache_address_operand): Special.
|
16681 |
|
|
(ua_address_operand): Likewise.
|
16682 |
|
|
|
16683 |
|
|
2006-03-15 Zdenek Dvorak
|
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
|
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
|
16695 |
|
|
|
16696 |
|
|
* config.gcc (default with_cpu setting) : Do not modify
|
16697 |
|
|
the default setting here.
|
16698 |
|
|
|
16699 |
|
|
2006-03-14 Steven Bosscher
|
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
|
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
|
16726 |
|
|
|
16727 |
|
|
* pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
|
16728 |
|
|
|
16729 |
|
|
2006-03-14 Richard Guenther
|
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
|
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
|
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
|
16749 |
|
|
|
16750 |
|
|
PR target/26657
|
16751 |
|
|
* config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp.
|
16752 |
|
|
|
16753 |
|
|
2006-03-14 Joseph S. Myers
|
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
|
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
|
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
|
16779 |
|
|
|
16780 |
|
|
* pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
|
16781 |
|
|
is defined.
|
16782 |
|
|
|
16783 |
|
|
2006-03-13 Richard Sandiford
|
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
|
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
|
16795 |
|
|
|
16796 |
|
|
* config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC.
|
16797 |
|
|
|
16798 |
|
|
2006-03-13 Jeff Law
|
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
|
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) : Don't
|
16818 |
|
|
recognize 'G' modifier.
|
16819 |
|
|
|
16820 |
|
|
2006-03-13 Eric Botcazou
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
16898 |
|
|
|
16899 |
|
|
* config/mips/mips.c: Remove redundant comment.
|
16900 |
|
|
|
16901 |
|
|
2006-03-10 Jason Merrill
|
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
|
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
|
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
|
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
|
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
|
16932 |
|
|
|
16933 |
|
|
* struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
|
16934 |
|
|
|
16935 |
|
|
2006-03-09 Andrew Pinski
|
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) : Remove TODO_cleanup_cfg.
|
16941 |
|
|
|
16942 |
|
|
2006-03-09 Adam Nemet
|
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
|
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): Rename to...
|
16972 |
|
|
(*branch_order): ...this. Remove mode from comparison operator.
|
16973 |
|
|
Use mips_output_order_conditional_branch. Only accept ordered
|
16974 |
|
|
comparisons.
|
16975 |
|
|
(*branch_zero_inverted): Rename to...
|
16976 |
|
|
(*branch_order_inverted): ...this and update as for
|
16977 |
|
|
*branch_order.
|
16978 |
|
|
(*branch_equality): Accept zero as the second operand to
|
16979 |
|
|
the equality operator. Use the new mips_output_conditional_branch
|
16980 |
|
|
interface.
|
16981 |
|
|
(*branch_equality_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
|
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
|
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
|
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
|
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
|
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 |
|
|
(cbranch4, stzx_16, stzx_24_, stzx_reversed,
|
17040 |
|
|
cmp, b, s, s_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
|
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
|
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
|
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
|
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
|
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
|
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
|
17154 |
|
|
|
17155 |
|
|
PR target/26588
|
17156 |
|
|
* config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
|
17157 |
|
|
|
17158 |
|
|
2006-03-08 Ben Elliston
|
17159 |
|
|
|
17160 |
|
|
* config/fp-bit.h (CMPtype): Typedef to a word mode integer.
|
17161 |
|
|
|
17162 |
|
|
2006-03-07 Aldy Hernandez
|
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
|
17169 |
|
|
|
17170 |
|
|
PR tree-optimization/26587
|
17171 |
|
|
* tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
|
17172 |
|
|
|
17173 |
|
|
2006-03-07 Richard Sandiford
|
17174 |
|
|
|
17175 |
|
|
* varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
|
17176 |
|
|
|
17177 |
|
|
2006-03-07 Richard Sandiford
|
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
|
17204 |
|
|
|
17205 |
|
|
* config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
|
17206 |
|
|
flag_strength_reduce.
|
17207 |
|
|
|
17208 |
|
|
2006-03-06 Ben Elliston
|
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
|
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
|
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
|
17240 |
|
|
|
17241 |
|
|
* rtlanal.c (replace_reg): Remove.
|
17242 |
|
|
* rtl.h: Remove the prototype for replace_reg.
|
17243 |
|
|
|
17244 |
|
|
2006-03-05 Kazu Hirata
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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) : Call
|
17327 |
|
|
get_modify_expr_operands.
|
17328 |
|
|
: Handle together with ARRAY_REF.
|
17329 |
|
|
: Clear opf_kill_def from FLAGS.
|
17330 |
|
|
(parse_ssa_operands) : Call
|
17331 |
|
|
get_modify_expr_operands.
|
17332 |
|
|
|
17333 |
|
|
2006-03-03 Kazu Hirata
|
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
|
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
|
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
|
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
|
17382 |
|
|
|
17383 |
|
|
* config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
|
17384 |
|
|
|
17385 |
|
|
2006-03-02 Roger Sayle
|
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
|
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
|
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
|
17409 |
|
|
|
17410 |
|
|
* tree-vrp.c (remove_range_assertions): Do not update statements
|
17411 |
|
|
unnecessarily.
|
17412 |
|
|
|
17413 |
|
|
2006-03-02 Zdenek Dvorak
|
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
|
17423 |
|
|
|
17424 |
|
|
* config/i386/i386.c (machopic_output_stub): Add indirection to
|
17425 |
|
|
jump.
|
17426 |
|
|
|
17427 |
|
|
2006-03-02 Zdenek Dvorak
|
17428 |
|
|
|
17429 |
|
|
* loop.c: Removed.
|
17430 |
|
|
|
17431 |
|
|
2006-03-02 David S. Miller
|
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
|
17468 |
|
|
|
17469 |
|
|
* tree-ssa-operands.c (update_stmt_operands): Update documentation.
|
17470 |
|
|
|
17471 |
|
|
2006-03-02 Richard Sandiford
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
17767 |
|
|
|
17768 |
|
|
* builtins.c (fold_builtin_copysign): Delete unreachable code.
|
17769 |
|
|
|
17770 |
|
|
2006-03-01 Andrew Pinski
|
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
|
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
|
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
|
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
|
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) : Here.
|
17826 |
|
|
|
17827 |
|
|
2006-03-01 Diego Novillo
|
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
|
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
|
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
|
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
|
17857 |
|
|
|
17858 |
|
|
PR middle-end/14752
|
17859 |
|
|
* c-common.c (c_common_truthvalue_conversion)
|
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
|
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
|
17872 |
|
|
Adam Nemet
|
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
|
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
|
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
|
17899 |
|
|
|
17900 |
|
|
* doc/md.texi: Fix typo in previous change.
|
17901 |
|
|
|
17902 |
|
|
2006-02-27 Kenneth Zadeck
|
17903 |
|
|
|
17904 |
|
|
* df.c: Remove.
|
17905 |
|
|
|
17906 |
|
|
2006-02-27 Zack Weinberg
|
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
|
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
|
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
|
18011 |
|
|
|
18012 |
|
|
* tree-ssa-structalias.c (get_constraint_for): Move code to deal
|
18013 |
|
|
with aggregates here.
|
18014 |
|
|
(find_func_aliases): Remove code for & from here.
|
18015 |
|
|
|
18016 |
|
|
2006-02-26 Roger Sayle
|
18017 |
|
|
|
18018 |
|
|
* fold-const.c (fold_binary) : 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
|
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
|
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
|
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
|
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) : 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
|
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
|
18076 |
|
|
|
18077 |
|
|
* fold-const.c (fold_binary) : Fold (X & 1) ^ 1 as
|
18078 |
|
|
(X & 1) == 0.
|
18079 |
|
|
: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
|
18080 |
|
|
|
18081 |
|
|
2006-02-26 Roger Sayle
|
18082 |
|
|
James A. Morrison
|
18083 |
|
|
|
18084 |
|
|
PR middle-end/21137
|
18085 |
|
|
* fold-const.c (fold_binary) : Fold ((X>>C1)&C2) eq/ne 0,
|
18086 |
|
|
when C2 is a power of two, as either (X&(C2<
|
18087 |
|
|
new constant C2<
|
18088 |
|
|
signedness of the shift operation.
|
18089 |
|
|
|
18090 |
|
|
2006-02-26 Dorit Nuzman
|
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
|
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
|
18103 |
|
|
|
18104 |
|
|
PR middle-end/23673
|
18105 |
|
|
* fold-const.c (fold_binary) : 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
|
18111 |
|
|
Richard Guenther
|
18112 |
|
|
|
18113 |
|
|
* scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
|
18114 |
|
|
|
18115 |
|
|
2006-02-24 Adam Nemet
|
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
|
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
|
18127 |
|
|
|
18128 |
|
|
* doc/install.texi: Require GNU tar version 1.14.
|
18129 |
|
|
|
18130 |
|
|
2006-02-24 Geoffrey Keating
|
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
|
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
|
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
|
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
|
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
|
18179 |
|
|
Rainer Orth
|
18180 |
|
|
|
18181 |
|
|
* gthr-posix.h (__gthrw): Fix typo in comment.
|
18182 |
|
|
|
18183 |
|
|
2006-02-23 Geoffrey Keating
|
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
|
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
|
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
|
18212 |
|
|
|
18213 |
|
|
* emit-rtl.c (immed_double_const): Cleanup.
|
18214 |
|
|
|
18215 |
|
|
2006-02-23 Daniel Berlin
|
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
|
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
|
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
|
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
|
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
|
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
|
18265 |
|
|
|
18266 |
|
|
* tree.h (variable_section): Delete.
|
18267 |
|
|
* varasm.c (variable_section): Delete.
|
18268 |
|
|
|
18269 |
|
|
2006-02-22 Paolo Bonzini
|
18270 |
|
|
|
18271 |
|
|
* install.texi: Add notes on install.texi2html.
|
18272 |
|
|
(Building in parallel): Do not use footnotes.
|
18273 |
|
|
|
18274 |
|
|
2006-02-21 Aldy Hernandez
|
18275 |
|
|
|
18276 |
|
|
PR libgomp/26234
|
18277 |
|
|
* doc/install.texi (Configuration): Document --disable-libgomp.
|
18278 |
|
|
|
18279 |
|
|
2006-02-21 Geoffrey Keating
|
18280 |
|
|
|
18281 |
|
|
* config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
|
18282 |
|
|
|
18283 |
|
|
2006-02-21 Alexandre Oliva
|
18284 |
|
|
|
18285 |
|
|
* config/i386/sse.md (vec_extractv2df_1_sse): New.
|
18286 |
|
|
(vec_extractv2df_0_sse): New.
|
18287 |
|
|
|
18288 |
|
|
2006-02-21 Alexandre Oliva
|
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
|
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
|
18319 |
|
|
|
18320 |
|
|
* doc/install.texi2html: Use set -e.
|
18321 |
|
|
|
18322 |
|
|
2006-02-21 Richard Sandiford
|
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
|
18335 |
|
|
|
18336 |
|
|
* doc/sourcebuild.texi (Front End Directory): No more double-colon
|
18337 |
|
|
hooks.
|
18338 |
|
|
|
18339 |
|
|
2006-02-21 Jakub Jelinek
|
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
|
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
|
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
|
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
|
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 |
|
|
|
18425 |
|
|
2006-02-20 Rafael Ávila de Espíndola
|
18426 |
|
|
|
18427 |
|
|
* Makefile.in (C): Remove
|
18428 |
|
|
(PROTO): Remove
|
18429 |
|
|
(.PHONY): Remove C and PROTO
|
18430 |
|
|
|
18431 |
|
|
2006-02-20 Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
18500 |
|
|
|
18501 |
|
|
PR middle-end/19543
|
18502 |
|
|
* varasm.c (compare_constant) : Integer constants are
|
18503 |
|
|
only equivalent if the have both the same mode and precision.
|
18504 |
|
|
|
18505 |
|
|
2006-02-20 Ben Elliston
|
18506 |
|
|
|
18507 |
|
|
* doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE.
|
18508 |
|
|
|
18509 |
|
|
2006-02-19 Roger Sayle
|
18510 |
|
|
Steven Bosscher
|
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
|
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
|
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
|
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
|
18554 |
|
|
|
18555 |
|
|
* doc/install.texi: Add missing `@samp'.
|
18556 |
|
|
|
18557 |
|
|
2006-02-18 Andrew Pinski
|
18558 |
|
|
|
18559 |
|
|
* config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P):
|
18560 |
|
|
Use the arguments.
|
18561 |
|
|
|
18562 |
|
|
2006-02-18 Mark Wielaard
|
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
|
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
|
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
|
18690 |
|
|
|
18691 |
|
|
* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
|
18692 |
|
|
|
18693 |
|
|
2006-02-18 Andrew Pinski
|
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
|
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
|
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
|
18712 |
|
|
|
18713 |
|
|
PR ada/13408
|
18714 |
|
|
* pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
|
18715 |
|
|
|
18716 |
|
|
2006-02-18 Joseph S. Myers
|
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
|
18798 |
|
|
|
18799 |
|
|
* doc/cpp.texi (__TIMESTAMP__): Document.
|
18800 |
|
|
|
18801 |
|
|
2006-02-17 Roger Sayle
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
18899 |
|
|
|
18900 |
|
|
* config/sparc/sparc.md (setjmp): Rewrite.
|
18901 |
|
|
(setjmp_32): Delete.
|
18902 |
|
|
(setjmp_64): Likewise.
|
18903 |
|
|
|
18904 |
|
|
2006-02-16 Daniel Berlin
|
18905 |
|
|
|
18906 |
|
|
* tree-ssa-operands.c (access_can_touch_variable): Fix typo in
|
18907 |
|
|
previous change.
|
18908 |
|
|
|
18909 |
|
|
2006-02-16 Zdenek Dvorak
|
18910 |
|
|
|
18911 |
|
|
* loop-invariant.c (invariant_for_use, check_dependencies): Fail for
|
18912 |
|
|
read-write uses.
|
18913 |
|
|
|
18914 |
|
|
2006-02-16 Zdenek Dvorak
|
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 |
|
|
|
18921 |
|
|
2006-02-16 Paul Brook
|
18922 |
|
|
|
18923 |
|
|
* reload1.c (emit_reload_insns): Invalidate dead input registers used
|
18924 |
|
|
for reloads.
|
18925 |
|
|
|
18926 |
|
|
2006-02-16 Bernd Schmidt
|
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
|
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
|
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
|
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 |
|
|
|
18985 |
|
|
2006-02-15 Rafael Ávila de Espíndola
|
18986 |
|
|
|
18987 |
|
|
* Makefile.in: Fix the examples about the use of stamps
|
18988 |
|
|
|
18989 |
|
|
2006-02-15 Michael Matz
|
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>, ): Document
|
18998 |
|
|
this behaviour.
|
18999 |
|
|
|
19000 |
|
|
2006-02-15 Paolo Bonzini
|
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
|
19022 |
|
|
|
19023 |
|
|
* tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
|
19024 |
|
|
construction.
|
19025 |
|
|
|
19026 |
|
|
2006-02-14 Zdenek Dvorak
|
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
|
19035 |
|
|
|
19036 |
|
|
PR middle-end/23670
|
19037 |
|
|
* fold-const.c (fold_binary) : Optimize (X&Y)|Y into
|
19038 |
|
|
(X,Y) and the corresponding symmetry related transformations.
|
19039 |
|
|
(fold_binary) : Likewise, optimize (X|Y)&Y into
|
19040 |
|
|
(X,Y) and its symmetry related transformations.
|
19041 |
|
|
|
19042 |
|
|
2006-02-14 Roger Sayle
|
19043 |
|
|
|
19044 |
|
|
* dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
|
19045 |
|
|
and GEU.
|
19046 |
|
|
|
19047 |
|
|
2006-02-14 Adam Nemet
|
19048 |
|
|
|
19049 |
|
|
* simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.
|
19050 |
|
|
|
19051 |
|
|
2006-02-14 Rainer Orth
|
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
|
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
|
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
|
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
|
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
|
19118 |
|
|
|
19119 |
|
|
* simplify-rtx.c (simplify_unary_operation_1) : Return
|
19120 |
|
|
new expression in the requested machine mode.
|
19121 |
|
|
|
19122 |
|
|
2006-02-13 Roger Sayle
|
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
|
19133 |
|
|
|
19134 |
|
|
* pa/quadlib.c: Use defines instead of enum qfcmp_magic.
|
19135 |
|
|
|
19136 |
|
|
2006-02-13 Zdenek Dvorak
|
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
|
19144 |
|
|
|
19145 |
|
|
* tree-vrp.c (extract_range_from_binary_expr): Remove handling of
|
19146 |
|
|
TRUTH_XOR_EPR.
|
19147 |
|
|
|
19148 |
|
|
2006-02-13 Jakub Jelinek
|
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
|
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
|
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
|
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
|
19175 |
|
|
|
19176 |
|
|
PR middle-end/24427
|
19177 |
|
|
* fold-const.c (fold_binary) : 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 |
|
|
: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).
|
19182 |
|
|
|
19183 |
|
|
2006-02-13 Josh Conner
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
19255 |
|
|
|
19256 |
|
|
* doc/contrib.texi: Update my entry.
|
19257 |
|
|
|
19258 |
|
|
2006-02-10 Geoffrey Keating
|
19259 |
|
|
|
19260 |
|
|
* config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.
|
19261 |
|
|
|
19262 |
|
|
2006-02-10 Diego Novillo
|
19263 |
|
|
|
19264 |
|
|
* tree-inline.c (estimate_num_insns_1): Make OpenMP directives
|
19265 |
|
|
expensive.
|
19266 |
|
|
|
19267 |
|
|
2006-02-10 Zdenek Dvorak
|
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
|
19277 |
|
|
|
19278 |
|
|
* tree-if-conv.c (combine_blocks): Free the result of
|
19279 |
|
|
get_loop_exit_edges.
|
19280 |
|
|
|
19281 |
|
|
2006-02-10 Jeff Law
|
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
|
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
|
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
|
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
|
19312 |
|
|
|
19313 |
|
|
* config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.
|
19314 |
|
|
|
19315 |
|
|
2006-02-09 J"orn Rennecke
|
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
|
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
|
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
|
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 .
|
19347 |
|
|
: 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
|
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
|
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
|
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
|
19371 |
|
|
|
19372 |
|
|
* tree-flow-inline.h (var_can_have_subvars):
|
19373 |
|
|
Volatile variables should not have subvariables.
|
19374 |
|
|
|
19375 |
|
|
2006-02-09 Diego Novillo
|
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
|
19383 |
|
|
|
19384 |
|
|
* config/sparc/sparc.c (tls_call_delay): Fix oversight.
|
19385 |
|
|
|
19386 |
|
|
2006-02-08 Jason Merrill
|
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
|
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
|
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) : 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
|
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
|
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
|
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
|
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
|
19483 |
|
|
|
19484 |
|
|
* config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3,
|
19485 |
|
|
__muldf3): Return a correctly signed zero.
|
19486 |
|
|
|
19487 |
|
|
2006-02-08 Paolo Bonzini
|
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
|
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
|
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
|
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
|
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
|
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
|
19567 |
|
|
|
19568 |
|
|
* config/i386/i386.c (ix86_delegitimize_address): Support Darwin
|
19569 |
|
|
PIC addresses.
|
19570 |
|
|
|
19571 |
|
|
2006-02-07 Roger Sayle
|
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
|
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
|
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
|
19588 |
|
|
|
19589 |
|
|
* doc/invoke.texi (xl-compat): Document conversion and support
|
19590 |
|
|
routine names.
|
19591 |
|
|
|
19592 |
|
|
2006-02-07 Jeff Law
|
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
|
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
|
19646 |
|
|
|
19647 |
|
|
PR c++/26140
|
19648 |
|
|
Revert
|
19649 |
|
|
2006-01-30 Richard Guenther
|
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
|
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
|
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
|
19672 |
|
|
|
19673 |
|
|
* config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE.
|
19674 |
|
|
|
19675 |
|
|
2006-02-07 Ben Elliston
|
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
|
19685 |
|
|
|
19686 |
|
|
* reorg.c (dbr_schedule): Use dump_file instead of file.
|
19687 |
|
|
|
19688 |
|
|
2006-02-06 Steve Ellcey
|
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
|
19702 |
|
|
|
19703 |
|
|
PR target/23359
|
19704 |
|
|
* config/i386/i386.md (trap): Use ASM_SHORT instead of .word.
|
19705 |
|
|
|
19706 |
|
|
2006-02-06 Zdenek Dvorak
|
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
|
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
|
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
|
19838 |
|
|
|
19839 |
|
|
* config/i386/sync.md (sync_add, sync_sub, sync_ior,
|
19840 |
|
|
sync_and, sync_xor): Operand 0 is in-out.
|
19841 |
|
|
|
19842 |
|
|
2006-02-06 Daniel Berlin
|
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
|
19864 |
|
|
|
19865 |
|
|
* configure.ac: Unconditionally disable decimal float by default.
|
19866 |
|
|
* configure: Regenerate.
|
19867 |
|
|
|
19868 |
|
|
2006-02-06 Ben Elliston
|
19869 |
|
|
|
19870 |
|
|
* read-rtl.c (read_name): Terminate reading on EOF.
|
19871 |
|
|
|
19872 |
|
|
2006-02-06 Ben Elliston
|
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
|
19880 |
|
|
|
19881 |
|
|
* config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID.
|
19882 |
|
|
|
19883 |
|
|
2006-02-05 Andrew Pinski
|
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
|
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
|
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
|
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
|
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
|
19964 |
|
|
Jakub Jelinek
|
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
|
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
|
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
|
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
|
19997 |
|
|
|
19998 |
|
|
PR target/25960
|
19999 |
|
|
* config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result.
|
20000 |
|
|
|
20001 |
|
|
2006-02-03 Andreas Krebbel
|
20002 |
|
|
Ulrich Weigand
|
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 |
|
|
(, mode attributes): Removed.
|
20027 |
|
|
(, , , , mode attributes): New.
|
20028 |
|
|
("*cmp_ccs_0", "*cmp_ccs_0_ibm", "*cmp_ccs",
|
20029 |
|
|
"*cmp_ccs_ibm", "fix_trunc2_ieee",
|
20030 |
|
|
"floatdi2", "floatsi2_ieee", "*add3",
|
20031 |
|
|
"*add3_cc", "*add3_cconly", "*add3_ibm",
|
20032 |
|
|
"*sub3", "*sub3_cc", "*sub3_cconly",
|
20033 |
|
|
"*sub3_ibm", "*mul3_ibm", "*fmadd", "*fmsub",
|
20034 |
|
|
"*div3", "*div3_ibm", "*neg2_cc",
|
20035 |
|
|
"*neg2_cconly", "*neg2", "*neg2_ibm",
|
20036 |
|
|
"*abs2_cc", "*abs2_cconly", "*abs2",
|
20037 |
|
|
"*abs2_ibm", "*negabs2_cc", "*negabs2_cconly",
|
20038 |
|
|
"*negabs2", "sqrt2"):
|
20039 |
|
|
Changed to . R constraint replaced by .
|
20040 |
|
|
("*mul3"): Changed to . R constraint replaced by
|
20041 |
|
|
.
|
20042 |
|
|
("fix_truncdi2"): 'FPR:' removed.
|
20043 |
|
|
("*fmadd", "*fmsub"): 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
|
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
|
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
|
20077 |
|
|
Daniel Berlin
|
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
|
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
|
20090 |
|
|
|
20091 |
|
|
* config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate
|
20092 |
|
|
object files.
|
20093 |
|
|
|
20094 |
|
|
2006-02-02 Bernd Schmidt
|
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
|
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
|
20111 |
|
|
|
20112 |
|
|
* tree-inline.c (copy_tree_r): Also copy OMP_CLAUSE nodes.
|
20113 |
|
|
|
20114 |
|
|
2006-02-02 Diego Novillo
|
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
|
20121 |
|
|
|
20122 |
|
|
PR middle-end/24901
|
20123 |
|
|
* fold-const.c (fold_checksum_tree): Change type of buf.
|
20124 |
|
|
|
20125 |
|
|
2006-02-01 Bernd Schmidt
|
20126 |
|
|
|
20127 |
|
|
* reload.c (push_secondary_reload): Initialize t_icode.
|
20128 |
|
|
|
20129 |
|
|
2006-02-01 Jakub Jelinek
|
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
|
20136 |
|
|
|
20137 |
|
|
* cse.c (fold_rtx) : 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
|
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
|
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
|
20156 |
|
|
|
20157 |
|
|
* gcc.c (process_command): Change j to 'unsigned int'.
|
20158 |
|
|
|
20159 |
|
|
2006-01-31 Andrew Pinski
|
20160 |
|
|
|
20161 |
|
|
PR middle-end/26001
|
20162 |
|
|
* expr.c (expand_expr_real_1) :
|
20163 |
|
|
Use the corrected index for the character
|
20164 |
|
|
out of the string constant.
|
20165 |
|
|
|
20166 |
|
|
2006-01-31 Andrew Pinski
|
20167 |
|
|
|
20168 |
|
|
* mode-switching.c (optimize_mode_switching): Fix size
|
20169 |
|
|
allocated for bb_info[n_entities].
|
20170 |
|
|
|
20171 |
|
|
2006-01-31 Andrew Pinski
|
20172 |
|
|
|
20173 |
|
|
* gcc.c (main): Correct type that is allocated for
|
20174 |
|
|
explicit_link_files.
|
20175 |
|
|
|
20176 |
|
|
2006-01-31 Jakub Jelinek
|
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
|
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
|
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
|
20318 |
|
|
|
20319 |
|
|
* arm.md (smaxsi3): Make aware of smax_m1.
|
20320 |
|
|
(smax_m1): New.
|
20321 |
|
|
|
20322 |
|
|
2006-01-31 Nathan Sidwell
|
20323 |
|
|
|
20324 |
|
|
* config/m68k/lb1sf68.asm: Use moveq to load small constants.
|
20325 |
|
|
|
20326 |
|
|
2006-01-31 Richard Guenther
|
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
|
20352 |
|
|
Paolo Bonzini
|
20353 |
|
|
|
20354 |
|
|
* doc/install.texi (--disable-libgcc-math): Document.
|
20355 |
|
|
|
20356 |
|
|
2006-01-30 Marcin Dalecki
|
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
|
20374 |
|
|
|
20375 |
|
|
* config/i386/cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast
|
20376 |
|
|
argv to the appropriate type.
|
20377 |
|
|
|
20378 |
|
|
2006-01-30 Zdenek Dvorak
|
20379 |
|
|
|
20380 |
|
|
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove
|
20381 |
|
|
unreachable code.
|
20382 |
|
|
|
20383 |
|
|
2006-01-30 Ulrich Weigand
|
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
|
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
|
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
|
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
|
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
|
20445 |
|
|
|
20446 |
|
|
* vec.h (safe_grow): Remove duplicated line.
|
20447 |
|
|
|
20448 |
|
|
2006-01-29 Diego Novillo
|
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
|
20457 |
|
|
|
20458 |
|
|
Revert
|
20459 |
|
|
|
20460 |
|
|
2005-11-09 Eric Botcazou
|
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
|
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
|
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
|
20480 |
|
|
|
20481 |
|
|
* toplev.c: Fix thinko.
|
20482 |
|
|
|
20483 |
|
|
2006-01-29 Gabriel Dos Reis
|
20484 |
|
|
Marcin Dalecki
|
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
|
20491 |
|
|
|
20492 |
|
|
* df-core.c (df_set_blocks): Deleted all variable.
|
20493 |
|
|
|
20494 |
|
|
2006-01-28 Ian Lance Taylor
|
20495 |
|
|
|
20496 |
|
|
* cgraphunit.c (cgraph_assemble_pending_functions): Call
|
20497 |
|
|
cgraph_output_pending_asms.
|
20498 |
|
|
|
20499 |
|
|
2006-01-28 Zack Weinberg
|
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
|
20521 |
|
|
|
20522 |
|
|
* combine.c (simplify_comparison ): Check
|
20523 |
|
|
TRULY_NOOP_TRUNCATION before start using a subreg.
|
20524 |
|
|
|
20525 |
|
|
* config/mips/mips.md (*branch_zero,
|
20526 |
|
|
*branch_zero_inverted, *branch_equality,
|
20527 |
|
|
*branch_equality_inverted, *branch_equality_mips16):
|
20528 |
|
|
Remove mode check from comparisons.
|
20529 |
|
|
|
20530 |
|
|
2006-01-28 Kenneth Zadeck
|
20531 |
|
|
|
20532 |
|
|
* config/mips/mips-protos.h (mips_set_live_on_entry): Deleted.
|
20533 |
|
|
|
20534 |
|
|
2006-01-28 Kazu Hirata
|
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
|
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
|
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
|
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
|
20592 |
|
|
Kenneth Zadeck
|
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
|
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
|
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
|
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
|
20683 |
|
|
Alan Modra
|
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
|
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
|
20736 |
|
|
|
20737 |
|
|
* cfgcleanup.c (try_crossjump_to_edge): Fix comment typo.
|
20738 |
|
|
|
20739 |
|
|
2006-01-26 Alexandre Oliva
|
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
|
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
|
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
|
20776 |
|
|
|
20777 |
|
|
PR target/25961
|
20778 |
|
|
* Makefile.in (insn-automata.o): Add -Wno-error flag.
|
20779 |
|
|
|
20780 |
|
|
2006-01-26 Paolo Bonzini
|
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
|
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
|
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
|
20801 |
|
|
Andrew Pinski
|
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
|
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
|
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
|
20827 |
|
|
|
20828 |
|
|
PR C/25861
|
20829 |
|
|
* c-common.c (c_common_truthvalue_conversion) :
|
20830 |
|
|
Use a new variable, inner. PARM_DECLs are always non-weak.
|
20831 |
|
|
|
20832 |
|
|
2006-01-26 Shantonu Sen
|
20833 |
|
|
|
20834 |
|
|
* tree.h (OMP_CLAUSE_SUBCODE_CHECK): Add definition for
|
20835 |
|
|
--disable-checking.
|
20836 |
|
|
|
20837 |
|
|
2006-01-26 Adam Nemet
|
20838 |
|
|
|
20839 |
|
|
* config/mips/mips.md (*clear_upper32): New combiner pattern.
|
20840 |
|
|
|
20841 |
|
|
2006-01-26 Richard Earnshaw
|
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
|
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
|
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
|
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
|
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
|
20935 |
|
|
|
20936 |
|
|
* global.c: Fix comment typos.
|
20937 |
|
|
|
20938 |
|
|
2006-01-25 Andrew Pinski
|
20939 |
|
|
|
20940 |
|
|
PR target/25758
|
20941 |
|
|
* config/i386/i386.c (output_pic_addr_const) :
|
20942 |
|
|
Use output_addr_const instead of assemble_name.
|
20943 |
|
|
|
20944 |
|
|
2006-01-25 Paolo Bonzini
|
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
|
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
|
20998 |
|
|
|
20999 |
|
|
* flow.c (delete_noop_moves): Add missing EOL to dump message.
|
21000 |
|
|
|
21001 |
|
|
2006-01-25 Richard Sandiford
|
21002 |
|
|
|
21003 |
|
|
* genattrtab.c (gen_bypass): Allow bypasses to contain whitespace.
|
21004 |
|
|
|
21005 |
|
|
2006-01-25 Kaz Kojima
|
21006 |
|
|
|
21007 |
|
|
* config/sh/predicates.md (sh_register_operand): Accept CONST_DOUBLE.
|
21008 |
|
|
|
21009 |
|
|
2006-01-24 David Daney
|
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
|
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
|
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
|
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
|
21036 |
|
|
|
21037 |
|
|
* dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long.
|
21038 |
|
|
|
21039 |
|
|
2006-01-24 Andrew Pinski
|
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
|
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
|
21053 |
|
|
|
21054 |
|
|
* genextract.c (VEC_safe_set_locstr): Take VEC by reference;
|
21055 |
|
|
update all callers.
|
21056 |
|
|
|
21057 |
|
|
2006-01-23 Paolo Bonzini
|
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
|
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
|
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
|
21076 |
|
|
|
21077 |
|
|
* omp-low.c: Update documentation.
|
21078 |
|
|
|
21079 |
|
|
2006-01-23 Andrew Pinski
|
21080 |
|
|
Daniel Berlin
|
21081 |
|
|
|
21082 |
|
|
PR tree-opt/25315
|
21083 |
|
|
PR tree-opt/25857
|
21084 |
|
|
* tree-ssa-pre.c (insert_extra_phis): If an incoming edge is abnormal
|
21085 |
|
|
return from the function.
|
21086 |
|
|
|
21087 |
|
|
2006-01-22 Zack Weinberg
|
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
|
21104 |
|
|
|
21105 |
|
|
* varray.c: Remove GENERATOR_FILE #ifdefs.
|
21106 |
|
|
|
21107 |
|
|
2006-01-22 Zack Weinberg
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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) : Here.
|
21286 |
|
|
|
21287 |
|
|
2006-01-23 Richard Guenther
|
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
|
21293 |
|
|
Jan Hubicka
|
21294 |
|
|
Richard Guenther
|
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
|
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
|
21316 |
|
|
|
21317 |
|
|
* config/rs6000/aix.h (STACK_BOUNDARY): Define.
|
21318 |
|
|
|
21319 |
|
|
2006-01-22 Paul Brook
|
21320 |
|
|
Peter Barada
|
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
|
21356 |
|
|
|
21357 |
|
|
* doc/contribute.texi: Change CVS to SVN and update the corresponding
|
21358 |
|
|
URL.
|
21359 |
|
|
|
21360 |
|
|
2006-01-21 Gabriel Dos Reis
|
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
|
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
|
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
|
21389 |
|
|
|
21390 |
|
|
* varasm.c (assemble_real): Initialise data array.
|
21391 |
|
|
|
21392 |
|
|
2006-01-20 Paul Brook
|
21393 |
|
|
|
21394 |
|
|
Merge from csl-arm-branch.
|
21395 |
|
|
2005-09-21 Kazu Hirata
|
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
|
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
|
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
|
21430 |
|
|
|
21431 |
|
|
* loop-iv.c (iv_analysis_loop_init): Use df in more conservative way.
|
21432 |
|
|
|
21433 |
|
|
2006-01-20 Richard Sandiford
|
21434 |
|
|
|
21435 |
|
|
* stmt.c (case_bit_test_cmp): Stabilize the sort using code
|
21436 |
|
|
label numbers.
|
21437 |
|
|
|
21438 |
|
|
2006-01-20 Richard Guenther
|
21439 |
|
|
Steven Bosscher
|
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
|
21447 |
|
|
* cfgrtl.c (rtl_verify_flow_info_1): Fix.
|
21448 |
|
|
|
21449 |
|
|
2006-01-20 Dirk Mueller
|
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
|
21461 |
|
|
|
21462 |
|
|
* Makefile.in (lang_checks): Keep going if mkdir fails.
|
21463 |
|
|
|
21464 |
|
|
2006-01-19 Kenneth Zadeck
|
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
|
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
|
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
|
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
|
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
|
21554 |
|
|
|
21555 |
|
|
* config/m32c/m32c.h (REG_ALLOC_ORDER): Define.
|
21556 |
|
|
|
21557 |
|
|
2006-01-19 Paul Brook
|
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
|
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
|
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
|
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
|
21581 |
|
|
H.J. Lu
|
21582 |
|
|
Evandro Menezes
|
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
|
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
|
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
|
21782 |
|
|
|
21783 |
|
|
* c-decl.c (add_flexible_array_elts_to_size): Simplify vector accesses.
|
21784 |
|
|
|
21785 |
|
|
2006-01-19 Jan Hubicka
|
21786 |
|
|
|
21787 |
|
|
* tree-vect-patterns.c (vect_pattern_recog_1): Prevent parse error.
|
21788 |
|
|
|
21789 |
|
|
2006-01-19 Paolo Bonzini
|
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) : Remove.
|
21800 |
|
|
|
21801 |
|
|
2006-01-19 Andreas Krebbel
|
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 |
|
|
("*add3_carry1_cc", "*add3_carry1_cconly",
|
21816 |
|
|
"*add3_carry2_cc", "*add3_carry2_cconly", "*add3_cc",
|
21817 |
|
|
"*add3_cconly", "*add3_cconly2", "*add3_imm_cc",
|
21818 |
|
|
"*sub3_borrow_cc", "*sub3_borrow_cconly",
|
21819 |
|
|
"*sub3_cc", "*sub3_cc2", "*sub3_cconly",
|
21820 |
|
|
"*sub3_cconly2"): New insn patterns.
|
21821 |
|
|
("addsi3", "subsi3"): New expanders.
|
21822 |
|
|
|
21823 |
|
|
2006-01-19 Dorit Nuzman
|
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, 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, 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
|
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
|
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
|
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
|
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
|
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
|
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
|
22000 |
|
|
|
22001 |
|
|
Merge from csl-arm-branch.
|
22002 |
|
|
2005-03-14 Julian Brown
|
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
|
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
|
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
|
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
|
22042 |
|
|
Aldy Hernandez
|
22043 |
|
|
Jakub Jelinek
|
22044 |
|
|
Diego Novillo
|
22045 |
|
|
|
22046 |
|
|
* omp-low.c: New file.
|
22047 |
|
|
* c-omp.c: New file.
|
22048 |
|
|
|
22049 |
|
|
2006-01-18 Richard Henderson
|
22050 |
|
|
Jakub Jelinek
|
22051 |
|
|
Diego Novillo
|
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 |
|
|
: Don't
|
22065 |
|
|
print space after directive name.
|
22066 |
|
|
: 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
|
22352 |
|
|
Richard Henderson
|
22353 |
|
|
Jakub Jelinek
|
22354 |
|
|
Diego Novillo
|
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
|
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
|
22392 |
|
|
|
22393 |
|
|
* rtl.h: Remove the prototype for reg_alloc.
|
22394 |
|
|
|
22395 |
|
|
2006-01-18 John David Anglin
|
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
|
22412 |
|
|
|
22413 |
|
|
* config/rs6000/rs6000.c (rs6000_assemble_integer): Correct
|
22414 |
|
|
unlikely_test_section_p test.
|
22415 |
|
|
|
22416 |
|
|
2006-01-18 Kazu Hirata
|
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
|
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
|
22451 |
|
|
|
22452 |
|
|
* config/m68k/m68k.md (*addsi3_5200): Allow addq/subq to memory
|
22453 |
|
|
operands.
|
22454 |
|
|
|
22455 |
|
|
2006-01-18 Kazu Hirata
|
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
|
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
|
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
|
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
|
22503 |
|
|
|
22504 |
|
|
* Makefile.in (check-%, check-consistency): Use $${srcdir}
|
22505 |
|
|
instead of $(srcdir) and ${srcdir}.
|
22506 |
|
|
|
22507 |
|
|
2006-01-17 Richard Earnshaw
|
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
|
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
|
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
|
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
|
22580 |
|
|
Kazu Hirata
|
22581 |
|
|
|
22582 |
|
|
* Makefile.in (FUNCTION_H, LAMBDA_H): Use $(TREE_H), not tree.h.
|
22583 |
|
|
|
22584 |
|
|
2006-01-17 Kazu Hirata
|
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
|
22591 |
|
|
|
22592 |
|
|
* recog.c: Separate some functions with whitespace.
|
22593 |
|
|
|
22594 |
|
|
2006-01-16 Richard Henderson
|
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
|
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
|
22637 |
|
|
|
22638 |
|
|
* reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of
|
22639 |
|
|
mems.
|
22640 |
|
|
|
22641 |
|
|
2006-01-16 John David Anglin
|
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
|
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
|
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
|
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
|
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 |
|
|
|
22674 |
|
|
2006-01-16 Rafael Ávila de Espíndola
|
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
|
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
|
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
|
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
|
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
|
22718 |
|
|
Roger Sayle
|
22719 |
|
|
|
22720 |
|
|
* fold-const.c (fold_minmax): New static function.
|
22721 |
|
|
(fold_binary) : Call it.
|
22722 |
|
|
: 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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
22805 |
|
|
Richard Guenther
|
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
|
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
|
22818 |
|
|
|
22819 |
|
|
* reload1.c (do_output_reload): Add assertion rejecting a
|
22820 |
|
|
CALL_INSN.
|
22821 |
|
|
|
22822 |
|
|
2006-01-13 Adam Nemet
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
22919 |
|
|
|
22920 |
|
|
* struct-equiv.c (find_dying_inputs): Fix off-by-one bug.
|
22921 |
|
|
|
22922 |
|
|
2006-01-11 Andrew Pinski
|
22923 |
|
|
|
22924 |
|
|
* config/i386/darwin.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
|
22925 |
|
|
|
22926 |
|
|
2006-01-11 Kazu Hirata
|
22927 |
|
|
|
22928 |
|
|
* config/sh/predicates.md (sh_rep_vec): Add parallel to
|
22929 |
|
|
match_code.
|
22930 |
|
|
|
22931 |
|
|
2006-01-11 Ben Elliston
|
22932 |
|
|
|
22933 |
|
|
* rtlanal.c (find_reg_note): Assert insn is not null.
|
22934 |
|
|
|
22935 |
|
|
2006-01-11 Kenneth Zadeck
|
22936 |
|
|
|
22937 |
|
|
* df-scan.c (df_hard_reg_init): Move declaration of i outside
|
22938 |
|
|
ifdef.
|
22939 |
|
|
|
22940 |
|
|
2006-01-11 Jeff Law
|
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
|
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
|
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
|
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
|
22990 |
|
|
|
22991 |
|
|
* Makefile.in: Removed rotted odf.c entry.
|
22992 |
|
|
|
22993 |
|
|
2006-01-11 Hans-Peter Nilsson
|
22994 |
|
|
|
22995 |
|
|
PR target/25706
|
22996 |
|
|
* config/cris/cris.md ("*extopqihi_side", "*extopsi_side")
|
22997 |
|
|
("*extopsi_swap_side_biap", "*extopsi_swap_side",
|
22998 |
|
|
("*extopqihi", "*extopsi", "*extopsi_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) : Clear cris_output_insn_is_bound
|
23003 |
|
|
before falling through into...
|
23004 |
|
|
: Redefined from old 'e' case.
|
23005 |
|
|
|
23006 |
|
|
2006-01-11 Jan Hubicka
|
23007 |
|
|
|
23008 |
|
|
PR target/25042
|
23009 |
|
|
* i386.c (ix86_init_mmx_sse_builtins): Do not delcare float128
|
23010 |
|
|
|
23011 |
|
|
2006-01-11 Jan Hubicka
|
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
|
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
|
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
|
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
|
23086 |
|
|
Kenneth Zadeck
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
23285 |
|
|
|
23286 |
|
|
* tree-ssa-structalias.c (get_constraint_for_component_ref):
|
23287 |
|
|
Never override with anything constraint.
|
23288 |
|
|
|
23289 |
|
|
2006-01-10 Jan Beulich
|
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
|
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
|
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
|
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
|
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
|
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
|
23349 |
|
|
|
23350 |
|
|
* config/i386/sse.md (*vec_extractv2di_1_sse2): New.
|
23351 |
|
|
(*vec_extractv2di_1_sse): New.
|
23352 |
|
|
|
23353 |
|
|
2006-01-09 Ben Elliston
|
23354 |
|
|
|
23355 |
|
|
* config/rs6000/rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Typo fix.
|
23356 |
|
|
|
23357 |
|
|
2006-01-08 Richard Guenther
|
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
|
23370 |
|
|
Kaz Kojima
|
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
|
23403 |
|
|
David Edelsohn
|
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
|
23412 |
|
|
|
23413 |
|
|
* tree.c (iterative_hash_expr): Hash decls based on UID.
|
23414 |
|
|
|
23415 |
|
|
2006-01-06 Eric Christopher
|
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
|
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
|
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
|
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
|
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
|
23522 |
|
|
|
23523 |
|
|
* c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA.
|
23524 |
|
|
|
23525 |
|
|
2006-01-05 Carlos O'Donell
|
23526 |
|
|
|
23527 |
|
|
* c-typeck.c: Update copyright date.
|
23528 |
|
|
|
23529 |
|
|
2006-01-05 Carlos O'Donell
|
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
|
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
|
23548 |
|
|
|
23549 |
|
|
PR middle-end/24998
|
23550 |
|
|
* arm/t-netbsd (LIB2FUNCS_EXTRA): Define.
|
23551 |
|
|
|
23552 |
|
|
2006-01-05 Richard Guenther
|
23553 |
|
|
Diego Novillo
|
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
|
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
|
23581 |
|
|
|
23582 |
|
|
* config/m68k/m68k.c (m68k_output_mi_thunk): Use jmp, not jsr.
|
23583 |
|
|
|
23584 |
|
|
2006-01-04 Daniel Berlin
|
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
|
23593 |
|
|
|
23594 |
|
|
Merge from gomp branch:
|
23595 |
|
|
* c-lex.c (c_lex_with_flags) : 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
|
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
|
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
|
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
|
23674 |
|
|
|
23675 |
|
|
* dominance.c: Add comment about why we use DFS numbering
|
23676 |
|
|
of dominance tree.
|
23677 |
|
|
|
23678 |
|
|
2006-01-03 Jakub Jelinek
|
23679 |
|
|
Richard Henderson
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
23758 |
|
|
|
23759 |
|
|
* combine.c (apply_distributive_law ): Check
|
23760 |
|
|
TRULY_NOOP_TRUNCATION.
|
23761 |
|
|
|
23762 |
|
|
2006-01-02 Geoffrey Keating
|
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
|
23779 |
|
|
Jan Hubicka
|
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
|
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
|
23792 |
|
|
|
23793 |
|
|
PR target/25259
|
23794 |
|
|
* Makefile.in (DECNUMINC): Include libdecnumber's build directory.
|
23795 |
|
|
|
23796 |
|
|
2006-01-02 Volker Reichelt
|
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
|
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.
|
23811 |
|
|
|
23812 |
|
|
|
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.
|