]>
Commit | Line | Data |
---|---|---|
1 | 2006-03-23 J"orn Rennecke <joern.rennecke@st.com> | |
2 | ||
3 | * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files. | |
4 | * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant. | |
5 | * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table. | |
6 | * config/sh/sh.opt (mdiv=): Amend description. | |
7 | * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro. | |
8 | (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise. | |
9 | (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1, | |
10 | SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC. | |
11 | (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1. | |
12 | Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros. | |
13 | * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns. | |
14 | (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE / | |
15 | TARGET_DIVIDE_CALL_FP. | |
16 | ||
17 | 2006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
18 | ||
19 | * haifa-sched.c (choose_ready): Fix type of the local variable. | |
20 | Move local variables. Add comment. | |
21 | (check_reg_live): Change signature. Make callable from debugger. | |
22 | * sched-int.h (check_reg_live): Update signature. | |
23 | * sched-ebb.c (check_reg_live): Update parameters. | |
24 | * sched-rgn.c (check_reg_live): Ditto. | |
25 | (region_head_or_leaf_p): Check pointer before dereferencing. | |
26 | * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation | |
27 | before reload on optimization levels below 1. | |
28 | ||
29 | 2006-03-23 Richard Henderson <rth@redhat.com> | |
30 | ||
31 | * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject | |
32 | tls symbols. | |
33 | ||
34 | PR target/26347 | |
35 | * config/alpha/predicates.md (local_symbolic_operand): Reject | |
36 | weak symbols. | |
37 | ||
38 | 2006-03-23 Andrew Pinski <pinskia@physics.uc.edu> | |
39 | ||
40 | PR tree-opt/26795 | |
41 | * tree-ssa-pre.c (create_value_expr_from): Don't reject | |
42 | expressions which have overflowed constants. | |
43 | ||
44 | 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> | |
45 | ||
46 | * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note. | |
47 | ||
48 | 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> | |
49 | ||
50 | * cfgloopmanip.c (create_loop_notes): Removed. | |
51 | * final.c (final_scan_insn): Do not handle loop notes. | |
52 | * jump.c (squeeze_notes): Ditto. | |
53 | * cfglayout.c (skip_insns_after_block, | |
54 | duplicate_insn_chain): Ditto. | |
55 | * cfgcleanup.c (rest_of_handle_jump2): Do not call | |
56 | create_loop_notes. | |
57 | * cfgloop.h (create_loop_notes): Declaration removed. | |
58 | ||
59 | 2006-03-23 Richard Sandiford <richard@codesourcery.com> | |
60 | ||
61 | * varasm.c (output_constant_pool): Restore fnname and fndecl | |
62 | arguments. | |
63 | (assemble_start_function): Adjust call accordingly. | |
64 | (assemble_end_function): Likewise. | |
65 | ||
66 | 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
67 | ||
68 | PR mudflap/26790 | |
69 | * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects. | |
70 | ||
71 | PR mudflap/26789 | |
72 | * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node. | |
73 | ||
74 | 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
75 | ||
76 | PR driver/22600 | |
77 | * system.h (ICE_EXIT_CODE): New macro. | |
78 | * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE. | |
79 | (diagnostic_action_after_output): Likewise. | |
80 | * gcc.c (fatal_ice): New function. | |
81 | (execute): Use it instead of fatal. | |
82 | (fancy_abort): Likewise. | |
83 | * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs. | |
84 | ||
85 | 2006-03-22 Jeff Law <law@redhat.com> | |
86 | ||
87 | * loop-unroll.c (analyze_iv_to_split_insn): Handle | |
88 | iv_analyze_result returning false. | |
89 | ||
90 | 2006-03-22 Jie Zhang <jie.zhang@analog.com> | |
91 | ||
92 | * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove. | |
93 | ||
94 | 2006-03-22 Richard Henderson <rth@redhat.com> | |
95 | ||
96 | PR middle-end/26084 | |
97 | * except.c (duplicate_eh_regions_0): New. | |
98 | (duplicate_eh_region_1): Duplicate the children of the node as | |
99 | well as the node itself. Link them up properly. | |
100 | (duplicate_eh_region_2): Merge into ... | |
101 | (duplicate_eh_regions): ... here. Take copy_region argument, and | |
102 | copy only a sub-tree if asked. Simplify copying and fixup. | |
103 | (eh_region_outer_p): New. | |
104 | * except.h (duplicate_eh_regions): Update decl. | |
105 | (eh_region_outer_p): Declare. | |
106 | * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN. | |
107 | (lower_omp_master): Likewise. | |
108 | (lower_omp_ordered): Likewise. | |
109 | * tree-cfg.c (struct move_stmt_d): Add new_label_map. | |
110 | (move_stmt_r): Use it to remap labels. Handle recursion vs | |
111 | remap_decls_p properly. | |
112 | (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR. | |
113 | (find_outermost_region_in_block): New. | |
114 | (new_label_mapper): New. | |
115 | (move_sese_region_to_fn): Copy eh information to the new function | |
116 | properly. | |
117 | * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions | |
118 | argument. | |
119 | * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region | |
120 | number. | |
121 | ||
122 | 2006-03-22 Richard Sandiford <richard@codesourcery.com> | |
123 | ||
124 | * doc/md.texi (-mshared): Mention that -mshared code can be linked | |
125 | into shared libraries. | |
126 | ||
127 | 2006-03-22 Richard Sandiford <richard@codesourcery.com> | |
128 | ||
129 | * doc/md.texi: Refer to i386/constraints.md instead of | |
130 | i386/predicates.md. | |
131 | * config/i386/constraints.md: New file, extracted from... | |
132 | * config/i386/predicates.md: ...here. | |
133 | * config/i386/i386.md: Include constraints.md. | |
134 | ||
135 | 2006-03-21 Jason Merrill <jason@redhat.com> | |
136 | ||
137 | * builtins.c (expand_builtin_fork_or_exec): Fix pasto. | |
138 | ||
139 | PR middle-end/20297 | |
140 | * expr.c (init_block_move_fn): Force default visibility. | |
141 | (init_block_clear_fn): Likewise. | |
142 | * builtins.c (expand_builtin_fork_or_exec): Likewise. | |
143 | * targhooks.c (default_external_stack_protect_fail): Likewise. | |
144 | ||
145 | 2006-03-21 Richard Sandiford <richard@codesourcery.com> | |
146 | ||
147 | * config/mips/predicates.md (const_call_insn_operand): Allow direct | |
148 | calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. | |
149 | * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS. | |
150 | Use TARGET_OLDABI instead of !TARGET_NEWABI. | |
151 | (loadgp): Use mips_current_loadgp_style. | |
152 | (loadgp_noshared): New pattern. | |
153 | (sibcall_internal): Use MIPS_CALL. | |
154 | (sibcall_value_internal): Likewise. | |
155 | (sibcall_value_multiple_internal): Likewise. | |
156 | (call_internal): Likewise. | |
157 | (call_value_internal): Likewise. | |
158 | (call_value_multiple_internal): Likewise. | |
159 | (call_split): Use MIPS_CALL and add an 'S' constraint. | |
160 | (call_value_split): Likewise. | |
161 | (call_value_multiple_split): Likewise. | |
162 | * config/mips/mips.opt (-mabicalls): Tweak docstring. | |
163 | (-mshared): New option. | |
164 | * config/mips/mips-protos.h (mips_loadgp_style): New enum. | |
165 | (mips_current_loadgp_style): Declare. | |
166 | * config/mips/mips.c (mips_classify_symbol): Avoid using | |
167 | SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL | |
168 | rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if | |
169 | TARGET_ABSOLUTE_ABICALLS. | |
170 | (override_options): Adjust comments. Improve the warning that is | |
171 | issued when -mabicalls and -G are used together. | |
172 | (mips_file_start): Remove comment. | |
173 | (mips_current_loadgp_style): New function. | |
174 | (mips_gnu_local_gp): New variable. | |
175 | (mips_emit_loadgp): Use mips_current_loadgp_style. Handle | |
176 | LOADGP_ABSOLUTE. | |
177 | (mips_output_function_prologue): Use mips_current_laodgp_style. | |
178 | (mips_expand_prologue): Call mips_emit_loadgp before emitting | |
179 | the cprestore instruction. | |
180 | (mips_extra_live_on_entry): Fix reversed test. Don't make $25 | |
181 | live for TARGET_ABSOLUTE_ABICALLS. | |
182 | * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro. | |
183 | (ASM_SPEC): Pass down -mshared and -mno-shared. | |
184 | (MIPS_CALL): New macro. | |
185 | * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__ | |
186 | definition. | |
187 | * doc/invoke.texi (-mabicalls): Update documentation. | |
188 | (-mshared): Document. | |
189 | ||
190 | 2006-03-21 Steve Ellcey <sje@cup.hp.com> | |
191 | ||
192 | * config/ia64/unwind-hpux.c: New file. | |
193 | * config/ia64/t-hpux: Add unwind-hpux.c to libgcc. | |
194 | ||
195 | 2006-03-21 Steve Ellcey <sje@cup.hp.com> | |
196 | ||
197 | PR libgomp/26384 | |
198 | * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options. | |
199 | ||
200 | 2006-03-21 Jeff Law <law@redhat.com> | |
201 | ||
202 | * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for | |
203 | type conversions of a VR_VARYING source to a wider type. | |
204 | ||
205 | 2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr> | |
206 | ||
207 | * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to | |
208 | tm_file on Solaris 10 and later. | |
209 | (sparc64-*-solaris2*): Likewise. | |
210 | (sparc-*-solaris2*): Likewise. | |
211 | * config/sol26.h: Rename to config/sol2-6.h. | |
212 | * config/sol2-10.h: New file. | |
213 | ||
214 | 2006-03-21 Andrew Pinski <pinskia@physics.uc.edu> | |
215 | ||
216 | PR tree-opt/26781 | |
217 | * tree-ssa-pre.c (create_component_ref_by_pieces): | |
218 | Handle STRING_CST. | |
219 | ||
220 | 2006-03-21 Jakub Jelinek <jakub@redhat.com> | |
221 | ||
222 | PR c++/26690 | |
223 | * tree.c (get_callee_fndecl): If CALL is error_mark_node, | |
224 | return it immediately. | |
225 | ||
226 | 2006-03-21 Michael Matz <matz@suse.de> | |
227 | ||
228 | * genautomata.c (<struct state>, num_out_arcs, presence_signature): | |
229 | New members. | |
230 | (remove_arc, add_arc): Update num_out_arcs member. | |
231 | (set_out_arc_insns_equiv_num): Returns nothing instead of number | |
232 | of out arcs. | |
233 | (cache_presence): New function. | |
234 | (compare_states_for_equiv): New function. | |
235 | (state_is_differed): Don't take number of outargs, adjust callers. | |
236 | Use new invariant for speeding up. | |
237 | (init_equiv_class): Create initial classes based on sorted | |
238 | input. | |
239 | (partition_equiv_class): Don't track out_arcs_num. | |
240 | (evaluate_equiv_classes): Call cache_presence on all states and | |
241 | sort them. | |
242 | ||
243 | 2006-03-21 Bernd Schmidt <bernd.schmidt@analog.com> | |
244 | ||
245 | * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare. | |
246 | * config/bfin/bfin.c (bfin_dsp_memref_p): New function. | |
247 | (bfin_valid_reg_p): Test for pseudos explicitly and use only | |
248 | REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all | |
249 | callers changed. | |
250 | * config/bfin/bfin.h (PREG_P): Use P_REGNO_P. | |
251 | (IREG_P, P_REGNO_P, I_REGNO_P): New macros. | |
252 | (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS. | |
253 | (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, | |
254 | REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete | |
255 | macros. | |
256 | (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS, | |
257 | REGNO_MODE_CODE_OK_FOR_BASE_P): New macros. | |
258 | (REGNO_REG_CLASS): ARGP is in PREGS. | |
259 | * config/bfin/bfin.md (movhi_insn): Allow for addresses containing | |
260 | IREGS. | |
261 | (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split | |
262 | to deal with those addresses. | |
263 | * addresses.h: New file. | |
264 | * caller-save.c: Include "addresses.h". | |
265 | (init_caller_save): Use new base_reg_class function. | |
266 | * rtl-factoring.c: Include "addresses.h". | |
267 | (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1. | |
268 | * recog.c: Include "addresses.h". | |
269 | (preprocess_constraints): Use new base_reg_class function. | |
270 | * regrename.c: Include "addresses.h". | |
271 | (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class | |
272 | functions. Keep track of a new var INDEX_CODE to compute valid | |
273 | classes. | |
274 | (replace_oldest_value_addr): Likewise. | |
275 | (replace_oldest_value_mem): Use base_reg_class. | |
276 | * reload.c: Include "addresses.h". | |
277 | (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros. | |
278 | (find_reloads): Use new base_reg_class function. | |
279 | (find_reloads_address): Likewise; also use regno_ok_for_base_p. | |
280 | (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE; | |
281 | all callers and prototype changed. | |
282 | * reload1.c: Include "addresses.h". | |
283 | (maybe_fix_stack_asms): Use base_reg_class. | |
284 | * regclass.c: Include "addresses.h". | |
285 | (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions. | |
286 | (init_reg_autoinc): Use new base_reg_class function. | |
287 | (record_reg_classes): Likewise. | |
288 | (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE, | |
289 | OUTER_CODE and INDEX_CODE. All callers and prototype changed. | |
290 | Use new args to compute necessary class. | |
291 | ||
292 | * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o, | |
293 | regrename.o, rtl-factoring.o): Update dependencies. | |
294 | * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document. | |
295 | (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. | |
296 | (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P, | |
297 | REG_OK_FOR_INDEX_P): Delete documentation. | |
298 | ||
299 | 2006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com> | |
300 | ||
301 | * config.gcc (sparc-*-solaris2*): Change the default CPU setting | |
302 | from V7 to V9 for Solaris 7 and above. | |
303 | ||
304 | 2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl> | |
305 | ||
306 | * doc/invoke.texi: Document new flag -fargument-noalias-anything. | |
307 | * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2, | |
308 | argument pointers may not alias any other storage. | |
309 | * common.opt: Define option -fargument-noalias-anything. | |
310 | * tree-ssa-structalias.c (intra_create_variable_infos): Fortran | |
311 | alias semantics is specified by flag_argument_noalias > 2. | |
312 | ||
313 | 2006-03-20 Jeff Law <law@redhat.com> | |
314 | ||
315 | * tree-pass.h (pass_phi_only_copy_prop): Delete. | |
316 | (pass_phi_only_cprop): Declare. | |
317 | * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop | |
318 | with phi_only_cprop | |
319 | * tree-ssa-dom.c (degenerate_phi_result): New function. | |
320 | (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise. | |
321 | (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise. | |
322 | (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise. | |
323 | (eliminate_degenerate_phis): Likewise. | |
324 | (pass_phi_only_cprop): New pass descriptor. | |
325 | * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and | |
326 | support code. Callers updated. | |
327 | (execute_copy_prop, do_copy_prop): Likewise and corresponding changes. | |
328 | (store_copy_prop): Likewise. | |
329 | (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove. | |
330 | ||
331 | 2006-03-20 Jason Merrill <jason@redhat.com> | |
332 | ||
333 | PR c++/21764 | |
334 | * c-pragma.c (visstack): Move out of handle_pragma_visibility. | |
335 | (push_visibility, pop_visibility): Likewise. | |
336 | * c-pragma.h: Declare them. | |
337 | ||
338 | 2006-03-20 Kaz Kojima <kkojima@gcc.gnu.org> | |
339 | ||
340 | * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target. | |
341 | ||
342 | * config/sh/sh.c (find_regmode_weight): Change the type of the first | |
343 | parameter and use get_ebb_head_tail. | |
344 | (sh_md_init_global): Adjust uses of find_regmode_weight. | |
345 | ||
346 | 2006-03-20 Steven Bosscher <stevenb.gcc@gmail.com> | |
347 | ||
348 | * function.h (struct function) <x_tail_recursion_reentry>: | |
349 | Rename to x_stack_check_probe_note. | |
350 | (tail_recursion_reentry): Rename to stack_check_probe_note. | |
351 | * function.c: Replace tail_recursion_reentry with | |
352 | stack_check_probe_note everywhere. | |
353 | (expand_function_start): Only emit a note for | |
354 | stack_check_probe_note with -fstack-protect. | |
355 | * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes. | |
356 | ||
357 | * emit-rtl.c (remove_unnecessary_notes): Remove. | |
358 | (pass_remove_unnecessary_notes): Remove. | |
359 | * rtl.h (remove_unnecessary_notes): Remove prototype. | |
360 | * final.c (final_start_function): Don't call remove_unnecessary_notes. | |
361 | * tree-pass.h (pass_remove_unnecessary_notes): Remove. | |
362 | * passes.c (pass_remove_unnecessary_notes): Don't run it. | |
363 | ||
364 | 2006-03-20 Andrew Pinski <pinskia@physics.uc.edu> | |
365 | ||
366 | PR tree-opt/26629 | |
367 | * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands. | |
368 | (valid_in_set): Handle ARRAY_REF. | |
369 | Change "if min_variant or VH" to asserts. | |
370 | (create_component_ref_by_pieces): Handle ARRAY_REF. | |
371 | (create_expression_by_pieces): Likewise. | |
372 | (can_PRE_operation): ARRAY_REFs can now be PRE'd. | |
373 | ||
374 | 2006-03-20 David Edelsohn <edelsohn@gnu.org> | |
375 | ||
376 | * genpreds.c (write_insn_extra_address_constraint): Argument `c' | |
377 | is operand of switch, not str[0]. | |
378 | ||
379 | 2006-03-20 Alan Modra <amodra@bigpond.net.au> | |
380 | ||
381 | * config/rs6000/rs6000.c (rs6000_handle_option): Use | |
382 | TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too. | |
383 | ||
384 | 2006-03-19 David Edelsohn <edelsohn@gnu.org> | |
385 | ||
386 | * genpreds.c (write_tm_preds_h): Add semicolon and newline at | |
387 | end of insn_extra_address_constraint declaration. | |
388 | ||
389 | 2006-03-19 David Edelsohn <edelsohn@gnu.org> | |
390 | ||
391 | * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask. | |
392 | (no-sum-in-toc): Same. | |
393 | * config/rs6000/rs6000.c (rs6000_handle_option): Use new | |
394 | variables. | |
395 | * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set | |
396 | NO_FP_IN_TOC for -fPIC instead of mask. | |
397 | ||
398 | * config/rs6000/t-aix43 (T_ADAFLAGS): Delete. | |
399 | (BOOT_LDFLAGS): Delete. | |
400 | (LDFLAGS): Delete. | |
401 | * config/rs6000/t-aix52: Same. | |
402 | ||
403 | * config/rs6000/rs6000.md (store_multiple_power): Delete. | |
404 | (stmsi[345678]_power): New. | |
405 | ||
406 | 2006-03-17 Steve Ellcey <sje@cup.hp.com> | |
407 | ||
408 | * config/ia64/ia64.opt: Add empty line to end of file. | |
409 | ||
410 | 2006-03-17 Richard Guenther <rguenther@suse.de> | |
411 | ||
412 | PR middle-end/26721 | |
413 | * builtins.c (get_pointer_alignment): For component style references | |
414 | adjust alignment to the component type alignment. Make sure | |
415 | to adjust alignment for component access of constants. | |
416 | ||
417 | 2006-03-17 David Edelsohn <edelsohn@gnu.org> | |
418 | ||
419 | * config/rs6000/rs6000.md (strlensi): Emit barrier after | |
420 | unconditional jump. | |
421 | ||
422 | 2006-03-17 Paul Brook <paul@codesourcery.com> | |
423 | ||
424 | * doc/install.texi: Docuemnt --with-mode. | |
425 | * config.gcc: Add --with-mode for arm*-*-*. | |
426 | * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode". | |
427 | ||
428 | 2006-03-17 J"orn Rennecke <joern.rennecke@st.com> | |
429 | ||
430 | * sh.c (max_labelno_before_reorg): New variable. | |
431 | (sh_reorg): Initialize it. | |
432 | (find_barrier): Check max_labelno_before_reorg before using | |
433 | label_to_alignment. Take length of explicit alignment insns | |
434 | into account. When seeing a UNSPECV_CONST_END, return it. | |
435 | ||
436 | * sh.c (fixup_mova): Set mode of affected label to QImode. | |
437 | (untangle_mova): New function. | |
438 | (find_barrier): Use it. Check mode of label before decrementing | |
439 | num_mova. | |
440 | (sh_reorg): Likewise. | |
441 | Set mode of all insns back to VOIDmode. | |
442 | ||
443 | * sh.c (MOVA_LABELREF): New macro. | |
444 | (mova_p, fixup_mova, sh_reorg): Use it. | |
445 | (find_barrier, sh_reorg): Don't count num_mova back to 0 unless | |
446 | ADDR_DIFF_VEC matches mova. | |
447 | ||
448 | 2006-03-17 Steven Bosscher <stevenb.gcc@gmail.com> | |
449 | ||
450 | * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument | |
451 | with ATTRIBUTE_UNUSED. | |
452 | ||
453 | 2006-03-17 Alexandre Oliva <aoliva@redhat.com> | |
454 | ||
455 | * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack | |
456 | pointer, instead of assuming it is possible to derive the | |
457 | correct args size from a call insn. | |
458 | ||
459 | 2006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
460 | ||
461 | * rtl.h (CONST_INT_P): Define. | |
462 | * config/vax/vax.c (print_operand_address): Use CONST_INT_P() | |
463 | instead of GET_CODE(x) == CONST_INT. | |
464 | (vax_rtx_costs): Likewise. | |
465 | (vax_output_int_move): Likewise. | |
466 | (vax_output_int_add): Likewise. | |
467 | (legitimate_constant_address_p): Likewise. | |
468 | (index_term_p): Likewise. | |
469 | * config/vax/vax.h (PRINT_OPERAND): Likewise. | |
470 | * config/vax/vax.md (and<mode>3): Likewise. | |
471 | (ashrsi3): Likewise. | |
472 | (extv): Likewise. | |
473 | (movstricthi): Likewise. | |
474 | (movstrictqi): Likewise. | |
475 | (rotrsi3): Likewise. | |
476 | (five unnamed insns): Likewise. | |
477 | ||
478 | 2006-03-16 Geoffrey Keating <geoffk@apple.com> | |
479 | ||
480 | * doc/tm.texi (SDB and DWARF): Add extra parameter to | |
481 | ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables. | |
482 | * dwarf2asm.h (dw2_asm_output_offset): Add section parameter. | |
483 | * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter. | |
484 | Pass to ASM_OUTPUT_DWARF_OFFSET. | |
485 | * dwarf2out.c (debug_frame_section): New. | |
486 | (output_call_frame_info): Use debug_frame_section. Pass it to | |
487 | dw2_asm_output_offset. | |
488 | (output_die): Pass appropriate section to dw2_asm_output_offset. | |
489 | (output_compilation_unit_header): Likewise. | |
490 | (output_pubnames): Likewise. | |
491 | (output_aranges): Likewise. | |
492 | (enum dw_val_class): Break dw_val_class_lbl_offset into | |
493 | dw_val_class_lineptr and dw_val_class_macptr. | |
494 | (add_AT_lbl_offset): Delete. | |
495 | (add_AT_lineptr): New. | |
496 | (add_AT_macptr): New. | |
497 | (AT_lbl): Expect a lineptr or macptr. | |
498 | (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr. | |
499 | (attr_checksum): Likewise. | |
500 | (same_dw_val_p): Likewise. | |
501 | (size_of_die): Likewise. | |
502 | (value_format): Likewise. | |
503 | (output_die): Likewise. | |
504 | (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of | |
505 | add_AT_lbl_offset. | |
506 | * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. | |
507 | * config/i386/i386.c (x86_file_start): Call darwin_file_start. | |
508 | * config/darwin-protos.h (darwin_file_start): New. | |
509 | (darwin_asm_output_dwarf_offset): New. | |
510 | * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. | |
511 | * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call | |
512 | darwin_file_start. | |
513 | * config/darwin.c (darwin_emit_unwind_label): Don't output label | |
514 | if not EH section; simplify. | |
515 | (darwin_file_start): New. | |
516 | (darwin_asm_output_dwarf_offset): New. | |
517 | * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment, | |
518 | mark as 'debug'. | |
519 | (DEBUG_INFO_SECTION): Likewise. | |
520 | (DEBUG_ABBREV_SECTION): Likewise. | |
521 | (DEBUG_ARANGES_SECTION): Likewise. | |
522 | (DEBUG_MACINFO_SECTION): Likewise. | |
523 | (DEBUG_LINE_SECTION): Likewise. | |
524 | (DEBUG_LOC_SECTION): Likewise. | |
525 | (DEBUG_PUBNAMES_SECTION): Likewise. | |
526 | (DEBUG_STR_SECTION): Likewise. | |
527 | (DEBUG_RANGES_SECTION): Likewise. | |
528 | (FRAME_BEGIN_LABEL): Must start with 'L' in debug section. | |
529 | (ASM_OUTPUT_DWARF_OFFSET): New. | |
530 | ||
531 | 2006-03-16 Joseph S. Myers <joseph@codesourcery.com> | |
532 | ||
533 | * config.gcc (tm_defines): Always add to previous value rather | |
534 | than replacing it. | |
535 | ||
536 | 2006-03-16 Richard Sandiford <richard@codesourcery.com> | |
537 | ||
538 | * config/mips/predicates.md (splittable_const_int_operand): New, | |
539 | split from move_operand. | |
540 | (splittable_symbolic_operand): New. | |
541 | (move_operand): Add commentary. Use splittable_const_int_operand. | |
542 | Inline mips_atomic_symbolic_constant_p. | |
543 | * config/mips/mips.md: Add combine splitters for handling moves | |
544 | of splittable_const_int_operands and splittable_symbolic_operands. | |
545 | * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete. | |
546 | (mips_split_symbol): Declare. | |
547 | (mips_move_integer): Declare. | |
548 | * config/mips/mips.c (mips_split_p): Make global. | |
549 | (TARGET_MIN_ANCHOR_OFFSET): Override default. | |
550 | (TARGET_MAX_ANCHOR_OFFSET): Likewise. | |
551 | (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. | |
552 | (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise. | |
553 | (mips_offset_within_object_p): Handle block symbols. | |
554 | (mips_atomic_symbolic_constant_p): Delete. | |
555 | (mips_cannot_force_const_mem): Return false for constants that | |
556 | mips_legitimize_move can handle. | |
557 | (mips_use_blocks_for_constant_p): New function. | |
558 | (mips_split_symbol): Make global. | |
559 | (mips_move_integer): Likewise. Add a temporary register argument. | |
560 | (mips_legitimize_const_move): Use splittable_const_int_operand and | |
561 | splittable_symbolic_operand. | |
562 | (mips_use_anchors_for_symbol_p): New function. | |
563 | * config/mips/mips.h: Protect externs with !USED_FOR_TARGET. | |
564 | (mips_split_p): Declare. | |
565 | ||
566 | 2006-03-16 Richard Sandiford <richard@codesourcery.com> | |
567 | ||
568 | * config.gcc (mips64*-*-linux*): Keep existing tm_defines. | |
569 | (mips*-*-linux*): Likewise. | |
570 | ||
571 | 2006-03-16 Roger Sayle <roger@eyesopen.com> | |
572 | Daniel Speyer <dspeyer@wam.umd.edu> | |
573 | ||
574 | PR middle-end/18259 | |
575 | * tree-dump.c (dump_real): New function. | |
576 | (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants. | |
577 | * Makefile.in (REAL_H): New macro for dependencies on real.h. | |
578 | (tree-dump.o): Add $(REAL_H) to the dependencies. | |
579 | ||
580 | 2006-03-16 Roger Sayle <roger@eyesopen.com> | |
581 | ||
582 | PR middle-end/21781 | |
583 | * real.c (real_from_string): If the mantissa is zero, don't bother | |
584 | parsing the exponent as the result should always be zero. | |
585 | ||
586 | 2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com> | |
587 | ||
588 | * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms. | |
589 | ||
590 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
591 | ||
592 | * config/ia64/ia64.c (stops_p): Added explicit initialization. | |
593 | (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, | |
594 | ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn, | |
595 | ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global, | |
596 | ia64_sched_finish_global): New static functions to implement | |
597 | hooks from gcc_target.sched. | |
598 | (spec_check_no, max_uid, pending_data_specs): New static variables. | |
599 | (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p, | |
600 | ia64_spec_check_src_p): New static functions. | |
601 | (ia64_adjust_cost): Renamed to ia64_adjust_cost_2. | |
602 | (TARGET_SCHED_ADJUST_COST): Removed. | |
603 | (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL, | |
604 | TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED, | |
605 | TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, | |
606 | TARGET_SCHED_GEN_CHECK, | |
607 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
608 | TARGET_SCHED_SET_SCHED_FLAGS): New macros. | |
609 | (update_set_flags, group_barrier_needed, set_src_needs_barrier): | |
610 | Fixed to handle speculation checks. | |
611 | (rtx_needs_barrier): Fixed to handle speculative loads and | |
612 | their checks. | |
613 | (ia64_variable_issue): Added code to count speculative loads and their | |
614 | checks. | |
615 | (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle | |
616 | speculative loads. | |
617 | (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): | |
618 | New enumerations. | |
619 | (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET): | |
620 | New constants. | |
621 | (ia64_ld_address_bypass_p): Fixed to handle speculative loads. | |
622 | (ia64_reorg): Reset stops_p to NULL after it is freed. | |
623 | * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA, | |
624 | UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants. | |
625 | (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f, | |
626 | chk_a. | |
627 | (data_speculative, control_speculative, check_load): New attributes. | |
628 | (mov<mode>_advanced, mov<mode>_speculative, | |
629 | mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced, | |
630 | zero_extend<mode>di2_speculative, | |
631 | zero_extend<mode>di2_speculative_advanced): New patterns for | |
632 | data and control speculative loads. | |
633 | (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for | |
634 | check loads. | |
635 | (advanced_load_check_clr_<mode>, speculation_check_<mode>): | |
636 | New pattern for data and control speculation checks. | |
637 | (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr, | |
638 | ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr, | |
639 | reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes): | |
640 | Auxiliary definitions for the patterns. | |
641 | * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a, | |
642 | 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource | |
643 | constraints. | |
644 | (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition | |
645 | for speculation. | |
646 | (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i. | |
647 | * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f, | |
648 | 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a): | |
649 | New resource constraints. | |
650 | (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition | |
651 | for speculation. | |
652 | (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i. | |
653 | * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec, | |
654 | msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, | |
655 | msched-in-control-spec, msched-ldc, msched-control-ldc, | |
656 | msched-spec-verbose, msched-prefer-non-data-spec-insns, | |
657 | msched-prefer-non-control-spec-insns, | |
658 | msched-count-spec-in-critical-path): New flags to tune speculative | |
659 | scheduling. | |
660 | * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec, | |
661 | msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, | |
662 | msched-in-control-spec, msched-ldc, msched-control-ldc, | |
663 | msched-spec-verbose, msched-prefer-non-data-spec-insns, | |
664 | msched-prefer-non-control-spec-insns, | |
665 | msched-count-spec-in-critical-path): Document new flags. | |
666 | ||
667 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
668 | ||
669 | * target.h (struct spec_info_def): New opaque declaration. | |
670 | (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended, | |
671 | speculate_insn, needs_block_p, gen_check, | |
672 | first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags. | |
673 | * target-def.h (TARGET_SCHED_ADJUST_COST_2, | |
674 | TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN, | |
675 | TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK, | |
676 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
677 | TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in | |
678 | gcc_target.sched. | |
679 | (TARGET_SCHED): Use new macros. | |
680 | * rtl.h (copy_DEPS_LIST_list): New prototype. | |
681 | * sched-int.h (struct sched_info): Change signature of new_ready field, | |
682 | adjust all initializations. New fields: add_remove_insn, | |
683 | begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg, | |
684 | region_head_or_leaf_p. | |
685 | (struct spec_info_def): New structure declaration. | |
686 | (spec_info_t): New typedef. | |
687 | (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec, | |
688 | recovery_block, orig_pat. | |
689 | (glat_start, glat_end): New variables declaraions. | |
690 | (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT): | |
691 | New access macros. | |
692 | (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB, | |
693 | DETACH_LIFE_INFO, USE_GLAT. | |
694 | (enum SPEC_SCHED_FLAGS): New enumeration. | |
695 | (NOTE_NOTE_BB_P): New macro. | |
696 | (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block, | |
697 | attach_life_info, debug_spec_status, check_reg_live): New functions. | |
698 | (get_block_head_tail): Change signature to get_ebb_head_tail, adjust | |
699 | all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c, | |
700 | sched-ebb.c | |
701 | (get_dep_weak, ds_merge): Prototype functions from sched-deps.c . | |
702 | * ddg.c (get_block_head_tail): Adjust all uses. | |
703 | * modulo-sched.c (get_block_head_tail): Adjust all uses. | |
704 | (sms_sched_info): Initialize new fields. | |
705 | (contributes_to_priority): Removed. | |
706 | * haifa-sched.c (params.h): New include. | |
707 | (get_block_head_tail): Adjust all uses. | |
708 | (ISSUE_POINTS): New macro. | |
709 | (glat_start, glat_end): New global variables. | |
710 | (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data, | |
711 | nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header, | |
712 | old_last_basic_block, before_recovery, current_sched_info_var, | |
713 | rgn_n_insns, luid): New static variables. | |
714 | (insn_cost1): New function. Move logic from insn_cost to here. | |
715 | (find_insn_reg_weight1): New function. Move logic from | |
716 | find_insn_reg_weight to here. | |
717 | (reemit_notes, move_insn, max_issue): Change signature. | |
718 | (move_insn1): Removed. | |
719 | (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d, | |
720 | extend_bb): New static functions to support extension of scheduler's | |
721 | data structures. | |
722 | (generate_recovery_code, process_insn_depend_be_in_spec, | |
723 | begin_speculative_block, add_to_speculative_block, | |
724 | init_before_recovery, create_recovery_block, create_check_block_twin, | |
725 | fix_recovery_deps): New static functions to support | |
726 | generation of recovery code. | |
727 | (fix_jump_move, find_fallthru_edge, dump_new_block_header, | |
728 | restore_bb_notes, move_block_after_check, move_succs): New static | |
729 | functions to support ebb scheduling. | |
730 | (init_glat, init_glat1, attach_life_info1, free_glat): New static | |
731 | functions to support handling of register live information. | |
732 | (associate_line_notes_with_blocks, change_pattern, speculate_insn, | |
733 | sched_remove_insn, clear_priorities, calc_priorities, bb_note, | |
734 | add_jump_dependencies): New static functions. | |
735 | (check_cfg, has_edge_p, check_sched_flags): New static functions for | |
736 | consistancy checking. | |
737 | (debug_spec_status): New function to call from debugger. | |
738 | (priority): Added code to handle speculation checks. | |
739 | (rank_for_schedule): Added code to distinguish speculative instructions. | |
740 | (schedule_insn): Added code to handle speculation checks. | |
741 | (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes): | |
742 | Fixed to handle ebbs. | |
743 | (move_insn): Added code to handle ebb scheduling. | |
744 | (max_issue): Added code to use ISSUE_POINTS of instructions. | |
745 | (choose_ready): Added code to choose between speculative and | |
746 | non-speculative instructions. | |
747 | (schedule_block): Added code to handle ebb scheduling and scheduling of | |
748 | speculative instructions. | |
749 | (sched_init): Initialize new variables. | |
750 | (sched_finish): Free new variables. Print statistics. | |
751 | (try_ready): Added code to handle speculative instructions. | |
752 | * lists.c (copy_DEPS_LIST_list): New function. | |
753 | * sched-deps.c (extend_dependency_caches): New function. Move logic | |
754 | from create_dependency_caches to here. | |
755 | (get_dep_weak, ds_merge): Make global. | |
756 | * genattr.c (main): Code to output prototype for | |
757 | dfa_clear_single_insn_cache. | |
758 | * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros. | |
759 | (output_dfa_clean_insn_cache_func): Code to output | |
760 | dfa_clear_single_insn_cache function. | |
761 | * sched-ebb.c (target_n_insns): Remove. Adjust all users to use | |
762 | n_insns. | |
763 | (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs): | |
764 | Removed. | |
765 | (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb): | |
766 | New static variables. | |
767 | (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb, | |
768 | fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from | |
769 | struct sched_info. | |
770 | (ebb_sched_info): Initialize new fields. | |
771 | (get_block_head_tail): Adjust all uses. | |
772 | (compute_jump_reg_dependencies): Fixed to use glat_start. | |
773 | (schedule_ebb): Code to remove unreachable last block. | |
774 | (schedule_ebbs): Added code to update register live information. | |
775 | * sched-rgn.c (region_sched_info): Initialize new fields. | |
776 | (get_block_head_tail): Adjust all uses. | |
777 | (last_was_jump): Removed. Adjust users. | |
778 | (begin_schedule_ready, add_remove_insn, insn_points, extend_regions, | |
779 | add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p): | |
780 | Implement new hooks. | |
781 | (check_dead_notes1): New static function. | |
782 | (struct region): New fields: dont_calc_deps, has_real_ebb. | |
783 | (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros. | |
784 | (BB_TO_BLOCK): Fixed to handle EBBs. | |
785 | (EBB_FIRST_BB, EBB_LAST_BB): New macros. | |
786 | (ebb_head): New static variable. | |
787 | (debug_regions, contributes_to_priority): Fixed to handle EBBs. | |
788 | (find_single_block_regions, find_rgns, find_more_rgns): Initialize | |
789 | new fields. | |
790 | (compute_dom_prob_ps): New assertion. | |
791 | (check_live_1, update_live_1): Fixed to work with glat_start instead of | |
792 | global_live_at_start. | |
793 | (init_ready_list): New assertions. | |
794 | (can_schedule_ready_p): Split update code to begin_schedule_ready. | |
795 | (new_ready): Add support for BEGIN_CONTROL speculation. | |
796 | (schedule_insns): Fixed code that updates register live information | |
797 | to handle EBBs. | |
798 | (schedule_region): Fixed to handle EBBs. | |
799 | (init_regions): Use extend_regions and check_dead_notes1. | |
800 | * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY, | |
801 | PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters. | |
802 | * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED, | |
803 | TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, | |
804 | TARGET_SCHED_GEN_CHECK, | |
805 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
806 | TARGET_SCHED_SET_SCHED_FLAGS): Document. | |
807 | * doc/invoke.texi (max-sched-insn-conflict-delay, | |
808 | sched-spec-prob-cutoff): Document. | |
809 | ||
810 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
811 | ||
812 | * sched-int.h (struct haifa_insn_data): New fields: resolved_deps, | |
813 | inter_tick, queue_index. | |
814 | (struct sched_info): Change signature of init_ready_list field. | |
815 | Adjust all initializations. | |
816 | (RESOLVED_DEPS): New access macro. | |
817 | (ready_add): Remove prototype. | |
818 | (try_ready): Add prototype. | |
819 | * sched-rgn.c (init_ready_list): Use try_ready. | |
820 | (schedule_region): Initialize | |
821 | current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}. | |
822 | * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info. | |
823 | (init_ready_list): Use try_ready. | |
824 | (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority. | |
825 | * lists.c (remove_list_elem): Remove `static'. | |
826 | (remove_free_INSN_LIST_elem): New function. | |
827 | * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes. | |
828 | * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros. | |
829 | (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY): | |
830 | New constants. | |
831 | (readyp): New variable. | |
832 | (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready, | |
833 | change_queue_index, resolve_dep): New static functions. | |
834 | (try_ready): New function. Adjust callers in sched-rgn.c and | |
835 | sched-ebb.c to use it instead of ready_add. | |
836 | (clock_var): Move at the begining of file. | |
837 | (rank_for_schedule): Fix typo. | |
838 | (queue_insn): Add assertion. Handle QUEUE_INDEX. | |
839 | (ready_lastpos): Enforce assertion. | |
840 | (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument, | |
841 | update all callers. | |
842 | (ready_remove_first, ready_remove): Handle QUEUE_INDEX. | |
843 | (schedule_insn): Rewrite to use try_ready and resolve_dep. | |
844 | (queue_to_ready): Use free_INSN_LIST_list. | |
845 | (early_queue_to_ready): Fix typo. | |
846 | (schedule_block): Init readyp. Move init_ready_list call after the | |
847 | initialization of clock_var. Fix error in rejecting insn by | |
848 | targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code | |
849 | that previously corrected INSN_TICKs. Add code for handling | |
850 | QUEUE_INDEX. | |
851 | (set_priorities): Fix typo. | |
852 | (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX. | |
853 | Clarify comment and code that keeps current_sched_info->next_tail | |
854 | non-null. | |
855 | ||
856 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
857 | ||
858 | * sched-rgn.c (extend_rgns): New static function. | |
859 | (find_rgns): Use it. | |
860 | (gather_region_statistics, print_region_statistics): New static | |
861 | functions. | |
862 | * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter. | |
863 | * doc/invoke.texi (max-sched-extend-regions-iters): Document. | |
864 | ||
865 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> | |
866 | Andrey Belevantsev <abel@ispras.ru> | |
867 | ||
868 | * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call. | |
869 | * lists.c (unused_deps_list): New variable. | |
870 | (free_list): Add assertions to verify the proper distinguishing | |
871 | between INSN_LISTs and DEPS_LISTs. | |
872 | (find_list_elem, remove_list_elem, remove_list_node): New static | |
873 | functions. | |
874 | (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node, | |
875 | remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem, | |
876 | remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions. | |
877 | (alloc_INSN_LIST): Assert that the list we're working on is indeed | |
878 | an INSN_LIST. | |
879 | (free_INSN_LIST_node): Likewise. | |
880 | * modulo-sched.c (current_sched_info): Initialize flags field. | |
881 | * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT. | |
882 | * rtl.def (DEPS_LIST): Define. | |
883 | * rtl.h: Declare new functions from lists.c. | |
884 | * sched-deps.c (spec_dependency_cache): New static variable. | |
885 | (maybe_add_or_update_back_dep_1, add_back_dep): New static functions. | |
886 | (add_dependence): Change return type to void. Move the logic to ... | |
887 | (add_or_update_back_dep_1): ... here. Handle speculative dependencies. | |
888 | (delete_all_dependences): Add comment about forward_dependency_cache. | |
889 | Handle spec_dependency_cache. Handle DEPS_LISTs. | |
890 | (fixup_sched_groups): Clarify the change of priority of output | |
891 | and anti dependencies. | |
892 | (sched_analyze_2): Adjust add_dependence calls to create data | |
893 | speculative dependence. | |
894 | (add_forward_dependence): Renamed to add_forw_dep, change prototype. | |
895 | Adjust all callers. Handle DEPS_LISTS. | |
896 | (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in | |
897 | presence of speculation. | |
898 | (init_dependency_caches, free_dependency_caches): | |
899 | Handle spec_dependency_cache. | |
900 | (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep, | |
901 | estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status): | |
902 | New static functions. | |
903 | (add_or_update_back_dep, add_or_update_back_forw_dep, | |
904 | add_back_forw_dep, delete_back_forw_dep): New functions. | |
905 | * sched-int.h (ds_t, dw_t): New typedefs. | |
906 | (struct sched_info): Add new field flags. | |
907 | (struct haifa_insn_data): Add new bitfield has_internal_dep. | |
908 | Prototype new sched-deps.c functions. | |
909 | (HAS_INTERNAL_DEP, DEP_STATUS): New access macros. | |
910 | (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK, | |
911 | MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA, | |
912 | BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC, | |
913 | SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE, | |
914 | SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP): | |
915 | New constants. | |
916 | (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS): | |
917 | New enums. | |
918 | * sched-rgn.c (current_sched_info): Initialize flags field. | |
919 | (schedule_insns): Initialize current_sched_info before the sched_init | |
920 | call. | |
921 | * sched-ebb.c (current_sched_info): Initialize flags field. | |
922 | (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P. | |
923 | Call add_or_update_back_dep instead of add_dependence. | |
924 | Create control speculative dependencies. | |
925 | (schedule_insns): Initialize current_sched_info before the sched_init | |
926 | call. | |
927 | ||
928 | 2006-03-16 Kaz Kojima <kkojima@gcc.gnu.org> | |
929 | ||
930 | * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set | |
931 | fs->signal_frame. | |
932 | (sh_fallback_frame_state): Likewise. | |
933 | ||
934 | 2006-03-15 Geoffrey Keating <geoffk@apple.com> | |
935 | ||
936 | * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports. | |
937 | Do switch on default_use_cxa_atexit. | |
938 | (powerpc*-*-darwin*): Build crt2.o on powerpc. | |
939 | * config/darwin-crt3.o: New. | |
940 | * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default | |
941 | to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use. | |
942 | (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate | |
943 | OS version. | |
944 | * config/rs6000/t-darwin: Move crt2.o building to here. | |
945 | * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update | |
946 | Mac OS version for using __cxa_get_exception_ptr. Don't test versions | |
947 | of __cxa_atexit. | |
948 | ||
949 | 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
950 | ||
951 | * config/vax/vax.c (nonindexed_address_p): Change logical negation | |
952 | from '! xxx' to '!xxx' for coding-style conformance. | |
953 | * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise. | |
954 | (EXTRA_CONSTRAINT): Likewise. | |
955 | * config/vax/vax.md (four unnamed insns): Likewise. | |
956 | ||
957 | 2006-03-15 Paul Brook <paul@codesourcery.com> | |
958 | ||
959 | * config/arm/arm.c (minipool_pad): New. | |
960 | (add_minipool_forward_ref): Include pool alignment padding in address | |
961 | calculation. | |
962 | (push_minipool_fix): Set minipool_pad. | |
963 | (minipool_pad): Ditto. | |
964 | ||
965 | 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
966 | ||
967 | * config/vax/vax.c (split_quadword_operands): Use MEM_P() | |
968 | instead of GET_CODE() == MEM and REG_P() instead of | |
969 | GET_CODE() == REG. | |
970 | (print_operand_address): Likewise. | |
971 | (vax_address_cost): Likewise. | |
972 | (vax_rtx_costs): Likewise. | |
973 | (vax_notice_update_cc): Likewise. | |
974 | (vax_output_int_add): Likewise. | |
975 | (INDEX_REGISTER_P): Likewise. | |
976 | (BASE_REGISTER_P): Likewise. | |
977 | (nonindexed_address_p): Likewise. | |
978 | (vax_mode_dependent_address_p): Likewise. | |
979 | * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise. | |
980 | (PRINT_OPERAND): Likewise. | |
981 | * config/vax/vax.md (ashlsi3): Likewise. | |
982 | (ashlsi3): Likewise. | |
983 | (some more unnamed insns): Likewise. | |
984 | ||
985 | 2006-03-15 Kazu Hirata <kazu@codesourcery.com> | |
986 | ||
987 | * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an | |
988 | iterator-style macro. | |
989 | (mark_control_dependent_edges_necessary): Update the use of | |
990 | EXECUTE_IF_CONTROL_DEPENDENT. | |
991 | ||
992 | 2006-03-15 J"orn Rennecke <joern.rennecke@st.com> | |
993 | ||
994 | * config/sh/predicates.md (cache_address_operand): Special. | |
995 | (ua_address_operand): Likewise. | |
996 | ||
997 | 2006-03-15 Zdenek Dvorak <dvorakz@suse.cz> | |
998 | ||
999 | * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle | |
1000 | loop notes. | |
1001 | * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto. | |
1002 | ||
1003 | 2006-03-15 Andreas Schwab <schwab@suse.de> | |
1004 | ||
1005 | * gensupport.c (identify_predicable_attribute): Don't free p_false | |
1006 | when it is still in use. | |
1007 | ||
1008 | 2006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr> | |
1009 | ||
1010 | * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify | |
1011 | the default setting here. | |
1012 | ||
1013 | 2006-03-14 Steven Bosscher <stevenb.gcc@gmail.com> | |
1014 | ||
1015 | * tree-pass.h (pass_cfg): Remove. | |
1016 | * alias.c (rest_of_handle_cfg, pass_cfg): Remove. | |
1017 | * passes.c (pass_cfg): Don't run it. | |
1018 | ||
1019 | 2006-03-14 Kazu Hirata <kazu@codesourcery.com> | |
1020 | ||
1021 | * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h. | |
1022 | * reg-stack.c (stack_regs_mentioned_data): Change the type to | |
1023 | VEC(char,heap) *. | |
1024 | (stack_regs_mentioned): Update the uses of | |
1025 | stack_regs_mentioned_data. Don't access the array beyond its | |
1026 | end. | |
1027 | (reg_to_stack): Update the uses of stack_regs_mentioned_data. | |
1028 | Don't include gt-reg-stack.h. | |
1029 | ||
1030 | * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove. | |
1031 | * system.h (UNALIGNED_WORD_ASM_OP): Poison. | |
1032 | ||
1033 | * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove. | |
1034 | ||
1035 | PR middle-end/26684 | |
1036 | * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef | |
1037 | STACK_REGS. | |
1038 | ||
1039 | 2006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
1040 | ||
1041 | * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo. | |
1042 | ||
1043 | 2006-03-14 Richard Guenther <rguenther@suse.de> | |
1044 | ||
1045 | PR tree-optimization/26672 | |
1046 | * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in | |
1047 | SSA form. | |
1048 | ||
1049 | 2006-03-14 Richard Guenther <rguenther@suse.de> | |
1050 | ||
1051 | PR tree-optimization/26667 | |
1052 | * ipa-inline.c (cgraph_check_inline_limits): Walk the correct | |
1053 | node for the callees. Always allow inlining if it will shrink | |
1054 | the function size. | |
1055 | ||
1056 | 2006-03-14 Richard Guenther <rguenther@suse.de> | |
1057 | ||
1058 | PR middle-end/26659 | |
1059 | * builtins.c (get_pointer_alignment): Prefer alignment | |
1060 | information from decls over that from types. | |
1061 | ||
1062 | 2006-03-14 Andrew Pinski <pinskia@physics.uc.edu> | |
1063 | ||
1064 | PR target/26657 | |
1065 | * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp. | |
1066 | ||
1067 | 2006-03-14 Joseph S. Myers <joseph@codesourcery.com> | |
1068 | ||
1069 | * config/rs6000/rs6000.opt (mdlmzb): New option. | |
1070 | (msched-prolog, msched-epilog): Use Var not Mask. | |
1071 | * doc/invoke.texi (-mdlmzb): Document. | |
1072 | * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove | |
1073 | MASK_SCHED_PROLOG. | |
1074 | (rs6000_override_options): Enable -mdlmzb for 405 and 440. | |
1075 | * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440. | |
1076 | ||
1077 | 2006-03-13 Uttam Pawar <uttamp@us.ibm.com> | |
1078 | ||
1079 | PR rtl-optimization/25739 | |
1080 | * bt-load.c (augment_live_range): Free tos pointer. | |
1081 | ||
1082 | * gensupport.c (identify_predicable_attribute): Free | |
1083 | p_false pointer. | |
1084 | * gcov.c (create_file_names): Free name pointer. | |
1085 | ||
1086 | 2006-03-13 Roger Sayle <roger@eyesopen.com> | |
1087 | ||
1088 | PR middle-end/26557 | |
1089 | * stmt.c (emit_case_nodes): Handle the case where the index is a | |
1090 | CONST_INT, where the comparison mode is specified by the index type. | |
1091 | ||
1092 | 2006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
1093 | ||
1094 | * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O | |
1095 | is defined. | |
1096 | ||
1097 | 2006-03-13 Richard Sandiford <richard@codesourcery.com> | |
1098 | ||
1099 | * config/mips/mips.md (*branch_fp): Use %Z2 for the condition. | |
1100 | (*branch_fp_inverted): Likewise. | |
1101 | ||
1102 | 2006-03-13 Jakub Jelinek <jakub@redhat.com> | |
1103 | ||
1104 | PR middle-end/25989 | |
1105 | * omp-low.c (expand_omp_for_generic): Mark istart0 | |
1106 | and iend0 as addressable. | |
1107 | ||
1108 | 2006-03-13 Jie Zhang <jie.zhang@analog.com> | |
1109 | ||
1110 | * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC. | |
1111 | ||
1112 | 2006-03-13 Jeff Law <law@redhat.com> | |
1113 | ||
1114 | * tree-vrp.c (stmt_interesting_for_vrp): Some statements with | |
1115 | virtual operands are interesting. | |
1116 | (vrp_visit_stmt): Corresponding changes. | |
1117 | ||
1118 | 2006-03-13 Bernd Schmidt <bernd.schmidt@analog.com> | |
1119 | ||
1120 | * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents | |
1121 | of RETS. | |
1122 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If | |
1123 | TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__. | |
1124 | * config/bfin/crti.S: Use it instead of __PIC__. | |
1125 | * config/bfin/crtn.S: Likewise. | |
1126 | ||
1127 | * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol, | |
1128 | call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY, | |
1129 | not if flag_pic. | |
1130 | Lose 'G' modifier for call operand. | |
1131 | * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't | |
1132 | recognize 'G' modifier. | |
1133 | ||
1134 | 2006-03-13 Eric Botcazou <ebotcazou@adacore.com> | |
1135 | ||
1136 | PR middle-end/18859 | |
1137 | * gimplify.c (gimplify_switch_expr): Discard empty ranges. | |
1138 | * stmt.c (expand_case): Likewise. | |
1139 | ||
1140 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
1141 | ||
1142 | PR rtl-optimization/26254 | |
1143 | * loop-invariant.c (seq_insns_valid_p): New function. | |
1144 | (move_invariant_reg): Only emit new code if it is valid. | |
1145 | ||
1146 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
1147 | ||
1148 | * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p): | |
1149 | Removed. | |
1150 | (force_nonfallthru_and_redirect): Do not use last_loop_beg_note. | |
1151 | (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p. | |
1152 | (commit_one_edge_insertion): Do not look for loop notes. | |
1153 | ||
1154 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
1155 | ||
1156 | * jump.c (follow_jumps): Do not check for loop notes. Move check for | |
1157 | flag_test_coverage out of loop. | |
1158 | ||
1159 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
1160 | ||
1161 | * final.c (shorten_branches): Remove outdated comment, and turn | |
1162 | the if branch that guards it to continue. | |
1163 | ||
1164 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> | |
1165 | ||
1166 | * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field. | |
1167 | * cfgloop.h (struct loop): Remove unused fields. | |
1168 | ||
1169 | 2006-03-13 Kazu Hirata <kazu@codesourcery.com> | |
1170 | ||
1171 | * doc/invoke.texi (-fdump-rtl-loop): Remove. | |
1172 | (-dL, -fdump-rtl-loop2): Update the dump file names | |
1173 | ||
1174 | * doc/invoke.texi: Update dump file names. | |
1175 | ||
1176 | 2006-03-12 Steven Bosscher <stevenb.gcc@gmail.com> | |
1177 | ||
1178 | * predict.c (estimate_probability): Remove. | |
1179 | * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove. | |
1180 | * basic-block.h (estimate_probability): Remove prototype. | |
1181 | * passes.c (finish_optimization_passes): Dump branch prediction or | |
1182 | profiling heuristics to the .profile tree dump. | |
1183 | (init_optimization_passes): Unqueue pass_branch_prob. | |
1184 | ||
1185 | * doc/invoke.texi (-fdump-rtl-bp): Remove. | |
1186 | ||
1187 | 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> | |
1188 | ||
1189 | * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF. | |
1190 | * rtl.h (LABEL_NEXTREF): Remove field accessor. | |
1191 | ||
1192 | 2006-03-11 Eric Botcazou <ebotcazou@adacore.com> | |
1193 | ||
1194 | * function.h (frame_offset_overflow): Declare. | |
1195 | * function.c (frame_offset_overflow): New function. | |
1196 | (assign_stack_local_1): Call it to detect that the offset overflows. | |
1197 | * cfgexpand.c (alloc_stack_frame_space): Likewise. | |
1198 | ||
1199 | 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> | |
1200 | ||
1201 | * config/sh/sh.c: Include alloc-pool.h. | |
1202 | (label_ref_list_pool): New alloc pool. | |
1203 | (label_ref_list_t): New type for lists of labels. | |
1204 | (struct pool_node): Make wend a label_ref_list_t. | |
1205 | (add_constant): Use the new type, eradicate LABEL_NEXTREF | |
1206 | references. | |
1207 | (dump_table): Likewise. | |
1208 | (sh_reorg): Set up the alloc pool before using add_constant and | |
1209 | dump_table, and destroy it when finishing. | |
1210 | ||
1211 | 2006-03-11 Richard Sandiford <richard@codesourcery.com> | |
1212 | ||
1213 | * config/mips/mips.c: Remove redundant comment. | |
1214 | ||
1215 | 2006-03-10 Jason Merrill <jason@redhat.com> | |
1216 | ||
1217 | PR c/26004 | |
1218 | * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if | |
1219 | the target was declared 'register'. | |
1220 | ||
1221 | 2006-03-10 Adam Nemet <anemet@caviumnetworks.com> | |
1222 | ||
1223 | * genpreds.c (write_insn_constraint_len): Change definition of | |
1224 | insn_constraint_len to return size_t to match the declaration. | |
1225 | ||
1226 | 2006-03-10 DJ Delorie <dj@redhat.com> | |
1227 | ||
1228 | * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers | |
1229 | start at zero. | |
1230 | (m32c_expand_insv): Fix test for an AND mask. | |
1231 | ||
1232 | 2006-03-10 Richard Guenther <rguenther@suse.de> | |
1233 | ||
1234 | PR middle-end/26565 | |
1235 | * builtins.c (get_pointer_alignment): Handle component | |
1236 | references for field alignment. | |
1237 | ||
1238 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> | |
1239 | ||
1240 | * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h | |
1241 | when building with libgloss. | |
1242 | (sh*elf): Implement --without-fp option. | |
1243 | (sh64-superh-linux*): Don't multilib. | |
1244 | ||
1245 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> | |
1246 | ||
1247 | * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. | |
1248 | ||
1249 | 2006-03-09 Andrew Pinski <pinskia@physics.uc.edu> | |
1250 | ||
1251 | * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable. | |
1252 | Set it when one of the replacement functions returned true. | |
1253 | Return TODO_cleanup_cfg if cfgchanged is true. | |
1254 | (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg. | |
1255 | ||
1256 | 2006-03-09 Adam Nemet <anemet@caviumnetworks.com> | |
1257 | ||
1258 | * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate | |
1259 | instead of gen_lowpart. | |
1260 | ||
1261 | 2006-03-09 Richard Sandiford <richard@codesourcery.com> | |
1262 | ||
1263 | * config/mips/mips-protos.h (mips_output_conditional_branch): Change | |
1264 | interface. | |
1265 | (mips_output_order_conditional_branch): Declare. | |
1266 | * config/mips/mips.h (MIPS_BRANCH): New macro. | |
1267 | * config/mips/mips.c (gen_conditional_branch): Use VOIDmode | |
1268 | for the comparison. Use gen_condjump. | |
1269 | (mips_output_conditional_branch): Rework interface to take the | |
1270 | asm templates for a direct branch and the inverse of a direct branch. | |
1271 | (mips_output_order_conditional_branch): New function. | |
1272 | (mips_builtin_branch_and_move): New function. | |
1273 | (mips_expand_builtin_compare): Use it. Use VOIDmode for the | |
1274 | branch condition. Use gen_single_cc as the condition for | |
1275 | __builtin_mips_upper_* or __builtin_mips_lower_*. | |
1276 | (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move. | |
1277 | Use VOIDmode for the branch condition. | |
1278 | * config/mips/predicates.md (order_operator): New predicate. | |
1279 | * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant. | |
1280 | (branch_fp): Rename to... | |
1281 | (*branch_fp): ...this. Remove mode from comparison operator. | |
1282 | Use new mips_output_conditional_branch interface. | |
1283 | (branch_fp_inverted): Rename to... | |
1284 | (*branch_fp_inverted): ...this and update as for *branch_fp. | |
1285 | (*branch_zero<mode>): Rename to... | |
1286 | (*branch_order<mode>): ...this. Remove mode from comparison operator. | |
1287 | Use mips_output_order_conditional_branch. Only accept ordered | |
1288 | comparisons. | |
1289 | (*branch_zero<mode>_inverted): Rename to... | |
1290 | (*branch_order<mode>_inverted): ...this and update as for | |
1291 | *branch_order<mode>. | |
1292 | (*branch_equality<mode>): Accept zero as the second operand to | |
1293 | the equality operator. Use the new mips_output_conditional_branch | |
1294 | interface. | |
1295 | (*branch_equality<mode>_inverted): Likewise. | |
1296 | (condjump): New expander. | |
1297 | * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison | |
1298 | operator. | |
1299 | * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise. | |
1300 | (bc1any2t, bc1any2f): Likewise. | |
1301 | (single_cc): New expander. | |
1302 | (*branch_upper_lower, *branch_upper_lower_inverted): New patterns. | |
1303 | ||
1304 | 2006-03-09 Richard Sandiford <richard@codesourcery.com> | |
1305 | ||
1306 | * doc/md.texi: Update documentation of MIPS constraints. | |
1307 | * config/mips/constraints.md: New file. | |
1308 | * config/mips/mips.md: Include it. | |
1309 | * config/mips/mips.c (mips_char_to_class): Delete. | |
1310 | (override_options): Don't initialize mips_char_to_class. | |
1311 | * config/mips/mips.h (mips_char_to_class): Delete. | |
1312 | (REG_CLASS_FROM_LETTER): Delete. | |
1313 | (CONST_OK_FOR_LETTER_P): Delete. | |
1314 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
1315 | (EXTRA_CONSTRAINT_Y): Delete. | |
1316 | (EXTRA_CONSTRAINT_STR): Delete. | |
1317 | (CONSTRAINT_LEN): Delete. | |
1318 | (EXTRA_MEMORY_CONSTRAINT): Delete. | |
1319 | ||
1320 | 2006-03-09 Diego Novillo <dnovillo@redhat.com> | |
1321 | ||
1322 | * tree-cfg.c (move_block_to_fn): Remove the statements from the | |
1323 | original fn's eh regions. | |
1324 | ||
1325 | 2006-03-09 Eric Botcazou <ebotcazou@adacore.com> | |
1326 | ||
1327 | * fold-const.c (build_range_check): Make sure to use a valid type to | |
1328 | apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)" | |
1329 | transformation. | |
1330 | ||
1331 | (range_predecessor): New static function. | |
1332 | (range_successor): Likewise. | |
1333 | (merge_ranges): Use them to compute predecessors and successors of | |
1334 | range bounds. | |
1335 | ||
1336 | 2006-03-09 Roger Sayle <roger@eyesopen.com> | |
1337 | ||
1338 | PR middle-end/26561 | |
1339 | * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as | |
1340 | X op C3, consider whether C3 overflows towards +Inf or -Inf. | |
1341 | ||
1342 | 2006-03-08 DJ Delorie <dj@redhat.com> | |
1343 | ||
1344 | * config/m32c/addsub.md (addqi3): Disparage a0/a1. | |
1345 | (addpsi3): Expand to include memory operands. Remove | |
1346 | reload-specific splits. | |
1347 | * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New. | |
1348 | (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New. | |
1349 | (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New. | |
1350 | (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders. | |
1351 | (shift1_qi, shift1_hi, insv): New. | |
1352 | * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove. | |
1353 | (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed, | |
1354 | cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc, | |
1355 | cond_to_int): New. | |
1356 | * config/m32c/m32c-protos.h: Update as needed. | |
1357 | * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't | |
1358 | default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1. | |
1359 | Fail for unrecognized R* constraints. | |
1360 | (m32c_cannot_change_mode_class): Be more picky about pseudos. | |
1361 | (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00. | |
1362 | (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)). | |
1363 | Add Sp constraint. | |
1364 | (m32c_init_libfuncs): New. | |
1365 | (m32c_legitimate_address_p): Add debug wrapper. | |
1366 | (m32c_rtx_costs): New. | |
1367 | (m32c_address_cost): New. | |
1368 | (conversions): Add 'B' prefix. | |
1369 | (m32c_print_operand): 'h' and 'H' pick lower and upper halves of | |
1370 | operands, or word regnames for QI operands. 'B' prints bit | |
1371 | position. | |
1372 | (m32c_expand_setmemhi): New. | |
1373 | (m32c_expand_movmemhi): New. | |
1374 | (m32c_expand_movstr): New. | |
1375 | (m32c_expand_cmpstr): New. | |
1376 | (m32c_prepare_shift): Shift counts are limited to 16 bits at a time. | |
1377 | (m32c_expand_neg_mulpsi3): Handle non-ints. | |
1378 | (m32c_cmp_flg_0): New. | |
1379 | (m32c_expand_movcc): New. | |
1380 | (m32c_expand_insv): New. | |
1381 | (m32c_scc_pattern): New. | |
1382 | * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take | |
1383 | a0/a1 out of SIregs. | |
1384 | (STORE_FLAG_VALUE): New. | |
1385 | * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and | |
1386 | code macros. | |
1387 | (no_insn): New. | |
1388 | * config/m32c/mov.md: Make constraints more liberal. | |
1389 | (zero_extendqihi2): Optimize r0/r1 case. | |
1390 | * config/m32c/muldiv.md (mulpsi3): Check for intvals. | |
1391 | * config/m32c/predicates.md (m32c_any_operand): New. | |
1392 | (m32c_nonimmediate_operand): New. | |
1393 | (m32c_hl_operand): New. | |
1394 | (m32c_r3_operand): New. | |
1395 | (ap_operand): New. | |
1396 | (ma_operand): New. | |
1397 | (memsym_operand): New. | |
1398 | (memimmed_operand): New. | |
1399 | (a_qi_operand): New. | |
1400 | (m32c_eqne_operator): New. | |
1401 | (m32c_1bit8_operand): New. | |
1402 | (m32c_1bit16_operand): New. | |
1403 | (m32c_1mask8_operand): New. | |
1404 | (m32c_1mask16_operand): New. | |
1405 | * config/m32c/blkmov.md: New file. | |
1406 | * config/m32c/t-m32c (MD_FILES): Add blkmov. | |
1407 | ||
1408 | 2006-03-08 Andreas Tobler <a.tobler@schweiz.ch> | |
1409 | ||
1410 | * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum | |
1411 | unsigned to fix signed/unsigned comparison issue in | |
1412 | DWARF2_FRAME_REG_OUT. | |
1413 | (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/ | |
1414 | unsigned comparison issue in DWARF2_FRAME_REG_OUT. | |
1415 | ||
1416 | * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration | |
1417 | of ptr into the ENABLE_CHECKING section. | |
1418 | ||
1419 | 2006-03-08 Jeff Law <law@redhat.com> | |
1420 | ||
1421 | * tree-vrp.c (infer_value_range): Only count pointer uses | |
1422 | and dereferences if -fdelete-null-pointer-checks is enabled. | |
1423 | ||
1424 | * tree-vrp.c (find_assert_locations): Infer value ranges for | |
1425 | single use pointers, but do not create ASSERT_EXPRs for them. | |
1426 | When a non-null range is inferred for a pointer, backwards | |
1427 | propagate that range to other equivalent pointers through the | |
1428 | use-def chain. | |
1429 | ||
1430 | 2006-03-08 Paolo Bonzini <bonzini@gnu.org> | |
1431 | ||
1432 | PR bootstrap/26500 | |
1433 | * Makefile.in (dvi, html, install-info): Invoke the corresponding | |
1434 | language hook targets. | |
1435 | * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in, | |
1436 | objcp/Make-lang.in: Create stub rules for dvi, html, install-info | |
1437 | if language hook targets were missing. | |
1438 | ||
1439 | 2006-03-07 Zdenek Dvorak <dvorakz@suse.cz> | |
1440 | ||
1441 | * tree-ssa-opfinalize.h: Removed. | |
1442 | * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h | |
1443 | dependency. | |
1444 | * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h. | |
1445 | (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, | |
1446 | INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op, | |
1447 | add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops, | |
1448 | finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops, | |
1449 | finalize_ssa_v_must_def_ops): New. | |
1450 | ||
1451 | 2006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com> | |
1452 | ||
1453 | * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong | |
1454 | block as parameter. | |
1455 | ||
1456 | 2006-03-07 Geoffrey Keating <geoffk@apple.com> | |
1457 | ||
1458 | * varasm.c (assemble_end_function): Say that 'fnname' is unused. | |
1459 | ||
1460 | * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin | |
1461 | addresses with offsets; reorganize. | |
1462 | ||
1463 | * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file. | |
1464 | (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT. | |
1465 | (expand_builtin_init_dwarf_reg_sizes): Likewise. | |
1466 | ||
1467 | 2006-03-08 David Billinghurst <David.Billinghurst@riotinto.com> | |
1468 | ||
1469 | PR target/26588 | |
1470 | * config/i386/cygwin.h (GOMP_SELF_SPECS): Define. | |
1471 | ||
1472 | 2006-03-08 Ben Elliston <bje@au.ibm.com> | |
1473 | ||
1474 | * config/fp-bit.h (CMPtype): Typedef to a word mode integer. | |
1475 | ||
1476 | 2006-03-07 Aldy Hernandez <aldyh@redhat.com> | |
1477 | ||
1478 | PR gomp/26238 | |
1479 | * doc/passes.texi (Tree-SSA passes): Document omp lowering and | |
1480 | expansion. | |
1481 | ||
1482 | 2006-03-07 Richard Guenther <rguenther@suse.de> | |
1483 | ||
1484 | PR tree-optimization/26587 | |
1485 | * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR. | |
1486 | ||
1487 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> | |
1488 | ||
1489 | * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION. | |
1490 | ||
1491 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> | |
1492 | ||
1493 | * hooks.c (hook_bool_mode_rtx_true): New function. | |
1494 | * hooks.h (hook_bool_mode_rtx_true): Declare. | |
1495 | * toplev.c (compile_file): Call output_shared_constant_pool. | |
1496 | * varasm.c (shared_constant_pool): New variable. | |
1497 | (assemble_start_function, assemble_end_function): Remove arguments | |
1498 | from call to output_constant_pool. | |
1499 | (create_constant_pool): New function, split out from... | |
1500 | (init_varasm_status): ...here. | |
1501 | (force_const_mem): Choose between the shared and per-function constant | |
1502 | pools. Set current_function_uses_const_pool when reusing old entries | |
1503 | as well as when creating new ones. | |
1504 | (mark_constant): Ignore data argument. | |
1505 | (mark_constants): Remove pool argument. | |
1506 | (mark_constant_pool): Likewise. Use current_function_uses_const_pool | |
1507 | to decide whether the function uses a constant pool. | |
1508 | (output_constant_pool_contents): New function, split out from... | |
1509 | (output_constant_pool): ...here. | |
1510 | (output_shared_constant_pool): New function. | |
1511 | (init_varasm_once): Initialize shared_constant_pool. | |
1512 | * output.h (output_constant_pool): Delete. | |
1513 | (output_shared_constant_pool): Declare. | |
1514 | * config/s390/s390-protos.h (s390_output_constant_pool): Delete. | |
1515 | * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override. | |
1516 | ||
1517 | 2006-03-06 Nick Clifton <nickc@redhat.com> | |
1518 | ||
1519 | * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to | |
1520 | flag_strength_reduce. | |
1521 | ||
1522 | 2006-03-06 Ben Elliston <bje@au.ibm.com> | |
1523 | ||
1524 | * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and | |
1525 | x86_64-*-linux* configurations. | |
1526 | ||
1527 | * config/dfp-bit.h (CMPtype): Typedef to a word mode integer. | |
1528 | (LIBGCC2_WORDS_BIG_ENDIAN): Define. | |
1529 | ||
1530 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> | |
1531 | ||
1532 | * tree-ssa-threadupdate.c (rediscover_loops_after_threading): | |
1533 | Remove. | |
1534 | * basic-block.h: Remove the extern for | |
1535 | rediscover_loops_after_threading. | |
1536 | ||
1537 | * cfgloop.c (cancel_loop): Make it static. | |
1538 | * cfgloop.h: Remove the prototype for cancel_loop. | |
1539 | ||
1540 | * flow.c (recompute_reg_usage): Make it static. | |
1541 | * rtl.h: Remove the prototype for recompute_reg_usage. | |
1542 | ||
1543 | * function.c (use_return_register): Make it static. | |
1544 | * function.h: Remove the prototype. | |
1545 | ||
1546 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> | |
1547 | ||
1548 | * recog.c (volatile_mem_p, validate_change_maybe_volatile): | |
1549 | Remove. | |
1550 | * recog.h: Remove the prototype for | |
1551 | validate_change_maybe_volatile. | |
1552 | ||
1553 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> | |
1554 | ||
1555 | * rtlanal.c (replace_reg): Remove. | |
1556 | * rtl.h: Remove the prototype for replace_reg. | |
1557 | ||
1558 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> | |
1559 | ||
1560 | * regclass.c (reg_scan_update): Remove. | |
1561 | (reg_scan_mark_refs): Remove the last argument. | |
1562 | * rtl.h: Remove the prototype for reg_scan_update. | |
1563 | ||
1564 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
1565 | ||
1566 | * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c, | |
1567 | combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c, | |
1568 | config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c, | |
1569 | config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c, | |
1570 | df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c, | |
1571 | loop-invariant.c, omp-low.c, opts.c, passes.c, | |
1572 | rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c, | |
1573 | tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, | |
1574 | tree-ssa-structalias.c, tree-ssa-threadedge.c, | |
1575 | tree-ssa-threadupdate.c, tree-vect-patterns.c, | |
1576 | tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c, | |
1577 | unwind-dw2.c: Fix comment typos. Follow spelling conventions. | |
1578 | ||
1579 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
1580 | ||
1581 | * dwarf2out.c (dwarf2out_add_library_unit_info): Remove. | |
1582 | * dwarf2out.h: Remove the prototype for | |
1583 | dwarf2out_add_library_unit_info. | |
1584 | ||
1585 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
1586 | ||
1587 | * tree.c (add_var_to_bind_expr): Remove. | |
1588 | * tree.h: Remove the prototype for add_var_to_bind_expr. | |
1589 | ||
1590 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
1591 | ||
1592 | * regclass.c (n_non_fixed_regs): Remove. | |
1593 | (init_reg_sets_1, globalize_reg): Remove all uses of | |
1594 | n_non_fixed_regs. | |
1595 | * hard-reg-set.h: Remove the extern for n_non_fixed_regs. | |
1596 | ||
1597 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
1598 | ||
1599 | * rtlanal.c (insns_safe_to_move_p): Remove. | |
1600 | * rtl.h: Remove the prototype for insns_safe_to_move_p. | |
1601 | ||
1602 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> | |
1603 | ||
1604 | * expmed.c (expand_mult_add): Remove. | |
1605 | * expr.h: Remove the prototype for expand_mult_add. | |
1606 | ||
1607 | 2006-03-04 Jakub Jelinek <jakub@redhat.com> | |
1608 | ||
1609 | * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET | |
1610 | and REG_SAVED_VAL_EXP constants. | |
1611 | * unwind-dw2.c (struct _Unwind_Context): Add by_value array. | |
1612 | (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): | |
1613 | Handle regs stored by value. | |
1614 | (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. | |
1615 | (execute_cfa_program): Handle DW_CFA_val_offset, | |
1616 | DW_CFA_val_offset_sf and DW_CFA_val_expression. | |
1617 | (uw_update_context_1): Handle REG_SAVED_REG with regs stored by | |
1618 | value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. | |
1619 | (uw_install_context_1): Handle target regs stored by value. | |
1620 | ||
1621 | 2006-03-03 Daniel Berlin <dberlin@dberlin.org> | |
1622 | ||
1623 | * tree-sra.c (tree_sra): Return todoflags; | |
1624 | (generate_one_element): Set TODO_update_smt_usage if needed. | |
1625 | (pass_sra): Remove TODO_update_smt_usage. | |
1626 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some | |
1627 | parameter. | |
1628 | (tree_ssa_forward_propagate_single_use_vars): Return | |
1629 | TODO_update_smt_usage if we need to update SMT usage. | |
1630 | (pass_forwprop): Remove TODO_update_smt_usage. | |
1631 | ||
1632 | 2006-03-03 Diego Novillo <dnovillo@redhat.com> | |
1633 | ||
1634 | * tree-ssa-operands.c: Tidy whitespace. Fix spelling. | |
1635 | (correct_use_link): Remove reference to get_stmt_operands. | |
1636 | (update_stmt_operands): Likewise. | |
1637 | (get_modify_expr_operands): New function factored out of | |
1638 | parse_ssa_operands and get_expr_operands. | |
1639 | Try to create V_MUST_DEFs for LHS by default. | |
1640 | (get_expr_operands) <case MODIFY_EXPR>: Call | |
1641 | get_modify_expr_operands. | |
1642 | <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF. | |
1643 | <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS. | |
1644 | (parse_ssa_operands) <case MODIFY_EXPR>: Call | |
1645 | get_modify_expr_operands. | |
1646 | ||
1647 | 2006-03-03 Kazu Hirata <kazu@codesourcery.com> | |
1648 | ||
1649 | * tree-dfa.c (referenced_var_lookup_if_exists): Remove. | |
1650 | * tree-flow.h: Remove the prototype for | |
1651 | referenced_var_lookup_if_exists. | |
1652 | ||
1653 | 2006-03-03 Steve Ellcey <sje@cup.hp.com> | |
1654 | ||
1655 | PR rtl-optimization/26345 | |
1656 | PR target/19061 | |
1657 | * config/ia64/predicates.md (basereg_operand): Don't look in subregs. | |
1658 | ||
1659 | 2006-03-03 Roger Sayle <roger@eyesopen.com> | |
1660 | ||
1661 | PR tree-optimization/26524 | |
1662 | * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use | |
1663 | fold_convert to create a constant of the appropriate type. | |
1664 | ||
1665 | 2006-03-03 Richard Sandiford <richard@codesourcery.com> | |
1666 | ||
1667 | * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
1668 | SYMBOL_REF_IN_BLOCK_P. | |
1669 | * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead | |
1670 | of SYMBOL_FLAG_IN_BLOCK. | |
1671 | * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P | |
1672 | instead of SYMBOL_REF_IN_BLOCK_P. | |
1673 | * explow.c (use_anchored_address): Likewise. | |
1674 | * rtl.c (rtx_size): Likewise. | |
1675 | * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO | |
1676 | instead of SYMBOL_FLAG_IN_BLOCK. | |
1677 | (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
1678 | SYMBOL_REF_IN_BLOCK_P. | |
1679 | (assemble_variable): Likewise. | |
1680 | (output_constant_def_contents): Likewise. | |
1681 | (output_constant_pool): Likewise. | |
1682 | (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO | |
1683 | instead of SYMBOL_FLAG_IN_BLOCK. | |
1684 | * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
1685 | SYMBOL_REF_IN_BLOCK_P. | |
1686 | (SYMBOL_REF_BLOCK): Likewise. | |
1687 | (SYMBOL_REF_OFFSET): Likewise. | |
1688 | (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
1689 | SYMBOL_REF_IN_BLOCK_P. | |
1690 | (SYMBOL_FLAG_IN_BLOCK): Replace with... | |
1691 | (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this. | |
1692 | (SYMBOL_REF_IN_BLOCK_P): Replace with... | |
1693 | (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this. | |
1694 | ||
1695 | 2006-03-03 Jakub Jelinek <jakub@redhat.com> | |
1696 | ||
1697 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. | |
1698 | ||
1699 | 2006-03-02 Roger Sayle <roger@eyesopen.com> | |
1700 | ||
1701 | * simplify-rtx.c (simplify_unary_operation): When simplifying | |
1702 | (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure | |
1703 | that we perform the right shift in the appropriate mode, and | |
1704 | then extend or truncate the result to requested mode. | |
1705 | ||
1706 | 2006-03-03 Zdenek Dvorak <dvorakz@suse.cz> | |
1707 | ||
1708 | * gengtype.c (main): Handle double_int type. | |
1709 | * tree.h (struct tree_int_cst): Make type of int_cst double_int. | |
1710 | * double-int.c: New file. | |
1711 | * double-int.h: New file. | |
1712 | * system.h: Include doubleint.h. | |
1713 | * Makefile.in (SYSTEM_H): Include double-int.h. | |
1714 | (double-int.o): Add. | |
1715 | ||
1716 | 2006-03-03 Joseph S. Myers <joseph@codesourcery.com> | |
1717 | ||
1718 | PR bootstrap/26478 | |
1719 | * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before | |
1720 | copying over it. | |
1721 | ||
1722 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> | |
1723 | ||
1724 | * tree-vrp.c (remove_range_assertions): Do not update statements | |
1725 | unnecessarily. | |
1726 | ||
1727 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> | |
1728 | ||
1729 | * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg | |
1730 | cleanup. | |
1731 | * gcse.c (rest_of_handle_gcse): Ditto. | |
1732 | * except.c (gate_handle_eh): Ditto. | |
1733 | * cfgcleanup.c (rest_of_handle_jump2): Ditto. | |
1734 | * basic-block.h (CLEANUP_PRE_LOOP): Remove. | |
1735 | ||
1736 | 2006-03-02 Eric Christopher <echristo@apple.com> | |
1737 | ||
1738 | * config/i386/i386.c (machopic_output_stub): Add indirection to | |
1739 | jump. | |
1740 | ||
1741 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> | |
1742 | ||
1743 | * loop.c: Removed. | |
1744 | ||
1745 | 2006-03-02 David S. Miller <davem@sunset.davemloft.net> | |
1746 | ||
1747 | Sun Niagara specific optimizations. | |
1748 | * config.gcc: Recognize niagara as target. | |
1749 | * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara. | |
1750 | (TARGET_CPU_niagara): Define. | |
1751 | (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara. | |
1752 | (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara. | |
1753 | (CPP_CPU_SPEC): Handle -mcpu=niagara. | |
1754 | (ASM_CPU_SPEC): Likewise. | |
1755 | (PROCESSOR_NIAGARA): New enum entry. | |
1756 | (REGISTER_MOVE_COST): Handle Niagara. | |
1757 | (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise. | |
1758 | * config/sparc/sparc.c (niagara_costs): New processor_costs entry. | |
1759 | (sparc_override_options): Recognize "niagara", set appropriate | |
1760 | default MASK_* values for it, and align functions to 32-bytes | |
1761 | by default just like ULTRASPARC/ULTRASPARC3. | |
1762 | (sparc_initialize_trampoline): Handle niagara like ultrasparc. | |
1763 | (sparc64_initialize_trampoline): Likewise. | |
1764 | (sparc_use_sched_lookahead): Use zero for niagara. | |
1765 | (sparc_issue_rate): Use one for niagara. | |
1766 | * config/sparc/niagara.md: New file. | |
1767 | * config/sparc/sparc.md: Include it. | |
1768 | * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC, | |
1769 | ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately | |
1770 | when default cpu is niagara. | |
1771 | (CPP_CPU_SPEC): Handle -mcpu=niagara. | |
1772 | (ASM_CPU_SPEC): Likewise. | |
1773 | * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately | |
1774 | when default cpu is niagara. | |
1775 | (ASM_CPU_SPEC): Handle -mcpu=niagara. | |
1776 | * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara | |
1777 | just like v9/ultrasparc/ultrasparc3. | |
1778 | * doc/invoke.texi: Add documentation for "niagara" and improve | |
1779 | existing documentation for ultrasparc variants. | |
1780 | ||
1781 | 2006-03-02 Diego Novillo <dnovillo@redhat.com> | |
1782 | ||
1783 | * tree-ssa-operands.c (update_stmt_operands): Update documentation. | |
1784 | ||
1785 | 2006-03-02 Richard Sandiford <richard@codesourcery.com> | |
1786 | ||
1787 | * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document. | |
1788 | (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS, | |
1789 | and say that only one is needed. | |
1790 | * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null. | |
1791 | * target.h (have_switchable_bss_sections): New hook. | |
1792 | * explow.c (use_anchored_address): Check that the symbol is in a block. | |
1793 | * varasm.c (tls_comm_section, comm_section, lcomm_section) | |
1794 | (bss_noswitch_section): New variables. | |
1795 | (get_unnamed_section): Add SECTION_UNNAMED to the flags. | |
1796 | (get_noswitch_section): New function. | |
1797 | (get_block_for_section): Allow SECT to be null. | |
1798 | (unlikely_text_section_p): Use SECTION_STYLE. | |
1799 | (bss_initializer_p): New function. | |
1800 | (get_variable_section): Move earlier in file. Take a new argument, | |
1801 | prefer_noswitch_p. Move bss checks from assemble_variable to here. | |
1802 | Return one of the new *_sections in such cases. | |
1803 | (get_block_for_decl): New function, extracting some logic from | |
1804 | use_blocks_for_decl_p. | |
1805 | (change_symbol_section): Remove in favor of... | |
1806 | (change_symbol_block): ...this new function. | |
1807 | (use_blocks_for_decl_p): Remove checks now performed by | |
1808 | get_block_for_decl. | |
1809 | (make_decl_rtl): Use change_symbol_block and get_block_for_decl. | |
1810 | (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of... | |
1811 | (emit_local, emit_bss, emit_common): ...these new functions. | |
1812 | Return true if the alignment was honored. | |
1813 | (emit_tls_common): New function. | |
1814 | (asm_emit_uninitialised): Delete. | |
1815 | (assemble_variable_noswitch): New function, split out from... | |
1816 | (assemble_variable): ...here. Don't make decisions about common | |
1817 | variables here. Globalize all public decls that go into non-common | |
1818 | sections. Check whether SYMBOL_REF_BLOCK is null. | |
1819 | (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null. | |
1820 | (output_constant_pool): Likewise. | |
1821 | (init_varasm_once): Initialize the new section variables. | |
1822 | (have_global_bss_p): New function. | |
1823 | (categorize_decl_for_section): Use bss_initializer_p. | |
1824 | (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH. | |
1825 | (place_block_symbol): Assert that the symbol must be in a block. | |
1826 | * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro. | |
1827 | (TARGET_INITIALIZER): Include it. | |
1828 | * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative. | |
1829 | * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros. | |
1830 | (SECTION_MACH_DEP): Bump by two. | |
1831 | (SECTION_UNNAMED, SECTION_NOSWITCH): New macros. | |
1832 | (unnamed_section): Mention SECTION_UNNAMED in comment. | |
1833 | (named_section): Likewise SECTION_NAMED. | |
1834 | (noswitch_section_callback): New type. | |
1835 | (noswitch_section): New structure. | |
1836 | (section): Add a noswitch_section alternative. | |
1837 | (SECTION_STYLE): New macro. | |
1838 | (tls_comm_section, comm_section, lcomm_section): Declare. | |
1839 | (bss_noswitch_section, have_global_bss_p): Declare. | |
1840 | * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. | |
1841 | * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): | |
1842 | Override. | |
1843 | * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. | |
1844 | * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): | |
1845 | Override. | |
1846 | ||
1847 | 2006-03-02 Daniel Berlin <dberlin@dberlin.org> | |
1848 | ||
1849 | * gcc/tree-vrp.c (execute_vrp): Return value. | |
1850 | * gcc/regrename.c (rest_of_handle_regrename): Ditto. | |
1851 | * gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto. | |
1852 | * gcc/tree-complex.c (tree_lower_complex): Ditto. | |
1853 | (tree_lower_complex_O0): Ditto. | |
1854 | * gcc/tracer.c (rest_of_handle_tracer): Ditto. | |
1855 | * gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto. | |
1856 | * gcc/postreload.c (rest_of_handle_postreload): Ditto. | |
1857 | * gcc/tree-tailcall.c (execute_tail_recursion): Ditto. | |
1858 | (execute_tail_calls): Ditto. | |
1859 | * gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
1860 | * gcc/tree.h (init_function_for_compilation): Ditto. | |
1861 | * gcc/ipa-cp.c (ipcp_driver): Ditto. | |
1862 | * gcc/tree-scalar-evolution.c (scev_const_prop): Ditto. | |
1863 | * gcc/tree-scalar-evolution.h (scev_const_prop): Ditto. | |
1864 | * gcc/final.c (compute_alignments): Ditto. | |
1865 | (rest_of_handle_final): Ditto. | |
1866 | (rest_of_handle_shorten_branches): Ditto. | |
1867 | (rest_of_clean_state): Ditto. | |
1868 | * gcc/omp-low.c (execute_expand_omp): Ditto. | |
1869 | (execute_lower_omp): Ditto. | |
1870 | * gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto. | |
1871 | * gcc/ipa-reference.c (static_execute): Ditto. | |
1872 | * gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto. | |
1873 | * gcc/reorg.c (rest_of_handle_delay_slots): Ditto. | |
1874 | (rest_of_handle_machine_reorg): Ditto. | |
1875 | * gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto. | |
1876 | * gcc/flow.c (recompute_reg_usage): Ditto. | |
1877 | (rest_of_handle_remove_death_notes): Ditto. | |
1878 | (rest_of_handle_life): Ditto. | |
1879 | (rest_of_handle_flow2): Ditto. | |
1880 | * gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto. | |
1881 | * gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto. | |
1882 | (do_ssa_store_ccp): Ditto. | |
1883 | (execute_fold_all_builtins): Ditto. | |
1884 | * gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto. | |
1885 | * gcc/modulo-sched.c (rest_of_handle_sms): Ditto. | |
1886 | * gcc/ipa-pure-const.c (static_execute): Ditto. | |
1887 | * gcc/cse.c (rest_of_handle_cse): Ditto. | |
1888 | (rest_of_handle_cse2): Ditto. | |
1889 | * gcc/web.c (rest_of_handle_web): Ditto. | |
1890 | * gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto. | |
1891 | * gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto. | |
1892 | * gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. | |
1893 | * gcc/tree-nrv.c (tree_nrv): Ditto. | |
1894 | (execute_return_slot_opt): Ditto. | |
1895 | * gcc/tree-ssa-alias.c (compute_may_aliases): Ditto. | |
1896 | (create_structure_vars): Ditto. | |
1897 | * gcc/loop-init.c (rtl_loop_init): Ditto. | |
1898 | (rtl_loop_done): Ditto. | |
1899 | (rtl_move_loop_invariants): Ditto. | |
1900 | (rtl_unswitch): Ditto. | |
1901 | (rtl_unroll_and_peel_loops): Ditto. | |
1902 | (rtl_doloop): Ditto. | |
1903 | * gcc/gimple-low.c (lower_function_body): Ditto. | |
1904 | (mark_used_blocks): Ditto. | |
1905 | * gcc/tree-ssa-sink.c (execute_sink_code): Ditto. | |
1906 | * gcc/ipa-inline.c (cgraph_decide_inlining): Ditto. | |
1907 | (cgraph_early_inlining): Ditto. | |
1908 | * gcc/global.c (rest_of_handle_global_alloc): Ditto. | |
1909 | * gcc/jump.c (cleanup_barriers): Ditto. | |
1910 | (purge_line_number_notes): Ditto. | |
1911 | * gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto. | |
1912 | (rest_of_handle_if_after_reload): Ditto. | |
1913 | * gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto. | |
1914 | (tree_ssa_loop_im): Ditto. | |
1915 | (tree_ssa_loop_unswitch): Ditto. | |
1916 | (tree_vectorize): Ditto. | |
1917 | (tree_linear_transform): Ditto. | |
1918 | (tree_ssa_loop_ivcanon): Ditto. | |
1919 | (tree_ssa_empty_loop): Ditto. | |
1920 | (tree_ssa_loop_bounds): Ditto. | |
1921 | (tree_complete_unroll): Ditto. | |
1922 | (tree_ssa_loop_prefetch): Ditto. | |
1923 | (tree_ssa_loop_ivopts): Ditto. | |
1924 | (tree_ssa_loop_done): Ditto. | |
1925 | * gcc/predict.c (tree_estimate_probability): Ditto. | |
1926 | * gcc/recog.c (split_all_insns_noflow): Ditto. | |
1927 | (rest_of_handle_peephole2): Ditto. | |
1928 | (rest_of_handle_split_all_insns): Ditto. | |
1929 | * gcc/tree-eh.c (lower_eh_constructs): Ditto. | |
1930 | * gcc/regmove.c (rest_of_handle_regmove): Ditto. | |
1931 | (rest_of_handle_stack_adjustments): Ditto. | |
1932 | * gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto. | |
1933 | * gcc/function.c (instantiate_virtual_regs): Ditto. | |
1934 | (init_function_for_compilation): Ditto. | |
1935 | (rest_of_handle_check_leaf_regs): Ditto. | |
1936 | * gcc/gcse.c (rest_of_handle_jump_bypass): Ditto. | |
1937 | (rest_of_handle_gcse): Ditto. | |
1938 | * gcc/ipa-type-escape.c (type_escape_execute): Ditto. | |
1939 | * gcc/alias.c (rest_of_handle_cfg): Ditto. | |
1940 | * gcc/tree-if-conv.c (main_tree_if_conversion): Ditto. | |
1941 | * gcc/profile.c (rest_of_handle_branch_prob): Ditto. | |
1942 | * gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto. | |
1943 | * gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto. | |
1944 | * gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto | |
1945 | * gcc/tree-dfa.c (find_referenced_vars): Ditto. | |
1946 | * gcc/except.c (set_nothrow_function_flags): Ditto. | |
1947 | (convert_to_eh_region_ranges): Ditto. | |
1948 | (rest_of_handle_eh): Ditto. | |
1949 | * gcc/emit-rtl.c (unshare_all_rtl): Ditto. | |
1950 | (remove_unnecessary_notes): Ditto. | |
1951 | * gcc/except.h (set_nothrow_function_flags): Ditto. | |
1952 | (convert_to_eh_region_ranges): Ditto. | |
1953 | * gcc/cfgexpand.c (tree_expand_cfg): Ditto. | |
1954 | * gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto. | |
1955 | * gcc/tree-ssa-pre.c (do_pre): Ditto. | |
1956 | (execute_fre): Ditto. | |
1957 | * gcc/cfgcleanup.c (rest_of_handle_jump): Ditto. | |
1958 | (rest_of_handle_jump2): Ditto. | |
1959 | * gcc/tree-sra.c (tree_sra): Ditto. | |
1960 | * gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto. | |
1961 | (execute_mudflap_function_decls): Ditto. | |
1962 | * gcc/tree-ssa-copy.c (do_copy_prop): Ditto. | |
1963 | (do_store_copy_prop): Ditto. | |
1964 | * gcc/ipa-prop.h (ipcp_driver): Ditto. | |
1965 | * gcc/cfglayout.c (insn_locators_initialize): Ditto. | |
1966 | * gcc/tree-ssa-forwprop.c | |
1967 | (tree_ssa_forward_propagate_single_use_vars): Ditto. | |
1968 | * gcc/cfglayout.h (insn_locators_initialize): Ditto. | |
1969 | * gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto. | |
1970 | * gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto. | |
1971 | (execute_late_warn_uninitialized): Ditto. | |
1972 | * gcc/rtl.h (cleanup_barriers): Ditto. | |
1973 | (split_all_insns_noflow): Ditto. | |
1974 | (purge_line_number_notes): Ditto. | |
1975 | (unshare_all_rtl): Ditto. | |
1976 | (remove_unnecessary_notes): Ditto. | |
1977 | (recompute_reg_usage): Ditto. | |
1978 | (variable_tracking_main): Ditto. | |
1979 | * gcc/integrate.c (emit_initial_value_sets): Ditto. | |
1980 | * gcc/integrate.h (emit_initial_value_sets): Ditto. | |
1981 | * gcc/tree-optimize.c (execute_free_datastructures): Ditto | |
1982 | (execute_free_cfg_annotations): Ditto. | |
1983 | (execute_fixup_cfg): Ditto. | |
1984 | (execute_cleanup_cfg_pre_ipa): Ditto. | |
1985 | (execute_cleanup_cfg_post_optimizing): Ditto. | |
1986 | (execute_init_datastructures): Ditto. | |
1987 | * gcc/tree-object-size.c (compute_object_sizes): Ditto. | |
1988 | * gcc/combine.c (rest_of_handle_combine): Ditto. | |
1989 | * gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto. | |
1990 | * gcc/bb-reorder.c (duplicate_computed_gotos): Ditto. | |
1991 | (rest_of_handle_reorder_blocks): Ditto. | |
1992 | (rest_of_handle_partition_blocks): Ditto. | |
1993 | * gcc/var-tracking.c (variable_tracking_main): Ditto. | |
1994 | * gcc/tree-profile.c (tree_profiling): Ditto. | |
1995 | * gcc/tree-vect-generic.c (expand_vector_operations): Ditto. | |
1996 | * gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto. | |
1997 | * gcc/sched-rgn.c (rest_of_handle_sched): Ditto. | |
1998 | (rest_of_handle_sched2): Ditto. | |
1999 | * gcc/basic-block.h (free_bb_insn): Ditto. | |
2000 | * gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto. | |
2001 | * gcc/tree-cfg.c (execute_build_cfg): Ditto. | |
2002 | (remove_useless_stmts): Ditto. | |
2003 | (split_critical_edges): Ditto. | |
2004 | (execute_warn_function_return): Ditto. | |
2005 | (execute_warn_function_noreturn): Ditto. | |
2006 | * gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto. | |
2007 | * gcc/cfgrtl.c (free_bb_for_insn): Ditto. | |
2008 | * gcc/passes.c (execute_one_pass): Run additional | |
2009 | todos returned by execute function. | |
2010 | * gcc/tree-pass.h (struct tree_opt_pass): Make execute | |
2011 | return a value. | |
2012 | ||
2013 | 2006-03-02 Richard Guenther <rguenther@suse.de> | |
2014 | ||
2015 | * tree-ssa-alias.c (find_used_portions): Consider taking | |
2016 | the address as making the variable not write-only. | |
2017 | ||
2018 | 2006-03-02 Nick Clifton <nickc@redhat.com> | |
2019 | ||
2020 | * config.gcc (default_use_cxa_atexit): Extend the description of | |
2021 | this configure variable. Set its default value to "yes" for | |
2022 | Linux, NetBSD and ELF targets on the assumption that they will | |
2023 | use C libraries with the __cxa_atexit function. | |
2024 | ||
2025 | 2006-03-02 Ben Elliston <bje@au.ibm.com> | |
2026 | ||
2027 | * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs' | |
2028 | parameter as unused to suppress a build warning. | |
2029 | ||
2030 | 2006-03-02 Ben Elliston <bje@au.ibm.com> | |
2031 | ||
2032 | * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile | |
2033 | config/dfp-bit.c. | |
2034 | ||
2035 | 2006-03-01 Roger Sayle <roger@eyesopen.com> | |
2036 | ||
2037 | PR other/26489 | |
2038 | * gthr-posix.h (__gthrw2): Define to take three parameters, the | |
2039 | declared name, the weak reference name, and the typeof name. | |
2040 | (__gthrw): Avoid expanding the declared name suffix. | |
2041 | (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls. | |
2042 | ||
2043 | 2006-03-01 Jakub Jelinek <jakub@redhat.com> | |
2044 | ||
2045 | * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants | |
2046 | from DWARF 3. | |
2047 | (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, | |
2048 | DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, | |
2049 | DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, | |
2050 | DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, | |
2051 | DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. | |
2052 | (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. | |
2053 | (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, | |
2054 | DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. | |
2055 | (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, | |
2056 | DW_DS_leading_separate, DW_DS_trailing_separate): New. | |
2057 | (DW_END_default, DW_END_big, DW_END_little): New. | |
2058 | (DW_END_lo_user, DW_END_hi_user): Define. | |
2059 | (DW_LNE_lo_user, DW_LNE_hi_user): Define. | |
2060 | (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. | |
2061 | (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, | |
2062 | DW_LANG_D): New. | |
2063 | ||
2064 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> | |
2065 | ||
2066 | * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG. | |
2067 | Update all users. | |
2068 | * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage. | |
2069 | Update all users. | |
2070 | (TODO_update_smt_usage): Rename from TODO_update_tmt_usage. | |
2071 | Update all users. | |
2072 | * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE. | |
2073 | Update all users. | |
2074 | * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag' | |
2075 | to 'symbol_mem_tag'. | |
2076 | Update all users. | |
2077 | * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT | |
2078 | rename. | |
2079 | ||
2080 | 2006-03-01 Roger Sayle <roger@eyesopen.com> | |
2081 | ||
2082 | * builtins.c (fold_builtin_copysign): Delete unreachable code. | |
2083 | ||
2084 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> | |
2085 | ||
2086 | PR target/25761 | |
2087 | * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just | |
2088 | MACHO_DYNAMIC_NO_PIC_P. | |
2089 | (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P. | |
2090 | ||
2091 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> | |
2092 | ||
2093 | PR target/26389 | |
2094 | * config/darwin-protos.h (darwin_asm_output_anchor): | |
2095 | Declare. | |
2096 | * config/darwin-sections.def (cstring_section): | |
2097 | Add SECTION_MERGE to the flags. | |
2098 | (literal4_section): Likewise. | |
2099 | (literal8_section): Likewise. | |
2100 | (objc_selector_refs_section): Likewise. | |
2101 | (objc_cls_refs_section): Likewise. | |
2102 | * config/darwin.c (darwin_asm_output_anchor): New | |
2103 | function. | |
2104 | * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define. | |
2105 | ||
2106 | 2006-03-01 Daniel Berlin <dberlin@dberlin.org> | |
2107 | ||
2108 | Fix PR tree-optimization/26443 | |
2109 | * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage | |
2110 | to todo and PROP_tmt_usage to properties_destroyed. | |
2111 | * tree-ssa-ccp.c (pass_ccp): Ditto. | |
2112 | (pass_store_ccp): Ditto. | |
2113 | * tree-ssa-dom.c (pass_dominator): Ditto. | |
2114 | ||
2115 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> | |
2116 | ||
2117 | * tree-ssa-operands.c: Cleanup whitespace. | |
2118 | (get_asm_expr_operands): Move before first invocation. | |
2119 | (get_indirect_ref_operands): Likewise. | |
2120 | (get_tmr_operands): Likewise. | |
2121 | (get_call_expr_operands): Likewise. | |
2122 | (append_def): Likewise. | |
2123 | (append_use): Likewise. | |
2124 | (append_v_may_def): Likewise. | |
2125 | (append_v_must_def): Likewise. | |
2126 | (add_call_clobber_ops): Likewise. | |
2127 | (add_call_read_ops): Likewise. | |
2128 | (add_stmt_operand): Likewise. | |
2129 | (add_virtual_operand): Likewise. | |
2130 | (build_ssa_operands): Likewise. | |
2131 | ||
2132 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> | |
2133 | ||
2134 | PR middle-end/26022 | |
2135 | Revert: | |
2136 | PR middle-end/24437 | |
2137 | * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF | |
2138 | with a call expr to ... | |
2139 | * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. | |
2140 | ||
2141 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> | |
2142 | ||
2143 | * tree-vrp.c (extract_range_from_assert): Remove special | |
2144 | handling for types with super-types. | |
2145 | ||
2146 | 2006-03-01 Ben Elliston <bje@au.ibm.com> | |
2147 | ||
2148 | * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* | |
2149 | and powerpc64-*-linux* configurations. | |
2150 | * config/t-dfprules: New file. | |
2151 | ||
2152 | * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS. | |
2153 | Compile dfp-bit.c from the source directory using -DWIDTH and | |
2154 | $DFP_CFLAGS to control the compilation of that file, rather than | |
2155 | generating width-specific versions in the build directory. | |
2156 | * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS. | |
2157 | (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc]. | |
2158 | ||
2159 | 2006-02-28 Zack Weinberg <zackw@panix.com> | |
2160 | ||
2161 | * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7 | |
2162 | continues to work. | |
2163 | ||
2164 | 2006-02-28 Eric Christopher <echristo@apple.com> | |
2165 | ||
2166 | * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define. | |
2167 | Set up IN_LIBGCC definition of TARGET_64BIT. | |
2168 | * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define. | |
2169 | ||
2170 | 2006-02-28 Roger Sayle <roger@eyesopen.com> | |
2171 | ||
2172 | PR middle-end/14752 | |
2173 | * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR, | |
2174 | BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these | |
2175 | cases via the construction of "expr != 0". | |
2176 | ||
2177 | 2006-02-28 Steven Bosscher <stevenb.gcc@gmail.com> | |
2178 | ||
2179 | * alias.c (alias_invariant, alias_invariant_size): Remove. | |
2180 | (record_base_value): Remove. | |
2181 | (memrefs_conflict_p): Don't look at alias_invariant. | |
2182 | (end_alias_analysis): Don't free it. | |
2183 | * alias.h (record_base_value): Remove prototype. | |
2184 | ||
2185 | 2006-02-28 Paolo Bonzini <bonzini@gnu.org> | |
2186 | Adam Nemet <anemet@caviumnetworks.com> | |
2187 | ||
2188 | * rtl.h (truncated_to_mode): Declare it. | |
2189 | (struct rtl_hooks): Add reg_truncated_to_mode hook. | |
2190 | * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro. | |
2191 | (RTL_HOOKS_INITIALIZER): Include it. | |
2192 | * rtlhooks.c (reg_truncated_to_mode_general): New function. | |
2193 | * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to | |
2194 | reg_truncated_to_mode. | |
2195 | * rtlanal.c (truncated_to_mode): Define it. | |
2196 | * simplify-rtx.c (simplify_unary_operation_1): Use it. | |
2197 | ||
2198 | 2006-02-28 Jeff Law <law@redhat.com> | |
2199 | ||
2200 | * tree-chrec.c (chrec_convert_aggressive): Do not eliminate | |
2201 | conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover | |
2202 | the range allowed by TYPE_PRECISION. | |
2203 | ||
2204 | * tree.h (strct phi_arg_d): Remove unused NONZERO field. | |
2205 | ||
2206 | 2006-02-28 Dorit Nuzman <dorit@il.ibm.com> | |
2207 | ||
2208 | PR tree-optimization/26419 | |
2209 | * doc/invoke.texi (ftree-vectorizer-verbose): Add information on | |
2210 | values of n. | |
2211 | ||
2212 | 2006-02-27 Zack Weinberg <zackw@panix.com> | |
2213 | ||
2214 | * doc/md.texi: Fix typo in previous change. | |
2215 | ||
2216 | 2006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com> | |
2217 | ||
2218 | * df.c: Remove. | |
2219 | ||
2220 | 2006-02-27 Zack Weinberg <zackw@panix.com> | |
2221 | ||
2222 | * rtl.def (define_constraint, define_register_constraint) | |
2223 | (define_memory_constraint, define_address_constraint): New MD forms. | |
2224 | * gensupport.c (process_rtx): Put define_constraint etc on the | |
2225 | predicate queue. | |
2226 | * genpreds.c (process_define_predicate): Adjust comment. Validate | |
2227 | the name, and call validate_exp to validate the expression. | |
2228 | (mark_mode_tests, write_extract_subexp): Can assume correct input. | |
2229 | (write_predicate_expr): Likewise. NAME argument no longer necessary; | |
2230 | all callers changed. | |
2231 | (validate_exp, needs_variable, struct constraint_data) | |
2232 | (constraints_by_letter_table, first_constraint, last_constraint_ptr) | |
2233 | (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints) | |
2234 | (const_dbl_constraints, constraint_max_namelen) | |
2235 | (have_register_constraints, have_memory_constraints) | |
2236 | (have_address_constraints, have_address_constraints) | |
2237 | (have_extra_constraints, have_const_int_constraints) | |
2238 | (have_const_dbl_constraints, mangle, add_constraint) | |
2239 | (process_define_constraint, process_define_register_constraint) | |
2240 | (write_enum_constraint_num, write_lookup_constraint) | |
2241 | (write_insn_constraint_len, write_regclass_for_constraint) | |
2242 | (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint) | |
2243 | (write_insn_extra_memory_constraint) | |
2244 | (write_insn_extra_address_constraint) | |
2245 | (write_satisfies_constraint_fns): New. | |
2246 | (write_tm_preds_h): If we have new-style constraint definitions, | |
2247 | prototype the functions generated from them, and define the | |
2248 | old constraint interface (still used by generic code) in terms of | |
2249 | those functions. | |
2250 | (write_insn_preds_c): If we have new-style constraint definitions, | |
2251 | generate all relevant functions from those definitions. | |
2252 | (main): Handle define_constraint etc. | |
2253 | * genoutput.c (struct constraint_data, indep_constraints) | |
2254 | (mdep_constraint_letters, constraints_by_letter_table, note_constraint) | |
2255 | (mdep_constraint_len): New data structures and functions, defined | |
2256 | #ifdef USE_MD_CONSTRAINTS. | |
2257 | (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS. | |
2258 | (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined, | |
2259 | use new logic to validate operand constraints against constraint | |
2260 | definitions. | |
2261 | (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is | |
2262 | defined. | |
2263 | * defaults.h: If none of the old-style constraint macros are | |
2264 | defined, define USE_MD_CONSTRAINTS; do not provide defaults for any | |
2265 | old-style macros; and poison REG_CLASS_FROM_LETTER, | |
2266 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and | |
2267 | EXTRA_CONSTRAINT. | |
2268 | * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately. | |
2269 | * doc/md.texi: Document new constraint-definition mechanism and the | |
2270 | C interface it provides. Remove references to old mechanism | |
2271 | elsewhere in the document. | |
2272 | (Machine Constraints): Use pathnames relative to gcc directory, | |
2273 | i.e. config/ARCH/FILE. Change i386 section to refer to | |
2274 | config/i386/predicates.md; update that section to match docstrings. | |
2275 | * doc/tm.texi: Move all documentation of the old constraint- | |
2276 | definition macros to their own section, clearly mark as obsolete. | |
2277 | ||
2278 | * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t) | |
2279 | (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint | |
2280 | definitions. | |
2281 | * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P) | |
2282 | (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete. | |
2283 | * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from | |
2284 | constraint strings. | |
2285 | (splits and peepholes): Use satisfies_constraint_*. | |
2286 | * config/i386/i386.c (memory_address_length) | |
2287 | (ix86_attr_length_immediate_default): Use satisfies_constraint_*. | |
2288 | ||
2289 | 2006-02-27 Daniel Berlin <dberlin@dberlin.org> | |
2290 | ||
2291 | * lambda-code.c (can_convert_to_perfect_nest): Allow any type of | |
2292 | scalar operation to be put back into the loop. | |
2293 | ||
2294 | 2006-02-27 Jakub Jelinek <jakub@redhat.com> | |
2295 | ||
2296 | PR other/26208 | |
2297 | * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. | |
2298 | (extract_cie_info): Handle S flag in augmentation string. | |
2299 | (execute_cfa_program): If context->signal_frame, execute also | |
2300 | fs->pc == context->ra instructions. | |
2301 | (uw_frame_state_for): If context->signal_frame, don't subtract one | |
2302 | from context->ra to find FDE. | |
2303 | (uw_update_context_1): Set context->signal_frame to | |
2304 | fs->signal_frame. | |
2305 | (_Unwind_GetIPInfo): New function. | |
2306 | * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. | |
2307 | * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead | |
2308 | of _Unwind_GetIP. | |
2309 | * unwind-sjlj.c (_Unwind_GetIPInfo): New function. | |
2310 | * unwind-generic.h (_Unwind_GetIPInfo): New prototype. | |
2311 | * unwind-compat.c (_Unwind_GetIPInfo): New function. | |
2312 | * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. | |
2313 | * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. | |
2314 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. | |
2315 | * config/i386/linux-unwind.h (x86_fallback_frame_state, | |
2316 | x86_64_fallback_frame_state): Set fs->signal_frame. | |
2317 | * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. | |
2318 | (MD_FROB_UPDATE_CONTEXT): Define unconditionally. | |
2319 | (frob_update_context): Likewise. Workaround missing S flag in | |
2320 | Linux 2.6.12 - 2.6.16 kernel vDSOs. | |
2321 | * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. | |
2322 | Remove the psw_addr + 1 hack. | |
2323 | ||
2324 | 2006-02-27 Daniel Berlin <dberlin@dberlin.org> | |
2325 | ||
2326 | * tree-ssa-structalias.c (get_constraint_for): Move code to deal | |
2327 | with aggregates here. | |
2328 | (find_func_aliases): Remove code for &<aggregate> from here. | |
2329 | ||
2330 | 2006-02-26 Roger Sayle <roger@eyesopen.com> | |
2331 | ||
2332 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as | |
2333 | (X & C) ne/eq 0, where C is a single bit, i.e. a power of two. | |
2334 | Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0" | |
2335 | as (X & C) ne/eq 0. | |
2336 | ||
2337 | 2006-02-26 Roger Sayle <roger@eyesopen.com> | |
2338 | ||
2339 | PR middle-end/19983 | |
2340 | * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes. | |
2341 | ||
2342 | 2006-02-26 Zdenek Dvorak <dvorakz@suse.cz> | |
2343 | ||
2344 | * opts.c (decode_options): Do not handle flag_strength_reduce. | |
2345 | (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt | |
2346 | and OPT_fstrength_reduce. | |
2347 | * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test | |
2348 | flag_prefetch_loop_arrays for being nonzero. | |
2349 | * common.opt (floop-optimize, frerun-loop-opt): Resurrected as | |
2350 | no-ops. | |
2351 | (fprefetch-loop-arrays-rtl): Removed. | |
2352 | (flag_prefetch_loop_arrays): Do not specify the value. | |
2353 | ||
2354 | * doc/passes.texi: Update documentation of loop optimizer | |
2355 | passes. | |
2356 | * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl, | |
2357 | -frerun-loop-opt): Remove. | |
2358 | ||
2359 | 2006-02-26 Richard Guenther <rguenther@suse.de> | |
2360 | ||
2361 | PR tree-optimization/26421 | |
2362 | * tree-ssa-alias.c (find_used_portions): Don't treat parameters | |
2363 | in function calls that are ADDR_EXPRs as using the whole structure. | |
2364 | ||
2365 | 2006-02-26 Steven Bosscher <stevenb.gcc@gmail.com> | |
2366 | ||
2367 | * common.opt (-floop-optimize, -frerun-loop-opt): Remove. | |
2368 | * tree-pass.h (pass_loop_optimize): Remove. | |
2369 | * passes.c (pass_loop_optimize): Never run it. | |
2370 | * toplev.c (backend_init): Don't call init_loop. | |
2371 | * opts.c (flag_loop_optimize_set): Remove. | |
2372 | (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt. | |
2373 | (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable | |
2374 | the old RTL loop optimizer when profiling enabled. | |
2375 | * predict.c (tree_estimate_probability): Always strip builtin_expect. | |
2376 | * cfgcleanup.c (try_forward_edges): Don't avoid killing loop | |
2377 | pre-headers for the sake of the old RTL loop optimizer. | |
2378 | * Makefile.in: Remove all references to loop.o. | |
2379 | ||
2380 | * doc/invoke.texi: Remove all references to -floop-optimize | |
2381 | and -frerun-loop-opt. | |
2382 | ||
2383 | 2006-02-26 Zack Weinberg <zackw@panix.com> | |
2384 | ||
2385 | * doc/md.texi (Machine Constraints): Refer to all files with paths | |
2386 | relative to gcc directory (i.e. config/CPU/file). Add missing | |
2387 | @table @code ... @end table to M32C subsection. | |
2388 | ||
2389 | 2006-02-26 Roger Sayle <roger@eyesopen.com> | |
2390 | ||
2391 | * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as | |
2392 | (X & 1) == 0. | |
2393 | <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0. | |
2394 | ||
2395 | 2006-02-26 Roger Sayle <roger@eyesopen.com> | |
2396 | James A. Morrison <phython@gcc.gnu.org> | |
2397 | ||
2398 | PR middle-end/21137 | |
2399 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0, | |
2400 | when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the | |
2401 | new constant C2<<C1, or as (X<0) or (X,false) depending upon the | |
2402 | signedness of the shift operation. | |
2403 | ||
2404 | 2006-02-26 Dorit Nuzman <dorit@il.ibm.com> | |
2405 | ||
2406 | PR tree-optimization/26359 | |
2407 | * tree-ssa-alias.c (new_type_alias): Set fields for new tag. | |
2408 | ||
2409 | 2006-02-25 Roger Sayle <roger@eyesopen.com> | |
2410 | ||
2411 | * simplify-rtx.c (simplify_relational_operation_1): Simplify | |
2412 | (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y | |
2413 | as X == 0, and some symmetry related transformations. | |
2414 | Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line. | |
2415 | ||
2416 | 2006-02-25 Roger Sayle <roger@eyesopen.com> | |
2417 | ||
2418 | PR middle-end/23673 | |
2419 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y | |
2420 | and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some | |
2421 | symmetry related transformations. Fold (X^C1) == C2 as | |
2422 | X == (C1^C2). | |
2423 | ||
2424 | 2006-02-25 Juergen Weigert <jw@suse.de> | |
2425 | Richard Guenther <rguenther@suse.de> | |
2426 | ||
2427 | * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF. | |
2428 | ||
2429 | 2006-02-24 Adam Nemet <anemet@caviumnetworks.com> | |
2430 | ||
2431 | * combine.c (gen_lowpart_or_truncate): Call | |
2432 | simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE. | |
2433 | ||
2434 | 2006-02-24 Diego Novillo <dnovillo@redhat.com> | |
2435 | ||
2436 | * doc/invoke.texi: Move -fopenmp description to "Options for | |
2437 | Code Generation". | |
2438 | Remove reference to -lgomp. | |
2439 | ||
2440 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> | |
2441 | ||
2442 | * doc/install.texi: Require GNU tar version 1.14. | |
2443 | ||
2444 | 2006-02-24 Geoffrey Keating <geoffk@apple.com> | |
2445 | ||
2446 | * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS. | |
2447 | * doc/invoke.texi (C++ Dialect Options): Document | |
2448 | -fno-use-cxa-get-exception-ptr. | |
2449 | * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1. | |
2450 | * configure: Regenerate. | |
2451 | * c.opt (fuse-cxa-get-exception-ptr): New. | |
2452 | * c-opts.c (c_common_handle_option): Handle | |
2453 | OPT_fuse_cxa_get_exception_ptr. | |
2454 | * c-common.c (flag_use_cxa_atexit): Update documentation. | |
2455 | (flag_use_cxa_get_exception_ptr): New. | |
2456 | * c-common.h (flag_use_cxa_get_exception_ptr): New. | |
2457 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve | |
2458 | documentation. | |
2459 | (C_COMMON_OVERRIDE_OPTIONS): New. | |
2460 | ||
2461 | 2006-02-24 Roger Sayle <roger@eyesopen.com> | |
2462 | ||
2463 | PR middle-end/24952 | |
2464 | * combine.c (try_combine): Explicitly check whether GET_CODE is | |
2465 | a SET or a CLOBBER, instead on checking that it isn't a USE. | |
2466 | ||
2467 | 2006-02-24 Roger Sayle <roger@eyesopen.com> | |
2468 | ||
2469 | * fold-const.c (fold_comparison): New subroutine of fold_binary | |
2470 | containing transformations common to both the equality and | |
2471 | ordering relational operators, factored out of fold_binary. | |
2472 | (fold_binary): Separate out the equality operators (EQ_EXPR | |
2473 | and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR, | |
2474 | LE_EXPR and GE_EXPR), calling fold_comparison to perform the | |
2475 | transformations common to both. | |
2476 | (fold_div_compare): Fix latent bugs in the previously unreachable | |
2477 | LT_EXPR and GE_EXPR cases. | |
2478 | ||
2479 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> | |
2480 | ||
2481 | * config/rs6000/rs6000.c (rs6000_init_builtins): Change | |
2482 | decl libname for clog to __clog on AIX. | |
2483 | ||
2484 | * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define. | |
2485 | ||
2486 | 2006-02-24 Alan Modra <amodra@bigpond.net.au> | |
2487 | ||
2488 | PR target/26453 | |
2489 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't | |
2490 | output traceback table for thunks. Localise rs6000_stack_info call. | |
2491 | ||
2492 | 2006-02-23 Roger Sayle <roger@eyesopen.com> | |
2493 | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
2494 | ||
2495 | * gthr-posix.h (__gthrw): Fix typo in comment. | |
2496 | ||
2497 | 2006-02-23 Geoffrey Keating <geoffk@apple.com> | |
2498 | ||
2499 | * doc/cpp.texi (Character sets): Document that we do support | |
2500 | input files to be in any character set. | |
2501 | ||
2502 | 2006-02-23 Jeff Law <law@redhat.com> | |
2503 | ||
2504 | * tree.h (PHI_ARG_NONZERO): Remove. | |
2505 | * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO. | |
2506 | (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old | |
2507 | node to the new node. | |
2508 | ||
2509 | PR tree-optimization/26425 | |
2510 | * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL | |
2511 | min/max, then assume its varying. | |
2512 | ||
2513 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> | |
2514 | ||
2515 | PR rtl-optimization/26316 | |
2516 | * rtlanal.c (enum may_trap_p_flags): New. | |
2517 | (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore | |
2518 | MEM_NOTRAP_P if flags & MTP_AFTER_MOVE. | |
2519 | (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1. | |
2520 | (may_trap_after_code_motion_p): New function. | |
2521 | * loop-invariant.c (find_identical_invariants): Fix dump formating. | |
2522 | (find_invariant_insn): Use may_trap_after_code_motion_p. | |
2523 | * rtl.h (may_trap_after_code_motion_p): Declare. | |
2524 | ||
2525 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> | |
2526 | ||
2527 | * emit-rtl.c (immed_double_const): Cleanup. | |
2528 | ||
2529 | 2006-02-23 Daniel Berlin <dberlin@dberlin.org> | |
2530 | ||
2531 | Fix PR tree-optimization/26376 | |
2532 | * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree, | |
2533 | remove assert. | |
2534 | ||
2535 | 2006-02-23 Jakub Jelinek <jakub@redhat.com> | |
2536 | ||
2537 | PR middle-end/26412 | |
2538 | * gimplify.c (omp_add_variable): Guard variable size decl test with | |
2539 | DECL_SIZE (decl) check. | |
2540 | ||
2541 | 2006-02-23 Richard Guenther <rguenther@suse.de> | |
2542 | ||
2543 | PR middle-end/26439 | |
2544 | * tree-ssa-structalias.c (find_func_aliases): Handle complex types | |
2545 | like aggregate types. | |
2546 | ||
2547 | 2006-02-23 Jakub Jelinek <jakub@redhat.com> | |
2548 | ||
2549 | * configure.ac: Add --with{,out}-long-double-128 configure option. | |
2550 | (TARGET_DEFAULT_LONG_DOUBLE_128): New test. | |
2551 | * configure: Rebuilt. | |
2552 | * config.in: Rebuilt. | |
2553 | * doc/install.texi (Options specification): Document | |
2554 | --with-long-double-128. | |
2555 | ||
2556 | * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128] | |
2557 | (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. | |
2558 | * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128] | |
2559 | (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. | |
2560 | ||
2561 | 2006-02-23 Aldy Hernandez <aldyh@redhat.com> | |
2562 | ||
2563 | * config/s390/s390.c (override_options): Handle | |
2564 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
2565 | ||
2566 | * config/alpha/alpha.c (override_options): Handle | |
2567 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
2568 | ||
2569 | * config/sparc/sparc.c (sparc_override_options): Handle | |
2570 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
2571 | ||
2572 | 2006-02-22 Daniel Jacobowitz <dan@codesourcery.com> | |
2573 | ||
2574 | * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR). | |
2575 | (real-install-headers-tar, real-install-headers-cpio) | |
2576 | (real-install-headers-cp): New targets. | |
2577 | ||
2578 | 2006-02-22 Richard Sandiford <richard@codesourcery.com> | |
2579 | ||
2580 | * tree.h (variable_section): Delete. | |
2581 | * varasm.c (variable_section): Delete. | |
2582 | ||
2583 | 2006-02-22 Paolo Bonzini <bonzini@gnu.org> | |
2584 | ||
2585 | * install.texi: Add notes on install.texi2html. | |
2586 | (Building in parallel): Do not use footnotes. | |
2587 | ||
2588 | 2006-02-21 Aldy Hernandez <aldyh@redhat.com> | |
2589 | ||
2590 | PR libgomp/26234 | |
2591 | * doc/install.texi (Configuration): Document --disable-libgomp. | |
2592 | ||
2593 | 2006-02-21 Geoffrey Keating <geoffk@apple.com> | |
2594 | ||
2595 | * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New. | |
2596 | ||
2597 | 2006-02-21 Alexandre Oliva <aoliva@redhat.com> | |
2598 | ||
2599 | * config/i386/sse.md (vec_extractv2df_1_sse): New. | |
2600 | (vec_extractv2df_0_sse): New. | |
2601 | ||
2602 | 2006-02-21 Alexandre Oliva <aoliva@redhat.com> | |
2603 | ||
2604 | * defaults.h (CFA_FRAME_BASE_OFFSET): Define. | |
2605 | * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override. | |
2606 | * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document. | |
2607 | * dwarf2out.c (build_cfa_loc): New offset parameter. Add it | |
2608 | to the result of the expression. | |
2609 | (def_cfa_1): Adjust. | |
2610 | (frame_pointer_cfa_offset): Rename to... | |
2611 | (frame_pointer_fb_offset): ... this. Adjust all uses. | |
2612 | (convert_cfa_to_loc_list): Rename to... | |
2613 | (convert_cfa_to_fb_loc_list): ... this. New offset parameter. | |
2614 | Pass it on to build_cfa_loc. | |
2615 | (compute_frame_pointer_to_cfa_displacement): Rename to... | |
2616 | (compute_frame_pointer_to_fb_displacement): ... this. New | |
2617 | offset parameter. Use it in computation. | |
2618 | (gen_subprogram_die): Compute cfa_fb_offset with the new | |
2619 | macro, and use it to compute the fb loc list and the | |
2620 | displacement. | |
2621 | ||
2622 | 2006-02-21 Bernd Schmidt <bernd.schmidt@analog.com> | |
2623 | ||
2624 | * config/bfin/predicates.md (cc_operand): Delete predicate. All uses | |
2625 | replaced with register_operand. | |
2626 | * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any | |
2627 | non-DREG is expensive. | |
2628 | * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed. | |
2629 | * config/bfin/bfin.md (movbi): Fix constraints and template for moves | |
2630 | involving memory. | |
2631 | ||
2632 | 2006-02-21 Joseph S. Myers <joseph@codesourcery.com> | |
2633 | ||
2634 | * doc/install.texi2html: Use set -e. | |
2635 | ||
2636 | 2006-02-21 Richard Sandiford <richard@codesourcery.com> | |
2637 | ||
2638 | * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) | |
2639 | (ASM_OUTPUT_SHARED_LOCAL): Delete. | |
2640 | * doc/invoke.texi (-fshared-data): Delete. | |
2641 | * common.opt (fshared-data): Delete. | |
2642 | * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling. | |
2643 | (assemble_static_space): Remove #if 0 code. | |
2644 | * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) | |
2645 | (ASM_OUTPUT_SHARED_LOCAL): Poison. | |
2646 | * config/cris/cris.h: Remove FIXME. | |
2647 | ||
2648 | 2006-02-21 Paolo Bonzini <bonzini@gnu.org> | |
2649 | ||
2650 | * doc/sourcebuild.texi (Front End Directory): No more double-colon | |
2651 | hooks. | |
2652 | ||
2653 | 2006-02-21 Jakub Jelinek <jakub@redhat.com> | |
2654 | ||
2655 | PR middle-end/26379 | |
2656 | * combine.c (simplify_shift_const_1): Disable nested shifts | |
2657 | optimization for vector shifts. | |
2658 | ||
2659 | 2006-02-20 Roger Sayle <roger@eyesopen.com> | |
2660 | ||
2661 | PR tree-optimization/26361 | |
2662 | * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR | |
2663 | of unsigned integer types. | |
2664 | ||
2665 | 2006-02-20 Sebastian Pop <pop@cri.ensmp.fr> | |
2666 | ||
2667 | * tree-chrec.c (eq_evolutions_p): New. | |
2668 | * tree-chrec.h (eq_evolutions_p): Declared. | |
2669 | * tree-data-ref.c: Fix formatting. | |
2670 | (datadep_stats, dependence_stats): New. | |
2671 | (gcd): Moved... | |
2672 | (print_direction_vector): New. | |
2673 | (dump_data_dependence_relation): Use print_direction_vector. | |
2674 | (object_analysis, create_data_ref): Handle COMPONENT_REF. | |
2675 | (compute_subscript_distance): Static. | |
2676 | (initialize_data_dependence_relation): Static. Get the number | |
2677 | of loops surrounding the references from the callers, and initialize | |
2678 | DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and | |
2679 | base_object_differ_p analyzers. | |
2680 | (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, | |
2681 | compute_overlap_steps_for_affine_1_2, | |
2682 | analyze_subscript_affine_affine): Count the classified dependences. | |
2683 | Print a message when a test failed. | |
2684 | (can_use_analyze_subscript_affine_affine): New. | |
2685 | (analyze_siv_subscript): Compute the data dependences on symbolic | |
2686 | scevs that verify can_use_analyze_subscript_affine_affine. | |
2687 | (chrec_steps_divide_constant_p): Returns true, false, or unknown. | |
2688 | (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p. | |
2689 | Handle symbolic scevs. | |
2690 | (analyze_overlapping_iterations): Let symbolic affine scevs to be | |
2691 | analyzed. | |
2692 | (subscript_dependence_tester): Moved... | |
2693 | (build_classic_dist_vector, build_classic_dir_vector): Don't use | |
2694 | lambda_vector_clear on newly allocated vectors. Get nb_loops from | |
2695 | DDR_SIZE_VECT instead of getting it in parameter. | |
2696 | (subscript_dependence_tester): ... here. Take as a parameter | |
2697 | loop_nest_depth. Call build_classic_dist_vector and | |
2698 | build_classic_dir_vector. | |
2699 | (compute_affine_dependence): Update subscript_dependence_tester | |
2700 | parameters. Update datadep_stats counters. Call | |
2701 | compute_subscript_distance. | |
2702 | (compute_self_dependence): Save the dist and dir vectors. Call | |
2703 | compute_subscript_distance. | |
2704 | (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved... | |
2705 | (compute_all_dependences): Reorder parameters as they were before | |
2706 | conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call | |
2707 | compute_subscript_distance. Update the use of | |
2708 | compute_affine_dependence and initialize_data_dependence_relation. | |
2709 | (find_data_references_in_loop): Handle COMPONENT_REF. | |
2710 | (compute_data_dependences_for_loop): Initialize dependence_stats. | |
2711 | Don't call build_classic_dist_vector and build_classic_dir_vector. | |
2712 | Update the parameters of initialize_data_dependence_relation and | |
2713 | compute_all_dependences. Print the statistics from datadep_stats. | |
2714 | (analyze_all_data_dependences): Static. Not used until the pass for | |
2715 | checking the data dependences is contributed. | |
2716 | * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p), | |
2717 | DEF_VEC_ALLOC_P(ddr_p,heap)): ... here. | |
2718 | (initialize_data_dependence_relation, compute_affine_dependence, | |
2719 | analyze_all_data_dependences, compute_subscript_distance): Removed. | |
2720 | (print_direction_vector): New. | |
2721 | * lambda.h (gcd): ... here. | |
2722 | (lambda_vector_gcd): Moved here from gcd_vector. | |
2723 | * lambda-code.c (gcd, gcd_vector): Removed. | |
2724 | (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting. | |
2725 | * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H. | |
2726 | ||
2727 | 2006-02-20 Diego Novillo <dnovillo@redhat.com> | |
2728 | ||
2729 | * ipa-type-escape.c: Tidy some comments and white space. | |
2730 | * tree-ssa-operands.c: Likewise. | |
2731 | ||
2732 | 2006-02-20 Andrew Pinski <pinskia@physics.uc.edu> | |
2733 | ||
2734 | PR tree-opt/25879 | |
2735 | * tree-pretty-print.c (debug_tree_chain): Walk the chains. | |
2736 | (dump_decl_name): Do not walk the decl tree chains. | |
2737 | * tree-pass.h (TDF_CHAIN): Remove. | |
2738 | ||
2739 |