]>
Commit | Line | Data |
---|---|---|
7935dc1b EB |
1 | 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
2 | ||
3 | * configure.ac (TLS assembler check): Do not enable TLS by | |
4 | default on SPARC/Solaris before version 10. | |
5 | * configure: Regenerate. | |
6 | ||
8fbe3bb2 DE |
7 | 2006-02-07 David Edelsohn <edelsohn@gnu.org> |
8 | ||
9 | * doc/invoke.texi (xl-compat): Document conversion and support | |
10 | routine names. | |
11 | ||
2090d6a0 JL |
12 | 2006-02-07 Jeff Law <law@redhat.com> |
13 | ||
14 | * tree-vrp.c (find_conditional_asserts): Update comments. | |
15 | (simplify_stmt_for_jump_threading): New. | |
16 | (identify_jump_threads, finalize_jump_threads): New. | |
17 | (vrp_finalize): Call identify_jump_threads. | |
18 | (execute_vrp): Call finalize_jump_threads. | |
19 | * tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field. | |
20 | (vrp_element, vrp_data, vrp_element_p): Remove. | |
21 | (vrp_hash_elt, vrp_variables_stack): Remove. | |
22 | (vrp_hash, vrp_eq, record_range): Remove. | |
23 | (simplify_cond_and_lookup_avail_expr): Remove. | |
24 | (extract_range_from_cond): Remove. | |
25 | (thread_across_edge): Relocated into tree-ssa-threadedge.c. | |
26 | (simplify_stmt_for_jump_threading): New. | |
27 | (dom_thread_across_edge): New wrapper. | |
28 | (tree_ssa_dominator_optimize): No longer initialize or | |
29 | finalize any of the VRP datastructures. Remove iteration | |
30 | step and simplify as a result of removal of iteration step. | |
31 | (pass_dominator): Perform a cfg cleanup after DOM. | |
32 | (dom_opt_finalize_block): Use the new common routines | |
33 | for threading jumps. Simplify stack management slightly. | |
34 | No longer need to unwind VRP state. | |
35 | (record_equivalences_from_incoming_edge): No longer record | |
36 | VRP information. | |
37 | (eliminate_redundant_computations): No longer call | |
38 | simplify_cond_and_lookup_avail_expr. | |
39 | * tree-flow.h (potentially_threadable_block): Prototype. | |
40 | (thread_across_edge): Likewise. | |
41 | * Makefile.in (OBJS-common): Add tree-ssa-threadedge.o | |
42 | (tree-ssa-threadedge.o): Add dependencies. | |
43 | * tree-ssa-threadedge.c: New file. | |
44 | * passes.c (init_optimization_passes): Merge PHIs before | |
45 | calling VRP. Run VRP again late in the SSA optimization pipeline. | |
46 | ||
7935dc1b EB |
47 | 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
48 | ||
49 | * df-core.c (df_set_blocks): Do not dereference function pointers. | |
50 | (df_finish1): Likewise. | |
51 | (df_hybrid_search_forward): Likewise. | |
52 | (df_hybrid_search_backward): Likewise. | |
53 | (df_iterative_dataflow): Likewise. | |
54 | (df_analyze_problem): Likewise. | |
55 | (df_compact_blocks): Likewise. | |
56 | (df_dump): Likewise. | |
57 | * df-scan.c (df_rescan_blocks): Likewise. | |
58 | (df_record_entry_block_defs): Likewise. | |
59 | ||
60 | * genconditions.c (write_conditions): Guard the definition of | |
61 | 'insn_conditions' with the check on GCC version. | |
62 | (write_writer): Guard the traversal 'insn_conditions' with | |
63 | the check on GCC version. | |
64 | ||
328654cc RG |
65 | 2006-02-07 Richard Guenther <rguenther@suse.de> |
66 | ||
67 | PR c++/26140 | |
68 | Revert | |
69 | 2006-01-30 Richard Guenther <rguenther@suse.de> | |
70 | PR c++/23372 | |
71 | * gimplify.c (gimplify_target_expr): Handle easy cases | |
72 | without creating a temporary. | |
73 | ||
36968131 PS |
74 | 2006-02-07 Pete Steinmetz <steinmtz@us.ibm.com> |
75 | ||
76 | * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate | |
77 | use of float in probability computations. Use edge probabilities | |
78 | in place of statically computed probabilities. | |
79 | (min_spec_prob): New static variable. | |
80 | (schedule_insns): Initialize it. | |
81 | (GET_SRC_PROB): Removed. | |
82 | * doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob. | |
83 | ||
a58b0342 AO |
84 | 2006-02-07 Alexandre Oliva <aoliva@redhat.com> |
85 | ||
86 | PR debug/24444 | |
87 | * config/ia64/unwind-ia64.c: Revert last change. | |
88 | * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed. | |
89 | (INCOMING_FRAME_SP_OFFSET): Define. | |
90 | ||
0cc8f5c5 RS |
91 | 2006-02-06 Roger Sayle <roger@eyesopen.com> |
92 | ||
93 | * config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE. | |
94 | ||
a81083b2 BE |
95 | 2006-02-07 Ben Elliston <bje@au.ibm.com> |
96 | ||
97 | * config/i386/i386.c (ix86_scalar_mode_supported_p): New. | |
98 | (TARGET_SCALAR_MODE_SUPPORTED_P): Define hook. | |
99 | (classify_argument): Handle SDmode, DDmode, TDmode for 64-bit. | |
100 | (ix86_return_in_memory): Handle TDmode. | |
101 | (ix86_libcall_value): Handle SDmode, DDmode, TDmode. | |
102 | (ix86_value_regno): Return non-TDmode decimal float modes in %eax. | |
103 | ||
1d60e59e RS |
104 | 2006-02-06 Richard Sandiford <richard@codesourcery.com> |
105 | ||
106 | * reorg.c (dbr_schedule): Use dump_file instead of file. | |
107 | ||
5d48891e SE |
108 | 2006-02-06 Steve Ellcey <sje@cup.hp.com> |
109 | ||
110 | PR target/25917 | |
111 | * config/ia64/predicates.md (extr_len_operand): New predicate. | |
112 | * config/ia64/ia64.md (extv): Tighten constraints. | |
113 | (extzv): Ditto. | |
114 | (*tbit_and_2): Ditto. | |
115 | (*tbit_and_3): Ditto. | |
116 | (*tbit_or_2): Ditto. | |
117 | (*tbit_or_3): Ditto. | |
118 | (*bit_zero): Ditto. | |
119 | (*bit_one): Ditto. | |
120 | ||
45050557 AP |
121 | 2006-02-06 Andrew Pinski <pinskia@physics.uc.edu> |
122 | ||
123 | PR target/23359 | |
124 | * config/i386/i386.md (trap): Use ASM_SHORT instead of .word. | |
125 | ||
10d22567 ZD |
126 | 2006-02-06 Zdenek Dvorak <dvorakz@suse.cz> |
127 | ||
128 | * tree-vrp.c (execute_vrp): Do not pass dump argument to. | |
129 | loop_optimizer_init and loop_optimizer_finalize | |
130 | * tree-ssa-sink.c (execute_sink_code): Ditto. | |
131 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
132 | * tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init, | |
133 | tree_ssa_loop_done): Ditto. | |
134 | * tree-ssa-pre.c (init_pre, fini_pre): Ditto. | |
135 | * sched-ebb.c: Include output.h. | |
136 | (schedule_ebbs): Do not use dump argument. | |
137 | * value-prof.h (struct profile_hooks): Remove profile_dump_file. | |
138 | * loop.c (loop_dump_stream): Removed. | |
139 | (loop_optimize, rest_of_handle_loop_optimize): Do not use dump | |
140 | argument. | |
141 | (scan_loop, move_movables, find_and_verify_loops, mark_loop_jump, | |
142 | emit_prefetch_instructions, loop_bivs_find, loop_bivs_check, | |
143 | final_biv_value, loop_biv_eliminable_p, loop_givs_rescan, | |
144 | loop_iterations, strength_reduce, record_biv, record_giv, | |
145 | final_giv_value, check_final_value, check_ext_dependent_givs, | |
146 | combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems, | |
147 | try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use | |
148 | dump_file instead of loop_dump_stream. | |
149 | * ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call | |
150 | argument dump_file. | |
151 | * reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use | |
152 | dump argument. | |
153 | * flow.c (life_analysis, rest_of_handle_life): Ditto. | |
154 | * haifa-sched.c: Include output.h | |
155 | (schedule_insns, sched_init): Do not use dump argument. | |
156 | * mode-switching.c (optimize_mode_switching): Ditto. | |
157 | * modulo-sched.c (stats_file): Removed. | |
158 | (print_node_sched_params): Do not call argument dump_file. | |
159 | (sms_schedule_by_order, loop_canon_p, sms_schedule, | |
160 | rest_of_handle_sms): Do not use dump argument. Use dump_file instead | |
161 | of stats_file. | |
162 | * cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not | |
163 | use dump argument. | |
164 | * loop-init.c (loop_optimizer_init, loop_optimizer_finalize, | |
165 | rtl_loop_init, rtl_loop_done): Ditto. | |
166 | * global.c (global_alloc, rest_of_handle_global_alloc): Ditto. | |
167 | * predict.c (combine_predictions_for_bb, tree_estimate_probability): | |
168 | Ditto. | |
169 | * recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto. | |
170 | * lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto. | |
171 | * regmove.c (fixup_match_1, fixup_match_2, regmove_optimize, | |
172 | rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto. | |
173 | * emit-rtl.c (renumber_insns): Ditto. | |
174 | * cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr, | |
175 | expand_gimple_basic_block, tree_expand_cfg): Ditto. | |
176 | * regclass.c (regclass): Ditto. | |
177 | * tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts, | |
178 | remove_ssa_form, rewrite_out_of_ssa): Ditto. | |
179 | * reg-stack.c (compensate_edge, compensate_edges, convert_regs_1, | |
180 | convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs): | |
181 | Ditto. | |
182 | * sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto. | |
183 | * local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file | |
184 | to regclass. | |
185 | * gcse.c (gcse_file, debug_stderr): Removed. | |
186 | (gcse_main, bypass_jumps, rest_of_handle_jump_bypass, | |
187 | rest_of_handle_gcse): Do not use dump argument. | |
188 | (cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets, | |
189 | one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb, | |
190 | pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass, | |
191 | compute_code_hoist_vbeinout, compute_code_hoist_data, | |
192 | one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores, | |
193 | compute_store_table, build_store_vectors, insert_insn_start_bb, | |
194 | insert_store, remove_reachable_equiv_notes, replace_store_insn, | |
195 | store_motion): Use dump_file instead of gcse_file. | |
196 | * ipa-type-escape.c (type_escape_execute): Remove debugging comments. | |
197 | * profile.c (profile_dump_file): Removed. | |
198 | (branch_prob): Use dump_file instead of profile_dump_file. | |
199 | * ipa.c (cgraph_remove_unreachable_nodes): Do not call argument | |
200 | dump_file. | |
201 | * tree-ssa-copy.c (dump_copy_of): Ditto. | |
202 | * rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass | |
203 | dump file to life_analysis. | |
204 | * bt-load.c (branch_target_load_optimize): Ditto. | |
205 | * cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to | |
206 | renumber_insns. | |
207 | * rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs, | |
208 | regclass, dbr_schedule): Declaration changed. | |
209 | * sched-int.h (sched_init): Declaration changed. | |
210 | * tree-profile.c (tree_profile_dump_file): Removed. | |
211 | (tree_profile_hooks): Removed profile_dump_file hook. | |
212 | * rtl-profile (rtl_profile_dump_file): Removed. | |
213 | (rtl_profile_hooks): emoved profile_dump_file hook. | |
214 | * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration | |
215 | changed. | |
216 | * c-gimplify.c (c_genericize): Do not call local variable dump_file. | |
217 | * tree-cfg.c (build_tree_cfg): Ditto. | |
218 | * Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency. | |
219 | * basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm): | |
220 | Declaration changed. | |
221 | * config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to | |
222 | life_analysis and schedule_insns. | |
223 | * config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to | |
224 | life_analysis. | |
225 | * config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to | |
226 | dbr_schedule. | |
227 | * config/mips/mips.c (mips_reorg): Ditto. | |
228 | * config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to | |
229 | schedule_ebbs. | |
230 | ||
7269aee7 AH |
231 | 2006-02-06 Aldy Hernandez <aldyh@redhat.com> |
232 | ||
233 | * config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. | |
234 | (s390_mangle_fundamental_type): New. | |
235 | * config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): | |
236 | Define. | |
237 | ||
238 | * config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. | |
239 | (alpha_mangle_fundamental_type): New. | |
240 | * config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): | |
241 | Define. | |
242 | ||
243 | * config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): | |
244 | Define. | |
245 | * config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): | |
246 | Define. | |
247 | * config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. | |
248 | (sparc_mangle_fundamental_type): New. | |
249 | ||
da8c4a55 JJ |
250 | 2006-02-06 Jakub Jelinek <jakub@redhat.com> |
251 | ||
252 | * config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file. | |
253 | (s390x-*-linux*): Likewise. | |
254 | * config/s390/t-linux64 (SHLIB_MAPFILES): Removed. | |
255 | * config/s390/t-linux: New file. | |
256 | ||
2cea5e8c BS |
257 | 2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> |
258 | ||
259 | * config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>, | |
260 | sync_and<mode>, sync_xor<mode>): Operand 0 is in-out. | |
261 | ||
85300b46 DB |
262 | 2006-02-06 Daniel Berlin <dberlin@dberlin.org> |
263 | ||
264 | * tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads. | |
265 | (ANTIC_SAFE_LOADS): New macro. | |
266 | (find_or_generate_expression): Add prototype. | |
267 | (set_contains_value): Allow null set for sake of not always having | |
268 | to allocate ANTIC_SAFE_LOADS. | |
269 | (phi_translate): Move placement of AGGREGATE_TYPE_P check. | |
270 | Allow COMPONENT_REF too. | |
271 | (valid_in_set): Allow COMPONENT_REF. | |
272 | Check ANTIC_SAFE_LOADS too. | |
273 | (compute_antic_aux): Print out ANTIC_SAFE_LOADS. | |
274 | (compute_rvuse_and_antic_safe): Add ANTIC_SAFE computation, and | |
275 | rename. | |
276 | (can_PRE_operation): Add COMPONENT_REF. | |
277 | (create_component_ref_by_pieces): New function. | |
278 | (create_expression_by_pieces): Use create_component_ref_by_pieces. | |
279 | (insert_aux): Move AGGREGATE_TYPE_P check here. | |
280 | (compute_avail): Set bb local stmt uids. | |
281 | (pass_pre): Use TODO_update_ssa_only_virtuals. | |
282 | ||
a4a9df5f BE |
283 | 2006-02-06 Ben Elliston <bje@au.ibm.com> |
284 | ||
285 | * configure.ac: Unconditionally disable decimal float by default. | |
286 | * configure: Regenerate. | |
287 | ||
b84d6ae9 BE |
288 | 2006-02-06 Ben Elliston <bje@au.ibm.com> |
289 | ||
290 | * read-rtl.c (read_name): Terminate reading on EOF. | |
291 | ||
292 | 2006-02-06 Ben Elliston <bje@au.ibm.com> | |
0b59f49d BE |
293 | |
294 | * dfp.c (decimal_real_arithmetic): Change second argument type | |
295 | from int to enum tree_code. Do not always return true, but now | |
296 | return result of any call to decimal_do helper functions. | |
297 | * dfp.h (decimal_real_arithmetic): Update prototype. | |
298 | ||
71ab8de8 EB |
299 | 2006-02-05 Eric Botcazou <ebotcazou@libertysurf.fr> |
300 | ||
301 | * config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID. | |
302 | ||
cea0f4f1 AP |
303 | 2006-02-05 Andrew Pinski <pinskia@physics.uc.edu> |
304 | ||
305 | PR tree-opt/25251 | |
306 | * tree-cfg.c (cleanup_dead_labels): Also don't remove | |
307 | forced labels. | |
308 | ||
d78f3f78 ZD |
309 | 2006-02-04 Zdenek Dvorak <dvorakz@suse.cz> |
310 | ||
311 | * tree-vrp.c (cfg_loops): Removed. | |
312 | (adjust_range_with_scev, vrp_visit_assignment, execute_vrp): | |
313 | Use current_loops instead of cfg_loops. Pass flags to | |
314 | loop_optimizer_init. | |
315 | * cfgloopmanip.c (fix_loop_structure): Update only available | |
316 | information. | |
317 | * tree-ssa-loop-ch.c (copy_loop_headers): Pass flags to | |
318 | loop_optimizer_init. | |
319 | * modulo-sched.c (build_loops_structure): Removed. | |
320 | (sms_schedule): Use loop_optimizer_init. | |
321 | * loop-init.c (loop_optimizer_init): Use flags to determine | |
322 | which properties of loops to prepare. | |
323 | (rtl_loop_init): Pass flags to loop_optimizer_init. | |
324 | * tree-ssa-sink.c (execute_sink_code): Ditto. | |
325 | * tree-ssa-loop.c (tree_loop_optimizer_init): Ditto. | |
326 | * tree-ssa-pre.c (init_pre): Ditto. | |
327 | * cfgloop.h (LOOPS_NORMAL): New. | |
328 | (loop_optimizer_init): Declaration changed. | |
329 | ||
5a1a4450 JDA |
330 | 2006-02-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
331 | ||
332 | * pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files. | |
333 | * config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of | |
334 | pa/t-pa. | |
335 | * config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of | |
336 | pa/t-pa. | |
337 | * config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of | |
338 | pa/x-ada. | |
339 | * pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules. | |
340 | * pa/t-pa64: Delete quadlib.c rule. | |
341 | * pa/x-ada: Revert last change. | |
342 | * pa/t-pa: Revert last change. Delete quadlib.c rule. | |
343 | ||
569f8d98 ZD |
344 | 2006-02-04 Zdenek Dvorak <dvorakz@suse.cz> |
345 | ||
346 | PR rtl-optimization/26087 | |
347 | * rtlanal.c (canonicalize_condition): Do not cross basic block | |
348 | boundaries. | |
349 | ||
658f32fd AO |
350 | 2006-02-04 Alexandre Oliva <aoliva@redhat.com> |
351 | ||
352 | PR debug/24444 | |
353 | * config/ia64/ia64.c: Include debug.h. | |
354 | (MAX_ARTIFICIAL_LABEL_BYTES): New. | |
355 | (ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New. | |
356 | (IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0. | |
357 | (process_epilogue, process_set, process_for_unwind_directive): | |
358 | Output unwind info only if requested. Add CFA info if requested. | |
359 | Add new arguments as needed. Adjust callers. | |
360 | * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override | |
361 | incorrect default. | |
362 | (DWARF2_FRAME_INFO): Define to zero. | |
363 | * config/ia64/unwind-ia64.c: Remove code that compensated for | |
364 | the CFA offset error fixed above. | |
365 | * config/ia64/t-ia64 (ia64.o): Depend on debug.h. | |
366 | * dwarf2out.c (DWARF2_FRAME_INFO): Define default. | |
367 | (dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for | |
368 | -funwind-tables and -fexceptions to enable frame info. | |
369 | (dwarf2out_frame_init): Define initial CFA even if | |
370 | DWARF2_UNWIND_INFO is disabled. Call initial_return_save if | |
371 | DWARF2_UNWIND_INFO is nonzero, not just defined. | |
372 | (dwarf2out_frame_finish): Output non-EH call frame info only | |
373 | if DWARF2_FRAME_INFO is nonzero. | |
374 | (convert_cfa_to_loc_list, | |
375 | compute_frame_pointer_to_cfa_displacement): Define even if | |
376 | unwind info is not supported. | |
377 | (gen_subprogram_die): Use the above unconditionally. Remove | |
378 | legacy alternate code. | |
379 | * toplev.c (compile_file): Compile in call to | |
380 | dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined. | |
381 | (lang_dependent_init): Ditto for dwarf2out_frame_init. | |
382 | ||
337bde91 DE |
383 | 2006-02-04 David Edelsohn <edelsohn@gnu.org> |
384 | Jakub Jelinek <jakub@redhat.com> | |
385 | ||
386 | * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle | |
387 | IBM extended float format long double as "g" on powerpc*-linux. | |
388 | ||
3df6582b JDA |
389 | 2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
390 | ||
391 | PR target/25926 | |
392 | * pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10. | |
393 | * pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10. | |
394 | ||
9b43c474 JM |
395 | 2006-02-03 Jason Merrill <jason@redhat.com> |
396 | ||
397 | PR c++/25979 | |
398 | * gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now. | |
399 | ||
400 | PR middle-end/25977 | |
401 | * gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO | |
402 | on the return slot if it's an NRV. | |
403 | ||
50cc9802 ZD |
404 | 2006-02-03 Zdenek Dvorak <dvorakz@suse.cz> |
405 | ||
406 | * tree-ssa-loop-ivopts.c (enum use_type): Remove USE_OUTER. | |
407 | (dump_use, add_derived_ivs_candidates, determine_use_iv_cost, | |
408 | rewrite_use): Do not handle USE_OUTER. | |
409 | (find_interesting_uses_outer_or_nonlin, find_interesting_uses_outer, | |
410 | add_iv_outer_candidates, may_replace_final_value, | |
411 | determine_use_iv_cost_outer, rewrite_use_outer): Removed. | |
412 | (find_interesting_uses_op): Functionality of | |
413 | find_interesting_uses_outer_or_nonlin moved here. | |
414 | (find_interesting_uses_outside): Use find_interesting_uses_op. | |
415 | ||
4a6c754b AM |
416 | 2006-02-03 Alan Modra <amodra@bigpond.net.au> |
417 | ||
418 | PR target/25960 | |
419 | * config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result. | |
420 | ||
f61a2c7d | 421 | 2006-02-03 Andreas Krebbel <krebbel1@de.ibm.com> |
50cc9802 | 422 | Ulrich Weigand <uweigand@de.ibm.com> |
f61a2c7d AK |
423 | |
424 | PR target/25864 | |
425 | * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf", | |
426 | "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations. | |
427 | * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions. | |
428 | * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr | |
429 | and dxr fields. | |
430 | (z900_cost, z990_cost, z9_109_cost): Values for the new fields added. | |
431 | (s390_rtx_costs): Use the new fields to calculate rtx costs. | |
432 | (s390_secondary_input_reload_class, s390_secondary_output_reload_class): | |
433 | Define secondary reloads for TFmode moves. | |
434 | (constant_modes): Add TFmode. | |
435 | (NR_C_MODES): Set to 8. | |
436 | * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__ | |
437 | builtin define. | |
438 | (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64. | |
439 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define. | |
440 | (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, | |
441 | CANNOT_CHANGE_MODE_CLASS): Consider TFmode. | |
442 | * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, | |
443 | fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values. | |
444 | (FPR mode macro): Add TFmode. | |
445 | (DSF mode macro): New. | |
446 | (<de>, <dee> mode attributes): Removed. | |
447 | (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New. | |
448 | ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", | |
449 | "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", | |
450 | "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", | |
451 | "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", | |
452 | "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", | |
453 | "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>", | |
454 | "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", | |
455 | "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", | |
456 | "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2", | |
457 | "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", | |
458 | "*negabs<mode>2", "sqrt<mode>2"): | |
459 | Changed <de> to <xde>. R constraint replaced by <Rf>. | |
460 | ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by | |
461 | <Rf>. | |
462 | ("fix_trunc<FPR:mode>di2"): 'FPR:' removed. | |
463 | ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF. | |
464 | ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 | |
465 | splitters. | |
466 | ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", | |
467 | "extenddftf2", "extendsftf2"): New expanders. | |
468 | ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", | |
469 | "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm", | |
470 | "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns. | |
471 | * config/s390/s390.opt (mlong-double-128, mlong-double-64): | |
472 | New options. | |
473 | * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined. | |
474 | * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, | |
475 | __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi, | |
476 | __floatditf): Add a GCC_4.1.0 symbol version tag. | |
477 | * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document | |
478 | the new options. | |
479 | ||
010ef110 AP |
480 | 2006-02-02 Andrew Pinski <pinskia@physics.uc.edu> |
481 | ||
482 | PR target/25377 | |
483 | * config/i386/i386.c (ix86_function_ok_for_sibcall): | |
484 | Use targetm.binds_local_p instead of TREE_PUBLIC. | |
485 | ||
05fa7d54 RS |
486 | 2006-02-02 Roger Sayle <roger@eyesopen.com> |
487 | ||
488 | * tree.h (TYPE_STRING_FLAG): Document that this field may be used | |
489 | on INTEGER_TYPEs to indicate that it denotes a character type. | |
490 | * tree.c (build_common_tree_nodes): Set TYPE_STRING_FLAG on | |
491 | signed_char_type_node, unsigned_char_type_node and char_type_node. | |
492 | * dwarf2out.c (base_type_die): Treat CHAR_TYPE identically to | |
493 | INTEGER_TYPE. Use TYPE_STRING_FLAG to decide whether to emit | |
494 | a DW_ATE_[un]signed_char instead of a DW_ATE_[un]signed. | |
495 | ||
016925bc ZD |
496 | 2006-02-02 Zdenek Dvorak <dvorakz@suse.cz> |
497 | Daniel Berlin <dberlin@dberlin.org> | |
498 | ||
499 | * tree-tailcall.c (arg_needs_copy_p): New function. | |
500 | (eliminate_tail_call): Use arg_needs_copy_p. | |
501 | (tree_optimize_tail_calls_1): Ditto. Also call add_virtual_phis. | |
502 | (add_virtual_phis): New function. | |
503 | ||
392e5756 JJ |
504 | 2006-02-02 Jakub Jelinek <jakub@redhat.com> |
505 | ||
506 | * config/sparc/sparc.c (sparc_output_scratch_registers): Use | |
507 | #ignore instead of #scratch for %g7 .register directive. | |
508 | ||
f767d794 AT |
509 | 2006-02-02 Andreas Tobler <a.tobler@schweiz.ch> |
510 | ||
511 | * config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate | |
512 | object files. | |
513 | ||
14b9dd55 BS |
514 | 2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> |
515 | ||
516 | * flow.c (calculate_global_regs_live): Assert that there aren't any | |
517 | EDGE_FAKE edges. | |
518 | ||
35771d34 PB |
519 | 2006-02-02 Paolo Bonzini <bonzini@gnu.org> |
520 | ||
521 | * tree-flow-inline.h (bsi_after_labels): Rewrite, return | |
522 | what its name says. | |
523 | * lambda-code.c (perfect_nestify): Use bsi_insert_before on | |
524 | bsi_after_labels iterator. | |
525 | * tree-if-conv.c (find_phi_replacement_condition, | |
526 | replace_phi_with_cond_modify_expr): Likewise. | |
527 | * tree-scalar-evolution.c (scev_const_prop): Likewise. | |
528 | * tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Likewise. | |
529 | ||
8843c120 DN |
530 | 2006-02-02 Diego Novillo <dnovillo@redhat.com> |
531 | ||
532 | * tree-inline.c (copy_tree_r): Also copy OMP_CLAUSE nodes. | |
533 | ||
728b26bb DN |
534 | 2006-02-02 Diego Novillo <dnovillo@redhat.com> |
535 | ||
536 | PR 25990 | |
537 | * tree-cfg.c (move_block_to_fn): Clear out the basic block | |
538 | array after growing it. | |
539 | ||
3f7f53c7 SE |
540 | 2006-02-01 Steve Ellcey <sje@cup.hp.com> |
541 | ||
542 | PR middle-end/24901 | |
543 | * fold-const.c (fold_checksum_tree): Change type of buf. | |
544 | ||
65b4c337 BS |
545 | 2006-02-01 Bernd Schmidt <bernd.schmidt@analog.com> |
546 | ||
547 | * reload.c (push_secondary_reload): Initialize t_icode. | |
548 | ||
ca7242fc JJ |
549 | 2006-02-01 Jakub Jelinek <jakub@redhat.com> |
550 | ||
551 | * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For | |
552 | -msoft-float -mlong-double-128 only issue a warning, but don't | |
553 | swich to DFmode long double. | |
554 | ||
08678f51 HPN |
555 | 2006-02-01 Hans-Peter Nilsson <hp@axis.com> |
556 | ||
557 | * cse.c (fold_rtx) <case RTX_COMM_COMPARE, RTX_COMPARE>: When arg1 | |
558 | has a constant equivalent, iterate over equivalents for arg0, | |
559 | calling simplify_relational_operation and if there's a result | |
560 | cheaper than X, apply fold_rtx and return the result. | |
561 | ||
46fd0f8c JH |
562 | 2006-02-01 Jan Hubicka <jh@suse.cz> |
563 | ||
564 | * opts.c (no_unit_at_a_time_default): New global variable. | |
565 | (decode_options): Use it. | |
566 | * opts.h (no_unit_at_a_time_default): Declare. | |
567 | ||
3f9e6aed PB |
568 | 2006-02-01 Paul Brook <paul@codesourcery.com> |
569 | ||
570 | * function.c (assign_parm_setup_reg): Use function argument promotion | |
571 | rules. | |
572 | * expr.c (expand_expr_real_1): Use function argument promotion rules | |
573 | for PARM_DECLs. | |
574 | ||
1832d326 SE |
575 | 2006-02-01 Steve Ellcey <sje@cup.hp.com> |
576 | ||
577 | * gcc.c (process_command): Change j to 'unsigned int'. | |
578 | ||
f51a281b AP |
579 | 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> |
580 | ||
581 | PR middle-end/26001 | |
582 | * expr.c (expand_expr_real_1) <case ARRAY_REF>: | |
583 | Use the corrected index for the character | |
584 | out of the string constant. | |
585 | ||
60ec1aa4 AP |
586 | 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> |
587 | ||
588 | * mode-switching.c (optimize_mode_switching): Fix size | |
589 | allocated for bb_info[n_entities]. | |
590 | ||
d900f77d AP |
591 | 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> |
592 | ||
593 | * gcc.c (main): Correct type that is allocated for | |
594 | explicit_link_files. | |
595 | ||
44d64274 JJ |
596 | 2006-01-31 Jakub Jelinek <jakub@redhat.com> |
597 | ||
598 | * config/s390/s390.c (init_alignment_context): Set | |
599 | ALIAS_SET_MEMORY_BARRIER on the MEM. | |
600 | * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Likewise. | |
601 | ||
b6cdba27 UP |
602 | 2006-01-31 Uttam Pawar <uttamp@us.ibm.com> |
603 | ||
604 | PR middle-end/25933 | |
605 | * loop-unroll.c (unroll_loop_runtime_iterations): Free | |
606 | dom_bbs pointer. | |
607 | * tree-ssa-live.c (type_var_init): Allocate bitmap after | |
608 | call to tpa_init. | |
609 | ||
5ed6ace5 MD |
610 | 2006-01-31 Marcin Dalecki <martin@dalecki.de> |
611 | ||
612 | * tree-vrp.c: Use XNEW/XCNEW allocation wrappers. | |
613 | * regrename.c: Ditto. | |
614 | * tree-ssa-loop-im.c: Ditto. | |
615 | * tree-dump.c: Ditto. | |
616 | * tree-complex.c: Ditto. | |
617 | * genrecog.c: Ditto. | |
618 | * tree-ssa-threadupdate.c: Ditto. | |
619 | * tracer.c: Ditto. | |
620 | * java/class.c: Ditto. | |
621 | * java/jcf-parse.c: Ditto. | |
622 | * java/resource.c: Ditto. | |
623 | * java/except.c: Ditto. | |
624 | * java/jvspec.c: Ditto. | |
625 | * java/jcf-write.c: Ditto. | |
626 | * java/jcf-path.c: Ditto. | |
627 | * java/gjavah.c: Ditto. | |
628 | * java/zextract.c: Ditto. | |
629 | * java/jcf-io.c: Ditto. | |
630 | * java/jcf.h: Ditto. | |
631 | * java/buffer.c: Ditto. | |
632 | * java/lang.c: Ditto. | |
633 | * java/parse-scan.y: Ditto. | |
634 | * java/lex.c: Ditto. | |
635 | * java/lex.h: Ditto. | |
636 | * cfgloopmanip.c: Ditto. | |
637 | * postreload-gcse.c: Ditto. | |
638 | * tree-ssa-loop-manip.c: Ditto. | |
639 | * postreload.c: Ditto. | |
640 | * tree-ssa-loop-ch.c: Ditto. | |
641 | * loop.c: Ditto. | |
642 | * ipa-cp.c: Ditto. | |
643 | * cppspec.c: Ditto. | |
644 | * diagnostic.c: Ditto. | |
645 | * final.c: Ditto. | |
646 | * genoutput.c: Ditto. | |
647 | * gcc.c: Ditto. | |
648 | * cfghooks.c: Ditto. | |
649 | * cfgloopanal.c: Ditto. | |
650 | * objc/objc-act.c: Ditto. | |
651 | * gcov.c: Ditto. | |
652 | * genextract.c: Ditto. | |
653 | * genautomata.c: Ditto. | |
654 | * pretty-print.c: Ditto. | |
655 | * genemit.c: Ditto. | |
656 | * cgraphunit.c: Ditto. | |
657 | * flow.c: Ditto. | |
658 | * df-scan.c: Ditto. | |
659 | * haifa-sched.c: Ditto. | |
660 | * dominance.c: Ditto. | |
661 | * dbxout.c: Ditto. | |
662 | * tree-ssa-loop-ivopts.c: Ditto. | |
663 | * df-core.c: Ditto. | |
664 | * mode-switching.c: Ditto. | |
665 | * modulo-sched.c: Ditto. | |
666 | * graph.c: Ditto. | |
667 | * ipa-pure-const.c: Ditto. | |
668 | * cse.c: Ditto. | |
669 | * fix-header.c: Ditto. | |
670 | * web.c: Ditto. | |
671 | * tree-stdarg.c: Ditto. | |
672 | * ipa-utils.c: Ditto. | |
673 | * loop-init.c: Ditto. | |
674 | * ipa-inline.c: Ditto. | |
675 | * cfganal.c: Ditto. | |
676 | * global.c: Ditto. | |
677 | * alloc-pool.c: Ditto. | |
678 | * dwarf2out.c: Ditto. | |
679 | * opts.c: Ditto. | |
680 | * genattrtab.c: Ditto. | |
681 | * tree-ssa-loop-ivcanon.c: Ditto. | |
682 | * predict.c: Ditto. | |
683 | * timevar.c: Ditto. | |
684 | * lcm.c: Ditto. | |
685 | * fortran/gfortranspec.c: Ditto. | |
686 | * regmove.c: Ditto. | |
687 | * local-alloc.c: Ditto. | |
688 | * langhooks.c: Ditto. | |
689 | * function.c: Ditto. | |
690 | * tree-vectorizer.c: Ditto. | |
691 | * gcse.c: Ditto. | |
692 | * ipa-type-escape.c: Ditto. | |
693 | * alias.c: Ditto. | |
694 | * tree-if-conv.c: Ditto. | |
695 | * profile.c: Ditto. | |
696 | * ipa.c: Ditto. | |
697 | * tree-data-ref.c: Ditto. | |
698 | * loop-unroll.c: Ditto. | |
699 | * treelang/treetree.c: Ditto. | |
700 | * calls.c: Ditto. | |
701 | * bt-load.c: Ditto. | |
702 | * ggc-common.c: Ditto. | |
703 | * except.c: Ditto. | |
704 | * coverage.c: Ditto. | |
705 | * cselib.c: Ditto. | |
706 | * tree-cfgcleanup.c: Ditto. | |
707 | * tree-ssa-pre.c: Ditto. | |
708 | * cfgcleanup.c: Ditto. | |
709 | * loop-invariant.c: Ditto. | |
710 | * loop-iv.c: Ditto. | |
711 | * ipa-prop.c: Ditto. | |
712 | * print-tree.c: Ditto. | |
713 | * conflict.c: Ditto. | |
714 | * ggc-page.c: Ditto. | |
715 | * sched-deps.c: Ditto. | |
716 | * regclass.c: Ditto. | |
717 | * tree-object-size.c: Ditto. | |
718 | * combine.c: Ditto. | |
719 | * bb-reorder.c: Ditto. | |
720 | * resource.c: Ditto. | |
721 | * var-tracking.c: Ditto. | |
722 | * cfgloop.c: Ditto. | |
723 | * df-problems.c: Ditto. | |
724 | * reg-stack.c: Ditto. | |
725 | * tlink.c: Ditto. | |
726 | * gccspec.c: Ditto. | |
727 | * sched-rgn.c: Ditto. | |
728 | * tree-ssa-structalias.c: Ditto. | |
729 | * tree-ssa-reassoc.c: Ditto. | |
730 | * config/darwin-c.c: Ditto. | |
731 | * config/darwin.c: Ditto. | |
732 | * config/arm/arm.c: Ditto. | |
733 | * cfgrtl.c: Ditto. | |
734 | * collect2.c: Ditto. | |
735 | * reload1.c: Ditto. | |
736 | ||
0cb381f0 NP |
737 | 2006-01-31 Nicolas Pitre <nico@cam.org> |
738 | ||
739 | * arm.md (smaxsi3): Make aware of smax_m1. | |
740 | (smax_m1): New. | |
741 | ||
aa2192f8 NS |
742 | 2006-01-31 Nathan Sidwell <nathan@codesourcery.com> |
743 | ||
744 | * gcc/config/m68k/lb1sf68.asm: Use moveq to load small constants. | |
745 | ||
ee963181 RG |
746 | 2006-01-31 Richard Guenther <rguenther@suse.de> |
747 | ||
748 | * doc/invoke.texi (-msselibm): Document. | |
749 | * target.h (expand_library_builtin): New target hook. | |
750 | * builtins.c (expand_builtin): Use expand_library_builtin. | |
751 | (default_expand_library_builtin): New function. | |
752 | * gcc.c (LINK_GCC_MATH_SPEC): Define. | |
753 | (LINK_COMMAND_SPEC): Handle %(link_gcc_math). | |
754 | (link_gcc_math_spec): Declare. | |
755 | (static_specs): Add link_gcc_math_spec. | |
756 | * expr.h (default_expand_library_builtin): Declare. | |
757 | * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. | |
758 | (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. | |
759 | * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. | |
760 | * config/i386/i386.opt (msselibm): New target option. | |
761 | * config/i386/i386.c (ix86_builtin_function_variants): New array. | |
762 | (ix86_init_sse_abi_builtins): New function. | |
763 | (ix86_expand_library_builtin): Likewise. | |
764 | (TARGET_EXPAND_LIBRARY_BUILTIN): Define. | |
765 | (override_options): Handle error conditions wrt -msselibm. | |
766 | (ix86_builtins): Add function codes for SSE2 ABI builtins. | |
767 | (ix86_init_builtins): Call ix86_init_sse_abi_builtins. | |
768 | * doc/extend.texi (__builtin_sse2_*): Document new target specific | |
769 | builtins. | |
770 | ||
0058967b RG |
771 | 2006-01-31 Richard Guenther <rguenther@suse.de> |
772 | Paolo Bonzini <bonzini@gnu.org> | |
773 | ||
774 | * doc/install.texi (--disable-libgcc-math): Document. | |
775 | ||
84217346 MD |
776 | 2006-01-30 Marcin Dalecki <martin@dalecki.de> |
777 | ||
778 | * expr.h (expand_normal): new inline function. | |
779 | * builtins.c: use it, use EXPAND_NORMAL explicitely. | |
780 | * dojump.c: use it. | |
781 | * dwarf2out.c: use it. | |
782 | * expr.c: use it. | |
783 | * calls.c: use it. | |
784 | * expmed.c: use it. | |
785 | * except.c: use it. | |
786 | * config/sparc/sparc.c: use it. | |
787 | * config/i386/i386.c: use it. | |
788 | * config/rs6000/rs6000.c: use it. | |
789 | * config/arm/arm.c: use it. | |
790 | * config/mips/mips.c: use it. | |
791 | * stmt.c: use it, use EXPAND_NORMAL explicitely. | |
792 | ||
4536bcac RS |
793 | 2006-01-30 Roger Sayle <roger@eyesopen.com> |
794 | ||
795 | * config/i386/cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast | |
796 | argv to the appropriate type. | |
797 | ||
b729952b ZD |
798 | 2006-01-30 Zdenek Dvorak <dvorakz@suse.cz> |
799 | ||
800 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove | |
801 | unreachable code. | |
802 | ||
3cd045d1 UW |
803 | 2006-01-30 Ulrich Weigand <uweigand@de.ibm.com> |
804 | ||
805 | PR target/26018 | |
806 | * config/s390/s390.c (struct machine_function): New flag | |
807 | decomposed_literal_pool_addresses_ok_p. | |
808 | (s390_reorg): Set it before final stage of literal pool transforms. | |
809 | (s390_decompose_address): Only accept displacements of the form | |
810 | (minus (label_ref ...) (label_ref ...)) if that flag is set. | |
811 | ||
f34312c2 CD |
812 | 2006-01-30 Carlos O'Donell <carlos@codesourcery.com> |
813 | ||
814 | * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias | |
815 | the comparison routine return. | |
816 | ||
b39f98f9 MM |
817 | 2006-01-30 Michael Matz <matz@suse.de> |
818 | ||
819 | * global.c (find_reg): Only evict for global regs. | |
820 | Take n_refs into account and dump more info. | |
821 | ||
a6ab9fc0 R |
822 | 2006-01-30 J"orn Rennecke <joern.rennecke@st.com> |
823 | ||
824 | PR target/14798: | |
825 | * sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable. | |
826 | (pragma_trap, pragma_nosave_low_regs): Likewise. | |
827 | (current_function_anonymous_args): Likewise. | |
828 | (sh_deferred_function_attributes): New variable. | |
829 | (sh_deferred_function_attributes_tail): Likewise. | |
830 | (print_operand): For '@', look up trap_exit attribute. | |
831 | (calc_live_regs): Look up trapa_handler attribute. For trapa | |
832 | handlers, save/restore fpscr, but don't do any other | |
833 | interrupt-specific saves. | |
834 | Don't save r0..r7 if the nosave_low_regs attribute is in effect. | |
835 | Fix check for partially saved registers to check for SHmedia. | |
836 | (sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute. | |
837 | (sh_output_function_epilogue): Don't clear any of the removed | |
838 | variables. | |
839 | (sh_insert_attributes): Don't check pragma_interrupt. | |
840 | Insert deferred attributes. Check that interrupt attribute is | |
841 | present for other attributes that require its presence. | |
842 | (sh_attribute_table): Add new attributes trapa_handler and | |
843 | nosave_low_regs. | |
844 | (sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute): | |
845 | Don't check for pragma_interrupt. Don't store argument. | |
846 | * sh.h (pragma_interrupt, sp_switch): Don't declare. | |
847 | (sh_deferred_function_attributes): Declare. | |
848 | (sh_deferred_function_attributes_tail): Likewise. | |
849 | * sh.md (sp_switch_1): Add operand. Change generator caller. | |
850 | (sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove. | |
851 | (*return_i): Don't use when trap_exit attribute is in effect. | |
852 | (*return_trapa): New insn pattern. | |
853 | * sh-c.c: New file. | |
854 | * config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza, | |
855 | setting c_target_objs and cxx_target_objs. | |
856 | * t-sh: Add rule for sh-c.o. | |
857 | ||
eb73a69a RG |
858 | 2006-01-30 Richard Guenther <rguenther@suse.de> |
859 | ||
860 | PR c++/23372 | |
861 | * gimplify.c (gimplify_target_expr): Handle easy cases | |
862 | without creating a temporary. | |
863 | ||
4e852d1f NS |
864 | 2006-01-30 Nathan Sidwell <nathan@codesourcery.com> |
865 | ||
866 | * vec.h (safe_grow): Remove duplicated line. | |
867 | ||
8d9c1aec DN |
868 | 2006-01-29 Diego Novillo <dnovillo@redhat.com> |
869 | ||
870 | PR 25874 | |
871 | * omp-low.c (execute_expand_omp): Move CFG cleanup code ... | |
872 | (expand_omp): ... here. | |
873 | (expand_omp_parallel): Only remove barriers for combined | |
874 | parallel+workshare constructs. | |
875 | ||
3f0dc66b EB |
876 | 2006-01-29 Eric Botcazou <ebotcazou@adacore.com> |
877 | ||
878 | Revert | |
879 | ||
880 | 2005-11-09 Eric Botcazou <ebotcazou@adacore.com> | |
881 | * tree.c (build_qualified_type): Chain the new type to the original | |
882 | type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is | |
883 | a POINTER_TYPE or a REFERENCE_TYPE respectively. | |
884 | (build_pointer_type_for_mode): Only return unqualified types. | |
885 | (build_reference_type_for_mode): Likewise. | |
886 | ||
373477bb GDR |
887 | 2006-01-29 Gabriel Dos Reis <gdr@integgrable-solutions.net> |
888 | ||
889 | * configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported. | |
890 | * Makefile.in (CXX_COMPAT_WARN): Define. | |
891 | * configure: Regenerate. | |
892 | ||
b3130586 DN |
893 | 2006-01-29 Dorit Nuzman <dorit@il.ibm.com> |
894 | ||
895 | PR tree-opt/25911 | |
896 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Change assert | |
897 | to an if check. | |
898 | ||
aa994333 GDR |
899 | 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net> |
900 | ||
901 | * toplev.c: Fix thinko. | |
902 | ||
a8a4fe0c GDR |
903 | 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net> |
904 | Marcin Dalecki <martin@dalecki.de> | |
905 | ||
906 | * toplev.c (floor_log2, exact_log2): Don't define if __cplusplus. | |
907 | (push_srcloc): Use XNEW. | |
908 | (init_asm_output, default_get_pch_validity): Use XNEWVEC. | |
909 | ||
2cc9c3a0 KZ |
910 | 2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com> |
911 | ||
912 | * df-core.c (df_set_blocks): Deleted all variable. | |
913 | ||
21c4a6a7 ILT |
914 | 2006-01-28 Ian Lance Taylor <ian@airs.com> |
915 | ||
916 | * cgraphunit.c (cgraph_assemble_pending_functions): Call | |
917 | cgraph_output_pending_asms. | |
918 | ||
89a42ac8 ZW |
919 | 2006-01-28 Zack Weinberg <zackw@panix.com> |
920 | ||
921 | * c.opt: Add -W(no-)overlength-strings. | |
922 | * doc/invoke.texi: Document it. | |
923 | * c-opts.c (c_common_handle_option): -pedantic implies | |
924 | -Woverlength-strings, if not explicitly disabled already. | |
925 | (c_common_post_options): -Woverlength-strings defaults to off, and | |
926 | is always off for C++. | |
927 | * c-common.c (fix_string_type): Issue warning about strings longer | |
928 | than is portable only if warn_overlength_strings. Rearrange code | |
929 | a little for clarity. | |
930 | * configure.in: Check for -Wno-overlength-strings as well before | |
931 | enabling -pedantic in stage 1. | |
932 | * Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings. | |
933 | (gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete. | |
934 | ||
935 | * genconditions.c (write_header, write_one_condition) | |
936 | (write_conditions, write_writer): Consolidate very long strings | |
937 | that were broken up to fit in C89 portable limit. Don't use | |
938 | printf when fputs will do. | |
939 | ||
1e84b34e AN |
940 | 2006-01-28 Adam Nemet <anemet@caviumnetworks.com> |
941 | ||
942 | * combine.c (simplify_comparison <AND>): Check | |
943 | TRULY_NOOP_TRUNCATION before start using a subreg. | |
89a42ac8 ZW |
944 | |
945 | * config/mips/mips.md (*branch_zero<mode>, | |
946 | *branch_zero<mode>_inverted, *branch_equality<mode>, | |
947 | *branch_equality<mode>_inverted, *branch_equality<mode>_mips16): | |
948 | Remove mode check from comparisons. | |
1e84b34e | 949 | |
3dcf4d30 KZ |
950 | 2006-01-28 Kenneth Zadeck <zadeck@naturalbridge.com> |
951 | ||
952 | * config/mips/mips-protos.h (mips_set_live_on_entry): Deleted. | |
953 | ||
b79de014 KH |
954 | 2006-01-28 Kazu Hirata <kazu@codesourcery.com> |
955 | ||
956 | * expmed.c (const_mult_add_overflow_p): Remove. | |
957 | * expr.h: Remove the prototype for const_mult_add_overflow_p. | |
958 | ||
4b5ddfbe KH |
959 | * recog.c (validate_replace_rtx_subexp): Remove. |
960 | * recog.h: Remove the prototype for | |
961 | validate_replace_rtx_subexp. | |
962 | ||
3e9ba9d6 KH |
963 | * integrate.h: Remove the prototype for |
964 | copy_decl_for_inlining. | |
965 | * rtl.h: Remove the prototype for mark_constant_function. | |
966 | * tree-vectorizer.h: Remove the prototype for | |
967 | vect_strip_conversion. | |
968 | ||
5f1f4746 KH |
969 | * modulo-sched.c (create_partial_schedule, |
970 | free_partial_schedule, reset_partial_schedule): Make them | |
971 | static. | |
972 | ||
7b2352d9 KH |
973 | * hooks.c (hook_bool_rtx_int_false): Remove. |
974 | * hooks.h: Remove the prototype for hook_bool_rtx_int_false. | |
975 | ||
3d538bae DE |
976 | 2006-01-28 David Edelsohn <edelsohn@gnu.org> |
977 | ||
978 | * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float | |
979 | and -mlong-double-128 are incompatible. | |
980 | * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same. | |
981 | * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c. | |
982 | (TARGET_LIBGCC2_CFLAGS): Define. | |
983 | * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same. | |
984 | (TARGET_LIBGCC2_CFLAGS): Same. | |
985 | * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX. | |
986 | ||
e6620e86 KH |
987 | 2006-01-28 Kazu Hirata <kazu@codesourcery.com> |
988 | ||
989 | PR c/19606. | |
990 | * c-typeck.c (build_binary_op): Perform implicit casts of | |
991 | operands before shortening them. | |
992 | ||
17a4fdaa KH |
993 | * cfgloopmanip.c (split_loop_bb): Remove. |
994 | * cfgloop.h: Remove the prototype for split_loop_bb. | |
995 | ||
b214288d KH |
996 | * cfgloop.c (flow_loop_outside_edge_p): Remove. |
997 | * cfgloop.h: Remove the prototype for | |
998 | flow_loop_outside_edge_p. | |
999 | ||
2bbdec73 KH |
1000 | * emit-rtl.c (init_virtual_regs): Make it static. |
1001 | * function.h: Remove the prototype for init_virtual_regs. | |
1002 | ||
e94aab95 KH |
1003 | * recog.c (peephole2_optimize): Make it static. |
1004 | * recog.h: Remove the prototype for peephole2_optimize. | |
1005 | ||
dadd8a3f L |
1006 | 2006-01-27 H.J. Lu <hongjiu.lu@intel.com> |
1007 | ||
1008 | * df-scan.c (df_record_entry_block_defs): Check if | |
1009 | INCOMING_RETURN_ADDR_RTX is defined. | |
1010 | ||
912f2dac DB |
1011 | 2006-01-27 Daniel Berlin <dberlin@dberlin.org> |
1012 | Kenneth Zadeck <zadeck@naturalbridge.com> | |
1013 | ||
89a42ac8 | 1014 | PR rtl-optimization/24762 |
912f2dac DB |
1015 | * doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY. |
1016 | * targhooks.c (hook_void_bitmap): New hook prototype. | |
1017 | * targhoohs.h (hook_void_bitmap): Ditto. | |
1018 | * bitmap.h (bitmap_head_def): Moved to coretypes.h. | |
1019 | * coretypes.h (bitmap_head_def): Moved from bitmap.h. | |
1020 | * target.h (live_on_entry): New function pointer. | |
1021 | * df-scan.c (df_all_hard_regs): Removed. | |
1022 | (df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs. | |
1023 | (df_scan_free_internal): Added df->entry_block_defs. | |
1024 | (df_scan_alloc): Ditto. | |
1025 | (df_scan_dump): Ditto. | |
1026 | (df_uses_record): Plumbed flag field properly thru calls. | |
1027 | Record EH_RETURN_DATA_REGNO in eh blocks unconditionally. | |
1028 | This part fixes PR24762. | |
1029 | (df_bb_refs_record): Added code to make the frame and arg | |
1030 | pointers live in EH blocks. | |
1031 | (df_refs_record): Added call to df_record_entry_block_defs. | |
1032 | (df_record_entry_block_defs): New function. | |
1033 | * df-core.c: Added comments to describe new artifical defs. | |
1034 | * df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags. | |
1035 | (entry_block_defs): New field in struct df. | |
1036 | (df_all_hard_regs): Deleted. | |
1037 | * target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY. | |
1038 | * df-problems.c (df_ru_bb_local_compute_process_def): | |
1039 | Added code to handle artifical defs in the entry to a function. | |
1040 | (df_ru_bb_local_compute): Ditto. | |
1041 | (df_rd_bb_local_compute_process_def): Ditto. | |
1042 | (df_rd_bb_local_compute): Ditto. | |
1043 | (df_lr_bb_local_compute): Ditto. | |
1044 | (df_ur_bb_local_compute): Ditto. | |
1045 | (df_urec_bb_local_compute): Ditto. | |
1046 | (df_chain_create_bb): Ditto. | |
1047 | (df_ur_local_finalize): Removed entry. | |
1048 | (df_urec_init): Ditto. | |
1049 | (df_urec_local_finalize): Ditto. | |
1050 | (df_ri_bb_compute): Added detection of last use of pseudos. | |
1051 | * Makefile.in (df-scan.o): Updated dependencies. | |
1052 | * config/mips/mips-protos.h (mips_set_live_on_entry): Added. | |
1053 | * config/mips/mips.c (mips_set_live_on_entry): Added. | |
1054 | * config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value | |
1055 | for target hook. | |
1056 | * dce.c (marked_insn_p): Added code to handle artifical defs. | |
1057 | ||
7744bbe3 L |
1058 | 2006-01-27 H.J. Lu <hongjiu.lu@intel.com> |
1059 | ||
1060 | * config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel | |
1061 | intrinsic. | |
1062 | (_mm_cvtsi128_si64): Likewise. | |
1063 | (_mm_cvtsd_si64): Likewise. | |
1064 | (_mm_cvttsd_si64): Likewise. | |
1065 | (_mm_cvtsi64_sd): Likewise. | |
1066 | (_mm_cvtsi64_si128): Likewise. | |
1067 | * config/i386/mmintrin.h (_m_from_int64): Likewise. | |
1068 | (_mm_cvtsi64_m64): Likewise. | |
1069 | (_m_to_int64): Likewise. | |
1070 | (_mm_cvtm64_si64): Likewise. | |
1071 | * config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise. | |
1072 | (_mm_cvttss_si64): Likewise. | |
1073 | (_mm_cvtsi64_ss): Likewise. | |
1074 | (_mm_cvtss_f32): Likewise. | |
1075 | ||
9e21c3b8 CD |
1076 | 2006-01-27 Carlos O'Donell <carlos@codesourcery.com> |
1077 | ||
1078 | * c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion | |
1079 | for pragma redefine_extname. | |
1080 | ||
602ea4d3 JJ |
1081 | 2006-01-27 Jakub Jelinek <jakub@redhat.com> |
1082 | ||
1083 | PR target/25864 | |
1084 | * libgcc-std.ver: Add GCC_4.1.0 symbol version. | |
1085 | * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append | |
1086 | -mno-minimal-toc to previous content. | |
1087 | (bispecs): Remove goal. | |
1088 | * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h. | |
1089 | * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4 | |
1090 | compatibility aliases on powerpc-*-*gnu*. | |
1091 | * config/rs6000/libgcc-ppc-glibc.ver: New file. | |
1092 | * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append | |
1093 | libgcc-ppc-glibc.ver on powerpc*-*-*gnu*. | |
1094 | (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs. | |
1095 | (ldblspecs): New goal. | |
1096 | * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed. | |
1097 | * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and | |
1098 | _df_to_tf. | |
1099 | * config/fp-bit.h (TMODES): Don't define if none of TFLOAT, | |
1100 | L_sf_to_tf or L_df_to_tf is defined. | |
1101 | ||
1102 | 2006-01-27 David Edelsohn <edelsohn@gnu.org> | |
1103 | Alan Modra <amodra@bigpond.net.au> | |
1104 | ||
1105 | PR target/25864 | |
1106 | * config/rs6000/linux.h (POWERPC_LINUX): Define. | |
1107 | * config/rs6000/linux64.h (POWERPC_LINUX): Define. | |
1108 | * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC. | |
1109 | * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero. | |
1110 | * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero. | |
1111 | * config/rs6000/rs6000.c (rs6000_ieeequad): New variable. | |
1112 | (rs6000_override_options): Initialize rs6000_ieeequad. | |
1113 | Initialize TFmode format to ibm_extended_format if not | |
1114 | TARGET_IEEEQUAD. | |
1115 | (rs6000_handle_option): Accept -mabi= ibmlongdouble and | |
1116 | ieeelongdouble. | |
1117 | (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts. | |
1118 | (rs6000_return_in_memory): Only return IEEEQUAD in memory. | |
1119 | (function_arg_advance): IBM long double passed in two FPRs, not | |
1120 | split. | |
1121 | (function_arg): IBM long double passed in FPRs. | |
1122 | (rs6000_pass_by_reference): Only IEEEQUAD passed by reference. | |
1123 | (rs6000_gimplify_va_arg): IBM long double passed in two FPRs. | |
1124 | Only multireg GPR aligned. | |
1125 | (rs6000_init_libfuncs): Enable IBM long double functions if not | |
1126 | IEEEQUAD. | |
1127 | (rs6000_generate_compare): Use IBM long double compare if not | |
1128 | TARGET_IEEEQUAD. | |
1129 | * config/rs6000/rs6000.h (rs6000_ieeequad): Declare. | |
1130 | (TARGET_IEEEQUAD): Define. | |
1131 | (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if | |
1132 | not TARGET_IEEEQUAD. | |
1133 | * config/rs6000/rs6000.md: Enable TFmode patterns if | |
1134 | !TARGET_IEEEQUAD. | |
1135 | * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c. | |
1136 | * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float | |
1137 | and -mlong-double-128 are incompatible. | |
1138 | * doc/invoke.texi (-mabi): Collect options together. Add | |
1139 | ibmlongdouble and ieeelongdouble. | |
1140 | ||
929e5e5b RS |
1141 | 2006-01-27 Richard Sandiford <richard@codesourcery.com> |
1142 | ||
1143 | * doc/rtl.texi (SYMBOL_REF_DATA): Adjust documentation for new | |
1144 | opaque type. | |
1145 | * optabs.c (init_one_libfunc): Use SET_SYMBOL_REF_DECL. | |
1146 | * varasm.c (make_decl_rtl, build_constant_desc): Likewise. | |
1147 | (force_const_mem): Use SET_SYMBOL_REF_CONSTANT. | |
1148 | * rtl.h (rtunion_def): Remove rt_ptr. | |
1149 | (X0PTR): Delete. | |
1150 | (SYMBOL_REF_DATA): Use X0ANY instead of X0PTR. | |
1151 | (SET_SYMBOL_REF_DECL, SET_SYMBOL_REF_CONSTANT): New macros. | |
1152 | * config/i386/winnt.c (i386_pe_mark_dllexport) | |
1153 | (i386_pe_mark_dllimport): Use SET_SYMBOL_REF_DECL. | |
1154 | ||
dccb60e9 GL |
1155 | 2006-01-27 Gabor Loki <loki@gcc.gnu.org> |
1156 | ||
1157 | * cfgcleanup.c (try_crossjump_to_edge): Fix comment typo. | |
1158 | ||
72b16773 AO |
1159 | 2006-01-26 Alexandre Oliva <aoliva@redhat.com> |
1160 | ||
1161 | PR other/24829 | |
1162 | PR target/24831 | |
1163 | * gthr-dce.h: Do not gthrw-ify pthread_once_init, | |
1164 | pthread_key_delete. From John David Anglin. gthrw-ify | |
1165 | pthread_getunique_np only if it it's not a macro. Delete | |
1166 | UNUSED macro. | |
1167 | (__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate, | |
1168 | __gthread_objc_condition_wait, __gthread_objc_condition_broadcast, | |
1169 | __gthread_objc_condition_signal, __gthread_key_delete): Add | |
1170 | "__attribute__ ((__unused__))" to unused arguments. | |
1171 | (__gthread_recursive_mutex_init_function): Add missing return. | |
1172 | * gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h, | |
1173 | gthr-posix95.h: Use macro-based approach for name redirection | |
1174 | on targets missing weakref. | |
1175 | ||
f7c8e4fc ZW |
1176 | 2006-01-26 Zack Weinberg <zackw@panix.com> |
1177 | ||
1178 | * genconditions.c (write_header): In generated code, #ifdef out | |
1179 | all includes and fake declarations, except includes of bconfig.h | |
1180 | and system.h, unless GCC_VERSION >= 3001. Do not include | |
1181 | gensupport.h in any case. | |
1182 | (write_conditions): Generate a definition of struct c_test. Add | |
1183 | a comment to the generated #endif. | |
1184 | (write_one_condition): Escape backslashes in string too. | |
1185 | (write_writer): Generated code must escape backslashes and quote | |
1186 | marks (but not newlines) in the strings it writes. | |
1187 | * Makefile.in (build/gencondmd.o): Update dependencies. | |
1188 | ||
63622a81 SE |
1189 | 2006-01-26 Steve Ellcey <sje@cup.hp.com> |
1190 | ||
1191 | PR target/25961 | |
1192 | * Makefile.in (insn-automata.o): Add header file dependencies. | |
1193 | * genautomata.c: Add includes. | |
1194 | ||
461d30b2 SE |
1195 | 2006-01-26 Steve Ellcey <sje@cup.hp.com> |
1196 | ||
1197 | PR target/25961 | |
1198 | * Makefile.in (insn-automata.o): Add -Wno-error flag. | |
1199 | ||
e8b05380 PB |
1200 | 2006-01-26 Paolo Bonzini <bonzini@gnu.org> |
1201 | ||
1202 | * configure.ac: Expect target tools paths to be passed from the toplevel | |
1203 | and wrap the detection into AS_SET_VAR_IF. Extract side-effects out of | |
1204 | AS_SET_VAR_IF. | |
1205 | * acinclude.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL): Remove. | |
1206 | ||
f4e9414e AO |
1207 | 2006-01-26 Alexandre Oliva <aoliva@redhat.com> |
1208 | ||
1209 | PR c/25892 | |
1210 | * c.opt (Wpointer-sign): Init to -1. | |
1211 | * c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and | |
1212 | OPT_pedantic, to 0 otherwise. | |
1213 | * doc/invoke.texi: Update. | |
1214 | ||
e046a30a PB |
1215 | 2006-01-26 Paolo Bonzini <bonzini@gnu.org> |
1216 | ||
1217 | * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Emit | |
1218 | constants provided by 80387 instructions in the destination mode. | |
1219 | ||
7cc92f92 | 1220 | 2006-01-26 Richard Guenther <rguenther@suse.de> |
f7c8e4fc | 1221 | Andrew Pinski <pinskia@physics.uc.edu> |
7cc92f92 | 1222 | |
9cee8116 AP |
1223 | PR tree-opt/21470 |
1224 | partial PR tree-opt/17064 | |
7cc92f92 RG |
1225 | * tree-ssa-structalias.c (intra_create_variable_infos): |
1226 | Create heap variables for incoming parameters if | |
1227 | flag_argument_noalias > 1. | |
1228 | (find_what_p_points_to): Look through default defs of | |
1229 | parameter decls. | |
1230 | ||
4f67dfcf JL |
1231 | 2006-01-26 Jeff Law <law@redhat.com> |
1232 | ||
1233 | PR ada/25900 | |
1234 | * tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE | |
0b59f49d | 1235 | with a VR_ANTI_RANGE and the VR_ANTI_RANGE is completely contained |
4f67dfcf JL |
1236 | within the VR_RANGE, use the VR_RANGE as the result, not the |
1237 | VR_ANTI_RANGE. | |
0b59f49d BE |
1238 | (adjust_range_with_scev): Reject ranges from SCEV which are out of |
1239 | bounds for the type. | |
4f67dfcf | 1240 | |
e046a30a | 1241 | 2006-01-26 Daniel Berlin <dberlin@dberlin.org> |
8a105328 DB |
1242 | |
1243 | * tree-ssa-alias.c (maybe_create_global_var): Change | |
1244 | subvar walking to an assertion that we don't have subvar'd variables. | |
1245 | ||
f6f08360 AP |
1246 | 2006-01-26 Andrew Pinski <pinskia@physics.uc.edu> |
1247 | ||
1248 | PR C/25861 | |
1249 | * c-common.c (c_common_truthvalue_conversion) <case ADDR_EXPR>: | |
1250 | Use a new variable, inner. PARM_DECLs are always non-weak. | |
1251 | ||
62f3e894 SS |
1252 | 2006-01-26 Shantonu Sen <ssen@opendarwin.org> |
1253 | ||
1254 | * tree.h (OMP_CLAUSE_SUBCODE_CHECK): Add definition for | |
1255 | --disable-checking. | |
1256 | ||
5e922d66 AN |
1257 | 2006-01-26 Adam Nemet <anemet@caviumnetworks.com> |
1258 | ||
1259 | * config/mips/mips.md (*clear_upper32): New combiner pattern. | |
1260 | ||
0a484e3e RE |
1261 | 2006-01-26 Richard Earnshaw <richard.earnshaw@arm.com> |
1262 | ||
1263 | * arm.md (smaxsi3, sminsi3): Convert to define_expand. | |
1264 | (smax_insn, smin_insn, smax_0, smin_0): New. | |
1265 | ||
7faa3eb8 HPN |
1266 | 2006-01-26 Hans-Peter Nilsson <hp@axis.com> |
1267 | ||
1268 | PR target/25947 | |
1269 | * config/cris/cris.c (cris_order_for_addsi3): New function. | |
1270 | * config/cris/cris-protos.h: Prototype it. | |
1271 | * config/cris/cris.md (split for "move.S1 [rx=rx+i],ry") | |
1272 | (split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]") | |
1273 | (split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry") | |
1274 | (split for "op.S1 [rx=rx+i],ry (swapped)") | |
1275 | (split for "op(s|u).S1 [rx=rx+i],ry") | |
1276 | (split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"): | |
1277 | Apply cris_order_for_addsi3 when generating addsi3 insns. | |
1278 | ||
aaf46ef9 DN |
1279 | 2006-01-25 Diego Novillo <dnovillo@redhat.com> |
1280 | ||
1281 | * tree.h (TREE_RANGE_CHECK): Fix range predicate. | |
1282 | (TREE_BLOCK): Add call to EXPR_CHECK. | |
1283 | ||
1284 | 2006-01-25 Diego Novillo <dnovillo@redhat.com> | |
1285 | ||
1286 | PR 25886 | |
1287 | * tree-dump.c (dequeue_and_dump): Handle OMP_CLAUSE. | |
1288 | * tree-pretty-print.c (dump_omp_clause): Extract from ... | |
1289 | (dump_omp_clauses): ... here. | |
1290 | (dump_generic_node): Handle OMP_CLAUSE. | |
1291 | * tree.c (omp_clause_num_ops): New. | |
1292 | (omp_clause_code_name): New. | |
1293 | (tree_code_size): Handle OMP_CLAUSE. | |
1294 | (tree_size): Likewise. | |
1295 | (make_node): Document handling of OMP_CLAUSE. | |
1296 | (tree_node_structure): Handle OMP_CLAUSE. | |
1297 | (omp_clause_check_failed): New. | |
1298 | (omp_clause_range_check_failed): New. | |
1299 | (omp_clause_operand_check_failed): New. | |
1300 | (build_omp_clause): New. | |
1301 | (walk_tree): Adjust handling of OMP_CLAUSE_* nodes. | |
1302 | * tree.h (enum omp_clause_code): Declare. | |
62f3e894 | 1303 | (OMP_CLAUSE_SUBCODE_CHECK): Define. |
aaf46ef9 DN |
1304 | (OMP_CLAUSE_RANGE_CHECK): Define. |
1305 | (OMP_CLAUSE_ELT_CHECK): Define. | |
1306 | (omp_clause_check_failed): Declare. | |
1307 | (omp_clause_operand_check_failed): Declare. | |
1308 | (omp_clause_range_check_failed): Declare. | |
1309 | (OMP_CLAUSE_CHAIN): Do not use TREE_RANGE_CHECK. | |
1310 | (OMP_CLAUSE_OPERAND): Use OMP_CLAUSE_RANGE_CHECK. | |
1311 | (OMP_CLAUSE_PRIVATE_DEBUG): Use OMP_CLAUSE_SUBCODE_CHECK. | |
1312 | (OMP_CLAUSE_LASTPRIVATE): Likewise. | |
1313 | (OMP_CLAUSE_IF_EXPR): Likewise. | |
1314 | (OMP_CLAUSE_NUM_THREADS_EXPR): Likewise. | |
1315 | (OMP_CLAUSE_SCHEDULE_CHUNK_EXPR): Likewise. | |
1316 | (OMP_CLAUSE_REDUCTION_CODE): Likewise. | |
1317 | (OMP_CLAUSE_REDUCTION_INIT): Likewise. | |
1318 | (OMP_CLAUSE_REDUCTION_MERGE): Likewise. | |
1319 | (OMP_CLAUSE_REDUCTION_PLACEHOLDER): Likewise. | |
1320 | Use tree_node.omp_clause.subcode instead of TREE_COMPLEXITY. | |
1321 | (OMP_CLAUSE_SCHEDULE_KIND): Likewise. | |
1322 | (OMP_CLAUSE_DEFAULT_KIND): Likewise. | |
1323 | (OMP_CLAUSE_CODE): Define. | |
1324 | (OMP_CLAUSE_SET_CODE): Define. | |
1325 | (OMP_CLAUSE_CODE): Define. | |
1326 | (OMP_CLAUSE_OPERAND): Define. | |
1327 | (struct tree_omp_clause): Declare. | |
1328 | (union tree_node): Add field 'omp_clause'. | |
1329 | * treestruct.def (TS_OMP_CLAUSE): Define. | |
1330 | * tree.def (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED | |
1331 | OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE, | |
1332 | OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN, | |
1333 | OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF, | |
1334 | OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE, | |
1335 | OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Remove. | |
1336 | (OMP_CLAUSE): Define. | |
1337 | * print-tree.c (print_node): Handle OMP_CLAUSE. | |
1338 | * omp-low.c: Adapt all uses of OMP_CLAUSE_* nodes. | |
1339 | * c-typeck.c: Likewise. | |
1340 | * gimplify.c: Likewise. | |
1341 | * c-omp.c: Likewise. | |
1342 | * tree-nested.c: Likewise. | |
1343 | * tree-inline.c: Likewise. | |
1344 | * c-parser.c: Likewise. | |
1345 | * gimple-low.c (lower_omp_directive): Do not set TREE_BLOCK on | |
1346 | clauses. | |
1347 | ||
d89b36e1 RS |
1348 | 2006-01-25 Roger Sayle <roger@eyesopen.com> |
1349 | ||
1350 | PR rtl-optimization/25703 | |
1351 | * combine.c (try_combine): Handle zero_extract and strict_low_part | |
1352 | of non-lowpart SUBREGs for constant reg_subword_p set optimization. | |
1353 | ||
f0852ed0 PB |
1354 | 2006-01-25 Peter Bergner <bergner@vnet.ibm.com> |
1355 | ||
1356 | * global.c: Fix comment typos. | |
1357 | ||
b8795edd AP |
1358 | 2006-01-25 Andrew Pinski <pinskia@physics.uc.edu> |
1359 | ||
1360 | PR target/25758 | |
1361 | * config/i386/i386.c (output_pic_addr_const) <case SYMBOL_REF>: | |
1362 | Use output_addr_const instead of assemble_name. | |
1363 | ||
a68e7e6c PB |
1364 | 2006-01-25 Paolo Bonzini <bonzini@gnu.org> |
1365 | ||
1366 | * Makefile.in (sched-vis.o): Update dependencies. | |
1367 | * haifa-sched.c (sched_finish): Clear current_sched_info. | |
1368 | * cfg.c (dump_bb_info): New, split from dump_flow_info. | |
1369 | (dump_flow_info): Call it. | |
1370 | * passes.c (execute_todo): Call print_rtl_slim_with_bb to make | |
1371 | a slim RTL dump. | |
1372 | * basic-block.h (dump_bb_info): Declare. | |
1373 | * tree-dump.c (dump_enable_all): OR the flags of a -fdump-tree-all | |
1374 | option, and apply options only for dump files whose TDF_RTL, | |
1375 | TDF_TREE, or TDF_IPA bits match. | |
1376 | * rtl.h: Declare new functions exported from sched-vis.c. | |
1377 | * sched-vis.c: Enable also if scheduling is not used. | |
1378 | (print_value): Print the mode of registers if not inside scheduling. | |
1379 | (print_insn): Make it work outside the scheduler. Beautify the output | |
1380 | a bit. | |
1381 | (dump_insn_slim, debug_insn_slim, print_rtl_slim_with_bb): New. | |
1382 | ||
14c1a9d7 RS |
1383 | 2006-01-25 Richard Sandiford <richard@codesourcery.com> |
1384 | ||
1385 | * doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document. | |
1386 | * gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of | |
1387 | a SYMBOL_REF as either a tree or a constant_descriptor_rtx, | |
1388 | depending on the value of CONSTANT_POOL_ADDRESS_P. | |
1389 | * optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than | |
1390 | SYMBOL_REF_DECL. | |
1391 | * varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA | |
1392 | rather than SYMBOL_REF_DECL. | |
1393 | (rtx_constant_pool): Remove const_rtx_sym_htab. | |
1394 | (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete. | |
1395 | (init_varasm_status): Don't initialize const_rtx_sym_htab. | |
1396 | (force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry. | |
1397 | Remove handling of const_rtx_sym_htab. | |
1398 | (find_pool_constant): Delete. | |
1399 | (get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT | |
1400 | rather than find_pool_constant. | |
1401 | (get_pool_constant_for_function): Delete. | |
1402 | (get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than | |
f7c8e4fc | 1403 | find_pool_constant. |
14c1a9d7 RS |
1404 | * rtl.h (rtunion_def): Add rt_constant and rt_ptr fields. |
1405 | (X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros. | |
1406 | (SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P. | |
1407 | (SYMBOL_REF_CONSTANT): New macro. | |
1408 | (get_pool_constant_for_function): Delete. | |
1409 | * config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA | |
1410 | rather than SYMBOL_REF_DECL. | |
1411 | (i386_pe_mark_dllimport): Likewise. | |
1412 | * config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA | |
1413 | rather than SYMBOL_REF_DECL. | |
1414 | * config/darwin.c (machopic_indirect_data_reference): Likewise. | |
1415 | (machopic_indirect_call_target): Likewise. | |
1416 | ||
916b9d4b EB |
1417 | 2006-01-25 Eric Botcazou <ebotcazou@adacore.com> |
1418 | ||
1419 | * flow.c (delete_noop_moves): Add missing EOL to dump message. | |
1420 | ||
b9aa59fb RS |
1421 | 2006-01-25 Richard Sandiford <richard@codesourcery.com> |
1422 | ||
1423 | * genattrtab.c (gen_bypass): Allow bypasses to contain whitespace. | |
1424 | ||
ac42ec79 KK |
1425 | 2006-01-25 Kaz Kojima <kkojima@gcc.gnu.org> |
1426 | ||
1427 | * config/sh/predicates.md (sh_register_operand): Accept CONST_DOUBLE. | |
1428 | ||
8dea1cca DD |
1429 | 2006-01-24 David Daney <ddaney@avtrex.com> |
1430 | ||
1431 | PR java/25816 | |
1432 | * configure.ac (enable_tls): New enable option. | |
1433 | (HAVE_AS_TLS): Don't do assembler check if enable_tls set. | |
1434 | * configure: Regenerate. | |
1435 | * doc/install.texi (--enable-tls): Document new option. | |
1436 | (--disable-tls): Ditto. | |
1437 | ||
9cd9e512 RH |
1438 | 2006-01-24 Richard Henderson <rth@redehat.com> |
1439 | ||
1440 | * alias.h (ALIAS_SET_MEMORY_BARRIER): New. | |
1441 | * alias.c (true_dependence): Respect it. | |
1442 | (canon_true_dependence, write_dependence_p): Likewise. | |
1443 | * builtins.c (get_builtin_sync_mem): Set it. | |
1444 | ||
7faaba28 ZD |
1445 | 2006-01-25 Zdenek Dvorak <dvorakz@suse.cz> |
1446 | ||
1447 | * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more | |
1448 | efficient way. | |
1449 | ||
1bb8d49c DD |
1450 | 2006-01-24 DJ Delorie <dj@redhat.com> |
1451 | ||
1452 | * expmed.c (store_bit_field): Don't arbitrarily deny using insv | |
1453 | for storing constants in single-bit bitfields. | |
1454 | ||
7af1a035 BE |
1455 | 2006-01-25 Ben Elliston <bje@au.ibm.com> |
1456 | ||
1457 | * dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long. | |
1458 | ||
0b63b112 AP |
1459 | 2006-01-24 Andrew Pinski <pinskia@physics.uc.edu> |
1460 | ||
1461 | PR tree-opt/25860 | |
1462 | * tree-ssa-pre.c (phi_translate): Return NULL | |
1463 | for AGGREGATE_TYPE's. | |
1464 | ||
68486bb3 ZW |
1465 | 2006-01-24 Zack Weinberg <zackw@panix.com> |
1466 | ||
1467 | * genautomata.c (process_state_for_insn_equiv_partition): | |
1468 | Use xcalloc for insn_arcs_array. | |
1469 | * vec.h (DEF_VEC_ALLOC_FUNC_I): New set of templates. | |
1470 | (DEF_VEC_ALLOC_I): Use it, not DEF_VEC_ALLOC_FUNC_P. | |
1471 | ||
11daaf60 RH |
1472 | 2006-01-24 Richard Henderson <rth@redhat.com> |
1473 | ||
1474 | * genextract.c (VEC_safe_set_locstr): Take VEC by reference; | |
1475 | update all callers. | |
1476 | ||
81162f97 PB |
1477 | 2006-01-23 Paolo Bonzini <bonzini@gnu.org> |
1478 | ||
f7c8e4fc ZW |
1479 | PR rtl-optimization/25890 |
1480 | PR rtl-optimization/25905 | |
1481 | * combine.c (expand_compound_operation, expand_field_assignment): | |
1482 | Fail if the bitfield's final position is out of bounds. | |
81162f97 | 1483 | |
e7b9eb2c ILT |
1484 | 2006-01-24 Ian Lance Taylor <ian@airs.com> |
1485 | ||
1486 | PR middle-end/25930 | |
1487 | * cgraphunit.c (cgraph_output_in_order): Don't clear | |
1488 | cgraph_asm_nodes until after asm strings have been output. | |
1489 | ||
b933c7fe AN |
1490 | 2006-01-23 Adam Nemet <anemet@caviumnetworks.com> |
1491 | ||
f7c8e4fc | 1492 | * fix-header.c (read_scan_file): Add new parameter imultilib when |
b933c7fe AN |
1493 | calling register_include_chains. |
1494 | ||
7ebaeab5 DN |
1495 | 2006-01-23 Diego Novillo <dnovillo@redhat.com> |
1496 | ||
1497 | * omp-low.c: Update documentation. | |
1498 | ||
e9901f8b | 1499 | 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> |
7ebaeab5 | 1500 | Daniel Berlin <dberlin@dberlin.org> |
e9901f8b AP |
1501 | |
1502 | PR tree-opt/25315 | |
1503 | PR tree-opt/25857 | |
f7c8e4fc | 1504 | * tree-ssa-pre.c (insert_extra_phis): If an incomming edge is abnormal |
e9901f8b AP |
1505 | return from the function. |
1506 | ||
6e7a4706 ZW |
1507 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1508 | ||
1509 | * rtl.def (match_code): Add second argument. | |
1510 | * genpreds.c (write_extract_subexp): New function. | |
1511 | (write_match_code): Add path argument. Use write_extract_subexp. | |
1512 | (write_predicate_expr): Pass path to write_match_code. | |
1513 | (mark_mode_tests): MATCH_CODE applied to a subexpression does | |
1514 | not perform a mode test. | |
1515 | * genrecog.c (compute_predicate_codes): MATCH_CODE applied to | |
1516 | a subexpression does not constrain the top-level code set. | |
1517 | * read-rtl.c (read_rtx_variadic): New function. | |
1518 | (read_rtx_1): Use it; allow AND and IOR to be variadic. | |
1519 | * doc/md.texi: Document new notation. | |
1520 | * config/i386/predicates.md (cmpsi_operand_1): Fold into ... | |
1521 | (cmpsi_operand): ... here, using new notation. | |
1522 | ||
6ff09968 ZW |
1523 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1524 | ||
1525 | * varray.c: Remove GENERATOR_FILE #ifdefs. | |
1526 | ||
63e2552f ZW |
1527 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1528 | ||
1529 | * genautomata.c (output_reserved_units_table): Emit nothing if | |
1530 | description->query_units_num is zero. Remove extra blank line. | |
1531 | (output_cpu_unit_reservation_p): Short circuit | |
1532 | if description->query_units_num is zero. | |
1533 | ||
8c94f366 ZW |
1534 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1535 | ||
1536 | * genattrtab.c: Don't include genattrtab.h. Define ATTR_NONE | |
1537 | and ATTR_SPECIAL (from genattrtab.h). Don't define num_dfa_decls | |
1538 | nor any of the random handful of variables that used to be necessary | |
1539 | when this program was linked with rtlanal.o. Prune set of forward | |
1540 | function declarations. | |
1541 | (struct attr_desc): Remove static_p field. | |
1542 | (hash_obstack, temp_obstack, attr_hash_table, attr_printf) | |
1543 | (check_attr_test, make_internal_attr, make_numeric_value): Make static. | |
1544 | (attr_string): Do not read the character one past the length of | |
1545 | the string. | |
1546 | (write_attr_get, find_attr, make_internal_attr): Don't touch static_p. | |
1547 | (struct insn_reserv, all_insn_reservs, last_insn_reserv_p) | |
1548 | (n_insn_reservs, gen_insn_reserv, struct bypass_list, all_bypasses) | |
1549 | (n_bypasses, gen_bypass_1, gen_bypass, process_bypasses) | |
1550 | (make_automaton_attrs): New. | |
1551 | (main): Do not call into genautomata. Call local gen_bypass | |
1552 | and gen_insn_reserv as appropriate. Call make_automaton_attrs. | |
1553 | Remove special case for insn_alts. | |
1554 | * genautomata.c: Include gensupport.h; not genattrtab.h nor | |
1555 | varray.h (leftover from previous change). Prune set of forward | |
1556 | function declarations. Remove state_alts fields from all | |
1557 | structures. Remove state_alts_table from struct automaton. | |
1558 | Make everything except main static. Do not maintain num_dfa_decls. | |
1559 | Do not maintain state_alts fields of various structures. | |
1560 | (process_decls): Don't validate condexp for dm_insn_reserv decls. | |
1561 | (add_arc): Remove state_alts argument. All callers updated. | |
1562 | (output_reserved_units_table): Emit #ifdef here... | |
1563 | (output_tables): ...not here. Don't generate state_alts tables. | |
1564 | (expand_automata): Don't generate attributes. | |
1565 | (write_automata): Don't generate state_alts functions. | |
1566 | (main): New function. | |
1567 | (it_is_empty_reserv_sets, output_state_alts_full_vect_name) | |
1568 | (output_state_alts_comb_vect_name, output_state_alts_check_vect_name) | |
1569 | (AUTOMATON_STATE_ALTS_MACRO_NAME, INTERNAL_STATE_ALTS_FUNC_NAME) | |
1570 | (STATE_ALTS_FUNC_NAME, INSN_DEFAULT_LATENCY_FUNC_NAME) | |
1571 | (BYPASS_P_FUNC_NAME, output_state_alts_table) | |
1572 | (output_automata_list_state_alts_code, output_internal_state_alts_func) | |
1573 | (output_state_alts_func, make_insn_alts_attr, make_bypass_attr) | |
1574 | (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr): | |
1575 | Delete. | |
1576 | * genattr.c: Declare internal_dfa_insn_code in insn-attr.h. | |
1577 | * genattrtab.h: Delete file. | |
1578 | * Makefile.in (OBJS-common): Add insn-automata.o. | |
1579 | (insn-automata.o): New rule. | |
1580 | (simple_generated_c): Add insn-automata.c. | |
1581 | (build/genattrtab.o, build/genautomata.o): Update dependencies. | |
1582 | (genprogmd): Add automata. | |
1583 | (build/genattrtab): Needs no extra objects nor libraries. | |
1584 | (build/genautomata): Needs build/vec.o and -lm. | |
1585 | ||
5f2f0edd ZW |
1586 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1587 | ||
1588 | * genautomata.c (process_state_longest_path, max_dfa_issue_rate) | |
1589 | (output_dfa_max_issue_rate, locked_states_num): Delete. | |
1590 | (struct automaton): Add locked_states field. | |
1591 | (output_dead_lock_vect): Save number of locked states in | |
1592 | automaton->locked_states. If it is zero, don't print anything. | |
1593 | (output_max_insn_queue_index_def): Define max_insn_queue_index const. | |
1594 | (output_internal_dead_lock_func): Only test the dead_lock_vect | |
1595 | for automata that have locked states. | |
1596 | (output_statistics): Always print the number of locked states for | |
1597 | each automaton. Calculate total number of locked states here. | |
1598 | (write_automata): Don't call output_dfa_max_issue_rate. | |
1599 | * genattrtab.c: Define length_unit_log as a const variable. | |
1600 | * genattr.c: Don't emit MAX_DFA_ISSUE_RATE. Declare | |
1601 | max_insn_queue_index const. | |
1602 | * final.c (length_unit_log): Declare const. | |
1603 | * doc/tm.texi: Remove all references to MAX_DFA_ISSUE_RATE. | |
1604 | ||
1fb49ce7 ZW |
1605 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1606 | ||
1607 | * genautomata.c: Include vec.h, not varray.h. | |
1608 | Delete vla_ptr_t, all of the VLA_PTR_ macros, and all of the | |
1609 | VLA_HWINT_ macros. Change vla_hwint_t to a typedef for | |
1610 | VEC(vect_el_t,heap) *. Convert all uses of VLA_* macros to | |
1611 | VEC_* macros operating on appropriately typed vectors, or to | |
1612 | malloced arrays when the size is known in advance. Const-ify | |
1613 | many char* variables and function arguments. No functional changes. | |
1614 | * Makefile.in (build/varray.o): Delete rule. | |
1615 | (build/genattrtab): Depend on build/vec.o instead of build/varray.o. | |
1616 | (build/genautomata.o): Depend on vec.h instead of $(VARRAY_H). | |
1617 | ||
0458fe77 ZW |
1618 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1619 | ||
1620 | * gensupport.c: Define get_insn_name and record_insn_name here. | |
1621 | (read_md_rtx): Call record_insn_name as appropriate. | |
1622 | * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c | |
1623 | * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c | |
1624 | * genpreds.c, genrecog.c: Don't define get_insn_name nor | |
1625 | record_insn_name. | |
1626 | * Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL. | |
1627 | (BUILD_VARRAY): Delete. | |
1628 | (genprognormal): Rename genprogmd. Fold in all programs from | |
1629 | genprognoprint; also attrtab. | |
1630 | (build/genattrtab): Just mention genautomata.o and varray.o. | |
1631 | Reorganize a bit, add comments to make the categories clearer. | |
1632 | ||
1c7352cd ZW |
1633 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1634 | ||
1635 | * genconditions.c (condition_table, add_condition): Delete. | |
1636 | (write_conditions): Don't emit n_insn_conditions nor | |
1637 | insn_elision_unavailable. Issue the gcc version #ifdef here, | |
1638 | inside the table, with no #else clause ... | |
1639 | (write_header): ...not here. | |
1640 | (write_writer): New function. | |
1641 | (main): Don't initialize condition_table. Use add_c_test. | |
1642 | Call write_writer. | |
1643 | * gensupport.c (init_md_reader_args_cb): Handle multiple input | |
1644 | files on the command line. | |
1645 | (maybe_eval_c_test): Don't check insn_elision_unavailable. | |
1646 | Return -1 if there is no entry in the table, don't abort. | |
1647 | (add_c_test, traverse_c_tests): New functions. | |
1648 | * gensupport.h (insn_elision_unavailable, insn_conditions) | |
1649 | (n_insn_conditions): Delete declarations. | |
1650 | (add_c_test, traverse_c_tests): Declare. | |
1651 | * read-rtl.c: Include gensupport.h. | |
1652 | (read_conditions): New function. | |
1653 | (read_rtx): If read_rtx_1 returns 0, treat as EOF. | |
1654 | (read_rtx_1): If we get EOF when we were looking for an initial | |
1655 | open paren, return 0. Call read_conditions when appropriate. | |
1656 | * Makefile.in: Kill BUILD_EARLY_SUPPORT and all references to | |
1657 | dummy-conditions.o. Eliminate references to insn-conditions.o, | |
1658 | or change them to build/gencondmd.o, as appropriate. Remove | |
1659 | insn-constants.h from $(simple_generated_h) and insn-conditions.c | |
1660 | from $(simple_generated_c). For all files remaining in those | |
1661 | two lists, add insn-conditions.md to the generator command line. | |
1662 | Give insn-constants.h/s-constants their own rules. Add rules | |
1663 | for build/gencondmd.c, s-conditions, insn-conditions.md, s-condmd. | |
1664 | (build/read-rtl.o): Depend on gensupport.h. | |
1665 | (genprognormal): Include preds. | |
1666 | (genprogearly): Rename genprognoprint; only difference is now that | |
1667 | they don't link with $(BUILD_PRINT). | |
1668 | * dummy-conditions.c: Delete. | |
1669 | ||
245fc639 ZW |
1670 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1671 | ||
1672 | * genextract.c: Don't include insn-config.h. Do include vec.h. | |
1673 | Declare vectors of int, char, and locstr. | |
1674 | (locstr): New typedef. | |
1675 | (struct extraction): Make all array fields into bare pointers. | |
1676 | (insn_name_ptr, insn_name_ptr_size): Move down by get_insn_name. | |
1677 | (insn_code_number): Delete. | |
1678 | (accum_extract): New struct. | |
1679 | (VEC_safe_set_locstr, VEC_char_to_string): New functions. | |
1680 | (gen_insn): Take insn_code_number as an argument. Use an | |
1681 | accum_extract structure instead of loading data directly into | |
1682 | a struct extraction, and having to know how big it might get. | |
1683 | (walk_rtx): Operate entirely on an accum_extract structure. | |
1684 | (print_path): Avoid unnecessary use of printf. | |
1685 | (print_header): New function, split out of main. Distinguish | |
1686 | more carefully between an unrecognizable insn and an insn that | |
1687 | has the code number of a define_expand. | |
1688 | (main): Pass insn_code_number to gen_insn. Call print_header | |
1689 | only after parsing. Avoid unnecessary use of printf. | |
1690 | * Makefile.in (build/vec.o): New rule. | |
1691 | (build/genextract): Depend on build/vec.o. | |
1692 | (build/genextract.o): Don't depend on insn-config.h. | |
1693 | ||
cbbbdc2c ZW |
1694 | 2006-01-22 Zack Weinberg <zackw@panix.com> |
1695 | ||
1696 | * Makefile.in: Consolidate most rules that use $(CC_FOR_BUILD) and/or | |
1697 | $(RUN_GEN). Use pattern rules to factor out as much boilerplate as | |
1698 | practical. Eliminate per-generator-program link rules. | |
1699 | ||
bac9efea AP |
1700 | 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> |
1701 | ||
1702 | PR middle-end/24437 | |
1703 | * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF | |
1704 | with a call expr to ... | |
1705 | * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. | |
1706 | ||
766613a4 RG |
1707 | 2006-01-23 Richard Guenther <rguenther@suse.de> |
1708 | ||
1709 | * cfgloopmanip.c (lv_adjust_loop_entry_edge): Add comment | |
1710 | before make_edge with conditional EDGE_TRUE_VALUE. | |
1711 | ||
d239ed56 SB |
1712 | 2006-01-23 Steven Bosscher <stevenb.gcc@gmail.com> |
1713 | Jan Hubicka <jh@suse.cz> | |
1714 | Richard Guenther <rguenther@suse.de> | |
1715 | ||
1716 | PR rtl-optimization/25654 | |
1717 | * cfgexpand.c (aggregate_contains_union_type): New function. | |
1718 | (add_alias_set_conflicts): Call it. Make sure to add conflicts | |
1719 | for structure variables that contain a union type. | |
1720 | ||
0f01f026 RS |
1721 | 2006-01-23 Richard Sandiford <richard@codesourcery.com> |
1722 | ||
1723 | * gengtype.c (new_structure): Return the structure. | |
1724 | (create_option): Add an extra "next" argument. | |
1725 | (create_field): New function. | |
1726 | (adjust_field_rtx_def): Use create_option and create_field. | |
1727 | Remove a now-unnecessary call to find_structure. | |
1728 | (adjust_field_tree_def): Likewise. | |
1729 | (note_yacc_type): Remove an unnecessary call to find_structure. | |
1730 | * gengtype.h (new_structure): Return the structure. | |
1731 | (create_option): Add an extra argument. | |
1732 | * gengtype-yacc.y (type): Remove unnecessary calls to find_structure. | |
1733 | (option): Adjust calls to create_option. | |
1734 | ||
4e9d3943 DE |
1735 | 2006-01-22 David Edelsohn <edelsohn@gnu.org> |
1736 | ||
1737 | * config/rs6000/aix.h (STACK_BOUNDARY): Define. | |
1738 | ||
dcc21c4c PB |
1739 | 2006-01-22 Paul Brook <paul@codesourcery.com> |
1740 | Peter Barada <peter@the-baradas.com> | |
1741 | ||
1742 | * config/m68k/m68k.md: Add Coldfire FPU support. | |
1743 | Define FP mode macro and associated attributes. | |
1744 | Use it for float mode patterns. | |
1745 | * config/m68k/linux.h (FUNCTION_VALUE): Use m68k_function_value. | |
1746 | (LIBCALL_VALUE): Use m68k_libcall_value. | |
1747 | * config/m68k/m68k-protos.h (m68k_libcall_value): Add prototype. | |
1748 | (m68k_function_value): Ditto. | |
1749 | (emit_move_sequence): Ditto. | |
1750 | * config/m68k/m68kemb.h (LIBCALL_VALUE): Use m68k_libcall_value. | |
1751 | * config/m68k/m68k-none.h (ASM_SPEC): Add mcfv4e. | |
1752 | * config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcfv4e. | |
1753 | (MULTILIB_EXCEPTIONS): Ditto. | |
1754 | * config/m68k/m68k.opt: Add mcfv4e. | |
1755 | * config/m68k/m68k.c (m68k_handle_option): Handle OPT_mcfv4e. | |
1756 | (m68k_compute_frame_layout): Include space for ColdFire FPU regs. | |
1757 | (m68k_output_function_prologue): Save ColdFire FPU registers. | |
1758 | (m68k_output_function_epilogue): Restore ColdFire FPU registers. | |
1759 | (force_mode, fp_reg_operand, emit_move_sequence): New functions. | |
1760 | (m68k_regno_mode_ok): Don't allow types larget than 8 bytes in | |
1761 | ColdFire FPU registers. | |
1762 | (m68k_libcall_value, m68k_function_value): New functions. | |
1763 | * config/m68k/netbsd-elf.h (FUNCTION_VALUE): Use m68k_function_value. | |
1764 | (LIBCALL_VALUE): Use m68k_libcall_value. | |
1765 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcfv4e__. | |
1766 | (MASK_COLDFIRE): Add MASK_CFV4E. | |
1767 | (TARGET_COLDFIRE_FPU, TARGET_HARD_FLOAT, TARGET_FP_REG_SIZE): New. | |
1768 | (MODES_TIEABLE_P): Use TARGET_HARD_FLOAT. | |
1769 | (REG_CLASS_FROM_LETTER, PREFERRED_RELOAD_CLASS): Ditto. | |
1770 | (GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Define. | |
1771 | (GO_IF_LEGITIMATE_ADDRESS): Use it. | |
1772 | (LEGITIMIZE_ADDRESS): Handle ColdFire FPU addresses. | |
1773 | * doc/invoke.tex: Document -mcfv4e on m68k. | |
1774 | ||
7b7046c7 RM |
1775 | 2006-01-22 Ranjit Mathew <rmathew@gcc.gnu.org> |
1776 | ||
1777 | * doc/contribute.texi: Change CVS to SVN and update the corresponding | |
1778 | URL. | |
1779 | ||
efee9ded GDR |
1780 | 2006-01-21 Gabriel Dos Reis <gdr@integrable-solutions.net> |
1781 | ||
1782 | PR c++/16190 | |
1783 | * c-opts.c (c_common_handle_option): Don't include | |
1784 | -Wnon-virtual-dtor in -Wall; enable if -Weffc++. | |
1785 | * doc/invoke.texi (C++ Dialect Options): Document that | |
1786 | -Wnon-virtual-dtor is no longer included in -Wall. | |
1787 | ||
a6d6c2c0 JM |
1788 | 2006-01-21 Joseph S. Myers <joseph@codesourcery.com> |
1789 | ||
1790 | * gcov.c (print_version), gcov-dump.c (print_version), | |
1791 | mips-tdump.c (main), mips-tfile.c (main): Update copyright notice | |
1792 | dates. | |
1793 | ||
e046a30a | 1794 | 2006-01-21 Kenneth Zadeck <zadeck@naturalbridge.com> |
30cb87a0 KZ |
1795 | |
1796 | * df-scan.c (problem_SCAN): Added NULL reset function. | |
1797 | (df_scan_reset_blocks): Added code to call reset block function | |
1798 | (df_bb_refs_delete) Fixed comment. | |
1799 | (df_insn_refs_delete): Made tolerant of deleting non existent info | |
1800 | for dataflow problems that need to be reset. | |
1801 | * df-core.c (df_set_blocks): Ditto. | |
1802 | * df.h (struct df_problem): Added reset_fun. | |
1803 | * df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR, | |
1804 | problem_UREC, problem_CHAIN, problem_RI): Initialized reset_fun field. | |
1805 | (df_chain_insn_reset, df_chain_bb_reset, df_chain_reset): New | |
1806 | functions to clear out all references to def-use or use-def chains. | |
1807 | ||
5e5cf1ee BE |
1808 | 2006-01-21 Ben Elliston <bje@au.ibm.com> |
1809 | ||
1810 | * varasm.c (assemble_real): Initialise data array. | |
1811 | ||
d5b6e637 PB |
1812 | 2006-01-20 Paul Brook <paul@codesourcery.com> |
1813 | ||
1814 | Merge from csl-arm-branch. | |
1815 | 2005-09-21 Kazu Hirata <kazu@codesourcery.com> | |
1816 | * config/arm/arm.md (movdi): Force operands[1] to a register | |
1817 | if we have a non-register source. | |
1818 | (*arm_movdi, *movdf_soft_insn): Require that one of the | |
1819 | operands be a register. | |
1820 | * config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise. | |
1821 | * config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise. | |
1822 | ||
971dfb9b DD |
1823 | 2006-01-20 DJ Delorie <dj@redhat.com> |
1824 | ||
1825 | * varasm.c (initialize_constant_valid_p): Allow pointers | |
1826 | initialized from integer constants of lesser precision. | |
1827 | (output_constant): Allow non-int-sized pointer modes to be | |
1828 | initialized from integer constants. | |
1829 | ||
2b6dd222 JM |
1830 | 2006-01-20 Joseph S. Myers <joseph@codesourcery.com> |
1831 | ||
1832 | PR libstdc++/25524 | |
1833 | * cppdefault.h (struct default_include): Add multilib flag. | |
1834 | * cppdefault.c (cpp_include_defaults): Set it. | |
1835 | * c.opt (-imultilib): New option. | |
1836 | * c-opts.c (imultilib): New. | |
1837 | (c_common_handle_option): Handle -imultilib. | |
1838 | (c_common_post_options): Likewise. | |
1839 | * c-incpath.c (add_standard_paths, register_include_chains): | |
1840 | Likewise. | |
1841 | * c-incpath.h (register_include_chains): Add extra parameter. | |
1842 | * gcc.c (do_spec_1): Generate -imultilib option. | |
1843 | (The Specs Language): Update %I description. | |
1844 | (process_command): Update copyright notice. | |
1845 | * doc/cppopts.texi (-imultilib): Document. | |
1846 | * doc/invoke.texi (-imultilib): Include in option summary. | |
1847 | (%I): Update specs documentation. | |
1848 | ||
33cb1cf6 ZD |
1849 | 2006-01-20 Zdenek Dvorak <dvorakz@suse.cz> |
1850 | ||
1851 | * loop-iv.c (iv_analysis_loop_init): Use df in more conservative way. | |
1852 | ||
0174997a RS |
1853 | 2006-01-20 Richard Sandiford <richard@codesourcery.com> |
1854 | ||
1855 | * stmt.c (case_bit_test_cmp): Stabilize the sort using code | |
1856 | label numbers. | |
1857 | ||
c11fd0b2 RG |
1858 | 2006-01-20 Richard Guenther <rguenther@suse.de> |
1859 | Steven Bosscher <stevenb.gcc@gmail.com> | |
1860 | ||
1861 | PR rtl-optimization/24626 | |
1862 | * cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set | |
1863 | EDGE_TRUE_VALUE if in RTL mode. | |
1864 | ||
1865 | Revert | |
1866 | 2005-03-30 Mostafa Hagog <mustafa@il.ibm.com> | |
1867 | * cfgrtl.c (rtl_verify_flow_info_1): Fix. | |
1868 | ||
74ac79fa DM |
1869 | 2006-01-20 Dirk Mueller <dmueller@suse.com> |
1870 | ||
cbbbdc2c ZW |
1871 | PR c++/5520 |
1872 | * c-parser.c (c_parser_if_body): Use build_empty_stmt() | |
1873 | instead of a special NOP marker. | |
1874 | * c-typeck.c (c_finish_if_stmt): Remove obsoleted special | |
1875 | NOP marker handling. | |
1876 | * c-common.h (empty_body_warning): Add forward declaration. | |
1877 | * c-common.c (empty_body_warning): Add (from c_finish_if_stmt). | |
1878 | Now uses IS_EMPTY_STMT() instead of special NOP markers. | |
74ac79fa | 1879 | |
e046a30a | 1880 | 2006-01-20 Paul Brook <paul@codesourcery.com> |
577092ba PB |
1881 | |
1882 | * Makefile.in (lang_checks): Keep going if mkdir fails. | |
1883 | ||
e046a30a | 1884 | 2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com> |
3b8266e2 KZ |
1885 | |
1886 | * df-scan.c (df_scan_free_bb_info): Added basic block parameter to | |
1887 | be able to clean out basic block when not necessary. | |
1888 | (df_scan_free): Fixed to properly delete information if df is | |
1889 | unused before calling df_finish. | |
1890 | (df_scan_alloc, df_rescan_blocks, df_reg_chain_unlink, | |
1891 | df_insn_create_insn_record, df_bb_refs_record): Fixed formatting | |
1892 | or comment typos. | |
1893 | (df_bb_refs_delete): New function. | |
1894 | (df_refs_delete): Moved per block code to df_bb_refs_delete. | |
1895 | * df-core.c (df_set_blocks): Added code to properly clean out | |
1896 | unused blocks if they are not part of the blocks to consider. | |
1897 | Added additional null check. | |
1898 | (df_compact_blocks): Added basic block parameter to free_bb_fun to | |
1899 | be able to clean out basic block when not necessary | |
1900 | * df.h (df_free_bb_function): Ditto. | |
1901 | (df_bb_refs_delete): New function. | |
1902 | * df-problems.c (df_ru_free_bb_info, df_rd_set_bb_info, | |
1903 | df_lr_set_bb_info, df_ur_free_bb_info, df_urec_free_bb_info):Added | |
1904 | basic block parameter to be able to clean out basic block when not | |
1905 | necessary. | |
1906 | (df_ru_alloc, df_rd_alloc): Fixed dyslexic overflow test. | |
1907 | (df_ru_free, df_rd_free, df_lr_free, df_ur_free, df_urec_free): | |
1908 | Fixed to properly delete information if df is unused before | |
1909 | calling df_finish. | |
1910 | ||
e046a30a | 1911 | 2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com> |
59c52af4 | 1912 | |
cbbbdc2c | 1913 | PR rtl-optimization/25799 |
59c52af4 KZ |
1914 | * df-problems.c (df_ru_confluence_n, df_rd_confluence_n): |
1915 | Corrected confluence operator to remove bits from op2 before oring | |
1916 | with op1 rather than removing bits from op1. | |
cbbbdc2c | 1917 | (df_ru_transfer_function): Corrected test on wrong bitmap which |
59c52af4 KZ |
1918 | caused infinite loop. Both of these problems were introduced in |
1919 | the dataflow rewrite. | |
1920 | ||
ff182b5c DD |
1921 | 2006-01-19 DJ Delorie <dj@redhat.com> |
1922 | ||
1923 | * reload1.c (find_reload_regs): Note the details of reload | |
1924 | failures in the dump file. | |
1925 | (spill_failure): Likewise. | |
1926 | ||
03fd2215 ZD |
1927 | 2006-01-20 Zdenek Dvorak <dvorakz@suse.cz> |
1928 | ||
1929 | * loop-iv.c: Include df.h and hashtab.h. | |
1930 | (enum iv_grd_result): New enum. | |
1931 | (DF_REF_IV, DF_REF_IV_SET): New macros. | |
1932 | (struct biv_entry): New. | |
1933 | (df, bivs): New global variables. | |
1934 | (struct insn_info, insn_info, last_def, bivs, max_insn_no, max_reg_no, | |
1935 | assign_luids, mark_sets, kill_sets, mark_single_set, simple_set_p): | |
1936 | Removed. | |
1937 | (clear_iv_info, latch_dominating_def, record_iv, iv_analyze_expr, | |
1938 | iv_analyze_result, iv_analyze_def, biv_hash, biv_eq, | |
1939 | analyzed_for_bivness_p, record_biv): New functions. | |
1940 | (iv_analysis_loop_init, iv_get_reaching_def, simple_reg_p, | |
1941 | get_biv_step_1, get_biv_step, iv_analyze_biv, iv_analyze_op, | |
1942 | iv_analyze, biv_p, iv_analysis_done): Work with df representation of | |
1943 | UD chains. | |
1944 | (iv_constant, iv_subreg, iv_extend, iv_mult, iv_shift): Do not set | |
1945 | analysed. | |
1946 | (iv_number_of_iterations): Use new interface to iv analysis. | |
1947 | * loop-unroll.c: Do not include varray.h. | |
1948 | (analyze_iv_to_split_insn): Use new interface to iv | |
1949 | analysis. | |
1950 | * loop-unswitch.c (may_unswitch_on): Ditto. | |
1951 | * df.c (df_bitmaps_free): Only work for bbs for that structures are | |
1952 | allocated. | |
1953 | (df_bb_modify): Realloc tables to the new index. | |
1954 | (df_find_use): New function. | |
1955 | * df.h (df_find_use): Declare. | |
1956 | * optabs.c (expand_unop): Make the mode of the REG_EQUAL node be | |
1957 | outmode. | |
1958 | * cfgloop.h (struct rtx_iv): Remove analysed field. | |
1959 | (iv_get_reaching_def): Removed. | |
1960 | (iv_analyze_result, iv_analyze_expr, iv_current_loop_df): Declare. | |
1961 | * Makefile.in (loop-unroll.o): Remove VARRAY_H dependency. | |
1962 | (loop-iv.o): Add df.h and hashtab.h dependency. | |
1963 | * df-problems.c (df_ru_alloc, df_rd_alloc): Fix memory reallocation. | |
1964 | ||
b04c9063 AM |
1965 | 2006-01-20 Alan Modra <amodra@bigpond.net.au> |
1966 | ||
4a6c754b | 1967 | PR target/25668 |
b04c9063 AM |
1968 | * libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended |
1969 | Double TFmode. | |
1970 | (__floatundisf, __floatundidf): Likewise. | |
1971 | * libgcc2.h (IS_IBM_EXTENDED): Define. | |
1972 | ||
e9a8eb89 DD |
1973 | 2006-01-19 DJ Delorie <dj@redhat.com> |
1974 | ||
1975 | * config/m32c/m32c.h (REG_ALLOC_ORDER): Define. | |
1976 | ||
cf1955dc PB |
1977 | 2006-01-19 Paul Brook <paul@codesourcery.com> |
1978 | ||
1979 | * gcc/config/arm/arm.c (arm_compute_func_type): Treat all functions | |
1980 | as nothrow when unwinding tables are disabled. | |
1981 | ||
1dc80d7a JDA |
1982 | 2006-01-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1983 | ||
1984 | PR testsuite/25171 | |
1985 | * c-decl.c (check_bitfield_type_and_width): Don't issue pedwarn "type | |
1986 | of bit-field" when in system header. | |
1987 | ||
2e160056 DD |
1988 | 2006-01-19 DJ Delorie <dj@redhat.com> |
1989 | ||
1990 | * config/m32c/m32c.c (m32c_prepare_shift): Add code to deal with | |
1991 | the 16 bit shift limit of the m16c. | |
1992 | ||
9795d9fd AP |
1993 | 2006-01-19 Andrew Pinski <pinskia@physics.uc.edu> |
1994 | ||
1995 | PR target/22099 | |
1996 | * config/i386/i386.md (builtin_setjmp_receiver): Don't emit the label. | |
1997 | * config/i386/i386.c (output_set_got): Output the label if we have one | |
1998 | for the TARGET_DEEP_BRANCH_PREDICTION case. | |
1999 | ||
d326eaf0 | 2000 | 2006-01-19 Jan Hubicka <jh@suse.cz> |
cbbbdc2c | 2001 | H.J. Lu <hongjiu.lu@intel.com> |
d326eaf0 JH |
2002 | Evandro Menezes <evandro.menezes@amd.com> |
2003 | ||
2004 | * invoke.texi (generic): Document | |
2005 | (i686) Update. | |
2006 | * config.gcc: Make x86_64-* and i686-* default to generic tunning. | |
2007 | * i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC, | |
2008 | TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros. | |
2009 | (x86_use_incdec, x86_pad_returns): New variables | |
2010 | (TARGET_CPU_DEFAULT_generic): New constant | |
2011 | (TARGET_CPU_DEFAULT_NAMES): Add generic. | |
2012 | (enum processor_type): Add generic32 and generic64. | |
2013 | * i386.md (cpu attribute): Add generic32/generic64 | |
2014 | (movhi splitter): Behave sanely when both partial_reg_dependency and | |
2015 | partial_reg_stall are set. | |
2016 | (K8 splitters): Enable for generic as well. | |
2017 | * predicates.md (incdec_operand): Use TARGET_INCDEC | |
2018 | (aligned_operand): Avoid memory mismatch stalls. | |
2019 | * athlon.md: Enable for generic64, new patterns for 128bit moves. | |
2020 | * ppro.md: Enable for generic32 | |
2021 | * i386.c (generic64_cost, generic32_cost): New. | |
2022 | (m_GENERIC32, m_GENERIC64, m_GENERIC): New macros. | |
2023 | (x86_use_leave): Enable for generic64. (x86_use_sahf, | |
2024 | x86_ext_80387_constants): Enable for generic32. (x86_push_memory, | |
2025 | x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop, | |
2026 | x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, | |
2027 | x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, | |
2028 | x86_partial_reg_dependency, x86_memory_mismatch_stall, | |
2029 | x86_accumulate_outgoing_args, x86_prologue_using_move, | |
2030 | x86_epilogue_using_move, x86_arch_always_fancy_math_387, | |
2031 | x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule): | |
2032 | Enable for generic. | |
2033 | (x86_use_incdec, x86_pad_returns): New. | |
2034 | (override_options): Add generic32 and generic64, translate "generic" | |
2035 | to generic32/generic64 and "i686" to "generic32", refuse | |
2036 | "generic32"/"generic64" as arch target. | |
2037 | (ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon. | |
2038 | (ix86_reorg): Honor PAD_RETURNS. | |
2039 | ||
50674e96 DN |
2040 | 2006-01-19 Diego Novillo <dnovillo@redhat.com> |
2041 | ||
2042 | * tree-pretty-print.c (dump_generic_node): Handle | |
2043 | OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR. | |
2044 | * cgraph.c (cgraph_expand_queue): Rename from | |
2045 | cgraph_analyze_queue. Update all users. | |
2046 | * cgraphunit.c (cgraph_assemble_pending_functions): Process | |
2047 | cgraph_expand_queue. | |
2048 | (cgraph_expand_all_functions): Likewise. | |
2049 | (cgraph_finalize_pending_functions): Remove. Update callers. | |
2050 | ||
2051 | * tree.h (OMP_DIRECTIVE_P): Define. | |
2052 | (OMP_PARALLEL_FN): Define. | |
2053 | (OMP_PARALLEL_DATA_ARG): Define. | |
2054 | (OMP_SECTIONS_SECTIONS): Define. | |
2055 | * tree-pass.h (pass_expand_omp): Declare. | |
2056 | * omp-low.c (struct omp_region): Declare. | |
2057 | (struct omp_context): Remove fields 'parallel_type', | |
2058 | 'parallel_start_ix' and 'parallel_start_additional_args'. | |
2059 | Update all users. | |
2060 | (struct omp_for_data): Rename from struct expand_omp_for_data. | |
2061 | (omp_regions): New static variable. | |
2062 | (root_omp_region): New static variable. | |
2063 | (find_omp_clause): Make static. | |
2064 | (is_in_combined_parallel_ctx): Remove. | |
2065 | (is_combined_parallel): New. | |
2066 | (extract_omp_for_data): Move earlier in the file. | |
2067 | (workshare_safe_to_combine_p): New. | |
2068 | (get_ws_args_for): New. | |
2069 | (determine_parallel_type): Move earlier in the file. | |
2070 | (omp_copy_decl_2): Do not set DECL_CONTEXT of new local to the | |
2071 | child function. | |
2072 | (omp_copy_decl): Likewise. | |
2073 | (create_omp_child_function): Likewise. | |
2074 | (lookup_omp_region): New. | |
2075 | (dump_omp_region): New. | |
2076 | (debug_omp_region): New. | |
2077 | (debug_all_omp_regions): New. | |
2078 | (new_omp_region): New. | |
2079 | (scan_omp_parallel): If parallel_nesting_level > 1, the | |
2080 | directive is nested within another parallel directive. | |
2081 | Set OMP_PARALLEL_FN. | |
2082 | (scan_omp_for): Do not try to handle combined parallel+for | |
2083 | cases. | |
2084 | Remove FIXME comment. | |
2085 | (scan_omp_nested): Remove. | |
2086 | (scan_omp_1): Do not call scan_omp_nested when | |
2087 | parallel_nesting_level is > 1. | |
2088 | Do not change the DECL_CONTEXT of local variables found. | |
2089 | (lookup_decl_in_outer_ctx): New. | |
2090 | (lower_rec_input_clauses): Rename from expand_rec_input_clauses. | |
2091 | (lower_lastprivate_clauses): Rename from expand_lastprivate_clauses. | |
2092 | (lower_reduction_clauses): Rename from expand_reduction_clauses. | |
2093 | (lower_copyprivate_clauses): Rename from expand_copyprivate_clauses. | |
2094 | If CTX is nested, lookup VAR in the outer context when | |
2095 | building copy assignment. | |
2096 | (lower_send_clauses): Rename from expand_send_clauses. | |
2097 | If CTX is nested, lookup VAR in the outer context when | |
2098 | building copy assignments. | |
2099 | (lower_send_shared_vars): Rename from expand_send_shared_vars. | |
2100 | If CTX is nested, lookup VAR in the outer context when | |
2101 | building copy assignments. | |
2102 | (expand_parallel_call): Rename from build_parallel_call. | |
2103 | Handle combined parallel+workshare cases. | |
2104 | Re-implement to emit code into the CFG. | |
2105 | (list2chain): New. | |
2106 | (expand_omp_parallel): Re-implement to emit code into the CFG. | |
2107 | Call move_sese_region_to_fn to outline the sub-graph | |
2108 | containing the parallel region. | |
2109 | (expand_omp_for_1): Remove. | |
2110 | (expand_omp_for_generic): Re-implement to emit code into the | |
2111 | CFG. | |
2112 | (expand_omp_for_static_nochunk): Likewise. | |
2113 | (expand_omp_for_static_chunk): Likewise. | |
2114 | (expand_omp_for): Likewise. | |
2115 | (expand_omp_sections): Likewise. | |
2116 | (remove_exit_barriers): New. | |
2117 | (expand_omp_synch): New. | |
2118 | (expand_omp): New. | |
2119 | (build_omp_regions_1): New. | |
2120 | (build_omp_regions): New. | |
2121 | (execute_expand_omp): New. | |
2122 | (gate_expand_omp): New. | |
2123 | (pass_expand_omp): Define. | |
2124 | (lower_omp_sections): Rename from expand_omp_sections. | |
2125 | Set OMP_SECTIONS_SECTIONS. | |
2126 | (lower_omp_single_simple): Rename from expand_omp_single_simple. | |
2127 | (lower_omp_single_copy): Rename from expand_omp_single_copy. | |
2128 | (lower_omp_single): Rename from expand_omp_simple. | |
2129 | (lower_omp_master): Rename from expand_omp_master. | |
2130 | (lower_omp_ordered): Rename from expand_omp_ordered. | |
2131 | (lower_omp_critical): Rename from expand_omp_critical. | |
2132 | (lower_omp_for_lastprivate): Rename from expand_omp_for_lastprivate. | |
2133 | (lower_omp_for): Re-implement. | |
2134 | (lower_omp_parallel): Re-implement. | |
2135 | (lower_regimplify): Rename from expand_regimplify. | |
2136 | (lower_omp_1): Rename from expand_omp_1. | |
2137 | If there are syntax errors in the program, replace every | |
2138 | OpenMP directive with NOP. | |
2139 | Call lower_omp_* instead of expand_omp_*. | |
2140 | (lower_omp): Rename from expand_omp. | |
2141 | ||
2142 | * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN_EXPR. | |
2143 | * tree-gimple.h (enum omp_parallel_type): Remove. | |
2144 | (gimple_boolify): Declare extern. | |
2145 | (find_omp_clause, determine_parallel_type): Remove. | |
2146 | ||
2147 | * gimple-low.c (lower_omp_directive): New. | |
2148 | (lower_stmt): Call it. | |
2149 | (record_vars_into): Move from ... | |
2150 | (record_vars): ... here. | |
2151 | Call record_vars_into with current_function_decl. | |
2152 | ||
2153 | * gimplify.c (struct gimplify_ctx): Remove fields | |
2154 | combined_pre_p and combined_ctxp. Update users. | |
2155 | (get_formal_tmp_var): Add documentation. | |
2156 | (gimple_boolify): Make extern. | |
2157 | (gimplify_expr_in_ctx): Remove. Update callers. | |
2158 | (gimplify_omp_parallel): Do not assume that OMP_PARALLEL_BODY | |
2159 | will always be a BIND_EXPR. | |
2160 | (gimplify_expr): Handle OMP_RETURN_EXPR. | |
2161 | * tree.def (BLOCK): Remove documentation about BLOCK_TYPE_TAGS. | |
2162 | (OMP_PARALLEL): Add 3 operands. | |
2163 | (OMP_SECTIONS): Add 1 operand. | |
2164 | (OMP_RETURN_EXPR): Define. | |
2165 | ||
2166 | * tree-inline.c (estimate_num_insns_1): Handle OpenMP directives. | |
2167 | (copy_tree_r): Restore TREE_CHAIN in OMP_CLAUSE_*. | |
2168 | * tree-iterator.c (alloc_stmt_list): Assert that we are not | |
2169 | creating a circular free list. | |
2170 | (free_stmt_list): Assert that we are not freeing stmt_list_cache. | |
2171 | ||
2172 | * tree-flow.h (move_sese_region_to_fn): Declare. | |
2173 | (record_vars_into): Declare. | |
2174 | * tree-cfg.c (make_omp_sections_edges): New. | |
2175 | (make_exit_edges): Handle OMP_PARALLEL, OMP_FOR, OMP_SINGLE, | |
2176 | OMP_MASTER, OMP_ORDERED, OMP_CRITICAL, OMP_RETURN_EXPR, | |
2177 | OMP_SECTIONS and OMP_SECTION. | |
2178 | (is_ctrl_altering_stmt): Return true for OMP_DIRECTIVE_P. | |
2179 | (set_bb_for_stmt): Undo change to check currently_expanding_to_rtl. | |
2180 | (verify_stmt): Do not handle OMP_DIRECTIVE_P. | |
2181 | (gather_blocks_in_sese_region): New. | |
2182 | (struct move_stmt_d): Declare. | |
2183 | (move_stmt_r): New. | |
2184 | (move_block_to_fn): New. | |
2185 | (move_sese_region_to_fn): New. | |
2186 | ||
2187 | * passes.c (init_optimization_passes): Schedule | |
2188 | pass_expand_omp after pass_init_datastructures. | |
2189 | ||
2190 | * tree-ssa-operands.c (get_expr_operands): Handle | |
2191 | OMP_PARALLEL, OMP_SECTIONS, OMP_FOR, OMP_RETURN_EXPR, | |
2192 | OMP_SINGLE, OMP_MASTER, OMP_ORDERED, OMP_CRITICAL. | |
2193 | ||
307d19fe JL |
2194 | 2006-01-19 Jeff Law <law@redhat.com> |
2195 | ||
2196 | * tree-vrp.c (extract_range_from_assert): Refine the result range | |
2197 | if the variable referenced by the ASSERT_EXPR has a range and | |
cbbbdc2c | 2198 | either the tentative result range or the previous range is a |
307d19fe JL |
2199 | VR_ANTI_RANGE. |
2200 | ||
2fa6dddd RS |
2201 | 2006-01-19 Richard Sandiford <richard@codesourcery.com> |
2202 | ||
2203 | * c-decl.c (add_flexible_array_elts_to_size): Simplify vector accesses. | |
2204 | ||
44035081 JH |
2205 | 2006-01-19 Jan Hubicka <jh@suse.cz> |
2206 | ||
2207 | * tree-vect-patterns.c (vect_pattern_recog_1): Prevent parse error. | |
2208 | ||
79c29032 PB |
2209 | 2006-01-19 Paolo Bonzini <bonzini@gnu.org> |
2210 | ||
2211 | * combine.c (try_combine): Do not worry about MEMs wrapped by USEs. | |
2212 | (expand_compound_operation, expand_field_assignment): Fail if the | |
2213 | bit lengths of an extract operation are out of range. | |
2214 | (make_extraction): Compute wanted_inner_mode based on the position | |
2215 | and length of the extraction. Make it extraction_mode for non-constant | |
2216 | positions, and do not modify offset in that case. When generating a | |
2217 | new MEM, use a mode that can hold the extraction while keeping correct | |
2218 | alignment. Remove code that supported MEMs wrapped by USEs. | |
2219 | (simplify_shift_const_1, force_to_mode) <case USE>: Remove. | |
2220 | ||
3298c037 AK |
2221 | 2006-01-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2222 | ||
2223 | * config/s390/s390.md ("Y", "y"): New mode attribute. | |
cbbbdc2c | 2224 | ("*cmpdi_ccs", "*cmpsi_ccs", "*adddi3_imm_cc", "*adddi3_carry1_cc", |
3298c037 | 2225 | "*adddi3_carry1_cconly", "*adddi3_carry2_cc", "*adddi3_carry2_cconly", |
cbbbdc2c ZW |
2226 | "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2", "*adddi3_64", |
2227 | "*addsi3_imm_cc", "*addsi3_carry1_cc", | |
3298c037 AK |
2228 | "*addsi3_carry1_cconly", "*addsi3_carry2_cc", "*addsi3_carr2_cconly", |
2229 | "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", | |
cbbbdc2c | 2230 | "*subdi3_borrow_cc", "*subdi3_borrow_cconly", "*subdi3_cc", |
3298c037 AK |
2231 | "*subdi3_cc2", "*subdi3_cconly", "*subdi3_cconly2", "*subdi3_64", |
2232 | "*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc", | |
2233 | "*subsi3_cc2", "*subsi3_cconly", "*subsi3_cconly", "*subsi3_cconly2", | |
2234 | "addsi3", "subsi3"): Insn patterns removed. | |
2235 | ("*add<mode>3_carry1_cc", "*add<mode>3_carry1_cconly", | |
2236 | "*add<mode>3_carry2_cc", "*add<mode>3_carry2_cconly", "*add<mode>3_cc", | |
2237 | "*add<mode>3_cconly", "*add<mode>3_cconly2", "*add<mode>3_imm_cc", | |
2238 | "*sub<mode>3_borrow_cc", "*sub<mode>3_borrow_cconly", | |
cbbbdc2c | 2239 | "*sub<mode>3_cc", "*sub<mode>3_cc2", "*sub<mode>3_cconly", |
3298c037 AK |
2240 | "*sub<mode>3_cconly2"): New insn patterns. |
2241 | ("addsi3", "subsi3"): New expanders. | |
2242 | ||
20f06221 DN |
2243 | 2006-01-19 Dorit Nuzman <dorit@il.ibm.com> |
2244 | ||
2245 | * Makefile.in (tree-vect-patterns.o): Add rule for new file. | |
2246 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Use | |
2247 | existing STMT_VINFO_VECTYPE if available. | |
2248 | (vect_mark_relevant): Add special handling for stmts that are | |
2249 | marked as STMT_VINFO_IN_PATTERN_P. | |
2250 | (vect_analyze_loop): Call vect_pattern_recog. | |
2251 | * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields. | |
2252 | * tree-vectorizer.h (in_pattern_p, related_stmt): New fields in | |
2253 | stmt_info. | |
2254 | (STMT_VINFO_IN_PATTERN_P, STMT_VINFO_RELATED_STMT): New macros. | |
2255 | (vect_recog_func_ptr): New function-pointer type. | |
2256 | * tree-vect-patterns.c: New file. | |
2257 | (vect_recog_widen_sum_pattern, vect_recog_widen_mult_pattern): | |
2258 | (vect_recog_dot_prod_pattern, vect_pattern_recog): | |
2259 | (vect_pattern_recog_1): New functions. | |
2260 | (vect_pattern_recog_funcs): New array of function pointers. | |
2261 | ||
2262 | * tree-vectorizer.h (ternary_op): New enum value. | |
2263 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Added | |
2264 | declaration. Revised documentation. Removed redundant dump prints. | |
2265 | Removed redundant argument. Added support for reduction patterns. | |
2266 | (vectorizable_reduction): Added support for reduction patterns. | |
2267 | (vect_transform_stmt): Added support for patterns. | |
2268 | ||
2269 | * expr.c (expand_expr_real_1): Added case for DOT_PROD_EXPR. | |
2270 | * genopinit.c (udot_prod_optab, sdot_prod_optab): Initialize. | |
2271 | * optabs.c (optab_for_tree_code): Added case for DOT_PROD_EXPR. | |
2272 | (expand_widen_pattern_expr): New function. | |
2273 | (init_optabs): Initialize new optabs udot_prod_optab, | |
2274 | sdot_prod_optab. | |
2275 | * optabs.h (OTI_sdot_prod, OTI_udot_prod): New. | |
2276 | (sdot_prod_optab, udot_prod_optab): Define new optabs. | |
2277 | (expand_widen_pattern_expr): New function declaration. | |
2278 | * tree.def (DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR): New | |
2279 | tree-codes. | |
2280 | * tree-inline.c (estimate_num_insns_1): Added cases for new | |
2281 | tree-codes DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR. | |
2282 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
2283 | (op_prio): Likewise. | |
2284 | (op_symbol): Added cases for WIDEN_SUM_EXPR, WIDEN_MULT_EXPR. | |
2285 | * tree-ssa-operands.c (get_expr_operands): Added case for | |
2286 | DOT_PROD_EXPR. | |
2287 | * tree-vect-patterns.c (widened_name_p): New function. | |
2288 | (vect_recog_dot_prod_pattern): Added function implementation. | |
2289 | * tree-vect-transform.c (get_initial_def_for_reduction): Added | |
2290 | cases for DOT_PROD_EXPR, WIDEN_SUM_EXPR. | |
2291 | * config/rs6000/altivec.md (udot_prod<mode>, sdot_prodv8hi): New. | |
2292 | * config/i386/sse.md (sdot_prodv8hi, udot_prodv4si): New. | |
2293 | ||
2294 | * expr.c (expand_expr_real_1): Added case for WIDEN_SUM_EXPR. | |
2295 | * genopinit.c (widen_ssum_optab, widen_usum_optab): Initialize. | |
2296 | * optabs.c (optab_for_tree_code): Added case for WIDEN_SUM_EXPR. | |
2297 | (init_optabs): Initialize new optabs widen_ssum_optab, | |
2298 | widen_usum_optab. | |
2299 | * optabs.h (OTI_widen_ssum, OTI_widen_usum): New. | |
2300 | (widen_ssum_optab, widen_usum_optab): Define new optabs. | |
2301 | * tree-vect-generic.c: (expand_vector_operations_1): Check type of | |
2302 | use instead of type of def. | |
2303 | * tree-vect-patterns.c (vect_recog_widen_sum_pattern): Added | |
2304 | function implementation. | |
2305 | * config/rs6000/altivec.md (widen_usum<mode>, widen_ssumv16qi, | |
2306 | widen_ssumv8hi): New. | |
2307 | ||
2308 | * doc/tm.texi (ssum_widen, usum_widen, sdot_prod, udot_prod): New | |
2309 | patterns. | |
2310 | ||
1f0f7ceb RS |
2311 | 2006-01-19 Richard Sandiford <richard@codesourcery.com> |
2312 | ||
2313 | PR c/25805 | |
2314 | * c-decl.c (add_flexible_array_elts_to_size): New function. | |
2315 | (finish_decl): Use it. | |
2316 | ||
e79b9d54 AP |
2317 | 2006-01-18 Andrew Pinski <pinskia@physics.uc.edu> |
2318 | ||
2319 | * diagnostic.h: Include options.h. | |
2320 | * config/rs6000/x-darwin (host-ppc-darwin.o): Correct the | |
2321 | dependancies for diagnostic.h. | |
2322 | * Makefile.in (DIAGNOSTIC_H): Add options.h. | |
2323 | ||
d16a5e36 DB |
2324 | 2006-01-16 Daniel Berlin <dberlin@dberlin.org> |
2325 | ||
2326 | * tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove. | |
2327 | (ssa_ro_call_cache_valid): Ditto. | |
2328 | * tree-ssa-alias.c (sort_tags_by_id): New function. | |
2329 | (init_transitive_clobber_worklist): Ditto. | |
2330 | (add_to_worklist): Ditto. | |
2331 | (mark_aliases_call_clobbered): Ditto. | |
2332 | (compute_tag_properties): Ditto. | |
2333 | (set_initial_properties): Ditto. | |
2334 | (compute_call_clobbered): Ditto. | |
2335 | (compute_may_aliases): Call compute_call_clobbered and grouping. | |
2336 | (compute_flow_sensitive_aliasing): Remove clobbering related code. | |
2337 | (compute_flow_insensitive_aliasing): Grouping now happens in our | |
2338 | caller. | |
2339 | (setup_pointers_and_addressables): Remove clobbering related code. | |
2340 | (add_may_alias): Ditto. | |
2341 | (replace_may_alias): Ditto. | |
2342 | (get_nmt_for): Ditto. | |
cbbbdc2c | 2343 | (create_global_var): |
d16a5e36 DB |
2344 | (is_escape_site): Return an escape_type enumeration. |
2345 | * tree-flow-inline.h (is_call_clobbered): Global var does not | |
2346 | imply call clobbered. | |
2347 | (mark_call_clobbered): Take a reason for marking this. Remove | |
2348 | marking of globalness, and cache invalidation. | |
2349 | (clear_call_clobbered): Remove cache invalidation code. | |
2350 | * tree-dfa.c (dump_variable): If details is on, dump the reason | |
2351 | for escaping. | |
2352 | * tree-outof-ssa.c (create_temp): Copy escape mask from original | |
cbbbdc2c | 2353 | variable. |
d16a5e36 DB |
2354 | * tree-flow.h (struct ptr_info_def): Add escape mask member. |
2355 | (struct var_ann_d): Ditto. | |
2356 | (enum escape_type): New. | |
2357 | (mark_call_clobbered): Adjust prototype. | |
2358 | * tree-ssa-structalias.c (update_alias_info): Unmodifiable vars | |
cbbbdc2c | 2359 | are never call clobbered. |
d16a5e36 DB |
2360 | Record reasons for escaping. |
2361 | * tree-ssa-structalias.h (is_escape_site): Update prototype. | |
2362 | * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove. | |
2363 | (ssa_ro_call_cache_valid): Ditto. | |
2364 | (clobbered_v_may_defs): Ditto. | |
2365 | (clobbered_vuses): Ditto. | |
2366 | (ro_call_vuses): Ditto. | |
2367 | (clobber_stats): New. | |
2368 | (init_ssa_operands): Zero out clobber stats. | |
2369 | (fini_ssa_operands): Print out clobber stats. | |
2370 | (get_call_expr_operands): Pass callee fndecl to | |
2371 | add_call_read_ops). | |
2372 | (add_call_clobber_ops): Remove use of cache. | |
2373 | Add use of PURE_CONST information. | |
2374 | (add_call_read_ops): Remove use of cache. | |
2375 | Add use of static not_read information. | |
cbbbdc2c | 2376 | |
5bf5a10b AO |
2377 | 2006-01-18 Alexandre Oliva <aoliva@redhat.com> |
2378 | ||
2379 | Introduce TLS descriptors for i386 and x86_64. | |
2380 | * config/i386/i386.h (TARGET_GNU2_TLS): New macro. | |
2381 | (TARGET_ANY_GNU_TLS): New macro. | |
2382 | (enum tls_dialect): Added TLS_DIALECT_GNU2. | |
2383 | (struct machine_function): Add tls_descriptor_call_expanded_p. | |
2384 | (ix86_tls_descriptor_calls_expande_in_cfun): New macro. | |
2385 | (ix86_current_function_calls_tls_descriptor): Likewise. | |
2386 | * config/i386/i386.c (ix86_tls_dialect): Fix typo in comment. | |
2387 | (override_options): Introduce gnu2 tls dialect. | |
2388 | (ix86_frame_pointer_required): Functions containing TLSCALLs are | |
2389 | not leaves. | |
2390 | (ix86_select_alt_pic_regnum, ix86_compute_frame_layout): | |
2391 | Likewise. | |
2392 | (legitimize_tls_address): Adjust logic for GNU2 TLS. | |
2393 | (ix86_init_machine_status): Initialize new field. | |
2394 | (ix86_tls_get_addr): Use TARGET_ANY_GNU_TLS. | |
2395 | (ix86_tls_module_base): New. | |
2396 | * config/i386/i386-protos.h (ix86_tls_module_base): Declare it. | |
2397 | * config/i386/i386.md (UNSPEC_TLSDESC): New constant. | |
2398 | (tls_global_dynamic_32, tls_global_dynamic_64): Handle GNU2 TLS. | |
2399 | (tls_local_dynamic_base_32, tls_local_dynamic_base_64): Likewise. | |
2400 | (tls_dynamic_gnu2_32, *tls_dynamic_lea_32): New patterns. | |
2401 | (*tls_dynamic_call_32, *tls_dynamic_gnu2_combine_32): Likewise. | |
2402 | (tls_dynamic_gnu2_64, *tls_dynamic_lea_64): Likewise. | |
2403 | (*tls_dynamic_call_64, *tls_dynamic_gnu2_combine_64): Likewise. | |
2404 | * config/i386/predicates.md (tls_modbase_operand): New. | |
2405 | (tp_or_register_operand): New. | |
2406 | ||
7dbca013 DB |
2407 | 2006-01-18 Daniel Berlin <dberlin@dberlin.org> |
2408 | ||
2409 | * ipa-reference.c (check_operand): Allow FUNCTION_DECL. | |
2410 | (look_for_address_of): Ditto. | |
2411 | (ipa_init): Walk the function decls. | |
2412 | (static_execute): Don't set readonly on FUNCTION_DECL's. | |
2413 | ||
61da04bd RS |
2414 | 2006-01-18 Roger Sayle <roger@eyesopen.com> |
2415 | ||
2416 | * config/i386/i386.md (shift spliter): Fix a a typo in the splitter | |
2417 | for shifts where the source and destination registers are different. | |
2418 | ||
c0354bf4 PB |
2419 | 2006-01-18 Paul Brook <paul@codesourcery.com> |
2420 | ||
2421 | Merge from csl-arm-branch. | |
2422 | 2005-03-14 Julian Brown <julian@codesourcery.com> | |
2423 | * config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS. | |
2424 | (aeabi_llsl): Likewise. | |
2425 | (ashrdi3): Likewise. | |
2426 | (aeabi_lasr): Likewise. | |
2427 | (lshrdi3): Likewise. | |
cbbbdc2c | 2428 | (aeabi_llsr): Likewise. |
c0354bf4 PB |
2429 | 2005-03-10 Julian Brown <julian@codesourcery.com> |
2430 | * config.gcc: Disable shared libgcc for SymbianOS. | |
2431 | * config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c. | |
2432 | ||
79cf5994 DD |
2433 | 2006-01-18 DJ Delorie <dj@redhat.com> |
2434 | ||
2435 | * c-pragma.c (handle_pragma_diagnostic): New. | |
2436 | (init_pragma): Register it. | |
2437 | * doc/extend.texi: Document it. | |
2438 | ||
2439 | * diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED. | |
2440 | * diagnostic.h (diagnostic_classify_diagnostic): Declare. | |
2441 | (diagnostic_context): Add classify_diagnostic[]. | |
2442 | * diagnostic.c (diagnostic_count_diagnostic): Don't count warnings | |
2443 | as errors if they're overridden to DK_WARNING. | |
2444 | (diagnostic_initialize): Initialize classify_diagnostic[]. | |
2445 | (diagnostic_set_kind_override): New. | |
2446 | (diagnostic_report_diagnostic): Check for kind changes. | |
2447 | * opts.c (common_handle_option): Take lang_mask. Update callers. | |
2448 | Handle OPT_Werror_. | |
2449 | * common.opt (Werror=): New. | |
2450 | * doc/invoke.texi: Document -Werror=* | |
2451 | ||
f9fe7aed JL |
2452 | 2006-01-18 Jeff Law <law@redhat.com> |
2453 | ||
2454 | * tree-vrp.c (test_for_singularity): Correct test for new | |
2455 | min limit. Use operand_equal_p rather than pointer equality | |
2456 | for testing if new min/max values are equal. | |
2457 | ||
2458 | * tree-ssa-propagate.c (substitute_and_fold): Delay simplifications | |
2459 | using range information until after propagation and folding. | |
2460 | ||
953ff289 DN |
2461 | 2006-01-18 Richard Henderson <rth@redhat.com> |
2462 | Aldy Hernandez <aldyh@redhat.com> | |
2463 | Jakub Jelinek <jakub@redhat.com> | |
2464 | Diego Novillo <dnovillo@redhat.com> | |
2465 | ||
2466 | * omp-low.c: New file. | |
2467 | * c-omp.c: New file. | |
2468 | ||
2469 | 2006-01-18 Richard Henderson <rth@redhat.com> | |
2470 | Jakub Jelinek <jakub@redhat.com> | |
2471 | Diego Novillo <dnovillo@redhat.com> | |
2472 | ||
2473 | * doc/invoke.texi: Document -fopenmp. | |
2474 | * tree-dump.h (debug_function): Declare. | |
2475 | * hooks.c (hook_bool_tree_bool_false): New function. | |
2476 | (hook_tree_tree_null): Remove. | |
2477 | (hook_tree_tree_tree_null): New. | |
2478 | * hooks.h: Update to match. | |
2479 | * tree-pretty-print.c (debug_tree_chain): New. | |
2480 | (print_generic_expr): Handle TDF_CHAIN. | |
2481 | (dump_generic_node): Handle BLOCK. | |
2482 | Do not abort with incomplete SWITCH_EXPRs. | |
2483 | Do not dump body of an OpenMP directive if TDF_SLIM is given. | |
2484 | <case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't | |
2485 | print space after directive name. | |
2486 | <OMP_FOR>: Handle printing OMP_FOR_PRE_BODY. | |
2487 | Handle OMP_MASTER and OMP_ORDERED. | |
2488 | Handle printing of OMP_BODY just in one place, goto | |
2489 | dump_omp_body in the rest of OMP_* nodes that have | |
2490 | OMP_BODY. | |
2491 | Don't handle clause nodes here. Update omp statements to | |
2492 | use dump_omp_clauses. | |
2493 | Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION, | |
2494 | OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC, | |
2495 | OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF, | |
2496 | GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED, | |
2497 | GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE, | |
2498 | GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE. | |
2499 | Adjust output for GOMP_PARALLEL. | |
2500 | (dump_omp_clauses): New. | |
2501 | (print_declaration): Dump DECL_VALUE_EXPR. | |
2502 | (op_symbol_1): Split out of op_symbol. | |
2503 | (dumping_stmts): Remove. Update all users. | |
2504 | * cgraph.c (cgraph_analyze_queue): New. | |
2505 | (cgraph_add_new_function): New. | |
2506 | * cgraph.h (cgraph_analyze_queue): Declare. | |
2507 | (cgraph_add_new_function): Declare. | |
2508 | (cgraph_lower_function): Remove. | |
2509 | * tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_* | |
2510 | nodes. Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS | |
2511 | and TYPE_P nodes in its default clause. | |
2512 | (empty_body_p): New. | |
2513 | (tree_range_check_failed): New. | |
2514 | (build5_stat): New. | |
2515 | * tree.h (OMP_CLAUSE_REDUCTION_INIT, | |
2516 | OMP_CLAUSE_REDUCTION_MERGE, | |
2517 | OMP_CLAUSE_REDUCTION_PLACEHOLDER, | |
2518 | OMP_CLAUSE_PRIVATE_DEBUG, | |
2519 | OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY, | |
2520 | OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY, | |
2521 | OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND, | |
2522 | OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL, | |
2523 | OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR, | |
2524 | OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR, | |
2525 | OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT, | |
2526 | OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT, | |
2527 | OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC, | |
2528 | OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST, | |
2529 | OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE | |
2530 | OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY, | |
2531 | OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY, | |
2532 | OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New. | |
2533 | (TREE_RANGE_CHECK): New. | |
2534 | (empty_body_p): Declare. | |
2535 | (enum omp_clause_default_kind): New. | |
2536 | (build_string_literal): Declare. | |
2537 | (enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New. | |
2538 | (build5_stat, build5): Declare. | |
2539 | * tree-pass.h (TDF_CHAIN): Define. | |
2540 | * tree-pass.h (PROP_gimple_lomp): Define. | |
2541 | (pass_lower_omp): Declare. | |
2542 | * diagnostic.h (debug_tree_chain): Declare. | |
2543 | * builtins.c (get_builtin_sync_mode): Use 0 as last argument to | |
2544 | mode_for_size. | |
2545 | (expand_builtin): Handle sync BUILT_IN_*_16 builtins. | |
2546 | * builtins.c (build_string_literal): Make extern. | |
2547 | * gcc.c (include_spec_function): New. | |
2548 | (static_spec_functions): Add it. | |
2549 | (main): Move load of libgomp.spec ... | |
2550 | (LINK_COMMAND_SPEC): ... here. | |
2551 | (link_gomp_spec): New. | |
2552 | (static_specs): Include it. | |
2553 | (LINK_COMMAND_SPEC): Add link_gomp. | |
2554 | (GOMP_SELF_SPECS): New. | |
2555 | (driver_self_specs): Include it. | |
2556 | (switch_matches): Don't mark inline. | |
2557 | (main): Load libgomp.spec. | |
2558 | * tree-gimple.c (is_gimple_stmt): True for OMP_MASTER, | |
2559 | OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION, | |
2560 | and OMP_SINGLE, OMP_FOR and OMP_PARALLEL. | |
2561 | * tree-gimple.h (enum omp_parallel): Declare. | |
2562 | (determine_parallel_type): Declare. | |
2563 | (omp_firstprivatize_variable): Declare. | |
2564 | (omp_reduction_init): Declare. | |
2565 | (diagnose_omp_structured_block_errors): Declare. | |
2566 | (struct walk_stmt_info): Add want_return_expr. | |
2567 | (struct walk_stmt_info): Add want_bind_expr, want_locations. | |
2568 | (find_omp_clause): Declare. | |
2569 | (insert_field_into_struct): Declare. | |
2570 | (struct walk_stmt_info): Move from tree-nested.c | |
2571 | (walk_stmts): Declare. | |
2572 | * c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP | |
2573 | to 200505. | |
2574 | * cgraphunit.c (cgraph_lower_function): Make static. | |
2575 | (cgraph_finalize_pending_functions): New. | |
2576 | (cgraph_finalize_function): Call it. | |
2577 | (cgraph_finalize_compilation_unit): Likewise. | |
2578 | * builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16, | |
2579 | BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add. | |
2580 | (BT_FN_UINT_UINT): New. | |
2581 | (DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7, | |
2582 | DEF_FUNCTION_TYPE_VAR_4): Document. | |
2583 | (BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT, | |
2584 | BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR, | |
2585 | BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT, | |
2586 | BT_FN_VOID_OMPFN_PTR_UINT_UINT, | |
2587 | BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, | |
2588 | BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, | |
2589 | BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG, | |
2590 | BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New. | |
2591 | * builtins.def: Update DEF_BUILTIN comment to include COND argument. | |
2592 | Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins | |
2593 | into separate files. | |
2594 | (DEF_GOMP_BUILTIN): New. | |
2595 | (BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER, | |
2596 | BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END, | |
2597 | BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END, | |
2598 | BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START, | |
2599 | BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START, | |
2600 | BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START, | |
2601 | BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START, | |
2602 | BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START, | |
2603 | BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START, | |
2604 | BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, | |
2605 | BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, | |
2606 | BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT, | |
2607 | BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT, | |
2608 | BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT, | |
2609 | BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT, | |
2610 | BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START, | |
2611 | BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START, | |
2612 | BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START, | |
2613 | BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START, | |
2614 | BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT, | |
2615 | BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END, | |
2616 | BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END, | |
2617 | BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT, | |
2618 | BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END, | |
2619 | BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START, | |
2620 | BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New. | |
2621 | * sync-builtins.def: New file, moved from builtins.def. | |
2622 | * omp-builtins.def: New file, moved from builtins.def. | |
2623 | * c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine. | |
2624 | * gimple-low.c (lower_function_body): Clear data. | |
2625 | (lower_stmt): Do not handle COMPOUND_EXPR. | |
2626 | Remove call to print_node_brief. | |
2627 | * c-tree.h (c_finish_omp_clauses): New prototype. | |
2628 | (C_DECL_THREADPRIVATE_P): Define. | |
2629 | (lookup_name_no_remap, c_omp_remap_private): Remove | |
2630 | (c_begin_omp_parallel, c_finish_omp_parallel): Update. | |
2631 | (check_for_loop_decls): Update decl. | |
2632 | (lookup_name_no_remap, c_omp_remap_private): Declare. | |
2633 | (build_indirect_ref, build_modify_expr, pushdecl, | |
2634 | pushdecl_top_level): Move to c-common.h. | |
2635 | * dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp | |
2636 | before the switch, but just in the 2 places that need it. | |
2637 | * c-decl.c (diagnose_mismatched_decls): Do not check for | |
2638 | mismatched thread-local attributes when OLDDECL is marked | |
2639 | threadprivate and NEWDECL has no thread-local attributes. | |
2640 | (merge_decls): Merge C_DECL_THREADPRIVATE_P. | |
2641 | (c_gimple_diagnostics_recursively): Rename from | |
2642 | c_warn_unused_result_recursively. Invoke | |
2643 | diagnose_omp_structured_block_errors. | |
2644 | (check_for_loop_decls): Return a singular decl found. | |
2645 | * langhooks.c (lhd_omp_predetermined_sharing): Return | |
2646 | OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls. | |
2647 | (lhd_omp_firstprivatize_type_sizes): New. | |
2648 | (lhd_omp_assignment): New. | |
2649 | (lhd_omp_predetermined_sharing): New. | |
2650 | * langhooks.h (struct gimplify_omp_ctx): Forward declare. | |
2651 | (struct lang_hooks_for_types): Add | |
2652 | omp_firstprivatize_type_sizes, omp_privatize_by_reference, | |
2653 | omp_predetermined_sharing, omp_disregard_value_expr, | |
2654 | omp_private_debug_clause, omp_clause_default_ctor, | |
2655 | omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor. | |
2656 | (c_finish_omp_clauses): New. | |
2657 | (c_finish_bc_stmt): Diagnose break within omp for. | |
2658 | (c_begin_omp_parallel, c_finish_omp_parallel): New. | |
2659 | (build_unary_op): Return error_mark after reporting | |
2660 | a readonly_error. | |
2661 | (build_modify_expr): Likewise. | |
2662 | * gimplify.c: Include optabs.h and pointer-set.h. | |
2663 | (enum gimplify_omp_var_data): Declare. | |
2664 | (struct gimplify_omp_ctx): Declare. | |
2665 | (struct gimplify_ctx): Add fields prev_context, combined_pre_p | |
2666 | and combined_ctxp. | |
2667 | (gimplify_ctxp, gimplify_omp_ctxp): New local variables. | |
2668 | (push_gimplify_context, pop_gimplify_context): Allow nesting. | |
2669 | (splay_tree_compare_decl_uid): New. | |
2670 | (new_omp_context): New. | |
2671 | (delete_omp_context): New. | |
2672 | (gimple_add_tmp_var): Call omp_add_variable. | |
2673 | (gimplify_bind_expr): Likewise. | |
2674 | (gimplify_var_or_parm_decl): If omp_notice_variable returned | |
2675 | true, disregard DECL_VALUE_EXPR on the decl if any. | |
2676 | (gimplify_expr_in_ctx): New. | |
2677 | (omp_firstprivatize_variable, omp_firstprivatize_type_sizes | |
2678 | omp_add_variable, omp_notice_variable, omp_is_private | |
2679 | gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1 | |
2680 | gimplify_adjust_omp_clauses, gimplify_omp_parallel | |
2681 | gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p | |
2682 | gimplify_omp_atomic_fetch_op, goa_stabilize_expr | |
2683 | gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex | |
2684 | gimplify_omp_atomic): New. | |
2685 | (gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS, | |
2686 | OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED, | |
2687 | OMP_CRITICAL and OMP_ATOMIC. | |
2688 | (gimplify_body): Verify gimplify_ctxp is empty after gimplification. | |
2689 | * c-pragma.h (enum pragma_kind): Add | |
2690 | PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER, | |
2691 | PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR, | |
2692 | PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED, | |
2693 | PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR, | |
2694 | PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION, | |
2695 | PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE, | |
2696 | PRAGMA_OMP_THREADPRIVATE. | |
2697 | * tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS, | |
2698 | OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED, | |
2699 | OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE, | |
2700 | OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE, | |
2701 | OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION, | |
2702 | OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE, | |
2703 | OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, | |
2704 | OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT, | |
2705 | OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define. | |
2706 | * print-tree.c (print_node): Dump DECL_VALUE_EXPR. | |
2707 | * tree-ssa-dce.c (find_control_dependence): Do not assume that | |
2708 | ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR). | |
2709 | * tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for | |
2710 | OpenMP directives. | |
2711 | (struct nesting_info): Add field_map, | |
2712 | suppress_expansion, debug_var_chain. | |
2713 | (create_nesting_tree): Initialize them. | |
2714 | (lookup_field_for_decl): Use field_map. | |
2715 | (get_nonlocal_debug_decl, get_local_debug_decl): New. | |
2716 | (convert_local_omp_clauses): New. | |
2717 | (finalize_nesting_tree_1): Add debug_var_chain to toplevel block. | |
2718 | (walk_body): Split out of walk_function. | |
2719 | (convert_nonlocal_omp_clauses, convert_local_omp_clauses): New. | |
2720 | (convert_nonlocal_reference): Handle omp statements. | |
2721 | (convert_local_reference): Likewise. | |
2722 | (unnest_nesting_tree_1): Split out of finalize_nesting_tree_1. | |
2723 | (unnest_nesting_tree): New. | |
2724 | (lower_nested_functions): Call it. | |
2725 | (insert_field_into_struct): Make extern. | |
2726 | (struct walk_stmt_info): Move to tree-gimple.h. | |
2727 | (walk_stmts): Make extern. | |
2728 | * omp-builtins.def: New file. | |
2729 | * tree-iterator.c (expr_only): Clarify comment. | |
2730 | * c-common.h (pushdecl_top_level, pushdecl, | |
2731 | build_modify_expr, build_indirect_ref, | |
2732 | c_finish_omp_master, c_finish_omp_critical, | |
2733 | c_finish_omp_ordered, c_finish_omp_barrier, | |
2734 | c_finish_omp_atomic, c_finish_omp_flush, | |
2735 | c_finish_omp_for, c_split_parallel_clauses, | |
2736 | omp_clause_default_kind, c_omp_sharing_predetermined, | |
2737 | c_omp_remap_decl): Declare. | |
2738 | * Makefile.in (BUILTINS_DEF): Add omp-builtins.def. | |
2739 | (OBJS-common): Add omp-low.o. | |
2740 | (c-omp.o, omp-low.o): Add. | |
2741 | (gimplify.o): Add dependency on $(OPTABS_H). | |
2742 | (GTFILES): Add omp-low.c. | |
2743 | (gt-stringpool.h): Add. | |
2744 | * tree-cfg.c (set_bb_for_stmt): Do not update the | |
2745 | block-to-labels map if we are currently expanding to RTL. | |
2746 | (tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P | |
2747 | checks. | |
2748 | Handle IDENTIFIER_NODE. | |
2749 | (tree_verify_flow_info): Do not ICE when emitting error | |
2750 | messages about invalid labels. | |
2751 | (dump_function_to_file): Reset CFUN before emitting the body | |
2752 | of the function. | |
2753 | (debug_function): New. | |
2754 | * passes.c (init_optimization_passes): Schedule | |
2755 | pass_lower_omp. | |
2756 | * langhooks-def.h (lhd_omp_predetermined_sharing, | |
2757 | lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes): | |
2758 | Declare. | |
2759 | (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define. | |
2760 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it. | |
2761 | (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE, | |
2762 | LANG_HOOKS_OMP_PREDETERMINED_SHARING, | |
2763 | LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR, | |
2764 | LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE, | |
2765 | LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR, | |
2766 | LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, | |
2767 | LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, | |
2768 | LANG_HOOKS_OMP_CLAUSE_DTOR): Define. | |
2769 | (LANG_HOOK_DECLS): Use them. | |
2770 | ||
2771 | 2006-01-18 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> | |
2772 | Richard Henderson <rth@redhat.com> | |
2773 | Jakub Jelinek <jakub@redhat.com> | |
2774 | Diego Novillo <dnovillo@redhat.com> | |
2775 | ||
2776 | * c-parser.c (pragma_omp_clause): Define. | |
2777 | (c_parser_declaration_or_fndef): Document OpenMP syntax. | |
2778 | (c_parser_compound_statement): Likewise. | |
2779 | (c_parser_statement): Likewise. | |
2780 | (c_parser_pragma): Handle omp pragmas. | |
2781 | (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK, | |
2782 | OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define. | |
2783 | (c_parser_omp_clause_name, check_no_duplicate_clause, | |
2784 | c_parser_omp_variable_list, | |
2785 | c_parser_omp_var_list_parens, c_parser_omp_clause_copyin, | |
2786 | c_parser_omp_clause_copyprivate, | |
2787 | c_parser_omp_clause_default, | |
2788 | c_parser_omp_clause_firstprivate, c_parser_omp_clause_if, | |
2789 | c_parser_omp_clause_lastprivate, | |
2790 | c_parser_omp_clause_nowait, | |
2791 | c_parser_omp_clause_num_threads, | |
2792 | c_parser_omp_clause_ordered, c_parser_omp_clause_private, | |
2793 | c_parser_omp_clause_reduction, | |
2794 | c_parser_omp_clause_schedule, c_parser_omp_clause_shared, | |
2795 | c_parser_omp_all_clauses, c_parser_omp_structured_block, | |
2796 | c_parser_omp_atomic, c_parser_omp_barrier, | |
2797 | c_parser_omp_critical, c_parser_omp_flush, | |
2798 | c_parser_omp_for_loop, c_parser_omp_for, | |
2799 | c_parser_omp_master, c_parser_omp_ordered, | |
2800 | c_parser_omp_sections_scope, c_parser_omp_sections, | |
2801 | c_parser_omp_parallel, c_parser_omp_single, | |
2802 | c_parser_omp_construct, c_parser_omp_threadprivate): New. | |
2803 | * c-pragma.c (init_pragma): Do omp pragma registration here. | |
2804 | * c.opt (fopenmp): New flag. | |
2805 | ||
2806 | 2006-01-18 Eric Christopher <echristo@apple.com> | |
2807 | ||
2808 | * gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif. | |
2809 | * config/darwin.h (GOMP_SELF_SPECS): Define. | |
2810 | ||
94a89f3b KH |
2811 | 2006-01-18 Kazu Hirata <kazu@codesourcery.com> |
2812 | ||
2813 | * rtl.h: Remove the prototype for reg_alloc. | |
2814 | ||
4720d5ca JDA |
2815 | 2006-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2816 | ||
2817 | PR target/25731 | |
2818 | * config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*, | |
2819 | hppa[12]*-*-hpux11*): Override default shared libgcc version for both | |
2820 | sjlj and dwarf2 exception handling. | |
2821 | * pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable. | |
2822 | Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION. | |
2823 | * pa/pa.c (function_value): Treat complex and vector types as | |
2824 | aggregates. | |
2825 | (function_arg): Likewise. Only pass scalar floats in the floating | |
2826 | point argument registers. | |
2827 | * pa/t-slibgcc-dwarf-ver: New file. | |
2828 | * pa/t-slibgcc-sjlj-ver: New file. | |
2829 | * pa/t-slibgcc-elf-ver: Delete file. | |
2830 | ||
4325ca90 AM |
2831 | 2006-01-19 Alan Modra <amodra@bigpond.net.au> |
2832 | ||
2833 | * config/rs6000/rs6000.c (rs6000_assemble_integer): Correct | |
2834 | unlikely_test_section_p test. | |
2835 | ||
7399bcb0 KH |
2836 | 2006-01-18 Kazu Hirata <kazu@codesourcery.com> |
2837 | ||
2838 | * mode-switching.c (optimize_mode_switching): Make it static. | |
2839 | * basic-block.h: Remove the prototype for | |
2840 | optimize_mode_switching. | |
2841 | ||
efa2fa34 KH |
2842 | * modulo-sched.c (sms_schedule): Make it static. |
2843 | * rtl.h: Remove the prototype for sms_schedule. | |
2844 | ||
6e9ca1fa KH |
2845 | * postreload-gcse.c (gcse_after_reload_main): Make it static. |
2846 | * rtl.h: Remove the prototype for gcse_after_reload_main. | |
2847 | ||
cf4d5c75 KH |
2848 | * reg-stack.c (reg_to_stack): Make it static. |
2849 | * rtl.h: Remove the prototype for reg_to_stack. | |
2850 | ||
b6438f2e KH |
2851 | * regrename.c (regrename_optimize, copyprop_hardreg_forward): |
2852 | Make them static. | |
2853 | * rtl.h: Remove the prototypes for regrename_optimize and | |
2854 | copyprop_hardreg_forward. | |
2855 | ||
b2f39494 EB |
2856 | 2006-01-18 Eric Botcazou <ebotcazou@adacore.com> |
2857 | ||
2858 | * config/alpha/alpha.c (alpha_split_tfmode_pair): Rename into | |
2859 | alpha_split_tmode_pair. Add 'mode' and 'fixup_overlap' arguments. | |
2860 | Test against the appropriate null constant for the mode. | |
2861 | If 'fixup_overlap' is true, swap the operands if they overlap. | |
2862 | (alpha_split_tfmode_frobsign): Adjust call to alpha_split_tfmode_pair. | |
2863 | * config/alpha/alpha-protos.h (alpha_split_tfmode_pair): Rename into | |
2864 | alpha_split_tmode_pair and adjust for above change. | |
2865 | * config/alpha/alpha.md (movtf_internal): Adjust call to | |
2866 | alpha_split_tfmode_pair and rely on it to swap the operands. | |
2867 | (movti_internal): New insn and post-reload splitter. | |
2868 | (movti): New expander. | |
2869 | ||
9d757cde PDM |
2870 | 2006-01-18 Philippe De Muyter <phdm@macqel.be> |
2871 | ||
2872 | * config/m68k/m68k.md (*addsi3_5200): Allow addq/subq to memory | |
2873 | operands. | |
2874 | ||
15ed68f7 KH |
2875 | 2006-01-18 Kazu Hirata <kazu@codesourcery.com> |
2876 | ||
2877 | * rtlanal.c (global_reg_mentioned_p_1, | |
2878 | global_reg_mentioned_p): Remove. | |
2879 | * rtl.h: Remove the prototype for global_reg_mentioned_p. | |
2880 | ||
a0dc2bb6 KH |
2881 | * flow.c (initialize_uninitialized_subregs): Make it static. |
2882 | * rtl.h: Remove the prototype for | |
2883 | initialize_uninitialized_subregs. | |
2884 | ||
e8d6954b KH |
2885 | * function.c (instantiate_virtual_regs): Make it static. |
2886 | * function.h: Remove the prototype for | |
2887 | instantiate_virtual_regs. | |
2888 | ||
fe3c3571 KH |
2889 | * regmove.c (regmove_optimize, combine_stack_adjustments): |
2890 | Make them static. | |
2891 | * rtl.h: Remove the prototypes for regmove_optimize and | |
2892 | combine_stack_adjustments. | |
2893 | ||
3dd0df7f RS |
2894 | 2006-01-17 Roger Sayle <roger@eyesopen.com> |
2895 | ||
2896 | * config/i386/i386.c (COSTS_N_BYTES): New macro. | |
2897 | (size_cost): Encode costs in bytes so that a reg-reg addition is | |
2898 | equivalent to COSTS_N_INSNS(1). | |
2899 | (override_options): Use the size_cost.branch_cost as the default | |
2900 | ix86_branch_cost when optimizing for size. | |
2901 | ||
cbbbdc2c | 2902 | 2006-01-18 Ben Elliston <bje@au.ibm.com> |
d190d56b BE |
2903 | |
2904 | * Makefile.in (D32PBIT_FUNCS): New. | |
2905 | (D64PBIT_FUNCS, D128PBIT_FUNCS): Likewise. | |
2906 | (libgcc.mk): Set D32PBIT, D64PBIT, D128PBIT, D32PBIT_FUNCS, | |
2907 | D64PBIT_FUNCS and D128PBIT_FUNCS. | |
2908 | (LIBGCC_DEPS): Include $(D32PBIT), $(D64PBIT), $(D128PBIT). | |
2909 | * mklibgcc.in Bring in the DFP support code if D32PBIT, D64PBIT or | |
2910 | D128PBIT are set. | |
2911 | (decnumber_dep): Define. | |
2912 | * doc/libgcc.texi (Decimal float library routines): New node. | |
2913 | * config/dfp-bit.h, config/dfp-bit.c: New files. | |
2914 | ||
cbbbdc2c | 2915 | 2006-01-18 Ben Elliston <bje@au.ibm.com> |
ef7befe0 BE |
2916 | |
2917 | * expr.c (emit_move_change_mode): Always adjust addresses, not | |
2918 | just during reload. Copy replacements only during reload. | |
2919 | (emit_move_insn_1): Move MODE_DECIMAL_FLOAT modes by invoking | |
2920 | emit_move_via_integer. | |
2921 | ||
88405bd3 SS |
2922 | 2006-01-17 Shantonu Sen <ssen@opendarwin.org> |
2923 | ||
2924 | * Makefile.in (check-%, check-consistency): Use $${srcdir} | |
2925 | instead of $(srcdir) and ${srcdir}. | |
2926 | ||
020a4035 RE |
2927 | 2006-01-17 Richard Earnshaw <rearnsha@arm.com> |
2928 | ||
2929 | PR target/592 | |
2930 | PR middle-end/11135 | |
2931 | * arm.h (struct machine_function): Add pic_reg. | |
2932 | * arm.c (arm_pic_register): Make unsigned. | |
2933 | (arm_override_options): Only set arm_pic_register if | |
2934 | TARGET_SINGLE_PIC_BASE. | |
2935 | (use_return_insn): Only test for a pic register if it is fixed. | |
2936 | (arm_compute_save_reg0_reg12_mask): Likewise. | |
2937 | (thumb_compute_save_reg_mask): Likewise. | |
2938 | (legitimate_pic_operand): Factor out some known invariants. | |
2939 | (legitimize_pic_address): If we don't have a fixed pic register, | |
2940 | then set up a pseudo in the function entry sequence. Handle the | |
2941 | pic base being in a pseudo. | |
2942 | (arm_load_pic_register): Handle the pic register being in a pseudo. | |
2943 | (arm_expand_prologue): Only set up the pic register if it is fixed. | |
2944 | (thumb_expand_prologue): Likewise. | |
2945 | * arm.md (pic_load_addr_based): Handle the pic base being a pseudo. | |
2946 | (pic_load_addr_based_insn): Likewise. | |
2947 | (builtin_setjmp_receiver): Don't restore the pic base if it isn't | |
2948 | fixed. | |
2949 | ||
fc0d1c49 BE |
2950 | 2006-01-18 Ben Elliston <bje@au.ibm.com> |
2951 | ||
a5a97921 BE |
2952 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Reject |
2953 | decimal float modes for all floating point registers. | |
2954 | ||
fc0d1c49 BE |
2955 | * config/rs6000/predicates.md (reg_or_mem_operand): Pair up |
2956 | match_code "mem" with match_test "macho_lo_sum_memory_operand". | |
2957 | ||
3aa2ddb8 JJ |
2958 | 2006-01-17 Jakub Jelinek <jakub@redhat.com> |
2959 | ||
2960 | PR c/25682 | |
2961 | * c-typeck.c (build_unary_op): Fold offsetof-like expressions | |
2962 | even when the pointer is not NULL. | |
2963 | ||
474eccc6 ILT |
2964 | 2006-01-16 Ian Lance Taylor <ian@airs.com> |
2965 | ||
2966 | * common.opt (ftoplevel-reorder): New option. | |
2967 | * cgraph.c (cgraph_asm_nodes): New global variable. | |
2968 | (cgraph_asm_last_node): New static variable. | |
2969 | (cgraph_order): New global variable. | |
2970 | (cgraph_create_node): Set new order field. | |
2971 | (cgraph_varpool_node): Likewise. | |
2972 | (decide_is_variable_needed): Return true if not | |
2973 | flag_toplevel_reorder. | |
2974 | (cgraph_add_asm_node): New function. | |
2975 | * cgraph.h (struct cgraph_node): Add order field. | |
2976 | (struct cgraph_varpool_node): Add order field. | |
2977 | (struct cgraph_asm_node): Define. | |
2978 | (cgraph_asm_nodes, cgraph_order): Declare. | |
2979 | (cgraph_add_asm_node): Declare. | |
2980 | * cgraphunit.c (cgraph_varpool_assemble_decl): New static | |
2981 | function. | |
2982 | (cgraph_varpool_assemble_pending_decls): Call it. | |
2983 | (cgraph_output_pending_asms): New static function. | |
2984 | (cgraph_finalize_compilation_unit): Call it. | |
2985 | (struct cgraph_order_sort): Define. | |
2986 | (cgraph_output_in_order): New static function. | |
2987 | (cgraph_optimize): Call cgraph_output_pending_asms. Add code for | |
2988 | !flag_toplevel_reorder case. | |
2989 | * c-parser.c: Include "cgraph.h". | |
2990 | (c_parser_asm_definition): Call cgraph_add_asm_node rather than | |
2991 | assemble_asm. | |
2992 | * Makefile.in (CRTSTUFF_CFLAGS): Use -fno-toplevel-reorder rather | |
2993 | than -fno-unit-at-a-time. | |
2994 | * doc/invoke.texi (Option Summary): Mention | |
2995 | -fno-toplevel-reorder. | |
2996 | (Optimize Options): Document -fno-toplevel-reorder. Mention it in | |
2997 | -funit-at-a-time documentation. | |
2998 | ||
be694a52 | 2999 | 2006-01-17 Hans-Peter Nilsson <hp@axis.com> |
e29b01e1 | 3000 | Kazu Hirata <kazu@codesourcery.com> |
be694a52 HPN |
3001 | |
3002 | * Makefile.in (FUNCTION_H, LAMBDA_H): Use $(TREE_H), not tree.h. | |
3003 | ||
90f90283 KH |
3004 | 2006-01-17 Kazu Hirata <kazu@codesourcery.com> |
3005 | ||
3006 | * Makefile.in (FUNCTION_H): New. Use it instead of | |
3007 | function.h throughout the file. | |
3008 | * function.h: Include tree.h. | |
3009 | ||
9099f8e1 BE |
3010 | 2006-01-17 Ben Elliston <bje@au.ibm.com> |
3011 | ||
3012 | * recog.c: Separate some functions with whitespace. | |
3013 | ||
1b369fae RH |
3014 | 2006-01-16 Richard Henderson <rth@redhat.com> |
3015 | ||
3016 | Merge from gomp branch: | |
3017 | * Makefile.in (TREE_INLINE_H): New. Use it as needed. | |
3018 | * tree-inline.h (struct copy_body_data): Move from tree-inline.c | |
cbbbdc2c | 3019 | and rename from struct inline_data. Rename callee* to dst*; |
1b369fae RH |
3020 | caller* to src*; add copy_decl hook, transform_call_graph_edges, |
3021 | transform_new_cfg, transform_return_to_modify, and | |
3022 | transform_lang_insert_block flags; remove cloning_p, versioning_p, | |
3023 | update_clones_p. | |
3024 | (copy_body_r, insert_decl_map, remap_decl, remap_type): Declare. | |
3025 | (copy_decl_for_dup): Remove. | |
3026 | * tree-inline.c (struct inline_data): Move to header. | |
3027 | (insert_decl_map): Export. | |
3028 | (remap_decl): Update for member name changes. Use copy_decl hook. | |
3029 | Allow for replacement to be a non-decl. Remove dead code. | |
3030 | (remap_type_1): Check for existing mapping. | |
3031 | (remap_type): Export. | |
3032 | (remap_decls): Update for member name changes. | |
3033 | (remap_block, copy_bb, copy_cfg_body, copy_generic_body): Likewise. | |
3034 | (copy_body, setup_one_parameter, declare_return_variable): Likewise. | |
3035 | (expand_call_inline, optimize_inline_calls, clone_body): Likewise. | |
3036 | (copy_tree_r, mark_local_for_remap_r, unsave_expr_now): Likewise. | |
3037 | (tree_function_versioning, build_duplicate_type): Likewise. | |
3038 | (copy_body_r): Likewise. Export. | |
3039 | (copy_decl_for_dup): Split into ... | |
3040 | (copy_decl_for_dup_finish, copy_decl_to_var, | |
3041 | copy_decl_no_change, copy_decl_maybe_to_var): ... these. | |
3042 | (replace_ref_tree, inlining_p): Remove. | |
3043 | ||
d6108e89 KH |
3044 | 2006-01-16 Kazu Hirata <kazu@codesourcery.com> |
3045 | ||
3046 | * ifcvt.c (if_convert): Make it static. | |
3047 | * rtl.h: Remove the prototype for if_convert. | |
3048 | ||
57c8b089 KH |
3049 | * local-alloc.c (local_alloc): Make it static. |
3050 | * rtl.h: Remove the prototype for local_alloc. | |
3051 | ||
04578e64 KH |
3052 | * loop.c (loop_optimize): Make it static. |
3053 | * cfgloop.h: Remove the prototype for loop_optimize. | |
3054 | * rtl.h: Likewise. | |
3055 | ||
838f78d6 DD |
3056 | 2006-01-16 DJ Delorie <dj@redhat.com> |
3057 | ||
3058 | * reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of | |
3059 | mems. | |
3060 | ||
2d6ae5d6 JDA |
3061 | 2006-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
3062 | ||
3063 | * pa.md: Disparage copies between general and floating-point registers | |
3064 | in 32-bit move patterns. | |
3065 | ||
fea4cfe0 L |
3066 | 2006-01-16 H.J. Lu <hongjiu.lu@intel.com> |
3067 | ||
3068 | PR testsuite/25741 | |
3069 | * Makefile.in (check-%): Depend on site.exp instead of | |
3070 | $(TESTSUITEDIR)/site.exp. Run "runtest" in separate language | |
3071 | directories. | |
3072 | ||
1c765770 KH |
3073 | 2006-01-16 Kazu Hirata <kazu@codesourcery.com> |
3074 | ||
3075 | * global.c (global_alloc): Make it static. | |
3076 | * rtl.h: Remove the prototype for global_alloc. | |
3077 | ||
183596eb RG |
3078 | 2006-01-16 Richard Guenther <rguenther@suse.de> |
3079 | ||
3080 | * tree-ssa-alias.c (struct used_part): Add write_only field. | |
3081 | (get_or_create_used_part_for): Initialize it to true. | |
3082 | (create_overlap_variables_for): Don't create structure variables | |
3083 | for structures that only are written to. | |
3084 | (find_used_portions): Handle MODIFY_EXPR to track whether a | |
3085 | structure is only written to. | |
3086 | ||
081c6ba6 KH |
3087 | 2006-01-16 Kazu Hirata <kazu@codesourcery.com> |
3088 | ||
3089 | * bb-reorder.c (partition_hot_cold_basic_blocks): Make it | |
3090 | static. | |
3091 | * basic-block.h: Remove the prototype for | |
3092 | partition_hot_cold_basic_blocks. | |
3093 | ||
4e9d3943 | 3094 |