]>
Commit | Line | Data |
---|---|---|
7a91101f | 1 | 2007-05-16 Rafael Avila de Espindola <espindola@google.com> |
2 | ||
3 | * c-common.c (c_common_signed_or_unsigned_type): Emulate | |
4 | c_common_unsigned_type behavior. | |
5 | ||
9798961f | 6 | 2007-05-16 Paolo Bonzini <bonzini@gnu.org> |
7 | ||
8 | * config/i386/i386.c (legitimize_tls_address): Mark __tls_get_addr | |
9 | calls as pure. | |
10 | ||
9602d040 | 11 | 2007-05-16 Eric Christopher <echristo@apple.com> |
12 | ||
13 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register | |
14 | saving after stack push. Set sp_offset whenever we push. | |
15 | (rs6000_emit_epilogue): Move altivec register restore before stack push. | |
16 | ||
35ab6286 | 17 | 2007-05-16 Richard Sandiford <richard@codesourcery.com> |
18 | ||
19 | * configure.ac: Allow sysroots to be relocated under $prefix as | |
20 | well as $exec_prefix. | |
21 | * configure: Regenerate. | |
22 | ||
e83194ca | 23 | 2007-05-16 Richard Sandiford <richard@codesourcery.com> |
24 | ||
25 | Revert: | |
26 | ||
27 | 2007-05-12 Richard Sandiford <richard@codesourcery.com> | |
28 | ||
29 | * configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix). | |
30 | (gcc_tooldir): Likewise. | |
31 | * configure: Regenerate. | |
32 | * Makefile.in (libsubdir_to_prefix): New variable, based on the | |
33 | old configure.ac gcc_tooldir setting. | |
34 | (prefix_to_exec_prefix): New variable. | |
35 | (DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix) | |
36 | rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX. | |
37 | ||
441df341 | 38 | 2007-05-14 Janis Johnson <janis187@us.ibm.com> |
39 | ||
40 | * c-typeck.c (build_binary_op): Return early for error. | |
41 | ||
ccae4f9f | 42 | 2007-05-15 Zdenek Dvorak <dvorakz@suse.cz> |
43 | ||
44 | * tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate | |
45 | struct nb_iter_bound. | |
46 | (free_numbers_of_iterations_estimates_loop): Use ggc_free. | |
47 | * gengtype.c (open_base_files): Add cfhloop.h to the list of includes. | |
48 | * cfgloopmanip.c (place_new_loop): Vector larray is gc-allocated. | |
49 | * tree-scalar-evolution.c: Include gt-tree-scalar-evolution.h. | |
50 | (struct scev_info_str, scalar_evolution_info): Add GTY markers. | |
51 | (new_scev_info_str): Use GGC_NEW to allocate struct scev_info_str. | |
52 | (del_scev_info): Use ggc_free. | |
53 | (scev_initialize): Allocate scalar_evolution_info in gc memory. | |
54 | * loop-init.c: Include ggc.h. | |
55 | (loop_optimizer_init): Use GGC_CNEW to allocate struct loops. | |
56 | (loop_optimizer_finalize): Use ggc_free. | |
57 | * tree-ssa-loop.c (pass_tree_unswitch, pass_vectorize, | |
58 | pass_linear_transfom, pass_empty_loop, pass_complete_unroll, | |
59 | pass_iv_optimize): Add TODO_ggc_collect. | |
60 | * function.h (struct function): Remove skip marker from x_current_loops. | |
61 | * cfgloop.c: Include ggc.h. | |
62 | (flow_loops_free, flow_loop_free): Free the loop descriptions in gc | |
63 | memory. | |
64 | (establish_preds): Vector superloops is gc allocated. | |
65 | (alloc_loop): Allocate loop using GGC_CNEW. Allocate head of | |
66 | loop->exits list. | |
67 | (flow_loops_find): Vector larray is gc allocated. | |
68 | (loop_exit_free): Use ggc_free. | |
69 | (rescan_loop_exit): Use GGC_NEW to allocate struct loop_exit. Reflect | |
70 | that head of exits list is now not a part of struct loop. | |
71 | (record_loop_exits): Allocate exits table in gc memory. | |
72 | (get_loop_exit_edges, verify_loop_structure, single_exit): Reflect that | |
73 | head of exits list is now not a part of struct loop. | |
74 | * cfgloop.h (struct lpt_decision, struct nb_iter_bound, | |
75 | struct loop_exit): Add GTY marker. | |
76 | (struct loop): Add GTY marker. Make superloops vector gc allocated. | |
77 | Add skip marker to aux field. Make head of exits list a separate | |
78 | object. | |
79 | (struct loops): Add GTY marker. Make larray vector gc allocated. | |
80 | Add param marker to exits table. | |
81 | (get_loops): Type changed. | |
82 | * Makefile.in (tree-scalar-evolution.o): Add gt-tree-scalar-evolution.h | |
83 | dependency. | |
84 | (cfgloop.o, loop-init.o): Add ggc.h dependency. | |
85 | (GTFILES): Add cfgloop.h and tree-scalar-evolution.c. | |
86 | * basic-block.h (struct basic_block_def): Remove skip marker from | |
87 | loop_father field. | |
88 | ||
1db6d067 | 89 | 2007-05-14 Uros Bizjak <ubizjak@gmail.com> |
90 | ||
91 | * builtins.c (expand_builtin_mathfn): Use EXPAND_NORMAL instead | |
92 | of 0 in the call to expand_expr(). | |
93 | (expand_builtin_mathfn_3): Ditto. | |
94 | (expand_builtin_interclass_mathfn): Ditto. | |
95 | (expand_builtin_cexpi): Ditto. | |
96 | (expand_builtin_int_roundingfn): Ditto. | |
97 | (expand_builtin_int_roundingfn_2): Ditto. | |
98 | (expand_builtin_pow): Ditto. | |
99 | (expand_builtin_powi): Ditto. | |
100 | (expand_builtin_bswap): Ditto. | |
101 | (expand_builtin_unop): Ditto. | |
102 | (expand_builtin_fabs): Ditto. | |
103 | (get_builtin_sync_mem): Use NULL_RTX instead of NULL in | |
104 | the call to expand_expr(). | |
105 | (expand_builtin_sync_operation): Ditto. | |
106 | (expand_builtin_compare_and_swap): Ditto. | |
107 | (expand_builtin_lock_test_and_set): Ditto. | |
108 | * except.c (expand_builtin_eh_return_data_regno): Use EXPAND_NORMAL | |
109 | instead of 0 in the call to expand_expr(). | |
110 | (expand_builtin_extract_return_addr): Ditto. | |
111 | (expand_builtin_eh_return): Ditto. | |
112 | (expand_eh_return): Ditto. | |
113 | * explow.c (expr_size): Ditto. | |
114 | * expr.c (optimize_bitfield_assignment_op): Ditto. | |
115 | (expand_assignement): Ditto. | |
116 | (store_expr): Ditto. | |
117 | (store_field): Ditto. | |
118 | (expand_expr_addr_expr_1): Use NULL_RTX instead of NULL in | |
119 | the call to expand_expr(). | |
120 | (expand_expr_real_1) [COMPLEX_CST]: Use EXPAND_NORMAL instead of 0 | |
121 | in the call to expand_expr(). | |
122 | [CONSTRUCTOR, PLUS_EXPR, MINUS_EXPR, NEGATE_EXPR, ABS_EXPR, | |
123 | BIT_NOT_EXPR, LSHIFT_EXPR, LT_EXPR, TRUTH_NOT_EXPR]: Ditto. | |
124 | [VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO]: Use expand_normal() instead | |
125 | of expand_expr(). | |
126 | * optabs.c (expand_vec_shift_expr): Ditto. | |
127 | (expand_vec_cond_expr): Ditto. | |
128 | (vector_compare_rtx): Use EXPAND_STACK_PARM instead of 1 in the | |
129 | call to expand_expr(). | |
130 | * stmt.c (expand_return): Use EXPAND_NORMAL instead of 0 | |
131 | in the call to expand_expr(). | |
132 | ||
36211c58 | 133 | 2007-05-14 Dave Korn <dave.korn@artimi.com> |
134 | ||
135 | * genautomata.c (gen_regexp_el): Allocate correct size for regexp. | |
136 | ||
71eea85c | 137 | 2007-05-14 Rafael Avila de Espindola <espindola@google.com> |
138 | ||
139 | * c-common.c (warnings_for_convert_and_check): Use unsigned_type_for | |
140 | instead of c_common_unsigned_type. | |
141 | (c_common_unsigned_type): Remove. | |
142 | (shorten_compare): Use c_common_signed_or_unsigned_type instead of | |
143 | c_common_unsigned_type. | |
144 | (c_common_nodes_and_builtins): Use unsigned_type_for instead of | |
145 | c_common_unsigned_type. | |
146 | * c-common.h (c_common_unsigned_type): Remove. | |
147 | * c-decl.c (grokdeclarator): Use unsigned_type_for instead of | |
148 | c_common_unsigned_type. | |
149 | * c-format.c (check_format_types): Use unsigned_type_for instead of | |
150 | c_common_unsigned_type. | |
151 | * c-objc-common.h (LANG_HOOKS_UNSIGNED_TYPE): Remove. | |
152 | * c-typeck.c (convert_for_assignment): Use unsigned_type_for instead of | |
153 | c_common_unsigned_type. | |
154 | * convert.c (convert_to_integer): Use unsigned_type_for instead of | |
155 | lang_hooks.types.unsigned_type. | |
156 | * expmed.c (make_tree): Use unsigned_type_for instead of | |
157 | lang_hooks.types.unsigned_type. | |
158 | * fold-const.c (fold_negate_expr): Use unsigned_type_for instead of | |
159 | lang_hooks.types.unsigned_type. | |
160 | (build_range_check): Likewise. | |
161 | (fold_unary): Likewise. | |
162 | (fold_binary): Likewise. | |
163 | (fold_ternary): Likewise. | |
164 | * langhooks-def.h (LANG_HOOKS_UNSIGNED_TYPE): Remove. | |
165 | * langhooks.h (lang_hooks_for_types): Remove unsigned_type. | |
166 | * tree.c (get_unsigned_type): New. | |
167 | (unsigned_type_for): Use get_unsigned_type instead of | |
168 | lang_hooks.types.unsigned_type. | |
169 | ||
f9a44575 | 170 | 2007-05-14 Kazu Hirata <kazu@codesourcery.com> |
171 | ||
172 | * config/m68k/m68k-protos.h: Rename m68k_interrupt_function_p | |
173 | to m68k_get_function_kind. Update its prototype. | |
174 | * config/m68k/m68k.c (m68k_attribute_table): Add an entry for | |
175 | interrupt_thread. | |
176 | (m68k_interrupt_function_p): Return enum m68k_function_type | |
177 | instead of bool. Rename to m68k_get_function_kind. | |
178 | (m68k_handle_fndecl_attribute): Reject interrupt_thread if the | |
179 | target is not fido. | |
180 | (m68k_compute_frame_layout): Don't mark any register for save | |
181 | if an interrupt_thread attribute is specified. | |
182 | (m68k_hard_regno_rename_ok): Update a use of | |
183 | m68k_interrupt_function_p. | |
184 | * config/m68k/m68k.h (EPILOGUE_USES): Update a use of | |
185 | m68k_interrupt_function_p. | |
186 | (m68k_function_type): New. | |
187 | * config/m68k/m68k.md (*return): Output a 'sleep' instruction | |
188 | for a function with an interrupt_thread attribute. | |
189 | * doc/extend.texi: Document the interrupt_thread attribute. | |
190 | ||
d3cd5752 | 191 | 2007-05-13 Daniel Berlin <dberlin@dberlin.org> |
192 | ||
193 | Fix PR tree-optimization/31911 | |
194 | * tree-ssa-pre.c (phi_translate): Make sure to cache results even | |
195 | if they didn't change the expression. | |
196 | ||
80bb306a | 197 | 2007-05-13 Zdenek Dvorak <dvorakz@suse.cz> |
198 | ||
199 | * tree-scalar-evolution.c (resolve_mixers): Exported. | |
200 | * tree-scalar-evolution.h (resolve_mixers): Declare. | |
201 | * tree-data-ref.c (object_analysis, ptr_decl_may_alias_p, | |
202 | ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p, | |
203 | record_record_differ_p, record_array_differ_p, array_ptr_differ_p, | |
204 | base_object_differ_p, base_addr_differ_p, analyze_array_indexes, | |
205 | init_array_ref, init_pointer_ref, analyze_indirect_ref, | |
206 | strip_conversion, analyze_offset_expr, address_analysis, | |
207 | object_analysis, analyze_offset): Removed. | |
208 | (dr_analyze_innermost, dr_analyze_indices, dr_analyze_alias, | |
209 | split_constant_offset, canonicalize_base_object_address, | |
210 | object_address_invariant_in_loop_p, disjoint_objects_p, | |
211 | dr_may_alias_p, dr_address_invariant_p): New functions. | |
212 | (create_data_ref): Use dr_analyze_innermost, dr_analyze_indices | |
213 | and dr_analyze_alias. | |
214 | (initialize_data_dependence_relation): Use dr_may_alias_p | |
215 | and object_address_invariant_in_loop_p. | |
216 | (compute_self_dependence): Handle the case when DDR_ARE_DEPENDENT (ddr) | |
217 | is chrec_dont_know. | |
218 | (find_data_references_in_stmt): Restrict the analysis of data references | |
219 | to the given loop nest. | |
220 | (find_data_references_in_loop): Made static. Pass loop nest to | |
221 | find_data_references_in_stmt. | |
222 | (compute_data_dependences_for_loop): Use DR_VOPS. | |
223 | (free_data_ref): Free DR_VOPS. | |
224 | * tree-data-ref.h (struct first_location_in_loop): Replaced by ... | |
225 | (struct innermost_loop_behavior): ... new. | |
226 | (struct base_object_info): Replaced by ... | |
227 | (struct indices): ... new. | |
228 | (struct dr_alias): New. | |
229 | (enum data_ref_type): Removed. | |
230 | (struct data_reference): Consist of struct innermost_loop_behavior, | |
231 | struct indices and struct dr_alias. | |
232 | (DR_SET_ACCESS_FNS, DR_FREE_ACCESS_FNS): Removed. | |
233 | (DR_MEMTAG): Renamed to ... | |
234 | (DR_SYMBOL_TAG): ... this. | |
235 | (find_data_references_in_loop): Declaration removed. | |
236 | * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use DR_INIT | |
237 | instead of DR_OFFSET_MISALIGNMENT. DR_ALIGNED_TO is never NULL. | |
238 | (vect_analyze_data_refs): Use DR_SYMBOL_TAG instead of DR_MEMTAG. | |
239 | * tree-vect-transform.c (vect_create_data_ref_ptr): Ditto. | |
240 | ||
2bf1fefd | 241 | 2007-05-13 Revital Eres <eres@il.ibm.com> |
242 | ||
243 | * tree-ssa-dse.c (get_use_of_stmt_lhs): New function | |
244 | which walks virtual def-use chains to find redundant stores. | |
245 | (dse_optimize_stmt): Call it. | |
246 | ||
ec028b54 | 247 | 2007-05-12 Steven Bosscher <steven@gcc.gnu.org> |
248 | ||
249 | * gcse.c (gcse_main): Do jump bypassing in CPROP2. | |
250 | * passes.c (init_optimization_passes): Move pass_jump_bypass | |
251 | after loop2. | |
252 | ||
253 | * basic-block.h (bb_has_eh_pred): Fix style issue. | |
254 | ||
bc25a2ee | 255 | 2007-05-12 Steven Bosscher <steven@gcc.gnu.org> |
256 | ||
257 | PR rtl-optimization/31848 | |
258 | * loop-invariant.c (move_invariant_reg): If we move an insn | |
259 | with a REG_EQUAL note, and that insn is not always executed, | |
260 | remove the REG_EQUAL note. | |
261 | ||
a540e2fe | 262 | 2007-05-12 Richard Guenther <rguenther@suse.de> |
263 | ||
264 | PR tree-optimization/31797 | |
265 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not | |
266 | propagate into a stmt that has volatile ops. | |
267 | ||
88a3dcb7 | 268 | 2007-05-12 Richard Sandiford <richard@codesourcery.com> |
269 | ||
270 | * configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix). | |
271 | (gcc_tooldir): Likewise. | |
272 | * configure: Regenerate. | |
273 | * Makefile.in (libsubdir_to_prefix): New variable, based on the | |
274 | old configure.ac gcc_tooldir setting. | |
275 | (prefix_to_exec_prefix): New variable. | |
276 | (DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix) | |
277 | rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX. | |
278 | ||
e6fa0ea6 | 279 | 2007-05-11 Silvius Rus <rus@google.com> |
280 | ||
281 | * Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o. | |
282 | * c-common.c (strict_aliasing_warning): Modify -Wstrict-aliasing logic. | |
283 | * c-common.h (strict_aliasing_warning): Change return type. | |
284 | * c-opts.c (c_common_handle_option): Add call to set_Wstrict_aliasing. | |
285 | * c-typeck.c (build_indirect_ref): Add call to strict_aliasing_warning. | |
286 | (build_c_cast): Condition call to strict_aliasing_warning. | |
287 | * doc/invoke.texi: Update description of -Wstrict-aliasing[=n]. | |
288 | * flags.h (set_Wstrict_aliasing): Declare. | |
289 | * opts.c (set_Wstrict_alising): Define, add call to. | |
290 | * tree-flow.h (strict_aliasing_warning_backend): Declare. | |
291 | * tree-ssa-alias-warnings.c: New file. | |
292 | * tree-ssa-alias.c (compute_may_aliases): Add call to | |
9602d040 | 293 | strict_aliasing_warning_backend. |
e6fa0ea6 | 294 | |
9e3536f4 | 295 | 2007-05-11 Zdenek Dvorak <dvorakz@suse.cz> |
296 | ||
297 | * tree-loop-linear.c (gather_interchange_stats, try_interchange_loops): | |
298 | Use loop_depth and loop_outer accessor functions. | |
299 | * tree-ssa-loop-im.c (outermost_invariant_loop, set_level, | |
300 | determine_invariantness_stmt, move_computations_stmt): Ditto. | |
301 | * cfgloopmanip.c (fix_bb_placement, fix_loop_placement, remove_path, | |
302 | add_loop, loopify, unloop, fix_loop_structure): Ditto. | |
303 | * tree-ssa-loop-manip.c (find_uses_to_rename_use): Ditto. | |
304 | * tree-scalar-evolution.c (interpret_loop_phi, | |
305 | compute_scalar_evolution_in_loop, analyze_scalar_evolution_in_loop, | |
306 | instantiate_parameters_1, scev_const_prop): Ditto. | |
307 | * cfghooks.c (make_forwarder_block): Ditto. | |
308 | * cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto. | |
309 | * modulo-sched.c (loop_canon_p): Ditto. | |
310 | * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg, | |
311 | slpeel_can_duplicate_loop_p): Ditto. | |
312 | * lambda-code.c (invariant_in_loop_and_outer_loops): Ditto. | |
313 | * tree-cfg.c (tree_duplicate_sese_region): Ditto. | |
314 | * cfgloop.c (flow_loop_dump, flow_loop_nodes_find, rescan_loop_exit, | |
315 | cancel_loop, verify_loop_structure): Ditto. | |
316 | (flow_loop_nested_p, superloop_at_depth, flow_loop_free, | |
317 | add_bb_to_loop, remove_bb_from_loops, find_common_loop): Use the | |
318 | superloops vector instead of "pred" array. | |
319 | (establish_preds): Take father loop as an argument. Initialize the | |
320 | superloops vector. | |
321 | (flow_loop_tree_node_add): Pass father loop to establish_preds. Do not | |
322 | initialize loop->outer. | |
323 | (flow_loop_tree_node_remove): Truncate the superloops vector. | |
324 | * cfgloop.h (struct loop): Removed field "outer", fields "depth" and | |
325 | "pred" merged to "superloops" vector. | |
326 | (loop_depth, loop_outer): New. | |
327 | (fel_init): Use loop_outer. | |
328 | ||
a861fe52 | 329 | 2007-05-11 Jan Hubicka <jh@suse.cz> |
330 | ||
331 | * cgraphunit.c: Include gt-cgraphunit.h | |
332 | (static_ctors, static_dtors): New static vars. | |
333 | (record_cdtor_fn, build_cdtor, cgraph_build_cdtor_fns): New functions, | |
334 | based on implementation in c-common.c | |
335 | (cgraph_finalize_function): Call record_cdtor_fn. | |
336 | (cgraph_optimize): Call cgraph_build_cdtor_fns. | |
337 | * decl.c (finish_function): Do not call c_record_cdtor_fn. | |
338 | (c_write_global_declarations): Do not call c_build_cdtor_fns. | |
339 | * c-common.c (static_ctors, static_dtors, c_record_cdtor_fn, | |
340 | build_cdtor, c_build_cdtor_fns): Remove. | |
341 | * c-common.h (static_ctors, static_dtors, c_record_cdtor_fn, | |
342 | c_build_cdtor_fns): Remove prototype. | |
343 | ||
7959b13b | 344 | 2007-05-11 Paolo Carlini <pcarlini@suse.de> |
345 | ||
346 | PR other/31852 | |
347 | * builtin-types.def: Add BT_FN_PTR_CONST_PTR_INT_SIZE. | |
348 | * builtins.def: Add BUILT_IN_MEMCHR, use the latter. | |
349 | * builtins.c (fold_builtin_memchr): New. | |
350 | (expand_builtin_memchr): Call the latter. | |
351 | (expand_builtin, fold_builtin_3): Deal with BUILT_IN_MEMCHR. | |
352 | * doc/extend.texi ([Other built-in functions provided by GCC]): | |
353 | Document memchr. | |
354 | ||
9fa9680d | 355 | 2007-05-11 Andreas Krebbel <krebbel1@de.ibm.com> |
356 | ||
357 | * config/s390/s390.md (GPR0_REGNUM, FPR0_REGNUM, FPR2_REGNUM, | |
358 | PFPO_CONVERT, PFPO_OP_TYPE_SF, PFPO_OP_TYPE_DF, PFPO_OP_TYPE_TF, | |
359 | PFPO_OP_TYPE_SD, PFPO_OP_TYPE_DD, PFPO_OP_TYPE_TD, PFPO_OP0_TYPE_SHIFT, | |
360 | PFPO_OP1_TYPE_SHIFT): Constants added. | |
361 | (DFP_ALL): Mode macro defined. | |
362 | ("*trunc<BFP:mode><DFP_ALL:mode>2", "*trunc<DFP_ALL:mode><BFP:mode>2", | |
363 | "*extend<BFP:mode><DFP_ALL:mode>2", "*extend<DFP_ALL:mode><BFP:mode>2"): | |
364 | Insn definitions added. | |
365 | ("trunc<BFP:mode><DFP_ALL:mode>2", "trunc<DFP_ALL:mode><BFP:mode>2", | |
366 | "extend<BFP:mode><DFP_ALL:mode>2", "extend<DFP_ALL:mode><BFP:mode>2"): | |
367 | Expanders added. | |
368 | ||
c4e91ab3 | 369 | 2007-05-10 Zdenek Dvorak <dvorakz@suse.cz> |
370 | ||
371 | PR tree-optimization/31885 | |
372 | * tree-chrec.c (chrec_contains_undetermined): Do not consider NULL_TREE | |
373 | to be undetermined. | |
374 | (automatically_generated_chrec_p): Return false for NULL. | |
375 | ||
fc9fdf60 | 376 | 2007-05-08 Bernd Schmidt <bernd.schmidt@analog.com> |
377 | ||
378 | * config/bfin/bfin.h (MOVE_RATIO): Define. | |
379 | ||
723e1902 | 380 | 2007-05-10 Richard Sandiford <richard@codesourcery.com> |
381 | ||
382 | * config.gcc (sparc-wrs-vxworks): New target. | |
383 | * config/sparc/vxworks.h, config/sparc/t-vxworks: New files. | |
384 | * config/sparc/sparc-protos.h (sparc_emit_call_insn): Declare. | |
385 | * config/sparc/sparc.h: Include vxworks-dummy.h. | |
386 | (PRINT_OPERAND_ADDRESS): Extend SYMBOL_REF handling to | |
387 | include LABEL_REFs too. | |
388 | * config/sparc/sparc.c (sparc_expand_move): Don't assume that | |
389 | _GLOBAL_OFFSET_TABLE_ - label_ref is a link-time constant on | |
390 | VxWorks. | |
391 | (legitimize_pic_address): Handle LABEL_REFs like SYMBOL_REFs | |
392 | on VxWorks. | |
393 | (load_pic_register): Use gen_vxworks_load_got for VxWorks. | |
394 | (sparc_emit_call_insn): New function. | |
395 | (sparc_function_ok_for_sibcall): Restrict sibcalls to locally-binding | |
396 | functions when generating VxWorks PIC. | |
397 | * config/sparc/sparc.md (vxworks_load_got): New pattern. | |
398 | (call, call_value): Use sparc_emit_call_insn instead of | |
399 | emit_call_insn. | |
400 | ||
205710bf | 401 | 2007-05-09 Bob Wilson <bob.wilson@acm.org> |
9602d040 | 402 | |
205710bf | 403 | * config/xtensa/xtensa.c (xtensa_output_literal): Don't use #if. |
9602d040 | 404 | |
c9876a47 | 405 | 2007-05-09 Bob Wilson <bob.wilson@acm.org> |
406 | ||
407 | * config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits | |
408 | for floating-point values if HOST_BITS_PER_LONG > 32. Use split_double | |
409 | instead of operand_subword. | |
410 | ||
23285403 | 411 | 2007-05-08 Bernd Schmidt <bernd.schmidt@analog.com> |
412 | ||
413 | * config/bfin/bfin.h (LOCAL_ALIGNMENT): Define. | |
414 | * config/bfin/bfin.c (bfin_local_alignment): New function. | |
415 | * config/bfin/bfin-protos.h (bfin_local_alignment): Declare it. | |
416 | ||
43fda261 | 417 | 2007-05-08 Chao-ying Fu <fu@mips.com> |
418 | ||
419 | * doc/md.texi (msub@var{m}@var{n}4, usub@var{m}@var{n}4): Document. | |
420 | * optabs.h (OTI_smsub_widen, OTI_umsub_widen): New optab_indexes. | |
421 | (smsub_widen_optab, umsub_widen_optab): Define. | |
422 | * optabs.c (init_optabs): Initialize smsub_widen_optab and | |
423 | umsub_widen_optab. | |
424 | * genopinit.c (optabs): Fill in smsub_widen_optab and | |
425 | umsub_widen_optab. | |
426 | * expr.c (expand_expr_real_1): Try to use smsub_widen_optab | |
427 | and umsub_widen_optab to implement multiply-subtract sequences. | |
428 | * config/mips/mips.md (*msac<u>_di): Rename to... | |
429 | (<u>msubsidi4): ...this. Extend condition to include | |
430 | GENERATE_MADD_MSUB and TARGET_DSPR2. Change the constraint | |
431 | of operand 0 to "ka" and use the three-operand form of msub<u> | |
432 | for TARGET_DSPR2. | |
433 | * config/mips/mips-dspr2.md (mips_msub, mips_msubu): Convert | |
434 | to define_expands. | |
435 | ||
1121ac6f | 436 | 2007-05-08 Kaz Kojima <kkojima@gcc.gnu.org> |
437 | ||
438 | PR rtl-optimization/28011 | |
439 | * reload.c (push_reload): Set dont_share if IN appears in OUT | |
440 | also when IN is a PLUS rtx. | |
441 | (reg_overlap_mentioned_for_reload_p): Return true if X and IN | |
442 | are same PLUS rtx. | |
443 | ||
df329266 | 444 | 2007-05-08 Kazu Hirata <kazu@codesourcery.com> |
445 | ||
446 | * emit-rtl.c (unshare_all_rtl_1): Don't copy DECL_RTL. Don't | |
447 | call unshare_all_decls. | |
448 | (unshare_all_rtl): Adjust the call to unshare_all_rtl_1. | |
449 | (unshare_all_decls): Remove. | |
450 | ||
1b2b0409 | 451 | 2007-05-08 Simon Martin <simartin@users.sourceforge.net> |
452 | ||
453 | PR 31847 | |
454 | * tree-dump.c (dump_options): Don't use TDF_DIAGNOSTIC in "*-all" tree | |
455 | dumps. | |
456 | ||
fef98e29 | 457 | 2007-05-08 Sandra Loosemore <sandra@codesourcery.com> |
458 | Nigel Stephens <nigel@mips.com> | |
459 | ||
460 | * config/mips/mips.h (MAX_FPRS_PER_FMT): Renamed from FP_INC. | |
461 | Update comments and all uses. | |
462 | (MIN_FPRS_PER_FMT): Define. | |
463 | * config/mips/mips.c (function_arg): Fix to correctly handle | |
464 | the -mips32r2 -mfp64 -mabi=32 case. | |
465 | (override_options): Enable use of odd-numbered registers for | |
466 | SFmode values on MIPS32. | |
467 | (mips_save_reg_p): Save whole floating-point register pair if | |
468 | either half is used. | |
469 | (compute_frame_size): Fix comment. | |
470 | ||
a35b82b9 | 471 | 2007-05-08 Jie Zhang <jie.zhang@analog.com> |
472 | ||
473 | * config/bfin/bfin-protos.h (bfin_expand_epilogue): Add a third | |
474 | argument of type bool. | |
475 | * config/bfin/bfin.c (add_to_reg): Add epilogue_p as a fourth | |
476 | argument. Safely select temporary P register according to it. | |
477 | (do_link): Change call site of add_to_reg accordingly. | |
478 | (do_unlink): Add epilogue_p as a fourth argument and pass it | |
479 | to add_to_reg. | |
480 | (expand_interrupt_handler_epilogue): Change call of do_unlink | |
481 | accordingly. | |
482 | (bfin_expand_prologue): Add a third argument sibcall_p. | |
483 | * config/bfin/bfin.md (epilogue): Change call of | |
484 | bfin_expand_epilogue accordingly. | |
485 | (sibcall_epilogue): Likewise. | |
486 | (eh_return_internal): Likewise. | |
9602d040 | 487 | |
99fe38c0 | 488 | * config/bfin/bfin-protos.h (enum bfin_cpu): Add |
489 | BFIN_CPU_BF534, BFIN_CPU_BF536 and BFIN_CPU_BF561. | |
490 | * config/bfin/bfin.c (bfin_handle_option): Handle | |
491 | -mcpu=bf534, -mcpu=bf536 and -mcpu=bf561. | |
492 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): | |
493 | Support bf534, bf536 and bf561. | |
494 | * doc/invoke.texi (Blackfin Options): Document -mcpu and -msim. | |
495 | ||
691299da | 496 | 2007-05-08 Uros Bizjak <ubizjak@gmail.com> |
497 | ||
498 | PR target/31854 | |
499 | * config/i386/i386.c (ix86_function_regparm): Process local | |
500 | functions only when TREE_CODE (decl) equals FUNCTION_DECL. | |
9602d040 | 501 | |
cc742166 | 502 | 2007-05-07 Mike Stump <mrs@apple.com> |
503 | ||
504 | * doc/invoke.texi (Warning Options): Document that -Wempty-body | |
505 | also checks for and while statements in C++. | |
506 | ||
c159e0b7 | 507 | 2007-05-07 Nathan Froyd <froydnj@codesourcery.com> |
508 | ||
509 | * gcc.c (at_file_supplied): New variable. | |
510 | (main): Set it if we expanded argv. | |
511 | (do_spec_1): Pass an @-file to the linker if we were called with | |
512 | an @-file argument and HAVE_GNU_LD. | |
513 | * collect2.c (at_file_supplied): New variable. | |
514 | (response_file): New variable. | |
515 | (collect_exit): Unlink response_file if necessary. | |
516 | (handler): Likewise. | |
517 | (do_wait): Likewise. | |
518 | (main): Set at_file_supplied if we expanded argv. | |
519 | (collect_execute): Pass an @-file to subprocesses if we were called | |
520 | with an @-file argument. | |
521 | * configure.ac: Add define for HAVE_GNU_LD. | |
522 | * configure: Regenerate. | |
523 | * config.in: Regenerate. | |
524 | ||
39218c77 | 525 | 2007-05-07 Naveen.H.S <naveen.hs@kpitcummins.com> |
526 | ||
527 | * config/m32c/muldiv.md (mulhisi3_c): Limit the mode of the 2nd | |
528 | operand to HI mode. | |
529 | (mulsi3): New. | |
530 | (divsi3): New. | |
531 | (udivsi3): New. | |
532 | ||
2efce110 | 533 | 2007-05-07 Jayant Sonar <jayants@kpitcummins.com> |
534 | ||
535 | * config/m32c/m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define. | |
536 | (TARGET_ENCODE_SECTION_INFO): Re-define. | |
537 | (m32c_encode_section_info): New | |
538 | (function_vector_handler): New | |
539 | (current_function_special_page_vector): New | |
540 | (m32c_special_page_vector_p): New. | |
9602d040 | 541 | * config/m32c/m32c-protos.h (m32c_special_page_vector_p): |
2efce110 | 542 | Prototype. |
9602d040 | 543 | * config/m32c/jump.md: Added instruction JSRS for functions |
2efce110 | 544 | with attribute "function_vector". |
9602d040 | 545 | * doc/extend.texi (function_vector): Added description |
2efce110 | 546 | for M16C, M32C targets. |
547 | ||
2f1842a8 | 548 | 2007-05-07 DJ Delorie <dj@redhat.com> |
549 | ||
550 | PR 31794 | |
551 | * config/m32c/shift.md (ashlpsi3_i, ashrpsi3_i, ashlpsi3, | |
552 | ashrpsi3, lshrpsi3): Update shift count constraint. | |
553 | ||
b7158884 | 554 | 2007-05-07 Danny Smith <dannysmith@users.sourceforge.net> |
c159e0b7 | 555 | Nathan Froyd <froydnj@codesourcery.com> |
b7158884 | 556 | |
557 | PR 22133 | |
558 | * c-incpath.c (add_path): Strip trailing path separators. | |
559 | ||
9a17dd7d | 560 | 2007-05-07 Eric Botcazou <ebotcazou@adacore.com> |
561 | ||
562 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Reset cfg_altered. | |
66d3a87b | 563 | Free dominance info before purging EH edges. |
9a17dd7d | 564 | (eliminate_degenerate_phis): Likewise. |
565 | (propagate_rhs_into_lhs): Set cfg_altered to true instead of 1. | |
566 | ||
68411217 | 567 | 2007-05-07 Jan Hubicka <jh@suse.cz> |
568 | ||
569 | * gimplify.c (gimplify_expr): Do not crash when folding | |
570 | (void *)(int)&a + 4. | |
571 | ||
e297ac28 | 572 | 2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
573 | ||
574 | PR driver/31694 | |
575 | * c-opts.c (lang_fortran): Make it non static. | |
576 | * c-common.h (lang_fortran): New prototype. | |
577 | * c-cppbuiltin.c (c_cpp_builtins): Create a __GFORTRAN__ if the | |
578 | -lang-fortran option was passed by the driver. | |
579 | ||
c15062b7 | 580 | 2007-05-06 Eric Botcazou <ebotcazou@adacore.com> |
581 | ||
582 | * timevar.c (timevar_print): Test ENABLE_ASSERT_CHECKING instead | |
583 | of ASSERT_CHECKING. Tweak message. | |
584 | ||
585 | 2007-05-06 Revital Eres <eres@il.ibm.com> | |
428c97ad | 586 | |
587 | PR 30957 | |
588 | * loop-unroll.c (insert_var_expansion_initialization): | |
589 | Initialize the expansions with -zero instead of +zero. | |
590 | ||
3f8d8851 | 591 | 2007-05-05 Aurelien Jarno <aurelien@aurel32.net> |
592 | ||
593 | * config/pa/pa.md: Split tgd_load, tld_load and tie_load | |
9602d040 | 594 | into pic and non-pic versions. Mark r19 as used for |
595 | tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used | |
3f8d8851 | 596 | for tgd_load, tld_load and tie_load . |
597 | * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic | |
9602d040 | 598 | version of tgd_load, tld_load and tie_load depending on the |
3f8d8851 | 599 | value of flag_pic. |
600 | ||
f9e6c0d4 | 601 | 2007-05-04 Ulrich Drepper <drepper@redhat.com> |
602 | Jakub Jelinek <jakub@redhat.com> | |
603 | ||
604 | * crtstuff.c (HIDDEN_DTOR_LIST_END): New macro. | |
605 | (__do_global_dtors_aux): Use more paranoid loop to run | |
606 | destructors if HIDDEN_DTOR_LIST_END. | |
607 | (__DTOR_END__): Export as a hidden symbol when HIDDEN_DTOR_LIST_END. | |
608 | ||
0722e767 | 609 | 2007-05-04 Jakub Jelinek <jakub@redhat.com> |
610 | ||
611 | * varasm.c (align_variable): Don't increase alignment for | |
612 | DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through | |
613 | DATA_ALIGNMENT or CONSTANT_ALIGNMENT. | |
614 | ||
50b08d37 | 615 | 2007-05-04 Josh Conner <jconner@apple.com> |
616 | ||
617 | * basic-block.h (cdi_direction): Assign values to all enumeration | |
618 | constants. | |
619 | (dom_computed): Remove. | |
620 | (dom_info_state): New. | |
621 | (set_dom_info_availability): New. | |
622 | * tree-ssa-loop-im.c (determine_invariantness): Initialize | |
623 | walk_data.dom_direction. | |
624 | * cfghooks.c (delete_basic_block): Use dom_info_available_p() | |
625 | instead of dom_computed[]. | |
626 | (split_edge): Likewise. | |
627 | (create_basic_block): Likewise. | |
628 | (merge_blocks): Likewise. | |
629 | * ifcvt.c (find_if_header): Likewise. | |
630 | * tree-cfgcleanup.c (cleanup_tree_cfg): Likewise. | |
631 | * tree-ssa-dce.c (remove_dead_stmt): Likewise. | |
632 | * tree-ssa.c (verify_ssa): Likewise. | |
633 | * tree-cfg.c (tree_verify_flow_info): Likewise. | |
634 | (remove_edge_and_dominated_blocks): Likewise. | |
635 | * dominance.c (dom_computed): Make static. | |
636 | (calc_dfs_tree_nonrec): Change third param to a bool. | |
637 | (calc_dfs_tree): Change second param to a bool. | |
638 | (calc_idioms): Change second param to a bool. Use | |
639 | dom_convert_dir_to_idx. | |
640 | (init_dom_info): Validate dir before using. | |
641 | (dom_convert_dir_to_idx): New. | |
642 | (calculate_dominance_info): Use dom_convert_dir_to_idx. New | |
643 | variable 'reverse' used for calling calc_dfs_tree and calc_idoms. | |
644 | (free_dominance_info): Use dom_convert_dir_to_idx. | |
645 | (get_immediate_dominator): Likewise. | |
646 | (set_immediate_dominator): Likewise. | |
647 | (get_dominated_by): Likewise. | |
648 | (redirect_immediate_dominators): Likewise. | |
649 | (nearest_common_denominator): Likewise. | |
650 | (dominated_by_p): Likewise. | |
651 | (bb_dom_dfs_in): Likewise. | |
652 | (bb_dom_dfs_out): Likewise. | |
653 | (recount_dominator): Likewise. | |
654 | (iterate_fix_dominators): Likewise. | |
655 | (add_to_dominance_info): Likewise. | |
656 | (delete_from_dominance_info): Likewise. | |
657 | (first_dom_son): Likewise. | |
658 | (next_dom_son): Likewise. | |
659 | (dom_info_available_p): Likewise. | |
660 | (dom_info_state): New. | |
661 | (set_dom_info_availability): New. | |
662 | ||
e7340e24 | 663 | 2007-05-04 Andreas Krebbel <krebbel1@de.ibm.com> |
664 | ||
665 | * config/s390/s390.md ("fix_trunc<mode>di2", "fix_trunc<mode>si2"): | |
666 | Expander removed. | |
667 | ("fix_trunc<DSF:mode><GPR:mode>2"): Expander added. | |
668 | ||
4fc70e71 | 669 | 2007-05-04 Bob Wilson <bob.wilson@acm.org> |
9602d040 | 670 | |
4fc70e71 | 671 | * config/xtensa/xtensa.md (adddi3, adddi_carry): Delete. |
672 | (subdi3, subdi_carry): Delete. | |
9602d040 | 673 | |
9160060d | 674 | 2007-05-04 Jan Hubicka <jh@suse.cz> |
675 | Richard Guenther <rguenther@suse.de> | |
676 | ||
677 | * opts.c (decode_options): Do not fiddle with inlining | |
678 | parameters in case of optimizing for size. | |
679 | * ipa-inline.c (cgraph_decide_recursive_inlining): When optimizing | |
680 | for size do nothing. | |
681 | (cgraph_decide_inlining_of_small_function): When optimizing for | |
682 | size never inline functions increasing caller size. | |
683 | (cgraph_early_inlining): Inline for size when optimizing for size. | |
684 | ||
eb0dea99 | 685 | 2007-04-18 Bernd Schmidt <bernd.schmidt@analog.com> |
686 | ||
687 | * config/bfin/bfin.md (<optab>di3): Now a define_expand which expands | |
688 | logical operations piecewise. | |
689 | (<optab>di_zesidi_di, <optab>di_sesidi_di, negdi2, one_cmpldi2, | |
690 | zero_extendsidi2, subdi_di_zesidi, subdi_zesidi_di, subdi_di_sesidi, | |
691 | subdi_sesidi_di): Delete. | |
692 | (add_with_carry): Produce carry in CC instead of a DREG to shorten | |
693 | the generated sequence. Allow three-reg add in constraints. Rewrite | |
694 | the rtl expression for carry to avoid zero_extend of a constant. | |
695 | (sub_with_carry): New pattern. | |
696 | (adddi3, subdi3): Change into define_expand. For subtract, generate a | |
697 | different sequence not involving jumps. | |
698 | (notbi): Now a named pattern. | |
699 | ||
64447b3b | 700 | 2007-05-04 Bradley Lucier <lucier@math.purdue.edu> |
701 | ||
702 | * doc/invoke.texi (i386 and x86-64 Options) [-mpc32, -mpc64, -mpc80]: | |
703 | Add the note about a significant loss of accuracy of some | |
704 | mathematical routines when these options are used. | |
705 | ||
3588ab9c | 706 | 2007-05-04 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
707 | ||
708 | * haifa-sched.c (rtx_vec_t): New typedef. | |
709 | (contributes_to_priority_p): Extract piece of priority () into new | |
710 | static function. | |
711 | (priority): Use the function. Add assertion. | |
712 | (rank_for_schedule, set_priorities): Add assertion to check that | |
713 | insn's priority is initialized. | |
714 | (clear_priorities, calc_priorities): Change signature. Make it update | |
715 | all relevant insns. Update all callers ('add_to_speculative_block ()' | |
716 | and 'create_block_check_twin ()'). | |
717 | * sched-int.h (struct haifa_insn_data): Remove field 'priority_known'. | |
718 | Add new field 'priority_status'. | |
719 | (INSN_PRIORITY_STATUS): New macro. | |
720 | (INSN_PRIORITY_KNOWN): Change to use INSN_PRIORITY_STATUS. | |
721 | ||
a2819fc2 | 722 | 2007-05-04 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
723 | ||
724 | * sched-ebb.c (debug_ebb_dependencies): New static function. | |
725 | (init_ready_list): Use it. | |
726 | ||
727 | * sched-rgn.c (debug_dependencies): Split into 'debug_dependencies ()' | |
728 | with changed signature and 'debug_rgn_dependencies ()'. | |
729 | (debug_rgn_dependencies): New static function. | |
730 | (init_ready_list): Use it. | |
9602d040 | 731 | |
a2819fc2 | 732 | * sched-int.h (debug_dependencies): Declare. |
733 | ||
7cfa1204 | 734 | 2007-05-04 Andreas Krebbel <krebbel1@de.ibm.com> |
735 | ||
736 | * libgcc-std.ver (__ffssi2): Added to GCC_4.3.0 section. | |
737 | ||
b24655ef | 738 | 2007-05-04 Dirk Mueller <dmueller@suse.de> |
739 | ||
740 | * c.opt(Wmain,ffreestanding): Enable for C++,ObjC++. | |
741 | ||
06f9fe3e | 742 | 2007-05-03 Jan Hubicka <jh@suse.cz> |
743 | ||
744 | * fold-const.c (fold_unary): Convert (T1)(X op Y) into ((T1)X op (T1)Y), | |
745 | for pointer type in more cases than before. | |
746 | ||
747 | * gimplify.c (gimplify_expr): Fold (void *)&a + 4. | |
748 | ||
749 | * tree-object-size.c (plus_expr_object_size): When operand size is | |
750 | unknown, return unknown. | |
751 | ||
c2d4d40a | 752 | 2007-05-03 Dirk Mueller <dmueller@suse.de> |
753 | ||
754 | * doc/invoke.texi (-m386,-m486,-mpentium,-mpentiumpro): Remove. | |
755 | ||
756 | * config/i386/i386.h (CC1_CPU_SPEC): Remove handling for deprecated | |
757 | options. | |
758 | ||
759 | * config/i386/i386.opt (m386,m486,mpentium,mpentiumpro): Remove. | |
760 | ||
377bbc15 | 761 | 2007-05-03 Janis Johnson <janis187@us.ibm.com> |
762 | ||
763 | * doc/sourcebuild.texi (Test Directives) Clarify dg-excess-errors. | |
764 | ||
dc442fa0 | 765 | 2007-05-03 Joseph Myers <joseph@codesourcery.com> |
766 | ||
767 | * config/soft-fp/double.h, config/soft-fp/extended.h, | |
768 | config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c, | |
769 | config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c, | |
770 | config/soft-fp/op-2.h, config/soft-fp/op-4.h, | |
771 | config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from | |
772 | glibc CVS. | |
773 | ||
a7c1ab49 | 774 | 2007-05-03 Ian Lance Taylor <iant@google.com> |
775 | ||
b1b1bb64 | 776 | * config/rs6000/rs6000.c (rs6000_override_options): Don't set |
a7c1ab49 | 777 | MASK_PPC_GFXOPT for 8540 or 8548. |
778 | ||
fcca3533 | 779 | 2007-05-03 Uros Bizjak <ubizjak@gmail.com> |
780 | ||
781 | * tree-vect-transform.c (vect_update_inits_of_drs): Use | |
782 | vect_print_dump_info() to output debug information. | |
783 | ||
a0a6f22b | 784 | 2007-05-03 Uros Bizjak <ubizjak@gmail.com> |
785 | ||
786 | PR target/31768 | |
787 | * config/i386/i386.c (print_operand) ['z']: Output 'w' for | |
788 | operands of size 2 when operand is not MEM_P. | |
789 | ||
1491dd5a | 790 | 2007-05-03 Zdenek Dvorak <dvorakz@suse.cz> |
791 | ||
792 | PR tree-optimization/30565 | |
793 | * lambda-code.c (perfect_nestify): Fix updating of dominators. | |
794 | ||
b9904d32 | 795 | 2007-05-03 Bernd Schmidt <bernd.schmidt@analog.com> |
796 | ||
797 | * config/bfin/bfin.md (addpdi3, us_truncpdisi2): New patterns. | |
798 | (umulsi3_highpart): Use them. | |
799 | * config/bfin/lib1funcs.asm (__umulsi3_highpart): Use unsigned move | |
800 | for final accumulator to D regisster tranfser. | |
801 | ||
30f263a4 | 802 | 2007-05-03 Dorit Nuzman <dorit@il.ibm.com> |
803 | ||
804 | PR tree-optimization/31699 | |
805 | * tree-vect-analyze.c (vect_update_misalignment_for_peel): Remove wrong | |
806 | code. | |
9602d040 | 807 | (vect_enhance_data_refs_alignment): Compute peel amount using |
808 | TYPE_VECTOR_SUBPARTS instead of vf. | |
30f263a4 | 809 | * tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Likewise. |
810 | ||
ad3827a6 | 811 | 2007-05-02 Brooks Moses <brooks.moses@codesourcery.com> |
812 | ||
813 | PR bootstrap/31776 | |
814 | * system.h: Remove inclusion of double-int.h | |
815 | * tree.h: Include double-int.h | |
816 | * gengtype.c: Likewise | |
817 | * cfgloop.h: Likewise | |
818 | * Makefile.in: Adjust dependencies on double-int.h | |
819 | ||
29686c2c | 820 | 2007-05-02 Eric Christopher <echristo@apple.com> |
821 | ||
822 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Translate | |
823 | -shared to -Zdynamiclib. | |
824 | ||
57a0ed23 | 825 | 2007-05-02 Seongbae Park <seongbae.park@gmail.com> |
826 | ||
827 | PR c++/31663 | |
828 | * c-common.c (strip_pointer_or_array_types): New function. | |
829 | * c-common.h (strip_pointer_or_array_types): New function declaration. | |
830 | ||
1f204d2d | 831 | 2007-05-03 Zdenek Dvorak <dvorakz@suse.cz> |
832 | ||
833 | PR tree-optimization/31771 | |
834 | * tree-cfg.c (move_block_to_fn): Assign bb to the correct index. | |
835 | ||
377dbc5d | 836 | 2007-05-02 Paul Brook <paul@codesourcery.com> |
837 | ||
838 | * config/arm/bpabi.S (aeabi_lcmp): Fix result on overflow. | |
839 | ||
b26f15a5 | 840 | 2007-05-02 Andrew Pinski <andrew_pinski@playstation.sony.com> |
841 | ||
40ab1934 | 842 | PR middle-end/29715 |
b26f15a5 | 843 | * fold-const.c (fold_comparision): Remove the "foo++ == CONST" |
844 | transformation. | |
845 | ||
a12ac39a | 846 | 2007-05-02 Nick Clifton <nickc@redhat.com> |
847 | ||
848 | * config/frv/predicates.md (symbolic_operand): Accept CONSTs. | |
849 | ||
6776dec8 | 850 | 2007-05-02 Richard Guenther <rguenther@suse.de> |
851 | ||
852 | PR tree-optimization/31146 | |
853 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New | |
854 | argument, single_use_p. If we have a single use that is | |
855 | a conversion to the definition rhs type, propagate that rhs. | |
856 | (forward_propagate_addr_expr): Pass single_use_p argument | |
857 | to forward_propagate_addr_expr_1. | |
858 | ||
6c8a2ee2 | 859 | 2007-05-01 H.J. Lu <hongjiu.lu@intel.com> |
860 | ||
861 | * config/i386/i386.c (ix86_expand_sse_comi): Remove unused | |
862 | variable. | |
863 | ||
63df211a | 864 | 2007-05-01 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
865 | ||
29686c2c | 866 | * doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of |
63df211a | 867 | 'AMD Family 10 core'. |
29686c2c | 868 | |
ba29708a | 869 | 2007-05-01 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
870 | ||
29686c2c | 871 | * config/i386/i386.c (override_options): Accept k8-sse3, opteron-sse3 |
872 | and athlon64-sse3 as improved versions of k8, opteron and athlon64 | |
ba29708a | 873 | with SSE3 instruction set support. |
874 | * doc/invoke.texi: Likewise. | |
29686c2c | 875 | |
029655af | 876 | 2007-05-01 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
877 | ||
878 | * config/i386/i386.c (override_options): Tuning 32-byte loop | |
29686c2c | 879 | alignment for amdfam10 architecture. Increasing the max loop |
029655af | 880 | alignment to 24 bytes. |
29686c2c | 881 | |
584f29ac | 882 | 2007-05-01 Kazu Hirata <kazu@codesourcery.com> |
883 | ||
884 | * config/m68k/constraints.md: New. | |
885 | * config/m68k/m68k.h (REG_CLASS_FROM_LETTER, | |
886 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, | |
887 | EXTRA_CONSTRAINT): Remove. | |
888 | * config/m68k/m68k.md: Include constraints.md. | |
889 | * expr.c (expand_expr_real_1): Copy DECL_RTL before using it. | |
890 | ||
b876a744 | 891 | 2007-05-01 Ian Lance Taylor <iant@google.com> |
892 | ||
893 | PR tree-optimization/31739 | |
894 | * tree-vrp.c (vrp_val_is_max): New static function. | |
895 | (vrp_val_is_min): New static function. | |
896 | (set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than | |
897 | copying the node. | |
898 | (set_value_range): Use vrp_val_is_{max,min}. | |
899 | (extract_range_from_assert): Likewise. | |
900 | (extract_range_from_binary_expr): Likewise. | |
901 | (extract_range_from_unary_expr): Likewise. | |
902 | (dump_value_range, vrp_meet): Likewise. | |
903 | (vrp_visit_phi_node): Likewise. | |
904 | * tree.c (build_distinct_type_copy): Revert change of 2007-04-27. | |
905 | ||
2fdb7138 | 906 | 2007-05-01 Mark Mitchell <mark@codesourcery.com> |
907 | ||
908 | * config/i386/gmon-sol2.c (size_t): New type. | |
909 | (intptr_t): Likewise. | |
910 | (s_textsize): Declare as size_t. | |
911 | (sbrk): Declare. | |
912 | (monstartup): Use size_t for sizes. | |
913 | (_mcount): Save and restore registers. | |
914 | (internal_mcount): Pass 0 as the first argument to monstartup | |
915 | in 64-bit mode. | |
916 | (moncontrol): Convert pointer to appropriately sized integer | |
917 | before passing to profil. | |
918 | ||
d747da8e | 919 | 2007-05-01 Joseph Myers <joseph@codesourcery.com> |
920 | ||
921 | * config/rs6000/darwin-ldouble.c (__gcc_qunord): Define if | |
922 | __NO_FPRS__, not just if _SOFT_DOUBLE. | |
923 | * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qunord): Likewise. | |
924 | * config/rs6000/rs6000.c (rs6000_init_libfuncs): Use __gcc_qunord | |
925 | also for E500 double. | |
926 | * config/rs6000/rs6000.md (buneq, bunge, bungt, bunle, bunlt, | |
927 | suneq, sunge, sungt, sunle, sunlt): Disable for (TARGET_HARD_FLOAT | |
928 | && !TARGET_FPRS). | |
929 | ||
d92f9312 | 930 | 2007-05-01 Richard Guenther <rguenther@suse.de> |
931 | ||
932 | * tree-ssa-loop-manip.c (ip_normal_pos): Check if last stmt | |
933 | is NULL. | |
934 | ||
cbc33164 | 935 | 2007-05-01 Joseph Myers <joseph@codesourcery.com> |
936 | ||
937 | * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo. | |
938 | ||
d874c55e | 939 | 2007-05-01 Jan Hubicka <jh@suse.cz> |
940 | ||
941 | * tree-vectorize.c (vect_is_simple_use): gimple_min_invariant is | |
942 | invariant. | |
943 | ||
3b45913d | 944 | 2007-05-01 Jan Hubicka <jh@suse.cz> |
945 | ||
946 | * tree.h (maybe_fold_offset_to_component_ref): Remove. | |
947 | (maybe_fold_offset_to_reference): Declare. | |
948 | * fold-const.c (fold_unary): Do not fold | |
949 | (type *)&A into &A->field_of_type_and_offset_0 | |
950 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): When base type | |
951 | size is unknown, give up. | |
952 | (maybe_fold_offset_to_component_ref): Ignore firelds with unknown | |
953 | offsets. | |
954 | (maybe_fold_offset_to_reference): New. | |
955 | (maybe_fold_stmt_indirect): Use it. | |
956 | (fold_stmt_r): Fold (type *)&A+offset into A->field_if_type_and_offset. | |
957 | * gimplify.c (gimplify_conversion): Canonicalize conversions to | |
958 | field references. | |
959 | (gimplify_expr): Likewise for plus_expr. | |
960 | ||
6313ae8b | 961 | 2007-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
962 | ||
963 | * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Use | |
964 | bsi_after_labels. Always insert statements before bsi. | |
965 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto. | |
966 | * predict.c (apply_return_prediction): Check for empty blocks. | |
967 | * cfgexpand.c (lab_rtx_for_bb): New variable. | |
968 | (label_rtx_for_bb): Do not create new tree labels. | |
969 | (expand_gimple_basic_block): Add labels recorded in lab_rtx_for_bb. | |
970 | (tree_expand_cfg): Initialize lab_rtx_for_bb. | |
971 | * tree-cfg.c (build_tree_cfg): Call cleanup_dead_labels after | |
972 | creating edges. | |
973 | (label_for_bb): Add field used. | |
974 | (update_eh_label, main_block_label): Mark the label used. | |
975 | (cleanup_dead_labels): Remove unused labels. | |
976 | ||
fbcece5e | 977 | 2007-05-01 Richard Guenther <rguenther@suse.de> |
978 | ||
979 | * tree-vrp.c (set_value_range): Do not allocate equiv bitmap | |
980 | if it is not about to be set. | |
981 | (get_value_range): Do not pre-allocate equiv bitmap. | |
982 | (update_value_range): No need to clear equiv field. | |
983 | (add_equivalence): Change prototype to get bitmap pointer. | |
984 | Allocate bitmap here if it is not already. | |
985 | (extract_range_from_assert): Do not allocate bitmap here. | |
986 | Update callers to add_equivalence. | |
987 | (extract_range_from_ssa_name): Likewise. | |
988 | (get_vr_for_comparison): New static helper. | |
989 | (compare_name_with_value): Handle NULL equiv bitmap by | |
990 | peeling the first iteration of the comparison loop. | |
991 | Use get_vr_for_comparison. | |
992 | (compare_names): Handle NULL equiv bitmaps by using fake | |
993 | ones. Use get_vr_for_comparison. | |
994 | ||
612a17fc | 995 | 2007-04-30 Brooks Moses <brooks.moses@codesourcery.com> |
996 | ||
997 | * double-int.c (mpz_set_double_int): Moved from | |
998 | tree-ssa-loop-niter.c. | |
999 | (mpz_get_double_int): Likewise; also, add option to wrap | |
1000 | out-of-range integers. | |
1001 | * double-int.h: New prototypes for above. | |
1002 | * tree.c (get_static_type_bounds): Moved from | |
1003 | tree-ssa-loop-niter.c; now returns TYPE_MIN_VALUE and | |
1004 | TYPE_MAX_VALUE if they exist.. | |
1005 | * tree.h: New prototype for above. | |
1006 | * tree-ssa-loop-niter.c: Adjust mpz_to_double_int and | |
1007 | get_type_bounds calls. | |
1008 | (mpz_set_double_int): Move to double-int.c. | |
1009 | (get_type_bounds): Move to tree.c, rename to | |
1010 | get_static_type_bounds. | |
1011 | (mpz_to_double_int): Move to double-int.c, rename to | |
1012 | mpz_get_double_int. | |
1013 | ||
2751c7d4 | 1014 | 2007-04-30 Bob Wilson <bob.wilson@acm.org> |
1015 | ||
1016 | * config/xtensa/lib1funcs.asm (__umodsi3, __modsi3): Rearrange so that | |
1017 | DIV0 exception can fall through to a normal return. | |
29686c2c | 1018 | |
6084da09 | 1019 | 2007-04-30 Alexandre Oliva <aoliva@redhat.com> |
1020 | ||
1021 | PR middle-end/22156 | |
1022 | Temporarily revert: | |
1023 | 2007-04-06 Andreas Tobler <a.tobler@schweiz.org> | |
1024 | * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. | |
1025 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> | |
1026 | * tree-sra.c (try_instantiate_multiple_fields): Needlessly | |
1027 | initialize align to silence bogus warning. | |
1028 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> | |
1029 | * tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove | |
1030 | all_no_warning. | |
1031 | (struct sra_walk_fns): Remove use_all parameter from use. | |
1032 | (sra_hash_tree): Handle BIT_FIELD_REFs. | |
1033 | (sra_elt_hash): Don't hash bitfld blocks. | |
1034 | (sra_elt_eq): Skip them in parent compares as well. Handle | |
1035 | BIT_FIELD_REFs. | |
1036 | (sra_walk_expr): Don't maintain or pass down use_all_p. | |
1037 | (scan_use): Remove use_all parameter. | |
1038 | (scalarize_use): Likewise. Re-expand assignment to | |
1039 | BIT_FIELD_REF of gimple_reg. De-scalarize before input or | |
1040 | output, and re-scalarize after output. Don't mark anything | |
1041 | for no warning. | |
1042 | (scalarize_ldst): Adjust. | |
1043 | (scalarize_walk_gimple_modify_statement): Likewise. | |
1044 | (build_element_name_1): Handle BIT_FIELD_REFs. | |
1045 | (instantiate_element): Don't warn for any element whose parent | |
1046 | is used as a whole. | |
1047 | (instantiate_missing_elements_1): Return the sra_elt. | |
1048 | (canon_type_for_field): New. | |
1049 | (try_instantiate_multiple_fields): New. | |
1050 | (instantiate_missing_elemnts): Use them. | |
1051 | (mark_no_warning): Removed. | |
1052 | (generate_one_element_ref): Handle BIT_FIELD_REFs. | |
1053 | (REPLDUP, sra_build_elt_assignment): New. | |
1054 | (generate_copy_inout): Use them. | |
1055 | (generate_element_copy): Likewise. Handle bitfld differences. | |
1056 | (generate_element_zero): Don't recurse for blocks. Use | |
1057 | sra_build_elt_assignment. | |
1058 | (generate_one_element_int): Take elt instead of var. Use | |
1059 | sra_build_elt_assignment. | |
1060 | (generate_element_init_1): Adjust. | |
1061 | (scalarize_use, scalarize_copy): Use REPLDUP. | |
1062 | (scalarize_ldst): Move assert before dereference. | |
1063 | (dump_sra_elt_name): Handle BIT_FIELD_REFs. | |
1064 | ||
86369aa7 | 1065 | 2007-04-30 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1066 | ||
1067 | PR C++/31721 | |
1068 | * tree.c (reconstruct_complex_type): Reconstruct a reference | |
1069 | correctly. | |
1070 | Also use the same mode for the pointer as the old pointer type. | |
1071 | ||
7c9d05f6 | 1072 | 2007-04-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> |
1073 | ||
1074 | * doc/trouble.texi (Interoperation): Remove note about Ultrix | |
1075 | Fortran compiler. | |
1076 | ||
05268a5f | 1077 | 2007-04-29 Zdenek Dvorak <dvorakz@suse.cz> |
1078 | ||
6cef4d4f | 1079 | PR rtl-optimization/31676 |
05268a5f | 1080 | * df-scan.c (record_nonlocal_goto_receiver_defs): New function. |
1081 | (df_refs_record): Call it. | |
1082 | ||
a4317a50 | 1083 | 2007-04-29 Bernd Schmidt <bernd.schmidt@analog.com> |
1084 | ||
1085 | * rtl.def (SS_ABS): New code. | |
1086 | * config/bfin/bfin.c (print_operand): New modifier 'v'. | |
1087 | (enum bfin_builtins): Add BFIN_BUILTIN_SUM_2X16, BFIN_BUILTIN_ABS_1x32, | |
1088 | BFIN_BUILTIN_ROUND_1x32, BFIN_BUILTIN_MULT_1x32x32, | |
1089 | BFIN_BUILTIN_MULT_1x32x32NS, BFIN_BUILTIN_SSASHIFT_1x32. | |
1090 | (bfin_init_builtins): Define them. | |
1091 | (bdesc_1arg, bdesc_2arg): Add some of them here, ... | |
1092 | (bfin_expand_builtin): ... and handle the others here. | |
1093 | * config/bfin/bfin.md (ssabssi2, ssroundsi2, ssashiftsi3, | |
1094 | flag_mul_macv2hi_parts_acconly_andcc0): New patterns. | |
1095 | (ss_absv2hi2): Renamed from absv2hi; use ss_abs code. | |
1096 | (ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3): Shift count | |
1097 | operand is only HImode. | |
1098 | ||
8c96295a | 1099 | 2007-04-29 Steven Bosscher <steven@gcc.gnu.org> |
1100 | ||
1101 | * regclass.c (scan_one_insn): Remove splitting of | |
1102 | two address insns. | |
1103 | ||
5ee52cdb | 1104 | 2007-04-28 Sandra Loosemore <sandra@codesourcery.com> |
1105 | Nigel Stephens <nigel@mips.com> | |
1106 | ||
1107 | * config/mips/mips.h (SLOW_BYTE_ACCESS): Turn off for MIPS16. | |
1108 | ||
375c1c8a | 1109 | 2007-04-28 Jan Hubicka <jh@suse.cz> |
1110 | ||
1111 | * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Use | |
1112 | insn_locators_alloc instead of insn_locators_initialize; | |
1113 | call reset_block_changes. | |
1114 | * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. | |
1115 | * config/sh/sh.c (sparc_output_mi_thunk): Likewise. | |
1116 | * config/is64/ia64.c (ia64_output_mi_thunk): Likewise. | |
1117 | * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. | |
1118 | * config/score/score.c (th_output_mi_thunk): Likewise. | |
1119 | * config/mips/mips.c (mips_output_mi_thunk): Likewise. | |
1120 | * cfglyaout.c (set_curr_insn_source_location, set_curr_insn_block): | |
1121 | tolerate uninitialized locator info. | |
1122 | ||
1123 | Re-apply: | |
1124 | * function.c (init_function_start): Don't init line number info. | |
1125 | (expand_function_end): Update. | |
1126 | (reset_block_changes, record_block_change, finalize_block_changes, | |
1127 | check_block_change, free_block_changes): Kill. | |
1128 | * function.h (reset_block_changes, record_block_change, | |
1129 | finalize_block_changes, check_block_change, free_block_changes): Remove | |
1130 | prototypes. | |
1131 | (struct function): Remove ib_boundaries_block. | |
1132 | * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw): | |
1133 | Use curr_insn_locator to initialize locator. | |
1134 | (emit_line_note): Remove. | |
1135 | * cfgexpand.c (expand_gimple_cond_expr): Update. | |
1136 | (construct_exit_block): Likewise. | |
1137 | (tree_expand_cfg): Initialize/finalize locators. | |
1138 | * expr.c (expand_expr_real): Update. | |
1139 | * cfglayout.c (line_locators_locs, line_locators_lines, | |
1140 | file_locators_locs, file_locators_files): Remove. | |
1141 | (set_block_levels): Move to cfgexpand.c. | |
1142 | (insn_locators_initialize): Remove. | |
1143 | (pass_insn_locators_initialize): Remove. | |
1144 | (locations_locators_locs, locations_locators_vals): New static vars. | |
1145 | (curr_location, last_location, curr_block, last_block, curr_rtl_loc): | |
1146 | Likewise. | |
1147 | (insn_locators_alloc, insn_locators_finalize, | |
1148 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
1149 | New functions. | |
1150 | (locator_location): New. | |
1151 | (locator_line, locator_file): Rewrite. | |
1152 | * rtl.h (emit_line_note): Kill. | |
1153 | (insn_locators_alloc, insn_locators_finalize, | |
1154 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
1155 | Declare. | |
1156 | * tree-inline.c (initialize_cfun): Do not initialize | |
1157 | ib_boundaries_block. | |
1158 | * passes.c (pass_insn_locators_initialize): Remove. | |
1159 | ||
e996e8f1 | 1160 | 2007-04-28 Zdenek Dvorak <dvorakz@suse.cz> |
1161 | ||
1162 | * tree-cfg.c (move_block_to_fn): Release bb from dominance | |
1163 | info. Update last_basic_block correctly. | |
1164 | ||
5e9db045 | 1165 | 2007-04-27 Kaz Kojima <kkojima@gcc.gnu.org> |
1166 | ||
1167 | PR target/31701 | |
1168 | * config/sh/sh.c (output_stack_adjust): Avoid using the frame | |
1169 | register itself to hold the offset constant. Tell flow the use | |
1170 | of r4 and r5 when they are used. | |
1171 | ||
d080be9e | 1172 | 2007-04-27 Richard Guenther <rguenther@suse.de> |
1173 | ||
1174 | * tree-ssa-forwprop.c (forward_propagate_into_cond): Keep track | |
1175 | if we simplified anything. | |
1176 | (tree_ssa_forward_propagate_single_use_vars): Defer overflow | |
1177 | warnings until we did a simplification and the stmt was not | |
1178 | marked as TREE_NO_WARNING. | |
1179 | ||
44dc7eda | 1180 | 2007-04-27 Mike Stump <mrs@apple.com> |
1181 | ||
1182 | * config/rs6000/darwin.h (ALWAYS_PUSH_CONSTS_USING_REGS_P): Remove. | |
1183 | ||
d2154397 | 1184 | 2007-04-27 Ian Lance Taylor <iant@google.com> |
1185 | ||
1186 | PR middle-end/31710 | |
1187 | * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or | |
1188 | TYPE_MAX_VALUE exist, convert them to the new type. | |
1189 | ||
72e1a42b | 1190 | 2007-04-27 Zdenek Dvorak <dvorakz@suse.cz> |
1191 | ||
1192 | * tree-cfgcleanup.c (cleanup_tree_cfg): Verify dominance info | |
1193 | if it claims to be available. | |
1194 | * tree-ssa-dce.c (remove_dead_stmt): Mark cfg as altered when | |
1195 | edge is redirected. | |
1196 | (perform_tree_ssa_dce): Always free postdominators. | |
1197 | ||
0d96cd2b | 1198 | 2007-04-27 Richard Henderson <rth@redhat.com> |
1199 | ||
1200 | * config/alpha/predicates.md (aligned_memory_operand): Mark | |
1201 | as define_special_predicate. | |
1202 | (unaligned_memory_operand, normal_memory_operand): Likewise. | |
1203 | (reg_or_unaligned_mem_operand): Remove. | |
1204 | (any_memory_operand): Match the documentation and check for | |
1205 | non-renumbered pseudos during reload. | |
1206 | * config/alpha/alpha.c (alpha_secondary_reload): Rename from | |
1207 | alpha_secondary_reload_class, update to new interface, make static. | |
1208 | Handle CQImode like HImode. Remove FP subreg check. | |
1209 | (alpha_expand_mov): Use replace_equiv_address. | |
1210 | (alpha_expand_mov_nobwx): Use any_memory_operand. | |
1211 | (TARGET_SECONDARY_RELOAD): New. | |
1212 | * config/alpha/alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Remove. | |
1213 | (SECONDARY_OUTPUT_RELOAD_CLASS): Remove. | |
1214 | * config/alpha/sync.md (I12MODE, I48MODE, modesuffix): Move ... | |
1215 | * config/alpha/alpha.md: ... here. | |
1216 | (RELOAD12, reloadmode): New. | |
1217 | (movcqi): New. | |
1218 | (reload_in<RELOAD12>): Macro-ize from reload_inqi, reload_inhi. | |
1219 | Don't handle the aligned case here. | |
1220 | (reload_out<RELOAD12>): Macro-ize from reload_outqi, reload_outhi. | |
1221 | (reload_in<I12MODE>_aligned): Macro-ize from reload_inqi_help, | |
1222 | reload_inhi_help. Don't expect a scratch register. | |
1223 | (reload_out<I12MODE>_aligned): Macro-ize from reload_outqi_help, | |
1224 | reload_outhi_help. | |
1225 | * config/alpha/alpha-protos.h (alpha_secondary_reload_class): Remove. | |
1226 | ||
83a20baf | 1227 | 2007-04-27 Richard Guenther <rguenther@suse.de> |
1228 | ||
1229 | * tree-ssa-forwprop.c (get_prop_dest_stmt): Fix comment typo. | |
1230 | ||
5adc1066 | 1231 | 2007-04-27 Richard Guenther <rguenther@suse.de> |
1232 | ||
1233 | PR tree-optimization/30965 | |
1234 | PR tree-optimization/30978 | |
1235 | * Makefile.in (tree-ssa-forwprop.o): Depend on $(FLAGS_H). | |
1236 | * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove. | |
1237 | (find_equivalent_equality_comparison): Likewise. | |
1238 | (simplify_cond): Likewise. | |
1239 | (get_prop_source_stmt): New helper. | |
1240 | (get_prop_dest_stmt): Likewise. | |
1241 | (can_propagate_from): Likewise. | |
1242 | (remove_prop_source_from_use): Likewise. | |
1243 | (combine_cond_expr_cond): Likewise. | |
1244 | (forward_propagate_comparison): New function. | |
1245 | (forward_propagate_into_cond): Rewrite to use fold for | |
1246 | tree combining. | |
1247 | (tree_ssa_forward_propagate_single_use_vars): Call | |
1248 | forward_propagate_comparison to propagate comparisons. | |
1249 | ||
e71da05f | 1250 | 2007-04-27 Richard Guenther <rguenther@suse.de> |
1251 | ||
1252 | PR tree-optimization/31715 | |
1253 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make | |
1254 | sure to do computation on the offset in an appropriate | |
1255 | signed type. | |
1256 | ||
eca883d1 | 1257 | 2007-04-27 Richard Sandiford <richard@codesourcery.com> |
1258 | ||
1259 | * reload.h (elimination_target_reg_p): Declare. | |
1260 | * reload.c (find_reloads): Don't apply the reg_rtx move | |
1261 | optimization if the SET_DEST satisfies elimination_target_reg_p. | |
1262 | * reload1.c (elimination_target_reg_p): New function. | |
1263 | (gen_reload): In the move/add2 fallback, make sure that op0 | |
1264 | does not overlap the destination register. | |
1265 | ||
63f88450 | 1266 | 2007-04-27 Zdenek Dvorak <dvorakz@suse.cz> |
1267 | ||
1268 | * tree-ssa-loop-im.c (determine_invariantness_stmt): Attempt to | |
1269 | transform only GIMPLE_MODIFY_STMTs. | |
1270 | * tree-complex.c (expand_complex_operations_1): Ditto. | |
1271 | (expand_complex_div_wide): Do not create gotos in COND_EXPR branches. | |
1272 | * tree-ssa-loop-manip.c (build_if_stmt): Removed. | |
1273 | (tree_transform_and_unroll_loop): Do not create gotos in COND_EXPR | |
1274 | branches. | |
1275 | * value-prof.c (tree_divmod_fixed_value, tree_mod_pow2, | |
1276 | tree_mod_subtract, tree_ic, tree_stringop_fixed_value): Ditto. | |
1277 | * omp-low.c (expand_parallel_call, expand_omp_for_generic, | |
1278 | expand_omp_for_static_chunk, expand_omp_for_static_nochunk): Ditto. | |
1279 | * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes, | |
1280 | slpeel_add_loop_guard): Ditto. | |
1281 | * tree-mudflap.c (mf_build_check_statement_for): Ditto. | |
1282 | * lambda-code.c (perfect_nestify): Ditto. | |
1283 | * tree-iterator.c (tsi_split_statement_list_before): Fix splitting | |
1284 | before the first statement. | |
1285 | * tree-optimize.c (execute_free_datastructures): Fix comments. | |
1286 | (execute_free_cfg_annotations): Do not call disband_implicit_edges. | |
1287 | * tree-flow.h (disband_implicit_edges): Declaration removed. | |
1288 | * tree-cfg.c (make_cond_expr_edges): Remove gotos from COND_EXPR | |
1289 | branches. | |
1290 | (cleanup_dead_labels, tree_redirect_edge_and_branch): Handle COND_EXPRs | |
1291 | without gotos. | |
1292 | (disband_implicit_edges, has_label_p): Removed. | |
1293 | (tree_verify_flow_info): Verify that COND_EXPR branches are empty. | |
1294 | (tree_lv_add_condition_to_bb): Do not create gotos in COND_EXPR | |
1295 | branches. | |
1296 | * tree.c (build3_stat): Mark COND_EXPRs used as statements as having | |
1297 | side effects. | |
1298 | * tree-pretty-print.c (dump_implicit_edges): Dump implicit edges | |
1299 | also for COND_EXPRs. | |
1300 | * cfgexpand.c (label_rtx_for_bb): New function. | |
1301 | (expand_gimple_cond_expr): Do not expect gotos in COND_EXPR branches. | |
1302 | Use label_rtx_for_bb to find the labels. | |
1303 | (expand_gimple_basic_block): Remove RETURN_EXPR at the end of the | |
1304 | last block. Detect fallthru edges. | |
1305 | ||
8d91a9b7 | 1306 | 2007-04-26 Ian Lance Taylor <iant@google.com> |
1307 | ||
1308 | PR target/28675 | |
1309 | * reload.c (find_reloads_subreg_address): If the address was valid | |
1310 | in the original mode but not in the new mode, reload the whole | |
1311 | address. | |
1312 | ||
31a8456e | 1313 | 2007-04-27 Zdenek Dvorak <dvorakz@suse.cz> |
1314 | ||
1315 | * tree-cfgcleanup.c (cfgcleanup_altered_bbs): New global variable. | |
1316 | (remove_fallthru_edge): Use remove_edge_and_dominated_blocks. | |
1317 | (cleanup_control_expr_graph): Do not invalidate dominance info. | |
1318 | Record altered blocks. | |
1319 | (cleanup_control_flow, cleanup_forwarder_blocks): Removed. | |
1320 | (cleanup_control_flow_bb, split_bbs_on_noreturn_calls, | |
1321 | cleanup_tree_cfg_bb): New functions. | |
1322 | (remove_forwarder_block): Do not maintain the worklist of blocks. | |
1323 | Record altered blocks. | |
1324 | (cleanup_tree_cfg_1): Iterate over cfgcleanup_altered_bbs, | |
1325 | not over whole cfg. | |
1326 | (cleanup_tree_cfg): Do not iterate cleanup_tree_cfg_1. Only call | |
1327 | delete_unreachable_blocks if dominators are not available. | |
1328 | * tree-inline.c (optimize_inline_calls): Free dominance information | |
1329 | earlier. | |
1330 | * tree-flow.h (remove_edge_and_dominated_blocks, | |
1331 | cfgcleanup_altered_bbs): Altered. | |
1332 | * tree-cfg.c (replace_uses_by, tree_merge_blocks): Record altered | |
1333 | blocks. | |
1334 | (get_all_dominated_blocks, remove_edge_and_dominated_blocks): New | |
1335 | functions. | |
1336 | (tree_purge_dead_eh_edges): Use remove_edge_and_dominated_blocks, | |
1337 | do not invalidate dominators. | |
1338 | ||
98dac559 | 1339 | 2007-04-26 Anatoly Sokolov <aesok@post.ru> |
1340 | ||
29686c2c | 1341 | * config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and |
98dac559 | 1342 | ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture. |
1343 | * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). | |
1344 | * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). | |
1345 | ||
64b86428 | 1346 | 2007-04-26 Steve Ellcey <sje@cup.hp.com> |
1347 | ||
1348 | * config/ia64/ia64.md (ip_value): Fix itanium_class attribute. | |
1349 | ||
27dc0bdf | 1350 | 2007-04-26 Richard Guenther <rguenther@suse.de> |
1351 | ||
1352 | PR tree-optimization/31703 | |
1353 | * tree-ssa-loop-im.c (rewrite_bittest): Make sure to use | |
1354 | the right type for the target of the bittest. | |
1355 | ||
79387099 | 1356 | 2007-04-26 Richard Sandiford <richard@codesourcery.com> |
1357 | ||
1358 | * config/i386/vx-common.h (RETURN_IN_MEMORY): Use | |
1359 | ix86_sol10_return_in_memory. | |
1360 | ||
96f62210 | 1361 | 2007-04-26 Richard Sandiford <richard@codesourcery.com> |
1362 | ||
1363 | * config/i386/i386.c (ix86_sol10_return_in_memory): Remove unused | |
1364 | variables. | |
1365 | ||
42d78951 | 1366 | 2007-04-26 Jakub Jelinek <jakub@redhat.com> |
1367 | ||
abb3caf7 | 1368 | PR c++/31598 |
1369 | * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE. | |
1370 | ||
42d78951 | 1371 | PR tree-optimization/30558 |
1372 | * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW | |
1373 | clear this_state.prev_try. | |
1374 | ||
c19a839c | 1375 | 2007-04-26 Richard Sandiford <richard@codesourcery.com> |
1376 | Mark Mitchell <mark@codesourcery.com> | |
1377 | ||
1378 | * config/i386/i386-protos.h (ix86_sol10_return_in_memory): Declare. | |
1379 | * config/i386/i386.c (ix86_sol10_return_in_memory): New function. | |
1380 | * config/i386/sol2-10.h (RETURN_IN_MEMORY): Use it. | |
1381 | ||
ceac8e8c | 1382 | 2007-04-26 Richard Sandiford <richard@codesourcery.com> |
1383 | ||
1384 | PR driver/31107 | |
1385 | * doc/invoke.texi (%:print-asm-header): Document. | |
1386 | * gcc.c (asm_options): Use %:print-asm-header() for --target-help | |
1387 | and -ftarget-help. | |
1388 | (static_spec_functions): Add print-asm-header. | |
1389 | (main): Print a banner before the --target-help linker options. | |
1390 | (print_asm_header_spec_function): New function. | |
1391 | ||
e42839f4 | 1392 | 2007-04-25 Kaz Kojima <kkojima@gcc.gnu.org> |
1393 | ||
1394 | PR target/31403 | |
1395 | * config/sh/sh.md (movsi_ie): Fix length for TARGET_SH2A. | |
1396 | (movsf_ie): Likewise. | |
1397 | ||
0aa5d886 | 1398 | 2007-04-25 Paolo Carlini <pcarlini@suse.de> |
1399 | ||
1400 | * doc/extend.texi ([Type Traits]): Adjust per N2255. | |
1401 | ||
18505bd7 | 1402 | 2007-04-25 Bob Wilson <bob.wilson@acm.org> |
1403 | ||
1404 | * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Throw an exception | |
1405 | for divide-by-zero. | |
1406 | (__umodsi3, __modsi3): Likewise. | |
1407 | ||
d6f138d6 | 1408 | 2007-04-25 Dirk Mueller <dmueller@suse.de> |
1409 | ||
1410 | * c-typeck.c (build_compound_expr): Annotate warning() | |
1411 | call with OPT_Wunused_value. | |
01b54db5 | 1412 | * tree-ssa.c (warn_uninit): Annotate warning with |
1413 | OPT_Wunintialized. | |
1414 | * c-common.c (handle_sentinel_attribute): Annotate warning | |
1415 | call with OPT_Wattributes. | |
d6f138d6 | 1416 | |
e6a71de3 | 1417 | 2007-04-25 Thiemo Seufer <ths@mips.com> |
1418 | ||
1419 | * config/mips/mips.opt (mdmx, mmt, mno-mdmx): New options. | |
1420 | (mips16): Fix typo. | |
1421 | * config/mips/mips.h (ASM_SPEC): Pass -mmt/-mno-mt and -mdmx/-mno-mdmx | |
1422 | on to the assembler. Improve handling of -mno-mips16. Add handling | |
1423 | of -mno-mips3d, -mno-dsp, -mno-dspr2. | |
1424 | * doc/invoke.texi (MIPS Options): Whitespace cleanup. Fix wrong use | |
1425 | of @itemx. Document -mno-dsp, -mno-dspr2, -mno-paired-single, -mdmx, | |
1426 | -mno-mdmx, -mno-mips3d, -mmt and -mno-mt. | |
1427 | ||
76042623 | 1428 | 2007-04-25 Danny Smith <dannysmith.users.sourceforge.net> |
1429 | ||
1430 | PR target/31680 | |
1431 | * config/i386/winnt.c (i386_pe_file_end): Strip only | |
1432 | USER_LABEL_PREFIX when writing export name. | |
1433 | ||
a9cfe83b | 1434 | 2007-04-25 Richard Sandiford <richard@codesourcery.com> |
1435 | ||
1436 | * config.gcc (sh-wrs-vxworks): Don't include dbxelf.h. Include | |
1437 | sh/elf.h, vx-common.h and vxworks.h. | |
1438 | * config/sh/sh.h: Include config/vxworks-dummy.h. | |
1439 | (SUBTARGET_OVERRIDE_OPTIONS): Define. | |
1440 | (OVERRIDE_OPTIONS): Use it. | |
1441 | * config/sh/sh.md (GOTaddr2picreg): Add suport for VxWorks RTPs. | |
1442 | (vxworks_picreg): New pattern. | |
1443 | * config/sh/vxworks.h (TARGET_OS_CPP_BUILTINS): Use | |
1444 | VXWORKS_OS_CPP_BUILTINS. | |
1445 | (LIB_SPEC, LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine | |
1446 | to their VXWORKS_* equivalents. | |
1447 | (SUBTARGET_OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define. | |
1448 | (SUBTARGET_LINK_EMUL_SUFFIX, FUNCTION_PROFILER): Define. | |
1449 | * config/sh/lib1funcs.asm (NO_FPSCR_VALUES): Define for VxWorks PIC. | |
1450 | (set_fpscr, ic_invalidate): Add VxWorks PIC sequences. | |
1451 | * config/sh/t-vxworks (MULTILIB_OPTIONS): Add m4a, -mrtp and | |
1452 | -mrtp/-fPIC multilibs. | |
1453 | (MULTILIB_EXCEPTIONS): Generalize globs accordingly. | |
1454 | (MULTILIB_MATCHES, EXTRA_MULTILIB_PARTS): Define. | |
1455 | (MULTILIB_OSDIRNAMES): Delete. | |
1456 | ||
9384357b | 1457 | 2007-04-25 Anatoly Sokolov <aesok@post.ru> |
1458 | ||
1459 | PR target/18989 | |
1460 | * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine. | |
1461 | ||
66fa16e6 | 1462 | 2007-04-24 Brooks Moses <brooks.moses@codesourcery.com> |
1463 | ||
1464 | * real.c (mpfr_from_real): Handle Inf and NaN, and allow the | |
1465 | rounding mode to be specified by the caller. | |
1466 | (real_to_mpfr) Likewise. | |
1467 | * real.h: Update mpfr_from_real, mpfr_to_real prototypes to | |
1468 | include new arguments. | |
1469 | * builtins.c: Update mpfr_from_real, mpfr_to_real calls. | |
1470 | ||
b700987e | 1471 | 2007-04-24 Ian Lance Taylor <iant@google.com> |
1472 | ||
1473 | PR tree-optimization/31605 | |
1474 | * tree-vrp.c (set_value_range): Check that min and max are not | |
1475 | both overflow infinities. | |
1476 | (set_value_range_to_value): New static function. | |
1477 | (extract_range_from_binary_expr): Call set_value_range_to_value. | |
1478 | (extract_range_from_cond_expr): Likewise. | |
1479 | (extract_range_from_expr): Likewise. | |
1480 | (extract_range_from_unary_expr): Likewise. Don't create a range | |
1481 | which overflows on both sides. | |
1482 | (vrp_meet): Check for a useless range. | |
1483 | (vrp_visit_phi_node): If we see a constant which looks like an | |
1484 | overflow infinity, turn off the TREE_OVERFLOW flag. | |
1485 | ||
e8a7b357 | 1486 | 2007-04-24 Ian Lance Taylor <iant@google.com> |
1487 | ||
1488 | * flow.c (elim_reg_cond): Handle a comparison of a subreg. | |
1489 | ||
b4c01899 | 1490 | 2007-04-24 Simon Martin <simartin@users.sourceforge.net> |
1491 | ||
1492 | PR diagnostic/25923 | |
1493 | * tree-pass.h (TDF_DIAGNOSTIC): New dump control to specify that a | |
1494 | diagnostic message is being built. | |
e8a7b357 | 1495 | * tree-pretty-print.c (dump_generic_node): Only write the |
1496 | formatted text into BUFFER's stream if we are not building a | |
1497 | diagnostic message. | |
b4c01899 | 1498 | * toplev.c (default_tree_printer): Pass TDF_DIAGNOSTIC to |
1499 | dump_generic_node. | |
1500 | * Makefile.in (toplev.o): Depend on tree-pass.h. | |
1501 | ||
c7addd8c | 1502 | 2007-04-24 Ian Lance Taylor <iant@google.com> |
1503 | ||
1504 | PR tree-optimization/31602 | |
1505 | * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for | |
1506 | conditionals in the copied loop header. | |
1507 | * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow | |
1508 | warnings if TREE_NO_WARNING is set. | |
1509 | * doc/invoke.texi (Warning Options): Clarify that | |
1510 | -Wstrict-overflow does not warn about loops. | |
1511 | ||
ae11fff9 | 1512 | 2007-04-24 Janis Johnson <janis187@us.ibm.com> |
1513 | ||
1514 | * config/rs6000/rs6000.c (function_arg_advance): For 32-bit ELF ABI, | |
1515 | expand on the comment about _Decimal128 arguments and check the | |
1516 | integer result of the modulus operation; for 64-bit ELF ABI, ensure | |
1517 | that _Decimal128 argument uses even/odd register pair. | |
1518 | (function_arg): Ditto. | |
1519 | ||
d9f9327b | 1520 | 2007-04-24 Hui-May Chang <hm.chang@apple.com> |
1521 | ||
1522 | * reload1.c (merge_assigned_reloads) : Do not merge a RELOAD_OTHER | |
1523 | instruction with a RELOAD_FOR_OPERAND_ADDRESS instruction. | |
1524 | ||
ee96af51 | 1525 | 2007-04-24 Richard Guenther <rguenther@suse.de> |
1526 | Olga Golovanevsky <olga@il.ibm.com> | |
1527 | ||
29686c2c | 1528 | * fold-const.c (multiple_of_p): Check for bottom |
1529 | to be zero. | |
ee96af51 | 1530 | |
d439f3ef | 1531 | 2007-04-24 Richard Henderson <rth@redhat.com> |
1532 | ||
29686c2c | 1533 | * libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from |
d439f3ef | 1534 | IS_IBM_EXTENDED. Also define in terms of WIDEST_HARDWARE_FP_SIZE. |
1535 | * libgcc2.c (__floatdisf): Avoid double-word arithmetic when | |
1536 | looking for non-zero bits shifted out. Avoid a recursive call | |
1537 | when constructing the scalar. | |
1538 | (__floatundisf): Likewise. | |
1539 | ||
feb5f1b1 | 1540 | 2007-04-24 Nathan Froyd <froydnj@codesourcery.com> |
1541 | ||
1542 | * dwarf2out.c (field_byte_offset): Move the existing logic | |
1543 | under the control of PCC_BITFIELD_TYPE_MATTERS and just use | |
1544 | the bit offset of the field if !PCC_BITFIELD_TYPE_MATTERS. | |
1545 | ||
1ed6fd08 | 1546 | 2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com> |
1547 | ||
1548 | PR target/31641 | |
1549 | * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length | |
1550 | argument of 0 for memset. | |
1551 | (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use | |
1552 | unsigned shift instead of the signed variant. | |
1553 | ||
095798e3 | 1554 | 2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com> |
1555 | ||
1556 | * config/s390/s390.md ("*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs_ibm", | |
1557 | "fix_trunc<BFP:mode><GPR:mode>2_ieee", "fix_truncdfsi2_ibm", | |
1558 | "floatsidf2_ibm", "floatsisf2", "truncdfsf2_ieee", "truncdfsf2_ibm", | |
1559 | "*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", | |
1560 | "*trunctfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm", | |
1561 | "*extenddftf2_ieee", "*extenddftf2_ibm", "*extendsftf2_ieee", | |
1562 | "*extendsftf2_ibm", "*add<mode>3", "*add<mode>3_ibm", "*sub<mode>3_ibm", | |
1563 | "*mul<mode>3", "*mul<mode>3_ibm", "*div<mode>3", "*div<mode>3_ibm", | |
1564 | "*neg<mode>2_ibm", "*abs<mode>2_ibm"): Insn definitions removed. | |
1565 | ("fix_trunc<BFP:mode><GPR:mode>2_bfp", "floatsi<mode>2", | |
1566 | "truncdfsf2", "trunctf<mode>2", "add<mode>3", "sub<mode>3", | |
1567 | "mul<mode>3", "div<mode>3"): Insn definitions added. | |
1568 | ("fixuns_trunc<BFP:mode><GPR:mode>2", "fix_trunc<mode>di2", | |
1569 | "fix_trunc<mode>si2"): gen_fix_trunc<BFP:mode><GPR:mode>2_ieee renamed | |
1570 | to gen_fix_trunc<BFP:mode><GPR:mode>2_bfp. | |
1571 | ("fix_truncdfsi2", "floatsitf2", "truncdfsf2", "trunctfdf2", | |
1572 | "trunctfsf2", "extendsfdf2", "extenddftf2", "extendsftf2", "add<mode>3", | |
1573 | "sub<mode>3", "mul<mode>3", "div<mode>3"): Expander removed. | |
1574 | ("fix_trunc<mode>si2", "extend<DSF:mode><BFP:mode>2"): Expander added. | |
1575 | * config/s390/s390.h (TARGET_IBM_FLOAT, TARGET_IEEE_FLOAT, | |
1576 | TARGET_FLOAT_FORMAT): Macro definitions removed. | |
1577 | (FP_REGNO_P): No special case for !TARGET_IEEE_FLOAT anymore. | |
1578 | * config/s390/s390.c (struct processor_costs, z900_cost, z990_cost, | |
1579 | z9_109_cost): Remove fields for hexfloat instructions: dxr, ddr and der. | |
1580 | (s390_rtx_costs): Remove !TARGET_IEEE_FLOAT special branches. | |
1581 | (s390_gen_rtx_const_DI): Function removed. | |
1582 | * config/s390/s390-protos.h (s390_gen_rtx_const_DI): Prototype removed. | |
1583 | ||
02bf340a | 1584 | 2007-04-24 Richard Sandiford <richard@codesourcery.com> |
1585 | ||
1586 | * optabs.c (set_conv_libfunc): Prefer libgcc2's __ffsMM2 functions | |
1587 | over an external ffs function. | |
1588 | ||
7e564f73 | 1589 | 2007-04-24 Chao-ying Fu <fu@mips.com> |
1590 | Richard Sandiford <richard@nildram.co.uk> | |
1591 | ||
1592 | * doc/md.texi (madd@var{m}@var{n}4, umadd@var{m}@var{n}4): Document. | |
1593 | * optabs.h (OTI_smadd_widen, OTI_umadd_widen): New optab_indexes. | |
1594 | (smadd_widen_optab, umadd_widen_optab): Define. | |
1595 | * optabs.c (init_optabs): Initialize smadd_widen_optab and | |
1596 | umadd_widen_optab. | |
1597 | * genopinit.c (optabs): Fill in smadd_widen_optab and | |
1598 | umadd_widen_optab. | |
1599 | * expr.c (expand_expr_real_1): Try to use smadd_widen_optab | |
1600 | and umadd_widen_optab to implement multiply-add sequences. | |
1601 | * config/mips/mips.md (*<su>mul_acc_di): Rename to... | |
1602 | (<u>maddsidi4): ...this. Extend condition to include | |
1603 | GENERATE_MADD_MSUB and TARGET_DSPR2. Change the constraint | |
1604 | of operand 0 to "ka" and use the three-operand form of madd<u> | |
1605 | for TARGET_DSPR2. | |
1606 | * config/mips/mips-dspr2.md (mips_madd, mips_maddu): Convert | |
1607 | to define_expands. | |
1608 | * config/mips/constraints.md (ka): New register constraint. | |
1609 | ||
32201e9a | 1610 | 2007-04-24 Jan Hubicka <j@suse.cz> |
1611 | ||
1612 | Revert: | |
1613 | ||
1614 | 2007-04-23 Jan Hubicka <jh@suse.cz> | |
1615 | * function.c (init_function_start): Don't init line number info. | |
1616 | (expand_function_end): Update. | |
1617 | (reset_block_changes, record_block_change, finalize_block_changes, | |
1618 | check_block_change, free_block_changes): Kill. | |
1619 | * function.h (reset_block_changes, record_block_change, | |
1620 | finalize_block_changes, check_block_change, free_block_changes): Remove | |
1621 | prototypes. | |
1622 | (struct function): Remove ib_boundaries_block. | |
1623 | * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw): | |
1624 | Use curr_insn_locator to initialize locator. | |
1625 | (emit_line_note): Remove. | |
1626 | * cfgexpand.c (expand_gimple_cond_expr): Update. | |
1627 | (construct_exit_block): Likewise. | |
1628 | (tree_expand_cfg): Initialize/finalize locators. | |
1629 | * expr.c (expand_expr_real): Update. | |
1630 | * cfglayout.c (line_locators_locs, line_locators_lines, | |
1631 | file_locators_locs, file_locators_files): Remove. | |
1632 | (set_block_levels): Move to cfgexpand.c. | |
1633 | (insn_locators_initialize): Remove. | |
1634 | (pass_insn_locators_initialize): Remove. | |
1635 | (locations_locators_locs, locations_locators_vals): New static vars. | |
1636 | (curr_location, last_location, curr_block, last_block, curr_rtl_loc): | |
1637 | Likewise. | |
1638 | (insn_locators_alloc, insn_locators_finalize, | |
1639 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
1640 | New functions. | |
1641 | (locator_location): New. | |
1642 | (locator_line, locator_file): Rewrite. | |
1643 | * rtl.h (emit_line_note): Kill. | |
1644 | (insn_locators_alloc, insn_locators_finalize, | |
1645 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
1646 | Declare. | |
1647 | * tree-inline.c (initialize_cfun): Do not initialize | |
1648 | ib_boundaries_block. | |
1649 | * passes.c (pass_insn_locators_initialize): Remove. | |
1650 | ||
8c4b1b28 | 1651 | 2007-04-24 Daniel Franke <franke.daniel@gmail.com> |
1652 | ||
1653 | * doc/invoke.texi: Removed leading '-' from option index entries. | |
1654 | ||
c23dad79 | 1655 | 2007-04-23 Zdenek Dvorak <dvorakz@suse.cz> |
1656 | ||
1657 | * tree-phinodes.c (reserve_phi_args_for_new_edge, remove_phi_node): | |
1658 | Use phi_nodes_ptr. | |
1659 | (create_phi_node): Use set_phi_nodes. | |
1660 | * omp-low.c (expand_omp_parallel): Use bb_stmt_list. | |
1661 | * tree-if-conv.c (process_phi_nodes): Use set_phi_nodes. | |
1662 | (combine_blocks): Use bb_stmt_list and set_bb_stmt_list. | |
1663 | * tree-flow-inline.h (phi_nodes, set_phi_nodes, | |
1664 | (bsi_start, bsi_last): Use bb_stmt_list. | |
1665 | (phi_nodes_ptr, bb_stmt_list, set_bb_stmt_list): New functions. | |
1666 | * cfgexpand.c (expand_gimple_basic_block): Use bb_stmt_list. | |
1667 | Traverse the statements using tsi iterator. | |
1668 | * basic-block.h (struct basic_block_def): Fields stmt_list | |
1669 | and phi_nodes moved to ... | |
1670 | (struct tree_bb_info): ... new structure. | |
1671 | * tree-cfg.c (create_bb): Allocate il.tree. Use set_bb_stmt_list. | |
1672 | (tree_merge_blocks): Use bb_stmt_list and set_bb_stmt_list. | |
1673 | (remove_bb): Handle blocks with NULL stmt list. Clear il.tree field. | |
1674 | (tree_verify_flow_info): Verify that il.tree is not set for | |
1675 | entry and exit block. | |
1676 | (tree_split_block): Use set_bb_stmt_list. | |
1677 | ||
401ed9a8 | 1678 | 2007-04-23 Mike Stump <mrs@apple.com> |
1679 | ||
1680 | * config/i386/i386.c (ix86_tune_features | |
1681 | [X86_TUNE_DEEP_BRANCH_PREDICTION]: Prefer call over thunks on | |
1682 | nocona and core2. | |
1683 | ||
1f346cbc | 1684 | 2007-04-23 H.J. Lu <hongjiu.lu@intel.com> |
1685 | ||
1686 | * config/i386/i386.md (prefix_extra): New attribute. | |
1687 | (length): Add prefix_extra. | |
1688 | ||
1689 | * onfig/i386/sse.md (sse2_movdqu): Set prefix_data16. | |
1690 | (sse2_movntv2di): Likewise. | |
1691 | (sse2_cvtps2dq): Likewise. | |
1692 | (sse2_cvtpd2pi): Likewise. | |
1693 | (sse2_cvttpd2pi): Likewise. | |
1694 | (*sse2_cvtpd2ps): Likewise. | |
1695 | (*add<mode>3): Likewise. | |
1696 | (sse2_ssadd<mode>3): Likewise. | |
1697 | (sse2_usadd<mode>3): Likewise. | |
1698 | (*sub<mode>3): Likewise. | |
1699 | (sse2_sssub<mode>3): Likewise. | |
1700 | (sse2_ussub<mode>3): Likewise. | |
1701 | (*mulv8hi3): Likewise. | |
1702 | (*smulv8hi3_highpart): Likewise. | |
1703 | (*umulv8hi3_highpart): Likewise. | |
1704 | (sse2_umulv2siv2di3): Likewise. | |
1705 | (sse2_pmaddwd): Likewise. | |
1706 | (ashr<mode>3): Likewise. | |
1707 | (lshr<mode>3): Likewise. | |
1708 | (ashl<mode>3): Likewise. | |
1709 | (sse2_ashlti3): Likewise. | |
1710 | (sse2_lshrti3): Likewise. | |
1711 | (*umaxv16qi3): Likewise. | |
1712 | (*smaxv8hi3): Likewise. | |
1713 | (*uminv16qi3): Likewise. | |
1714 | (*sminv8hi3): Likewise. | |
1715 | (sse2_eq<mode>3): Likewise. | |
1716 | (sse2_gt<mode>3): Likewise. | |
1717 | (*and<mode>3): Likewise. | |
1718 | (sse2_nand<mode>3): Likewise. | |
1719 | (*ior<mode>3): Likewise. | |
1720 | (*xor<mode>3): Likewise. | |
1721 | (sse2_packsswb): Likewise. | |
1722 | (sse2_packssdw): Likewise. | |
1723 | (sse2_packuswb): Likewise. | |
1724 | (sse2_punpckhbw): Likewise. | |
1725 | (sse2_punpcklbw): Likewise. | |
1726 | (sse2_punpckhwd): Likewise. | |
1727 | (sse2_punpcklwd): Likewise. | |
1728 | (sse2_punpckhdq): Likewise. | |
1729 | (sse2_punpckldq): Likewise. | |
1730 | (sse2_punpckhqdq): Likewise. | |
1731 | (sse2_punpcklqdq): Likewise. | |
1732 | (*sse2_pinsrw): Likewise. | |
1733 | (*sse2_pextrw): Likewise. | |
1734 | (sse2_pshufd_1): Likewise. | |
1735 | (sse2_uavgv16qi3): Likewise. | |
1736 | (sse2_uavgv8hi3): Likewise. | |
1737 | (sse2_psadbw): Likewise. | |
1738 | (sse2_pmovmskb): Likewise. | |
1739 | (*sse2_maskmovdqu): Likewise. | |
1740 | (*sse2_maskmovdqu_rex64): Likewise. | |
1741 | (sse4a_extrqi): Likewise. | |
1742 | (sse4a_extrq): Likewise. | |
1743 | (sse3_lddqu): Set prefix_rep. | |
1744 | (sse3_addsubv4sf3): Likewise. | |
1745 | (sse3_haddv4sf3): Likewise. | |
1746 | (sse3_hsubv4sf3): Likewise. | |
1747 | (sse_cvtss2si): Likewise. | |
1748 | (sse_cvtss2si_2): Likewise. | |
1749 | (sse_cvtss2siq): Likewise. | |
1750 | (sse_cvtss2siq_2): Likewise. | |
1751 | (sse_cvttss2si): Likewise. | |
1752 | (sse_cvttss2siq): Likewise. | |
1753 | (sse2_cvttps2dq): Likewise. | |
1754 | (sse3_movshdup): Likewise. | |
1755 | (sse3_movsldup): Likewise. | |
1756 | (sse2_cvtsd2si): Likewise. | |
1757 | (sse2_cvtsd2si_2): Likewise. | |
1758 | (sse2_cvtsd2siq): Likewise. | |
1759 | (sse2_cvtsd2siq_2): Likewise. | |
1760 | (sse2_cvttsd2si): Likewise. | |
1761 | (sse2_cvttsd2siq): Likewise. | |
1762 | (*sse2_cvtpd2dq): Likewise. | |
1763 | (*sse2_cvttpd2dq): Likewise. | |
1764 | (sse2_pshuflw_1): Likewise. | |
1765 | (sse2_pshufhw_1): Likewise. | |
1766 | (sse4a_insertqi): Likewise. | |
1767 | (sse4a_insertq): Likewise. | |
1768 | (ssse3_phaddwv8hi3): Set prefix_data16 and prefix_extra. | |
1769 | (ssse3_phadddv4si3): Likewise. | |
1770 | (ssse3_phaddswv8hi3): Likewise. | |
1771 | (ssse3_phsubwv8hi3): Likewise. | |
1772 | (ssse3_phsubdv4si3): Likewise. | |
1773 | (ssse3_phsubswv8hi3): Likewise. | |
1774 | (ssse3_pmaddubswv8hi3): Likewise. | |
1775 | (ssse3_pmulhrswv8hi3): Likewise. | |
1776 | (ssse3_pshufbv16qi3): Likewise. | |
1777 | (ssse3_psign<mode>3): Likewise. | |
1778 | (ssse3_palignrti): Likewise. | |
1779 | (abs<mode>2): Likewise. | |
1780 | (ssse3_phaddwv4hi3): Set prefix_extra. | |
1781 | (ssse3_phadddv2si3): Likewise. | |
1782 | (ssse3_phaddswv4hi3): Likewise. | |
1783 | (ssse3_phsubwv4hi3): Likewise. | |
1784 | (ssse3_phsubdv2si3): Likewise. | |
1785 | (ssse3_phsubswv4hi3): Likewise. | |
1786 | (ssse3_pmaddubswv4hi3): Likewise. | |
1787 | (ssse3_pmulhrswv4hi3): Likewise. | |
1788 | (ssse3_pshufbv8qi3): Likewise. | |
1789 | (ssse3_psign<mode>3): Likewise. | |
1790 | (ssse3_palignrdi): Likewise. | |
1791 | (abs<mode>2): Likewise. | |
1792 | (sse2_cvtdq2ps): Set mode to V4SF instead of V2DF. | |
1793 | (*vec_dupv2df): Set mode to V2DF instead of V4SF. | |
1794 | (sse2_pmovmskb): Set mode to SI instead of V2DF. | |
1795 | ||
8747a9a4 | 1796 | 2007-04-23 Nick Clifton <nickc@redhat.com> |
1797 | ||
1798 | * params.def: Fix formatting of emacs local variables. | |
1799 | ||
238270c6 | 1800 | 2007-04-23 H.J. Lu <hongjiu.lu@intel.com> |
1801 | ||
1802 | * config/i386/sse.md (sse2_stored): Don't split to inter-unit | |
1803 | move if inter-unit move isn't allowed. | |
1804 | Don't split moving the first element of V2DI to DI to inter-unit | |
1805 | move if inter-unit move isn't allowed. | |
1806 | ||
f1456a87 | 1807 | 2007-04-23 Richard Guenther <rguenther@suse.de> |
1808 | ||
1809 | * tree-ssa-sink.c (execute_sink_code): Calculate CDI_DOMINATORS | |
1810 | and CDI_POST_DOMINATORS separately. | |
1811 | ||
0e457001 | 1812 | 2007-04-23 Nick Clifton <nickc@redhat.com> |
1813 | ||
1814 | * c.opt (Wformat-contains-nul): Add warning attribute. | |
1815 | ||
6a06c824 | 1816 | 2007-04-23 Jan Hubicka <jh@suse.cz> |
1817 | ||
1818 | * function.c (init_function_start): Don't init line number info. | |
1819 | (expand_function_end): Update. | |
1820 | (reset_block_changes, record_block_change, finalize_block_changes, | |
1821 | check_block_change, free_block_changes): Kill. | |
1822 | * function.h (reset_block_changes, record_block_change, | |
1823 | finalize_block_changes, check_block_change, free_block_changes): Remove | |
1824 | prototypes. | |
1825 | (struct function): Remove ib_boundaries_block. | |
1826 | * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw): | |
1827 | Use curr_insn_locator to initialize locator. | |
1828 | (emit_line_note): Remove. | |
1829 | * cfgexpand.c (expand_gimple_cond_expr): Update. | |
1830 | (construct_exit_block): Likewise. | |
1831 | (tree_expand_cfg): Initialize/finalize locators. | |
1832 | * expr.c (expand_expr_real): Update. | |
1833 | * cfglayout.c (line_locators_locs, line_locators_lines, | |
1834 | file_locators_locs, file_locators_files): Remove. | |
1835 | (set_block_levels): Move to cfgexpand.c. | |
1836 | (insn_locators_initialize): Remove. | |
1837 | (pass_insn_locators_initialize): Remove. | |
1838 | (locations_locators_locs, locations_locators_vals): New static vars. | |
1839 | (curr_location, last_location, curr_block, last_block, curr_rtl_loc): | |
1840 | Likewise. | |
1841 | (insn_locators_alloc, insn_locators_finalize, | |
1842 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
1843 | New functions. | |
1844 | (locator_location): New. | |
1845 | (locator_line, locator_file): Rewrite. | |
1846 | * rtl.h (emit_line_note): Kill. | |
1847 | (insn_locators_alloc, insn_locators_finalize, | |
1848 | set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator): | |
1849 | Declare. | |
1850 | * tree-inline.c (initialize_cfun): Do not initialize | |
1851 | ib_boundaries_block. | |
1852 | * passes.c (pass_insn_locators_initialize): Remove. | |
1853 | ||
32e79ae6 | 1854 | 2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1855 | ||
1856 | PR middle-end/31448 | |
1857 | * expr.c (reduce_to_bit_field_precision): Handle | |
1858 | CONST_INT rtx's. | |
1859 | ||
bb8107e7 | 1860 | 2007-04-22 Uros Bizjak <ubizjak@gmail.com> |
1861 | ||
1862 | PR tree-optimization/24659 | |
1863 | * optabs.h (enum optab_index) [OTI_vec_unpacks_hi, | |
1864 | OTI_vec_unpacks_lo]: Update comment to mention floating point operands. | |
1865 | (vec_pack_trunc_optab): Rename from vec_pack_mod_optab. | |
1866 | * genopinit.c (optabs): Rename vec_pack_mod_optab | |
1867 | to vec_pack_trunc_optab. | |
1868 | * tree-vect-transform.c (vectorizable_type_demotion): Do not fail | |
1869 | early for scalar floating point operands for NOP_EXPR. | |
1870 | (vectorizable_type_promotion): Ditto. | |
1871 | * optabs.c (optab_for_tree_code) [VEC_PACK_TRUNC_EXPR]: Return | |
1872 | vec_pack_trunc_optab. | |
1873 | (expand_binop): Rename vec_float_trunc_optab to vec_pack_mod_optab. | |
1874 | ||
1875 | * tree.def (VEC_PACK_TRUNC_EXPR): Rename from VEC_PACK_MOD_EXPR. | |
1876 | * tree-pretty-print.c (dump_generic_node) [VEC_PACK_TRUNC_EXPR]: | |
1877 | Rename from VEC_PACK_MOD_EXPR. | |
1878 | (op_prio) [VEC_PACK_TRUNC_EXPR]: Ditto. | |
1879 | * expr.c (expand_expr_real_1): Ditto. | |
1880 | * tree-inline.c (estimate_num_insns_1): Ditto. | |
1881 | * tree-vect-generic.c (expand_vector_operations_1): Ditto. | |
1882 | ||
1883 | * config/i386/sse.md (vec_unpacks_hi_v4sf): New expander. | |
1884 | (vec_unpacks_lo_v4sf): Ditto. | |
1885 | (vec_pack_trunc_v2df): Ditto. | |
1886 | (vec_pack_trunc_v8hi): Rename from vec_pack_mod_v8hi. | |
1887 | (vec_pack_trunc_v4si): Rename from vec_pack_mod_v4si. | |
1888 | (vec_pack_trunc_v2di): Rename from vec_pack_mod_v2di. | |
1889 | ||
1890 | * config/rs6000/altivec.md (vec_pack_trunc_v8hi): Rename from | |
1891 | vec_pack_mod_v8hi. | |
1892 | (vec_pack_trunc_v4si): Rename from vec_pack_mod_v4si. | |
1893 | ||
1894 | * doc/c-tree.texi (Expression trees) [VEC_PACK_TRUNC_EXPR]: | |
1895 | Rename from VEC_PACK_MOD_EXPR. This expression also represent | |
1896 | packing of floating point operands. | |
1897 | [VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR]: These expression also | |
1898 | represent unpacking of floating point operands. | |
1899 | * doc/md.texi (Standard Names) [vec_pack_trunc]: Update documentation. | |
1900 | [vec_unpacks_hi]: Ditto. | |
1901 | [vec_unpacks_lo]: Ditto. | |
1902 | ||
64c2e9b0 | 1903 | 2007-04-22 Jan Hubicka <jh@suse.cz> |
1904 | ||
1905 | * final.c (rest_of_handle_final): Call | |
1906 | targetm.asm_out.constructor/targetm.asm_out.destructor | |
1907 | * cgraphunit.c (cgraph_build_static_cdtor): Don't do it here; set | |
1908 | proper priority via decl_*_priority_insert. | |
1909 | * c-common.c (c_expand_body): Likewise. | |
1910 | ||
790963ba | 1911 | 2007-04-22 Richard Guenther <rguenther@suse.de> |
1912 | ||
1913 | PR tree-optimization/29789 | |
1914 | * tree-ssa-loop-im.c (stmt_cost): Adjust cost of shifts. | |
1915 | (rewrite_reciprocal): New helper split out from | |
1916 | determine_invariantness_stmt. | |
1917 | (rewrite_bittest): Likewise. | |
1918 | (determine_invariantness_stmt): Rewrite (A >> B) & 1 to | |
1919 | A & (1 << B) if (1 << B) is loop invariant but (A >> B) | |
1920 | is not. | |
1921 | ||
0def560a | 1922 | 2007-04-22 Revital Eres <eres@il.ibm.com> |
1923 | ||
b42bbd03 | 1924 | * loop-unroll.c (var_to_expand): New field to support also |
1925 | insns of the form x = something + x. | |
1926 | (analyze_insn_to_expand_var): Use it. | |
1927 | (expand_var_during_unrolling): Likewise. | |
0def560a | 1928 | |
b3723726 | 1929 | 2007-04-21 Zdenek Dvorak <dvorakz@suse.cz> |
1930 | ||
1931 | * predict.c: Include pointer-set.h. | |
1932 | (bb_predictions): New variable. | |
1933 | (tree_predicted_by_p, tree_predict_edge, | |
1934 | remove_predictions_associated_with_edge): Use bb_predictions map | |
1935 | instead of bb->predictions. | |
1936 | (clear_bb_predictions, assert_is_empty): New functions. | |
1937 | (combine_predictions_for_bb): Use bb_predictions map. Call | |
1938 | clear_bb_predictions. | |
1939 | (tree_estimate_probability): Create and free bb_predictions map. | |
1940 | * Makefile.in (predict.o): Add pointer-set.h dependency. | |
1941 | * basic-block.h (struct basic_block_def): Remove predictions | |
1942 | field. | |
1943 | * cfgrtl.c (rtl_verify_flow_info_1): Do not check bb->predictions. | |
1944 | ||
ec49ea0b | 1945 | 2007-04-21 Kaz Kojima <kkojima@gcc.gnu.org> |
1946 | ||
1947 | PR target/31480 | |
1948 | * config/sh/sh.md (length): Check if prev_nonnote_insn (insn) | |
1949 | is null. | |
1950 | ||
f7b38b18 | 1951 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1952 | ||
1953 | * timevar.c (timevar_print): Change reference of --disable-checking to | |
1954 | --enable-checking=release. Also warn if assert checking is disabled. | |
1955 | ||
cae486e2 | 1956 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1957 | ||
1958 | PR C/30265 | |
1959 | * c-gimplifier.c (gimplify_compound_literal_expr): Mark the | |
1960 | decl as addressable if the compound literal was marked as | |
1961 | addressable. | |
1962 | Mark the decl as a gimple register if it is a complex or | |
1963 | vector decl and does not live in memory. | |
1964 | ||
98d4f925 | 1965 | 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1966 | ||
1967 | * tree.h (GIMPLE_TUPLE_P): Also true for PHI_NODEs. | |
1968 | (GENERIC_NEXT): New function macro. | |
1969 | (PHI_CHAIN): Use phi_node's new chain variable. | |
1970 | (tree_phi_node): Change tree_common to tree_base | |
1971 | and add the chain field. | |
1972 | * tree-phinodes.c (make_phi_node): Don't set | |
1973 | TREE_TYPE on the new node. | |
1974 | * c-decl.c (lang_tree_node): Use GENERIC_NEXT | |
1975 | instead of checking GIMPLE_TUPLE_P in chain_next. | |
1976 | * tree-vect-transform.c | |
1977 | (get_initial_def_for_induction): Look at | |
1978 | PHI_RESULT_TREE for the type of the phi node. | |
1979 | (update_vuses_to_preheader): Use PHI_CHAIN | |
1980 | instead of TREE_CHAIN on the phi node. | |
1981 | * tree-ssa-structalias.c (compute_points_to_sets): | |
1982 | Likewise. | |
1983 | (ipa_pta_execute): Likewise. | |
1984 | ||
7a6537b3 | 1985 | 2007-04-21 Richard Guenther <rguenther@suse.de> |
1986 | ||
1987 | PR middle-end/31136 | |
1988 | * fold-const.c (fold_unary): Call fold_convert_const on the | |
1989 | original tree. | |
1990 | ||
7413a5e0 | 1991 | 2007-04-21 Alexandre Oliva <aoliva@redhat.com> |
1992 | ||
1993 | * gcse.c (store_killed_in_insn): Handle PARALLELs. | |
1994 | (store_killed_in_pat): New. | |
1995 | ||
e865d428 | 1996 | 2007-04-20 Richard Henderson <rth@redhat.com> |
1997 | ||
1998 | PR target/31628 | |
1999 | * config/i386/i386.c (type_has_variadic_args_p): Look for any | |
2000 | TREE_LIST with a void_type_node value, not void_list_node exactly. | |
2001 | ||
a7d782cd | 2002 | 2007-04-21 Douglas Gregor <doug.gregor@gmail.com> |
2003 | ||
2004 | * doc/standards.texi: Re-arrange into language-specific | |
2005 | subsections. Add a C++ section, documenting which standards we | |
2006 | support. | |
2007 | ||
cf95b243 | 2008 | 2007-04-21 Zdenek Dvorak <dvorakz@suse.cz> |
2009 | ||
2010 | * tree-ssa-structalias.c (delete_points_to_sets): Free graph->complex. | |
2011 | * tree-ssa-operands.c (finalize_ssa_vuse_ops): Free new_ops. | |
2012 | ||
1177f497 | 2013 | 2007-04-20 Daniel Jacobowitz <dan@codesourcery.com> |
2014 | ||
2015 | * config/rs6000/sysv4.h (STARTFILE_DEFAULT_SPEC): Include | |
2016 | ecrti.o and crtbegin.o. | |
2017 | (LIB_DEFAULT_SPEC): Include -lc. | |
2018 | (ENDFILE_DEFAULT_SPEC): Include crtend.o and ecrtn.o. | |
2019 | ||
0934d969 | 2020 | 2007-04-20 Richard Henderson <rth@redhat.com> |
2021 | ||
2022 | PR target/28623 | |
2023 | * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset | |
2024 | argument; update all callers. | |
2025 | (get_unaligned_offset): New. | |
2026 | * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use | |
2027 | get_unaligned_address, just pass on the address directly. | |
2028 | (unaligned_extendqidi): Use gen_lowpart instead of open-coding | |
2029 | the subreg in the helper patterns. | |
2030 | (unaligned_extendqidi_le): Use get_unaligned_offset. | |
2031 | (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise. | |
2032 | (unaligned_extendhidi_be): Likewise. | |
2033 | (unaligned_extendhidi): Tidy. | |
2034 | * config/alpha/alpha-protos.h: Update. | |
2035 | ||
a2a5e014 | 2036 | 2007-04-20 Richard Henderson <rth@redhat.com> |
2037 | ||
2038 | * config/alpha/alpha.h (CPP_SPEC, CPP_SUBTARGET_SPEC): Remove. | |
2039 | (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove. | |
2040 | * config/alpha/linux.h (CPP_SPEC): Undef before redefine. | |
2041 | * config/alpha/linux-elf.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
2042 | * config/alpha/freebsd.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
2043 | (CPP_SPEC): Don't include %(cpp_subtarget). | |
2044 | * config/alpha/netbsd.h (CPP_SPEC): Rename CPP_SUBTARGET_SPEC. | |
2045 | (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS. | |
2046 | * config/alpha/osf.h (CPP_SPEC, EXTRA_SPECS): Similarly. | |
2047 | ||
ddb8b0be | 2048 | 2007-04-20 Jakub Jelinek <jakub@redhat.com> |
2049 | ||
553633cf | 2050 | * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED |
2051 | for __builtin_ia32_cmpordss. | |
2052 | ||
ddb8b0be | 2053 | PR tree-optimization/31632 |
2054 | * fold-const.c (fold_binary): Use op0 and op1 instead of arg0 | |
2055 | and arg1 for optimizations of comparison against min/max values. | |
2056 | Fold arg0 to arg1's type for optimizations of comparison against | |
2057 | min+1 and max-1 values. | |
2058 | ||
efb8c784 | 2059 | 2007-04-19 Bernd Schmidt <bernd.schmidt@analog.com> |
2060 | ||
2061 | * reload.c (combine_reloads): When trying to use a dying register, | |
2062 | check whether it's uninitialized and don't use if so. | |
2063 | ||
bd56c1f7 | 2064 | 2007-04-19 Brooks Moses <brooks.moses@codesourcery.com> |
2065 | ||
2066 | * fold-const.c: Remove prototypes for native_encode_expr and | |
2067 | native_interpret_expr. | |
2068 | (native_encode_expr): Make non-static. | |
2069 | (native_interpret_expr): Likewise. | |
2070 | * tree.h: Add prototypes for the above. | |
2071 | ||
4758e73d | 2072 | 2007-04-19 Joseph Myers <joseph@codesourcery.com> |
2073 | ||
4758e73d | 2074 | * config/rs6000/spe.md (*frob_tf_ti, *frob_ti_tf, *frob_ti_tf_2, |
2075 | *mov_si<mode>_e500_subreg0, *mov_si<mode>_e500_subreg0_2, | |
2076 | *mov_sitf_e500_subreg8, *mov_sitf_e500_subreg8_2, spe_extenddftf2, | |
2077 | spe_fix_trunctfsi2_internal, spe_negtf2_internal, cmptfeq_gpr, | |
2078 | tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gpr): | |
2079 | Add length attributes. | |
2080 | ||
839803bd | 2081 | 2007-04-19 Janis Johnson <janis187@us.ibm.com> |
2082 | ||
7bb1423a | 2083 | * ginclude/float.h: Check that __STDC_WANT_DEC_FP__ is defined, |
2084 | not that it is 1. | |
2085 | ||
839803bd | 2086 | * c-cppbuiltin.c (c_cpp_builtins): Remove definition of |
2087 | __STDC_WANT_DEC_FP__. | |
2088 | ||
8c3bf67d | 2089 | 2007-04-19 Joseph Myers <joseph@codesourcery.com> |
2090 | ||
2091 | * configure.ac: Allow both powerpc*-*-linux* and powerpc*-*-gnu* | |
2092 | for long double compatibility. | |
2093 | * configure: Regenerate. | |
2094 | ||
88a00894 | 2095 | 2007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr> |
2096 | ||
2097 | PR rtl-optimization/29841 | |
2098 | * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional | |
2099 | trap instructions. | |
2100 | * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions | |
2101 | that may cause control flow transfer from being moved. | |
2102 | ||
b2f88529 | 2103 | 2007-04-18 Jan Hubicka <jh@suse.cz> |
2104 | ||
2105 | * fold-const.c (div_if_zero_remainder): Do signed divide for pointer | |
2106 | types. | |
2107 | ||
90c24387 | 2108 | 2007-04-18 Eric Christopher <echristo@apple.com> |
572d7bec | 2109 | |
90c24387 | 2110 | * config/rs6000/darwin.md (load_macho_picbase): Use link register |
2111 | only. Update operands. | |
2112 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Update caller. | |
2113 | * config/rs6000/rs6000.md (builtin_setjmp_receiver): Ditto. Move from | |
2114 | link register to pic register. | |
572d7bec | 2115 | |
7988a017 | 2116 | 2007-04-18 Dirk Mueller <dmueller@suse.de> |
2117 | ||
2118 | PR diagnostic/31227 | |
2119 | * tree-vrp.c (search_for_addr_array): New. | |
2120 | (check_array_bounds): Suppress warning about | |
2121 | address taken of array refs if its not de-referenced. | |
2122 | ||
33bbe730 | 2123 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
2124 | ||
2125 | * tree-vectorizer.c (destroy_loop_vec_info): Set loop->aux to NULL. | |
2126 | * tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux. | |
2127 | ||
2128 | * tree-vectorizer.h (NITERS_KNOWN_P): New. | |
90c24387 | 2129 | * tree-vect-analyze.c (vect_analyze_loop_form): Call NITERS_KNOWN_P |
33bbe730 | 2130 | instead of LOOP_VINFO_INT_NITERS to avoid having to geneate loop_info. |
2131 | ||
90c24387 | 2132 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Add |
33bbe730 | 2133 | dump print. |
2134 | (vect_analyze_operations): Fix indenetation. Fix a comment. Fix a | |
2135 | print message. | |
2136 | (vect_analyze_scalar_cycles): Fix indentation. | |
2137 | (vect_enhance_data_refs_alignment): Fix check in case of peeling. | |
2138 | (vect_mark_relevant): Include phis in relevance analysis. | |
2139 | ||
2140 | * tree-vect-transform.c (vect_transform_loop): Add an assert. | |
2141 | ||
5985f1ef | 2142 | 2007-04-18 Anatoly Sokolov <aesok@post.ru> |
2143 | ||
2144 | * config/avr/avr.c (ptrreg_to_str): Replace error() with | |
2145 | output_operand_lossage(). | |
2146 | ||
24d7ad26 | 2147 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
2148 | ||
2149 | * tree-vect-transform.c (get_initial_def_for_reduction): Clean away | |
2150 | the unused code for reduction without adjust-in-epilog to simplify the | |
2151 | function. | |
2152 | ||
27784c70 | 2153 | 2007-04-18 Wolfgang Gellerich <gellerich@de.ibm.com> |
2154 | ||
2155 | * config/s390/s390.h (S390_TDC_POSITIVE_ZERO): New constant. | |
2156 | (S390_TDC_NEGATIVE_ZERO): New constant. | |
2157 | (S390_TDC_POSITIVE_NORMALIZED_NUMBER): New constant. | |
2158 | (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): New constant. | |
2159 | (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): New constant. | |
2160 | (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): New constant. | |
2161 | (S390_TDC_POSITIVE_INFINITY): New constant. | |
2162 | (S390_TDC_NEGATIVE_INFINITY): New constant. | |
2163 | (S390_TDC_POSITIVE_QUIET_NAN): New constant. | |
2164 | (S390_TDC_NEGATIVE_QUIET_NAN): New constant. | |
2165 | (S390_TDC_POSITIVE_SIGNALING_NAN): New constant. | |
2166 | (S390_TDC_NEGATIVE_SIGNALING_NAN): New constant. | |
2167 | (S390_TDC_INFINITY): New constant. | |
2168 | * config/s390/s390.c (s390_canonicalize_comparison): Renamed | |
2169 | UNSPEC_CMPINT to UNSPEC_CCU_TO_INT, added a UNSPEC_CCU_TO_INT-like | |
2170 | optimization for UNSPEC_CCZ_TO_INT. | |
2171 | * config/s390/s390.md ("*TDC_insn_<mode>"): New insn. | |
2172 | ("*ccz_to_int"): New insn. | |
2173 | ("isinf<mode>2"): New insn. | |
2174 | (UNSPEC_CMPINT): Renamed to UNSPEC_CCU_TO_INT. | |
2175 | (UNSPEC_CCU_TO_INT): New constant, replaces UNSPEC_CMPINT. | |
2176 | (UNSPEC_CCZ_TO_INT): New constant. | |
2177 | ||
37361b38 | 2178 | 2007-04-18 Richard Guenther <rguenther@suse.de> |
2179 | ||
2180 | PR tree-optimization/19431 | |
2181 | PR tree-optimization/21463 | |
2182 | * tree-pass.h (pass_phiprop): Declare. | |
2183 | * passes.c (init_optimization_passes): New phiprop pass. | |
2184 | * tree-ssa-forwprop.c (struct phiprop_d): New structure. | |
2185 | (phivn_valid_p): New helper function. | |
2186 | (phiprop_insert_phi): Likewise. | |
2187 | (propagate_with_phi): Likewise. | |
2188 | (tree_ssa_phiprop): New propagator propagating loads | |
2189 | through phi nodes if profitable. | |
2190 | ||
a5e56906 | 2191 | 2007-04-18 Dorit Nuzman <dorit@il.ibm.com> |
2192 | ||
2193 | * tree-vect-analyze.c (process_use): New function. | |
2194 | (vect_mark_stmts_to_be_vectorized): Factor out code to process_use. | |
2195 | Check phis in all bbs. | |
2196 | * tree-vectorizer.c (vect_is_simple_use): Remove a no longer relavant | |
2197 | assert. | |
2198 | ||
ea4c8f87 | 2199 | 2007-04-18 Bernd Schmidt <bernd.schmidt@analog.com> |
2200 | ||
2201 | * reload1.c (eliminte_regs_in_insn): Use REG_EQUIV notes the same way | |
2202 | we use REG_EQUAL. | |
2203 | ||
c3384cae | 2204 | 2007-04-17 Anatoly Sokolov <aesok@post.ru> |
2205 | ||
2206 | PR target/30483 | |
2207 | * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with | |
2208 | error(). | |
2209 | ||
2c2034a3 | 2210 | 2007-04-17 H.J. Lu <hongjiu.lu@intel.com> |
2211 | ||
2212 | * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand | |
2213 | on "0". | |
2214 | (sse_vmmulv4sf3): Likewise. | |
2215 | (sse2_vmaddv2df3): Likewise. | |
2216 | (sse2_vmmulv2df3): Likewise. | |
2217 | ||
25153338 | 2218 | 2007-04-17 Zdenek Dvorak <dvorakz@suse.cz> |
2219 | ||
2220 | PR rtl-optimization/31360 | |
2221 | * cfgloopanal.c (target_small_cost, target_pres_cost): Removed. | |
2222 | (target_reg_cost): New. | |
2223 | (init_set_costs): Initialize target_reg_cost. Add comments | |
2224 | regarding the rationale of the costs. | |
2225 | (global_cost_for_size): Renamed to... | |
2226 | (estimate_reg_pressure_cost): ... and simplify. Decrease importance | |
2227 | of register pressure. | |
2228 | * tree-ssa-loop-ivopts.c (ivopts_global_cost_for_size): Use | |
2229 | estimate_reg_pressure_cost. Add number of ivs. | |
2230 | (determine_set_costs): Dump target_reg_cost. | |
2231 | * loop-invariant.c (gain_for_invariant): Use | |
2232 | estimate_reg_pressure_cost. Removed n_inv_uses argument. | |
2233 | (best_gain_for_invariant, find_invariants_to_move): Remove | |
2234 | n_inv_uses. | |
2235 | * cfgloop.h (target_small_cost, target_pres_cost): Removed. | |
2236 | (target_reg_cost): Declare. | |
2237 | (global_cost_for_size): Declaration removed. | |
2238 | (estimate_reg_pressure_cost): Declare. | |
2239 | ||
32eb5ffe | 2240 | 2007-04-17 Peter Bergner <bergner@vnet.ibm.com> |
2241 | ||
2242 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Force TDmode | |
2243 | regnos into even/odd register pairs. | |
2244 | * config/rs6000/rs6000.h [SLOW_UNALIGNED_ACCESS]: Treat DDmode and | |
2245 | TDmode similar to the other floating point modes. | |
2246 | [SECONDARY_MEMORY_NEEDED]: Treat DDmode similar to DFmode. | |
2247 | * config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): New | |
2248 | define_expand's. | |
2249 | (negdd2_fpr, absdd2_fpr, nabsdd2_fpr, negtd2_fpr, abstd2_fpr, | |
2250 | nabstd2_fpr, movdd_hardfloat64_mfpgpr): New define_insn's. | |
2251 | (movdd_hardfloat64): Use TARGET_MFPGPR. | |
2252 | ||
759d3f80 | 2253 | 2007-04-17 Bernd Schmidt <bernd.schmidt@analog.com> |
2254 | ||
2255 | * reload1.c (delete_output_reload): Don't count output in n_inherited. | |
2256 | ||
2257 | Revert | |
2258 | 2005-01-05 Richard Henderson <rth@redhat.com> | |
2259 | PR rtl-opt/10692 | |
2260 | * reload1.c (do_input_reload): Restrict the optimization deleteing | |
2261 | a previous output reload to RELOAD_FOR_INPUT. | |
2262 | ||
6fada017 | 2263 | 2007-04-17 Dorit Nuzman <dorit@il.ibm.com> |
2264 | ||
2265 | * tree-vectorizer.h (stmt_vec_info_type): Add enum value | |
2266 | induc_vec_info_type. | |
2267 | (vectorizable_induction): New function declaration. | |
2268 | * tree-vect-transform.c (get_initial_def_for_induction): No need to | |
2269 | check if already vectorized. Find first place in BB where new stmts | |
2270 | can be inserted. Takes only one argument. | |
2271 | (vectorizable_induction): New function. | |
2272 | (vect_transform_stmt): Add case for induc_vec_info_type to call | |
2273 | vectorizable_induction. | |
2274 | (vect_transform_loop): Consider phis for vectorization. | |
2275 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify | |
2276 | condition. | |
90c24387 | 2277 | (analyze_operations): Call vectorizable_induction when analyzing phis. |
6fada017 | 2278 | Fix comment. |
2279 | (vect_mark_stmts_to_be_vectorized): Remove redundant checks. | |
2280 | (vect_mark_relevant): Include phis in relevance analysis. | |
2281 | (vect_mark_stmts_to_be_vectorize): Likewise. | |
2282 | * tree-vect-patterns.c (widened_name_p): Remove obsolete asserts. | |
2283 | ||
0e4744ac | 2284 | 2007-04-16 Lawrence Crowl <crowl@google.com> |
2285 | ||
2286 | * doc/invoke.texi (Debugging Options): Add documentation for the | |
2287 | -femit-struct-debug options -femit-struct-debug-baseonly, | |
2288 | -femit-struct-debug-reduced, and | |
2289 | -femit-struct-debug-detailed[=...]. | |
2290 | ||
2291 | * c-opts.c (c_common_handle_option): Add | |
2292 | OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced, | |
2293 | and OPT_femit_struct_debug_detailed_. | |
2294 | * c.opt: Add specifications for | |
2295 | -femit-struct-debug-baseonly, -femit-struct-debug-reduced, | |
2296 | and -femit-struct-debug-detailed[=...]. | |
2297 | * opts.c (set_struct_debug_option): Parse the | |
2298 | -femit-struct-debug-... options. | |
2299 | * opts.c (matches_main_base, main_input_basename, | |
2300 | main_input_baselength, base_of_path, matches_main_base): Add | |
2301 | variables and functions to compare header base name to compilation | |
2302 | unit base name. | |
2303 | * opts.c (should_emit_struct_debug): Add to determine to emit a | |
2304 | structure based on the option. | |
2305 | (dump_struct_debug) Also disabled function to debug this | |
2306 | function. | |
2307 | * opts.c (handle_options): Save the base name of the | |
2308 | compilation unit. | |
2309 | ||
2310 | * langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define. | |
e865d428 | 2311 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add. |
0e4744ac | 2312 | This hook indicates if a type is generic. Set it by default |
2313 | to "never generic". | |
2314 | * langhooks.h (struct lang_hooks_for_types): Add a new hook | |
2315 | to determine if a struct type is generic or not. | |
2316 | * cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook. | |
2317 | * cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook. | |
2318 | * cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook | |
2319 | with live C++ hook. | |
2320 | ||
2321 | * flags.h (enum debug_info_usage): Add an enumeration to describe | |
2322 | a program's use of a structure type. | |
2323 | * dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter | |
2324 | to indicate the program's usage of the type. Filter structs based | |
2325 | on the -femit-struct-debug-... specification. | |
2326 | (gen_type_die): Split into two routines, gen_type_die and | |
2327 | gen_type_die_with_usage. gen_type_die is now a wrapper | |
2328 | that assumes direct usage. | |
2329 | (gen_type_die_with_usage): Replace calls to gen_type_die | |
2330 | with gen_type_die_with_usage adding the program usage of | |
2331 | the referenced type. | |
2332 | (dwarf2out_imported_module_or_decl): Suppress struct debug | |
2333 | information using should_emit_struct_debug when appropriate. | |
2334 | ||
91c9ef60 | 2335 | 2007-04-16 Ian Lance Taylor <iant@google.com> |
2336 | ||
5c7155ca | 2337 | PR tree-optimization/31522 |
2338 | * tree-vrp.c (vr_phi_edge_counts): New static variable. | |
2339 | (vrp_initialize): Allocate vr_phi_edge_counts. | |
2340 | (vrp_visit_phi_node): Don't push to infinity if we saw a new | |
2341 | executable edge. Drop test for all constants. | |
2342 | (vrp_finalize): Free vrp_phi_edge_counts. | |
2343 | ||
40b49e8f | 2344 | * doc/cpp.texi (Common Predefined Macros): Clarify description of |
2345 | __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__. | |
2346 | ||
91c9ef60 | 2347 | * tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer |
2348 | predecessors at head rather than tail. | |
2349 | ||
fc7dfeb9 | 2350 | 2007-04-16 Matthias Klose <doko@debian.org> |
2351 | ||
ddb8b0be | 2352 | * config/alpha/linux.h (CPP_SPEC): Define. |
2353 | * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend. | |
fc7dfeb9 | 2354 | |
c085e9f9 | 2355 | 2007-04-16 Aldy Hernandez <aldyh@redhat.com> |
2356 | ||
e865d428 | 2357 | * function.h: Remove sequence_stack extern declaration. |
c085e9f9 | 2358 | |
98d02c10 | 2359 | 2007-04-16 Kazu Hirata <kazu@codesourcery.com> |
2360 | ||
2361 | * config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Change to 64 on | |
2362 | TARGET_FIDOA. | |
2363 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Change to 64 if __mfido__ is | |
2364 | defined. | |
2365 | ||
8c23ba29 | 2366 | 2007-04-16 Anatoly Sokolov <aesok@post.ru> |
2367 | ||
2368 | * config/avr/avr.c (avr_arch_types): Rearranging array. | |
2369 | (enum avr_arch): Add. | |
90c24387 | 2370 | (avr_mcu_types): Use avr_arch enumeration constants instead of |
8c23ba29 | 2371 | numbers. |
2372 | * config/avr/avr.h (LINK_SPEC): Simplify. | |
2373 | ||
dbaae14a | 2374 | 2007-04-16 Kazu Hirata <kazu@codesourcery.com> |
2375 | ||
2376 | * config/m68k/m68k.c (m68k_libcall_value, | |
2377 | m68k_function_value): Use macros for register names more. | |
2378 | ||
47313d14 | 2379 | * config/m68k/m68k.h (FRAME_POINTER_REGNUM): Use A6_REG |
2380 | instead. | |
2381 | (M68K_REGNAME): Use A6_REG. | |
2382 | * config/m68k/m68k.md (FP_REG): Rename to A6_REG. | |
2383 | ||
c5947ab7 | 2384 | 2007-04-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
2385 | ||
2386 | PR middle-end/28071 | |
2387 | * sched-int.h (struct deps): Split field 'pending_lists_length' into | |
2388 | 'pending_read_list_length' and 'pending_write_list_length'. Update | |
2389 | comment. | |
2390 | * sched-deps.c (add_insn_mem_dependence): Change signature. Update | |
2391 | to handle two length counters instead of one. Update all uses. | |
2392 | (flush_pending_lists, sched_analyze_1, init_deps): Update to handle | |
2393 | two length counters instead of one. | |
2394 | * sched-rgn.c (propagate_deps): Update to handle two length counters | |
2395 | instead of one. | |
2396 | ||
c3a50b15 | 2397 | 2007-04-16 H.J. Lu <hongjiu.lu@intel.com> |
2398 | ||
2399 | PR target/31582 | |
2400 | * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a | |
2401 | copy of source, pass it to ix86_expand_vector_set and return | |
2402 | it as target. | |
2403 | ||
11b70d7d | 2404 | 2007-04-16 David Ung <davidu@mips.com> |
c3a50b15 | 2405 | Joseph Myers <joseph@codesourcery.com> |
11b70d7d | 2406 | |
2407 | * config/mips/mips.h (PROCESSOR_74KC, PROCESSOR_74KF, | |
2408 | PROCESSOR_74KX, TUNE_74K, GENERATE_MADD_MSUB): Define. | |
2409 | * config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data): | |
2410 | Add 74K processor information. | |
2411 | * config/mips/mips.md: Include 74k.md. | |
2412 | (cpu): Add 74kc,74kf,74kx. | |
2413 | (ISA_HAS_MADD_MSUB): Change to GENERATE_MADD_MSUB throughout. | |
2414 | * config/mips/74k.md: New. | |
2415 | * doc/invoke.texi (MIPS Options): Document 74K support. | |
2416 | ||
29696c95 | 2417 | 2007-04-16 Dorit Nuzman <dorit@il.ibm.com> |
2418 | ||
2419 | * tree-vect-analyze.c (vect_analyze_operations): Reorganize calls to | |
2420 | vectorizable_* functions. | |
2421 | * tree-vect-transform.c (vectorizable_call): Add check for | |
2422 | STMT_VINFO_RELEVANT_P, STMT_VINFO_DEF_TYPE and STMT_VINFO_LIVE_P. | |
2423 | (vectorizable_store): likewise. | |
2424 | (vectorizable_conversion): Add check for STMT_VINFO_DEF_TYPE. | |
2425 | Add comments. | |
2426 | (vectorizable_operation, vectorizable_type_demotion): Likewise. | |
2427 | (vectorizable_type_promotion, vectorizable_load): Likewise. | |
2428 | (vectorizable_live_operation, vectorizable_condition): Likewise. | |
2429 | (vectorizable_assignment): Add check for STMT_VINFO_DEF_TYPE and | |
2430 | STMT_VINFO_LIVE_P. | |
2431 | (vect_transform_stmt): Reorganize calls to vectorizable_* functions. | |
2432 | ||
9d463c3d | 2433 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
2434 | ||
2435 | * config/m68k/linux.h (FUNCTION_VALUE_REGNO_P): Use macros for | |
2436 | register numbers more. | |
2437 | * config/m68k/m68k.h (STACK_POINTER_REGNUM, | |
2438 | FRAME_POINTER_REGNUM, STATIC_CHAIN_REGNUM, | |
2439 | M68K_STRUCT_VALUE_REGNUM, FUNCTION_VALUE, LIBCALL_VALUE, | |
2440 | FUNCTION_VALUE_REGNO_P): Likewise. | |
2441 | * config/m68k/m68kelf.h (M68K_STRUCT_VALUE_REGNUM, | |
2442 | STATIC_CHAIN_REGNUM): Likewise. | |
2443 | * config/m68k/m68kemb.h (FUNCTION_VALUE_REGNO_P): Likewise. | |
2444 | * config/m68k/netbsd-elf.h (M68K_STRUCT_VALUE_REGNUM, | |
2445 | STATIC_CHAIN_REGNUM, FUNCTION_VALUE_REGNO_P): Likewise. | |
2446 | * config/m68k/m68k.md (FP_REG): New. | |
2447 | ||
35387ada | 2448 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
2449 | ||
2450 | * config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Prefer 32-bit | |
2451 | alignment on fido. | |
2452 | ||
efec32e0 | 2453 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
2454 | ||
2455 | * config/i386/i386.c, config/s390/s390.c, config/s390/s390.md, | |
2456 | tree-ssa-loop-niter.c, tree-ssa-structalias.c, tree-vrp.c: Fix | |
2457 | comment typos. | |
2458 | ||
a30d0a5b | 2459 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
2460 | ||
2461 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Ignore | |
2462 | cold loops. | |
2463 | ||
0dd13847 | 2464 | 2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2465 | ||
2466 | PR c/31520 | |
e865d428 | 2467 | * c-decl.c (finish_decl): Grab the type of the decl after the call |
0dd13847 | 2468 | to store_init_value. |
2469 | ||
55d51835 | 2470 | 2007-04-14 Steven Bosscher <steven@gcc.gnu.org> |
2471 | ||
2472 | * common.opt (fforward-propagate): Fix "Optimization" annotation. | |
2473 | ||
480e5bc3 | 2474 | 2007-04-14 Jakub Jelinek <jakub@redhat.com> |
2475 | ||
2476 | PR c++/25874 | |
2477 | * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators, | |
2478 | post dominators and cleanup cfg before returning. | |
2479 | ||
5ff4f029 | 2480 | 2007-04-14 Bernd Schmidt <bernd.schmidt@analog.com> |
2481 | ||
2482 | * config/bfin/bfin.h (MODES_TIEABLE_P): Allow more modes to be tied. | |
2483 | * config/bfin/bfin.md (movsi_insn): Delete two unused alternatives. | |
2484 | ||
278e2fd1 | 2485 | 2007-04-14 Kazu Hirata <kazu@codesourcery.com> |
2486 | ||
2487 | * config.gcc: Recognize fido. | |
2488 | * config/m68k/m68k-devices.def (fidoa): New. | |
2489 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define | |
2490 | __mfido__. | |
2491 | (FL_FIDOA, TARGET_FIDOA): New. | |
2492 | * config/m68k/m68k.opt (mfidoa): New. | |
2493 | ||
849ea31c | 2494 | 2007-04-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2495 | ||
2496 | PR middle-end/31322 | |
2497 | * dwarf2out.c (output_call_frame_info): Call assemble_external_libcall | |
2498 | when a personality function is used. | |
2499 | ||
d4c45216 | 2500 | 2007-04-13 Bob Wilson <bob.wilson@acm.org> |
2501 | ||
2502 | * config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN. | |
2503 | ||
2775d4b5 | 2504 | 2007-04-13 Mike Stump <mrs@apple.com> |
2505 | ||
2506 | * config/darwin-c.c (handle_c_option): Handle -fapple-kext here so | |
2507 | we can... | |
2508 | * config/darwin.opt (fapple-kext): Make C++ only. | |
2509 | * config/darwin.c (darwin_override_options): Remove code to ensure | |
2510 | -fapple-kext is given for C++ only. | |
2511 | ||
e7fb4953 | 2512 | 2007-04-13 Richard Sandiford <richard@codesourcery.com> |
2513 | ||
2514 | * config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define. | |
2515 | * config/mips/mips.c (override_options): Call | |
2516 | SUBTARGET_OVERRIDE_OPTIONS, if defined. | |
2517 | ||
ba47d267 | 2518 | 2007-04-13 H.J. Lu <hongjiu.lu@intel.com> |
2519 | ||
2520 | * config/i386/i386.opt (msvr3-shlib): Removed. | |
2521 | ||
2522 | * doc/invoke.texi: Remove -msvr3-shlib. | |
2523 | ||
1b89f7c8 | 2524 | 2007-04-13 H.J. Lu <hongjiu.lu@intel.com> |
2525 | ||
2526 | * config/i386/i386.opt (mpopcnt): Replace "popcount" instruction | |
2527 | with "popcnt" instruction. | |
2528 | ||
f3d56fef | 2529 | 2007-04-13 Richard Guenther <rguenther@suse.de> |
2530 | ||
2531 | PR tree-optimization/21258 | |
2532 | * tree-vrp.c (compare_case_labels): New helper. | |
2533 | (find_switch_asserts): New function. | |
2534 | (find_assert_locations): Call it for SWITCH_EXPRs. | |
2535 | ||
d26e00d8 | 2536 | 2007-04-13 Uros Bizjak <ubizjak@gmail.com> |
2537 | ||
2538 | * config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387. | |
2539 | * config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this | |
2540 | check is now implied in X87_FLOAT_MODE_P. | |
2541 | (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto. | |
2542 | (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto. | |
2543 | (fix_trunc<mode>_i386_fisttp): Ditto. | |
2544 | (fix_trunc<mode>_i387_fisttp_with_temp): Ditto. | |
2545 | (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto. | |
2546 | (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto. | |
2547 | (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto. | |
2548 | (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. | |
2549 | (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto. | |
2550 | (unnamed_splitters): Ditto. | |
2551 | * config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG | |
2552 | for X87_FLOAT_MODE_P mode. Override FIRST_FLOAT_REG with | |
2553 | FIRST_SSE_REG for local functions when SSE math is enabled or | |
2554 | for functions with sseregparm attribute. | |
2555 | (standard_80387_constant_p): Return -1 if mode is not | |
2556 | X87_FLOAT_MODE_P. | |
2557 | (ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P. | |
2558 | (ix86_expand_compare): Ditto. | |
2559 | (ix86_expand_carry_flag_compare): Ditto. | |
2560 | (ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead | |
2561 | of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not | |
2562 | DECIMAL_FLOAT_MODE_P. | |
2563 | (ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead | |
2564 | of SCALAR_FLOAT_MODE_P. | |
2565 | (ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ... | |
2566 | [MINUS]: ... here. Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P | |
2567 | checks before FLOAT_MODE_P. | |
2568 | [MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks | |
2569 | before FLOAT_MODE_P. | |
2570 | [DIV]: Ditto. | |
2571 | [NEG]: Ditto. | |
2572 | [ABS]: Ditto. | |
2573 | [SQRT]: Ditto. | |
2574 | [FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P. | |
2575 | ||
bdbe7091 | 2576 | 2007-04-12 Paolo Bonzini <bonzini@gnu.org> |
e865d428 | 2577 | Charles Wilson <libtool@cwilson.fastmail.fm> |
bdbe7091 | 2578 | |
2579 | * Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove. | |
2580 | (libgcc.mvars): Don't depend on them. | |
2581 | * configure.ac (as, collect-ld, nm): Create from exec-tool.in. | |
2582 | * exec-tool.in: New. | |
2583 | ||
2211b4ca | 2584 | 2007-04-12 Brooks Moses <brooks.moses@codesourcery.com> |
2585 | ||
2586 | * doc/invoke.text (--help): Document --help=common. | |
2587 | ||
cab08a39 | 2588 | 2007-04-12 Thomas Neumann <tneumann@users.sourceforge.net> |
2589 | ||
2590 | * stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords. | |
2591 | ||
a8a393cb | 2592 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
2593 | ||
2594 | * Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H). | |
2595 | * genemit.c (main): Emit #include "integrate.h". | |
2596 | * config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type. | |
2597 | (LOADGP_RTP): New mips_loadgp_style. | |
2598 | * config/mips/mips.h: Include config/vxworks-dummy.h. | |
2599 | (TARGET_RTP_PIC): New macro. | |
2600 | (TARGET_USE_GOT): Return true for TARGET_RTP_PIC. | |
2601 | (TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP. | |
2602 | (ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables | |
2603 | for TARGET_RTP_PIC. | |
2604 | * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define. Pass down | |
2605 | -mvxworks-pic when using -mrtp and a PIC option. | |
2606 | * config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP | |
2607 | for RTP PIC. | |
2608 | (mips_symbolic_constant_p, mips_symbolic_address_p) | |
2609 | (mips_symbol_insns): Handle SYMBOL_HALF. | |
2610 | (override_options): Warn about -G and -mrtp being used together. | |
2611 | Initialize mips_lo_relocs[SYMBOL_HALF]. | |
2612 | (mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC. | |
2613 | (mips_emit_loadgp): Handle LOADGP_RTP. | |
2614 | (mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP. | |
2615 | * config/mips/mips.md (loadgp_rtp): New insn and splitter. | |
2616 | (tablejump): Handle function-relative case table entries if | |
2617 | TARGET_RTP_PIC. | |
2618 | * config/mips/predicates.md (symbol_ref_operand): New predicate. | |
2619 | ||
d1b79aba | 2620 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
2621 | ||
2622 | * config/mips/mips.md (load_call<mode>): Allow any general register. | |
2623 | destination. | |
2624 | (sibcall_value_internal, sibcall_value_multiple_internal) | |
2625 | (call_value_internal, call_value_split, call_value_multiple_internal) | |
2626 | (call_value_multiple_split): Remove constraints from operand 0. | |
2627 | ||
de604551 | 2628 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
2629 | ||
2630 | * config/mips/mips-protos.h: In comments, refer to loadgp_absolute | |
2631 | rather than loadgp_noshared. | |
2632 | * config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute | |
2633 | instead of gen_loadgp_noshared. Use gen_loadgp_newabi instead of | |
2634 | gen_loadgp. | |
2635 | * config/mips/mips.md (loadgp): Rename to... | |
2636 | (loadgp_newabi): ...this. | |
2637 | (loadgp_noshared): Rename to... | |
2638 | (loadgp_absolute): ...this. | |
2639 | ||
ffe0cc16 | 2640 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
2641 | ||
2642 | * config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return | |
2643 | false for locally-binding symbols. | |
2644 | (mips_dangerous_for_la25_p): Check mips_global_symbol_p. | |
2645 | ||
4cb04729 | 2646 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
2647 | ||
2648 | * config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to... | |
2649 | (SYMBOL_GOT_PAGE_OFST): ...this. | |
2650 | (SYMBOL_GOT_GLOBAL): Rename to... | |
2651 | (SYMBOL_GOT_DISP): ...this. | |
2652 | (SYMBOL_GOTOFF_GLOBAL): Rename to... | |
2653 | (SYMBOL_GOTOFF_DISP): ...this. Update comments accordingly. | |
2654 | * config/mips/mips.c (mips_global_symbol_p): New function. | |
2655 | (mips_symbol_binds_local_p): Likewise. | |
2656 | (mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP | |
2657 | and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST. Use mips_global_symbol_p | |
2658 | and mips_symbol_binds_local_p. | |
2659 | (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns) | |
2660 | (override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP, | |
2661 | SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to | |
2662 | SYMBOL_GOTOFF_DISP. | |
2663 | (mips_ok_for_lazy_binding_p): New function. | |
2664 | (mips_load_call_address, mips_expand_call): Use it. | |
2665 | (mips_dangerous_for_la25_p): Likewise. | |
2666 | * config/mips/mips.md (*xgot_hi<mode>, *xgot_lo<mode>) | |
2667 | (*got_disp<mode>): Use got_disp_operand instead of | |
2668 | global_got_operand. Use SYMBOL_GOTOFF_DISP instead of | |
2669 | SYMBOL_GOTOFF_GLOBAL. | |
2670 | (*got_page<mode>): Use got_page_ofst_operand instead of | |
2671 | local_got_operand. | |
2672 | * config/mips/predicates.md (const_call_insn_operand): Use | |
2673 | SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL. | |
2674 | (global_got_operand): Rename to... | |
2675 | (got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of | |
2676 | SYMBOL_GOT_GLOBAL. | |
2677 | (local_got_operand): Rename to... | |
2678 | (got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead | |
2679 | of SYMBOL_GOT_LOCAL. | |
2680 | ||
46414626 | 2681 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
2682 | ||
2683 | * config/mips/mips.h (TARGET_SPLIT_CALLS): Check | |
2684 | TARGET_CALL_CLOBBERED_GP. | |
2685 | (TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
2686 | (TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros. | |
2687 | (TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise. | |
2688 | (STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead | |
2689 | of TARGET_ABICALLS && !TARGET_NEWABI. | |
2690 | (MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
2691 | * config/mips/mips.c (mips_load_call_address): Check | |
2692 | TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. | |
2693 | (mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
2694 | Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. | |
2695 | (mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of | |
2696 | TARGET_ABICALLS && TARGET_NEWABI. | |
2697 | (mips_current_loadgp_style): Check TARGET_USE_GOT instead of | |
2698 | TARGET_ABICALLS. | |
2699 | (mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI. | |
2700 | (mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of | |
2701 | TARGET_ABICALLS && TARGET_NEWABI. | |
2702 | (mips_output_mi_thunk): Check TARGET_USE_GOT instead of | |
2703 | TARGET_ABICALLS. Check TARGET_CALL_SAVED_GP instead of | |
2704 | TARGET_NEWABI. Use TARGET_USE_PIC_FN_ADDR_REG to decide | |
2705 | whether indirect calls must use $25. | |
2706 | (mips_extra_live_on_entry): Check TARGET_GOT instead of | |
2707 | TARGET_ABICALLS. | |
2708 | * config/mips/mips.md (jal_macro): Check flag_pic and | |
2709 | TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI. | |
2710 | (builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT | |
2711 | instead of TARGET_ABICALLS. | |
2712 | (exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of | |
2713 | TARGET_ABICALLS && TARGET_OLDABI. | |
2714 | (load_call<mode>): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
2715 | (sibcall): In the comment above the define_insn, mention | |
2716 | TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS. | |
2717 | * config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG | |
2718 | instead of TARGET_ABICALLS. | |
2719 | ||
9422b03b | 2720 | 2007-04-12 Bernd Schmidt <bernd.schmidt@analog.com> |
2721 | ||
2722 | * doc/md.texi (Blackfin family constraints): Document PA and PB. | |
2723 | * config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB. | |
2724 | (MACFLAGS_MATCH_P): New macro. | |
2725 | * config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M. | |
2726 | (bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS. | |
2727 | * config/bfin/bfin.md (MACFLAG_IS_M): New constant. Renumber some of | |
2728 | the other MACFLAG constants. | |
2729 | (sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns. | |
2730 | (flag_machi): Tighten constraints. Renumber some of the operands. | |
2731 | (flag_machi_acconly): Tighten constraints. Correct operand numbers in | |
2732 | output template. | |
2733 | (flag_machi_parts_acconly): New pattern. | |
2734 | (flag_macinithi): Tighten constraints. Allow any accumulator to be | |
2735 | used. | |
2736 | (flag_macinit1hi): Tighten constraints. | |
2737 | (flag_mul_macv2hi_parts_acconly): New pattern. | |
2738 | ||
6daa377b | 2739 | * config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart): |
2740 | Use a more efficient implementation. | |
2741 | * config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit | |
2742 | inline sequences when not optimizing for size. | |
2743 | ||
4462e6ac | 2744 | * config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low, |
2745 | movhi_high2low): Delete, merge functionality into... | |
2746 | (packv2hi): ... this pattern. | |
2747 | ||
c9ddd413 | 2748 | 2007-02-11 Jie Zhang <jie.zhang@analog.com> |
2749 | * config/bfin/bfin.opt (msim): New option. | |
2750 | (mcpu=): New option. | |
2751 | * config/bfin/bfin-protos.h (enum bfin_cpu): New. | |
2752 | (bfin_cpu_t): Typedef of enum bfin_cpu. | |
2753 | (bfin_cpu_type): New declaration. | |
2754 | * config/bfin/elf.h (STARTFILE_SPEC): Add support for | |
2755 | -msim and -mcpu= options. | |
2756 | (LIB_SPEC): Likewise. | |
2757 | * config/bfin/bfin.c (bfin_cpu_type): Define. | |
2758 | (bfin_handle_option): Handle -mcpu= option. | |
2759 | * config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532. | |
2760 | (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__, | |
2761 | __ADSPBF533__ or __ADSPBF537__ according to the cpu type. | |
2762 | ||
c77a1c92 | 2763 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
2764 | ||
2765 | * config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza. | |
2766 | (arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks) | |
2767 | (powerpc-wrs-vxworksae): Use ${tm_file}. | |
2768 | (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h | |
2769 | after elfos.h. Remove i386/sysv4.h and add i386/vx-common.h. | |
2770 | * config/i386/vx-common.h: New file. | |
2771 | ||
6f3d6768 | 2772 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
2773 | ||
2774 | * config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead | |
2775 | of crt0.o%s. | |
2776 | ||
47d34a13 | 2777 | 2007-04-12 Andreas Krebbel <krebbel1@de.ibm.com> |
2778 | ||
2779 | * config/s390/s390.md ("trunctddd2"): Use TDmode for the target of | |
2780 | ldxtr. | |
2781 | ||
5bfe6313 | 2782 | 2007-04-12 Douglas Gregor <doug.gregor@gmail.com> |
2783 | ||
2784 | PR c++/31078 | |
2785 | PR c++/31103 | |
2786 | * c-common.c (c_build_qualified_type): Set canonical type | |
90c24387 | 2787 | appropriately. |
5bfe6313 | 2788 | |
a128a28f | 2789 | 2007-04-12 Richard Guenther <rguenther@suse.de> |
2790 | ||
2791 | * tree-pretty-print.c (dump_generic_node): Print ARRAY_REF | |
2792 | lower bound and element size if lower bound is not zero | |
2793 | or either of the ARRAY_REF operands is set. | |
2794 | ||
a2501610 | 2795 | 2007-04-12 Richard Guenther <rguenther@suse.de> |
2796 | ||
2797 | PR tree-optimization/24689 | |
2798 | PR tree-optimization/31307 | |
2799 | * fold-const.c (operand_equal_p): Compare INTEGER_CST array | |
2800 | indices by value. | |
2801 | * gimplify.c (canonicalize_addr_expr): To be consistent with | |
2802 | gimplify_compound_lval only set operands two and three of | |
2803 | ARRAY_REFs if they are not gimple_min_invariant. This makes | |
2804 | it never at this place. | |
2805 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. | |
2806 | ||
9f4a0384 | 2807 | 2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2808 | ||
2809 | * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not | |
2810 | null before emitting a .nsubspa directive. | |
2811 | ||
12a2c9ea | 2812 | 2007-04-11 Diego Novillo <dnovillo@redhat.com> |
2813 | ||
2814 | * tree-ssa-alias.c (dump_mem_ref_stats): Do not call | |
2815 | need_to_partition_p if there are no memory statements in the | |
2816 | function. | |
2817 | ||
cabedb72 | 2818 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
2819 | ||
2820 | * tree-data-ref.c (chrec_steps_divide_constant_p): Removed. | |
2821 | (gcd_of_steps_may_divide_p): New function. | |
2822 | (analyze_miv_subscript): Use gcd_of_steps_may_divide_p. | |
2823 | ||
c89e828f | 2824 | 2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> |
2825 | ||
2826 | * reload.c (find_reloads_toplev, find_reloads_address, | |
2827 | find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p, | |
2828 | not a pointer equality test, to decide if we need to call | |
2829 | push_reg_equiv_alt_mem. | |
2830 | ||
2a21a5df | 2831 | 2007-04-11 Sebastian Pop <sebastian.pop@inria.fr> |
2832 | ||
2833 | * tree-data-ref.c (affine_function_zero_p, constant_access_functions, | |
2834 | insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New. | |
2835 | (build_classic_dist_vector): Call add_distance_for_zero_overlaps. | |
2836 | ||
cabedb72 | 2837 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
8fb896c4 | 2838 | |
2839 | * tree-data-ref.c (add_multivariate_self_dist): Force the distance | |
2840 | vector to be positive. | |
2841 | ||
c227f8de | 2842 | 2007-04-11 Diego Novillo <dnovillo@redhat.com> |
2843 | ||
2844 | PR 30735 | |
2845 | PR 31090 | |
2846 | * doc/invoke.texi: Document --params max-aliased-vops and | |
2847 | avg-aliased-vops. | |
2848 | * tree-ssa-operands.h (get_mpt_for, dump_memory_partitions, | |
2849 | debug_memory_partitions): Move to tree-flow.h | |
2850 | * params.h (AVG_ALIASED_VOPS): Define. | |
2851 | * tree-ssa-alias.c (struct mp_info_def): Remove. Update all | |
2852 | users. | |
2853 | (mp_info_t): Likewise. | |
2854 | (get_mem_sym_stats_for): New. | |
2855 | (set_memory_partition): Move from tree-flow-inline.h. | |
2856 | (mark_non_addressable): Only clear the set of symbols for the | |
2857 | partition if it exists. | |
2858 | (dump_memory_partitions): Move from tree-ssa-operands.c | |
2859 | (debug_memory_partitions): Likewise. | |
2860 | (need_to_partition_p): New. | |
2861 | (dump_mem_ref_stats): New. | |
2862 | (debug_mem_ref_stats): New. | |
2863 | (dump_mem_sym_stats): New. | |
2864 | (debug_mem_sym_stats): New. | |
2865 | (update_mem_sym_stats_from_stmt): New. | |
2866 | (compare_mp_info_entries): New. | |
2867 | (mp_info_cmp): Call it. | |
2868 | (sort_mp_info): Change argument to a list of mem_sym_stats_t | |
2869 | objects. | |
2870 | (get_mpt_for): Move from tree-ssa-operands.c. | |
2871 | (find_partition_for): New. | |
2872 | (create_partition_for): Remove. | |
2873 | (estimate_vop_reduction): New. | |
2874 | (update_reference_counts): New. | |
2875 | (build_mp_info): New. | |
2876 | (compute_memory_partitions): Refactor. | |
2877 | Document new heuristic. | |
2878 | Call build_mp_info, update_reference_counts, | |
2879 | find_partition_for and estimate_vop_reduction. | |
2880 | (compute_may_aliases): Populate virtual operands before | |
2881 | calling debugging dumps. | |
2882 | (delete_mem_sym_stats): New. | |
2883 | (delete_mem_ref_stats): New. | |
2884 | (init_mem_ref_stats): New. | |
2885 | (init_alias_info): Call it. | |
2886 | (maybe_create_global_var): Remove alias_info argument. | |
2887 | Get number of call sites and number of pure/const call sites | |
2888 | from gimple_mem_ref_stats(). | |
2889 | (dump_alias_info): Call dump_memory_partitions first. | |
2890 | (dump_points_to_info_for): Show how many times a pointer has | |
2891 | been dereferenced. | |
2892 | * opts.c (decode_options): For -O2 set --param | |
2893 | max-aliased-vops to 500. | |
2894 | For -O3 set --param max-aliased-vops to 1000 and --param | |
2895 | avg-aliased-vops to 3. | |
2896 | * fortran/options.c (gfc_init_options): Remove assignment to | |
2897 | MAX_ALIASED_VOPS. | |
2898 | * tree-flow-inline.h (gimple_mem_ref_stats): New. | |
2899 | * tree-dfa.c (dump_variable): Dump memory reference | |
2900 | statistics. | |
2901 | Dump NO_ALIAS* settings. | |
2902 | (referenced_var_lookup): Tidy. | |
2903 | (mem_sym_stats): New. | |
2904 | * tree-ssa-copy.c (may_propagate_copy): Return true if DEST | |
2905 | and ORIG are different SSA names for a memory partition. | |
2906 | * tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats. | |
2907 | * tree-flow.h (struct mem_sym_stats_d): Define. | |
2908 | (mem_sym_stats_t): Define. | |
2909 | (struct mem_ref_stats_d): Define. | |
2910 | (struct gimple_df): Add field mem_ref_stats. | |
2911 | (enum noalias_state): Define. | |
2912 | (struct var_ann_d): Add bitfield noalias_state. | |
2913 | (mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats, | |
2914 | debug_mem_ref_stats, debug_memory_partitions, | |
2915 | debug_mem_sym_stats): Declare. | |
2916 | * tree-ssa-structalias.c (update_alias_info): Update call | |
2917 | sites, pure/const call sites and asm sites in structure | |
2918 | returned by gimple_mem_ref_stats. | |
2919 | Remove local variable IS_POTENTIAL_DEREF. | |
2920 | Increase NUM_DEREFS if the memory expression is a potential | |
2921 | dereference. | |
2922 | Call update_mem_sym_stats_from_stmt. | |
2923 | If the memory references memory, call | |
2924 | update_mem_sym_stats_from_stmt for all the direct memory | |
2925 | symbol references found. | |
2926 | (intra_create_variable_infos): Set noalias_state field for | |
2927 | pointer arguments according to the value of | |
2928 | flag_argument_noalias. | |
2929 | * tree-ssa-structalias.h (struct alias_info): Remove fields | |
2930 | num_calls_found and num_pure_const_calls_found. | |
2931 | (update_mem_sym_stats_from_stmt): Declare. | |
2932 | * params.def (PARAM_MAX_ALIASED_VOPS): Change description. | |
2933 | Set default value to 100. | |
2934 | (PARAM_AVG_ALIASED_VOPS): Define. | |
2935 | ||
516aa37d | 2936 | 2007-04-11 Richard Guenther <rguenther@suse.de> |
2937 | ||
2938 | PR middle-end/31530 | |
2939 | * simplify-rtx.c (simplify_binary_operation_1): Do not simplify | |
2940 | a * -b + c as c - a * b if we honor sign dependent rounding. | |
2941 | ||
2b8e874f | 2942 | 2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> |
2943 | ||
2944 | * config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from | |
2945 | bfin_expand_strmov. | |
2946 | * config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address, | |
2947 | bfin_function_ok_for_sibcall, split_load_immediate): Remove unused | |
2948 | variables. | |
2949 | (initialize_trampoline): Don't use old-style function definition. | |
2950 | (bfin_secondary_reload): Mark IN_P argument as unused. | |
2951 | ||
3e6bc865 | 2952 | 2007-04-10 Sebastian Pop <sebastian.pop@inria.fr> |
2953 | ||
2954 | PR tree-optimization/31343 | |
2955 | * tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec. | |
2956 | (build_polynomial_chrec): Return a scalar when the evolution is zero. | |
2957 | * testsuite/gcc.dg/vect/pr31343.c: New. | |
2958 | ||
ed01e173 | 2959 | 2007-04-10 Eric Christopher <echristo@apple.com> |
2960 | ||
2961 | * config/i386/i386.h (X87_FLOAT_MODE_P): New. | |
2962 | * config/i386/i386.md (*cmpfp0): Use. | |
2963 | (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto. | |
2964 | (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto. | |
2965 | (fix_trunc<mode>_i386_fisttp): Ditto. | |
2966 | (fix_trunc<mode>_i387_fisttp_with_temp): Ditto. | |
2967 | (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto. | |
2968 | (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto. | |
2969 | (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto. | |
2970 | (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. | |
2971 | (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto. | |
2972 | (unnamed_splitters): Ditto. | |
2973 | * config/i386/i386.c (output_fix_trunc): Assert that | |
2974 | we're not being passed a TFmode operand. | |
2975 | ||
944cca50 | 2976 | 2007-04-10 Zdenek Dvorak <dvorakz@suse.cz> |
2977 | ||
2978 | PR tree-optimization/31526 | |
2979 | * tree-inline.c (copy_cfg_body): Use last_basic_block instead of | |
2980 | n_basic_blocks to find newly added blocks. | |
2981 | ||
c778ae84 | 2982 | 2007-04-10 Uros Bizjak <ubizjak@gmail.com> |
2983 | ||
2984 | * config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm" | |
2985 | alternative. | |
2986 | (fix_trunc<mode>si_sse): Ditto. | |
2987 | (*floatsisf2_mixed, *floatsisf2_sse): Ditto. | |
2988 | (*floatsidf2_mixed, *floatsidf2_sse): Ditto. | |
2989 | (*floatdisf2_mixed, *floatdisf2_sse): Ditto. | |
2990 | (*floatdidf2_mixed, *floatdidf2_sse): Ditto. | |
2991 | (floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize | |
2992 | expander using SSEMODEF mode macro. | |
2993 | (floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize | |
2994 | expander using SSEMODEF mode macro. | |
2995 | (*floathi<mode>2_i387): Rename from *floathisf2_i387 and | |
2996 | *floathidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
2997 | (*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and | |
2998 | *floatsidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
2999 | (*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and | |
3000 | *floatdidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
3001 | (float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2. | |
3002 | Macroize insn using X87MODEF mode macro. | |
3003 | ||
d8d6e6ac | 3004 | 2007-04-09 H.J. Lu <hongjiu.lu@intel.com> |
3005 | ||
3006 | * config/i386/sse.md (sse2_pinsrw): Removed. | |
3007 | (sse2_pextrw): Renamed to ... | |
3008 | (*sse2_pextrw): This. | |
3009 | ||
cb00447a | 3010 | 2007-04-09 Jan Hubicka <jh@suse.cz> |
3011 | ||
3012 | PR target/27869 | |
3013 | * config/i386/sse.md | |
3014 | (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. | |
3015 | (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. | |
3016 | (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. | |
3017 | (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. | |
3018 | ||
d9745cea | 3019 | 2007-04-09 Jan Hubicka <jh@suse.cz> |
3020 | ||
3021 | * tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into | |
3022 | multiple fields of union. | |
3023 | ||
d8a0d6b8 | 3024 | 2007-04-09 Zdenek Dvorak <dvorakz@suse.cz> |
3025 | ||
3026 | * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge. | |
3027 | (create_preheaders): Check that loops are available. | |
3028 | (fix_loop_structure): Clean up, improve comments. | |
3029 | * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): | |
3030 | Check that loops are available. Set LOOP_CLOSED_SSA to the loops | |
3031 | state flags. | |
3032 | * tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info. | |
3033 | * predict.c (tree_estimate_probability): Do not call | |
3034 | calculate_dominance_info. Call create_preheaders. | |
3035 | * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call | |
3036 | rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state | |
3037 | flags. | |
3038 | * cfgloop.c (loop_preheader_edge): Assert that loops have preheaders. | |
3039 | * cfgloop.h (LOOP_CLOSED_SSA): New constant. | |
3040 | * tree-cfg.c (tree_split_edge): Make an assert more precise. | |
3041 | * tree-ssa-threadedge.c (thread_across_edge): Comment the function | |
3042 | arguments. | |
3043 | ||
27290809 | 3044 | 2007-04-08 Jan Hubicka <jh@suse.cz> |
3045 | ||
3046 | * tree.h (maybe_fold_offset_to_component_ref): Declare. | |
3047 | * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export. | |
3048 | * fold-const.c (fold_unary): Use it. | |
3049 | ||
bbdc7974 | 3050 | 2007-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com> |
3051 | ||
3052 | * varasm.c (assemble_variable): Remove call to | |
3053 | lang_hooks.decls.prepare_assemble_variable. | |
3054 | * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill. | |
3055 | (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE. | |
3056 | * langhooks.h (lang_hooks_for_decls): Remove | |
3057 | prepare_assemble_variable. | |
3058 | ||
105eb9b9 | 3059 | 2007-04-08 Mike Stump <mrs@apple.com> |
3060 | ||
3061 | * config/i386/i386.c: Use inc/dec on Core2. | |
3062 | ||
94be3290 | 3063 | 2007-04-08 Steven Bosscher <steven@gcc.gnu.org> |
3064 | ||
3065 | * langhooks.c (lhd_tree_inlining_add_pending_fn_decls, | |
3066 | lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, | |
3067 | lhd_tree_inlining_end_inlining): Remove. | |
3068 | * langhooks.h (struct lang_hooks_for_tree_inlining): Remove then | |
3069 | add_pending_fn_decls, anon_aggr_type_p, start_inlining, and | |
3070 | end_inlining hooks. | |
3071 | * langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls, | |
3072 | lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, | |
3073 | lhd_tree_inlining_end_inlining): Remove prototypes. | |
3074 | (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS, | |
3075 | LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, | |
3076 | LANG_HOOKS_TREE_INLINING_START_INLINING, | |
3077 | LANG_HOOKS_TREE_INLINING_END_INLINING): Remove. | |
3078 | ||
3079 | * c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do | |
3080 | not set it. | |
3081 | ||
8e5f08fe | 3082 | 2007-04-08 Anatoly Sokolov <aesok@post.ru> |
3083 | ||
3084 | PR target/29932 | |
3085 | * config/avr/predicates.md (io_address_operand): Delete predicate. | |
3086 | (low_io_address_operand): Don't use 'mode' argument. | |
3087 | (higth_io_address_operand): Rename ... | |
3088 | (high_io_address_operand): ... to this. Don't use 'mode' argument. | |
3089 | * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust | |
3090 | for above change. | |
3091 | ||
cf484390 | 3092 | 2007-04-07 Daniel Berlin <dberlin@dberlin.org> |
3093 | ||
3094 | Revert change removing staticp. | |
3095 | ||
4704b743 | 3096 | 2007-04-07 Anatoly Sokolov <aesok@post.ru> |
3097 | ||
3098 | PR target/30289 | |
ed01e173 | 3099 | * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as |
4704b743 | 3100 | earlyclobber. |
3101 | ||
0e9b4e74 | 3102 | 2007-04-07 Bruce Korb <bkorb@gnu.org> |
3103 | ||
3104 | * c.opt: Add -Wformat-contains-nul. | |
3105 | * c-format.c (set_Wformat): Set warn_format_contains_nul to the | |
3106 | -Wformat setting. | |
3107 | (check_format_info_main): Check OPT_Wformat_contains_nul before emitting | |
3108 | the NUL byte warning. | |
3109 | ||
918ee506 | 3110 | 2007-04-07 H.J. Lu <hongjiu.lu@intel.com> |
3111 | ||
3112 | * config/i386/i386.c (ix86_handle_option): Handle SSSE3. | |
3113 | ||
57d1a308 | 3114 | 2007-04-06 Daniel Berlin <dberlin@dberlin.org> |
3115 | ||
3116 | * tree.c (staticp): No longer use staticp langhook. | |
3117 | * langhooks.c (lhd_staticp): Removed. | |
3118 | * langhooks.h (struct lang_hooks): Remove staticp. | |
3119 | * c-common.c (c_staticp): Remove. | |
3120 | * c-common.h (c_staticp): Ditto. | |
3121 | * langhooks-defs.h (lhd_staticp): Ditto. | |
3122 | (LHD_HOOKS_STATICP): Ditto | |
3123 | * tree.h (gcc_assert_lowered): New macro. | |
3124 | ||
d97e22fb | 3125 | 2007-04-06 Zdenek Dvorak <dvorakz@suse.cz> |
3126 | ||
3127 | * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use | |
3128 | argument "reliable". | |
3129 | (infer_loop_bounds_from_ref, infer_loop_bounds_from_array): | |
3130 | Add argument "reliable". Propagate it through calls. | |
3131 | (infer_loop_bounds_from_undefined): Derive number of iterations | |
3132 | estimates from references in blocks that do not dominate loop latch. | |
3133 | (gcov_type_to_double_int): New function. | |
3134 | (estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int | |
3135 | and expected_loop_iterations_unbounded. | |
3136 | * cfgloopanal.c (expected_loop_iterations_unbounded): New function. | |
3137 | (expected_loop_iterations): Use expected_loop_iterations_unbounded. | |
3138 | * tree-data-ref.c (estimated_loop_iterations): Export. | |
3139 | (get_references_in_stmt): Fix -- do not return addresses of local | |
3140 | objects. | |
3141 | * cfgloop.h (expected_loop_iterations_unbounded, | |
3142 | estimated_loop_iterations): Declare. | |
3143 | ||
fe0b46c1 | 3144 | 2007-04-06 Andreas Tobler <a.tobler@schweiz.org> |
3145 | ||
3146 | * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. | |
3147 | ||
9926a1b3 | 3148 | 2007-04-06 Uros Bizjak <ubizjak@gmail.com> |
3149 | ||
3150 | * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2 | |
3151 | and extenddfxf2. Macroize expander using X87MODEF12 mode macro. | |
3152 | (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1): | |
3153 | Use output_387_reg_move(). | |
3154 | (*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize | |
3155 | expander using X87MODEF12 mode macro. | |
3156 | (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when | |
3157 | choosing register preferences. Use output_387_reg_move(). | |
3158 | (*truncxfdf2_mixed): Combine alternatives, use "r" alternative | |
3159 | instead of "x". Use output_387_reg_move(). | |
3160 | (*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and | |
3161 | *truncxfdf2_i387_noop. Macroize insn using X87MODEF12 mode macro. | |
3162 | (*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and | |
3163 | *truncxfdf2_i387. Macroize insn using X87MODEF12 mode macro. | |
3164 | Use output_387_reg_move(). | |
3165 | (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12 | |
3166 | mode macro. | |
3167 | (*truncxf?f_i387 splitter): Ditto. | |
3168 | ||
b140c9fd | 3169 | 2007-04-06 Daniel Berlin <dberlin@dberlin.org> |
3170 | ||
3171 | * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove | |
3172 | LANG_HOOKS_SAFE_FROM_P. | |
3173 | * expr.c (safe_from_p): Remove langhook call. | |
3174 | * langhooks.h (lang_hooks): Remove safe_from_p. | |
3175 | (lhd_safe_from_p): Remove prototype. | |
3176 | * langhooks.c (lhd_safe_from_p): Remove. | |
ed01e173 | 3177 | |
316ef6d8 | 3178 | 2007-04-06 Jan Hubicka <jh@suse.cz> |
3179 | ||
3180 | * cgraphunit.c (decide_is_function_needed): Do not keep always_inline | |
3181 | functions. | |
3182 | ||
4c756287 | 3183 | 2007-04-06 Uros Bizjak <ubizjak@gmail.com> |
3184 | ||
3185 | * config/i386/i386.c (output_387_reg_move): Handle memory operand[0]. | |
3186 | * config/i386/i386.md (*movsf_1, *movdf_nointeger, | |
3187 | *movdf_integer_rex64, *movdf_integer, *movxf_nointeger, | |
3188 | *movxf_integer): Use output_387_reg_move() for x87 reg->mem | |
3189 | alternative. | |
3190 | (*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387, | |
3191 | *extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto. | |
3192 | ||
32a8f747 | 3193 | 2007-04-05 Richard Henderson <rth@redhat.com> |
3194 | ||
3195 | * config/alpha/alpha.c (print_operand) [+]: Remove. | |
3196 | (alpha_end_function): Print nop if call at end of function. | |
3197 | * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +. | |
3198 | * config/alpha/alpha.md (UNSPEC_LDGP1): New. | |
3199 | (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New. | |
3200 | (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New. | |
3201 | (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into | |
3202 | the call pattern. Update peepholes to match. | |
3203 | ||
004e23c4 | 3204 | 2007-04-05 Janis Johnson <janis187@us.ibm.com> |
3205 | ||
3206 | * doc/extend.texi (Other Builtins): Add decimal float variants | |
3207 | of signbit. | |
3208 | * builtins.def: Ditto. | |
3209 | * builtins.c (expand_builtin): Ditto. | |
3210 | ||
70169283 | 3211 | 2007-04-05 Uros Bizjak <ubizjak@gmail.com> |
3212 | H.J. Lu <hongjiu.lu@intel.com> | |
3213 | ||
3214 | PR target/31478 | |
3215 | * config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead | |
3216 | of V8HImode when calling ix86_binary_operator_ok. | |
3217 | (sse2_pmaddwd): Call ix86_binary_operator_ok. | |
3218 | (sdot_prodv8hi): Operands 1 and 2 must be register. | |
3219 | ||
f3e8be3e | 3220 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
3221 | ||
3222 | * tree-sra.c (try_instantiate_multiple_fields): Needlessly | |
3223 | initialize align to silence bogus warning. | |
3224 | ||
2e4b8bcd | 3225 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
3226 | ||
3227 | PR middle-end/22156 | |
3228 | * tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove | |
3229 | all_no_warning. | |
3230 | (struct sra_walk_fns): Remove use_all parameter from use. | |
3231 | (sra_hash_tree): Handle BIT_FIELD_REFs. | |
3232 | (sra_elt_hash): Don't hash bitfld blocks. | |
3233 | (sra_elt_eq): Skip them in parent compares as well. Handle | |
3234 | BIT_FIELD_REFs. | |
3235 | (sra_walk_expr): Don't maintain or pass down use_all_p. | |
3236 | (scan_use): Remove use_all parameter. | |
3237 | (scalarize_use): Likewise. Re-expand assignment to | |
3238 | BIT_FIELD_REF of gimple_reg. De-scalarize before input or | |
3239 | output, and re-scalarize after output. Don't mark anything | |
3240 | for no warning. | |
3241 | (scalarize_ldst): Adjust. | |
3242 | (scalarize_walk_gimple_modify_statement): Likewise. | |
3243 | (build_element_name_1): Handle BIT_FIELD_REFs. | |
3244 | (instantiate_element): Don't warn for any element whose parent | |
3245 | is used as a whole. | |
3246 | (instantiate_missing_elements_1): Return the sra_elt. | |
3247 | (canon_type_for_field): New. | |
3248 | (try_instantiate_multiple_fields): New. | |
3249 | (instantiate_missing_elemnts): Use them. | |
3250 | (mark_no_warning): Removed. | |
3251 | (generate_one_element_ref): Handle BIT_FIELD_REFs. | |
3252 | (REPLDUP, sra_build_elt_assignment): New. | |
3253 | (generate_copy_inout): Use them. | |
3254 | (generate_element_copy): Likewise. Handle bitfld differences. | |
3255 | (generate_element_zero): Don't recurse for blocks. Use | |
3256 | sra_build_elt_assignment. | |
3257 | (generate_one_element_int): Take elt instead of var. Use | |
3258 | sra_build_elt_assignment. | |
3259 | (generate_element_init_1): Adjust. | |
3260 | (scalarize_use, scalarize_copy): Use REPLDUP. | |
3261 | (scalarize_ldst): Move assert before dereference. | |
3262 | (dump_sra_elt_name): Handle BIT_FIELD_REFs. | |
3263 | ||
2a515194 | 3264 | 2007-04-05 Steven Bosscher <steven@gcc.gnu.org> |
3265 | ||
3266 | * regmove.c: Fix unused variable warnings due to previous commit. | |
3267 | ||
f9f428c6 | 3268 | 2007-04-05 Steven Bosscher <steven@gcc.gnu.org> |
3269 | ||
3270 | * regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize. | |
3271 | (regmove_bb_head): Remove. | |
3272 | (copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD. | |
3273 | (regmove_optimize): Don't do unnecessary CFG fixes for non-existing | |
3274 | problems with fixup_match_1. | |
3275 | Don't initialize/free regmove_bb_head. | |
3276 | ||
3277 | (reg_is_remote_constant_p): If an insn is in the same basic block | |
3278 | but not before INSN, consider it remote, too. | |
3279 | ||
0d528483 | 3280 | 2007-04-05 Anatoly Sokolov <aesok@post.ru> |
3281 | ||
3282 | PR target/25448 | |
ed01e173 | 3283 | * config/avr/avr.c (avr_handle_fndecl_attribute): Use the |
0d528483 | 3284 | DECL_ASSEMBLER_NAME, not the DECL_NAME. |
3285 | ||
9f525417 | 3286 | 2007-04-05 H.J. Lu <hongjiu.lu@intel.com> |
3287 | ||
3288 | * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat. | |
3289 | (CONDITIONAL_REGISTER_USAGE): Likewise. | |
3290 | ||
de13ca97 | 3291 | 2007-04-04 Richard Henderson <rth@redhat.com> |
3292 | ||
3293 | * config/alpha/lib1funcs.asm: Remove unused file. | |
3294 | ||
7fbbfa9f | 3295 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
3296 | ||
3297 | PR other/31356 | |
3298 | * opts.c (print_specific_help): Fix --help=<language> | |
3299 | header line. | |
3300 | (common_handle_option): Support --help=common. | |
3301 | ||
4b70b183 | 3302 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
3303 | ||
3304 | PR other/31353 | |
3305 | * gcc.c (main): Do not run the linker if | |
3306 | print_subprocess_help indicates that it shouldn't be | |
3307 | run. | |
3308 | ||
a1d3fae9 | 3309 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
3310 | ||
3311 | PR doc/31355 | |
3312 | * doc/invoke.texi (--help=): Document <languages> value, fix | |
3313 | formatting in tables of values. | |
3314 | ||
f5b1f90b | 3315 | 2007-04-04 Danny Smith <dannysmith.users.sourceforge.net> |
3316 | ||
3317 | * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore | |
3318 | dllimport attribute of virtual methods. | |
3319 | ||
0875e592 | 3320 | 2007-04-04 Chen Liqin <liqin@sunnorth.com.cn> |
3321 | ||
e865d428 | 3322 | * config/score/crti.asm: Change _bss_start to __bss_start. |
3323 | * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. | |
3324 | (OUTGOING_REG_PARM_STACK_SPACE) update. | |
3325 | * config/score/score.opt: add options to make backend support | |
3326 | score5, score5u, score7 and score7d. | |
3327 | * config/score/score.md: Likewise. | |
3328 | * config/score/misc.md: Likewise. | |
3329 | * config/score/mac.md: Likewise. | |
3330 | * doc/invoke.texi: Likewise. | |
3331 | * doc/md.texi: update constraints define. | |
0875e592 | 3332 | |
a4521f7e | 3333 | 2007-04-03 Richard Henderson <rth@redhat.com> |
3334 | ||
3335 | * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield | |
3336 | an appropriate type, use the mode instead. | |
3337 | ||
223f6dbc | 3338 | 2007-04-03 Richard Sandiford <richard@codesourcery.com> |
3339 | ||
3340 | * config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file. | |
3341 | Set the default --with-arch setting to mips2. | |
3342 | * config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES) | |
3343 | (MULTILIB_EXCEPTIONS): Redefine with new multilibs. | |
3344 | (MULTILIB_OSDIRNAMES): Delete. | |
3345 | (MULTILIB_DIRNAMES): Define. | |
3346 | * config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC. | |
3347 | (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define. | |
3348 | (TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC | |
3349 | definitions, except for _WRS_R3K_EXC_SUPPORT. Call | |
3350 | VXWORKS_OS_CPP_BUILTINS. | |
3351 | (SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC. | |
3352 | (MIPS_DEBUGGING_INFO): Undefine. | |
3353 | (FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER. | |
3354 | ||
f83924bb | 3355 | 2007-04-03 Jakub Jelinek <jakub@redhat.com> |
3356 | ||
3357 | PR middle-end/30704 | |
3358 | * fold-const.c (native_encode_real): Encode real.c provided longs | |
3359 | as a series of 32-bit native integers. | |
3360 | (native_interpret_real): Interpret buffer as a series of 32-bit | |
3361 | native integers. | |
3362 | ||
b0ecf094 | 3363 | 2007-04-03 Richard Guenther <rguenther@suse.de> |
3364 | ||
3365 | * genpreds.c (write_insn_constraint_len): Write function | |
3366 | optimized for CONSTRAINT_LEN implementation. | |
3367 | (write_tm_preds_h): Output insn_constraint_len inline and | |
3368 | use it for CONSTRAINT_LEN. | |
3369 | (write_insn_preds_c): Don't output insn_constraint_len. | |
3370 | * doc/md.texi (define_register_constraint): Document multi-letter | |
3371 | constraints shall have the same length if they start with the same | |
3372 | letter. | |
3373 | ||
79959616 | 3374 | 2007-04-03 Uros Bizjak <ubizjak@gmail.com> |
3375 | ||
3376 | PR target/31175 | |
3377 | * config/i386/i386.md (isinf<mode>2): Expand only when | |
3378 | TARGET_C99_FUNCTIONS is set. | |
3379 | ||
6d057ce8 | 3380 | 2007-04-03 Uros Bizjak <ubizjak@gmail.com> |
3381 | ||
3382 | * config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file. | |
3383 | (x86_64-*-linux*): Ditto. | |
3384 | * config/i386/i386.opt (mpc): New option. | |
3385 | * config/i386/i386.c (overrride_options): Handle | |
3386 | ix87_precision_string. | |
3387 | * config/i386/crtprec.c: New file. | |
3388 | * config/i386/t-crtpc: Ditto. | |
3389 | * config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64 | |
3390 | and -mpc80 options. | |
3391 | * config/i386/linux64.h (ENDFILE_SPEC): Ditto. | |
3392 | * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add | |
3393 | crtprec32.o, crtprec64.o and crtprec80.o. | |
3394 | ||
3395 | * doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64 | |
3396 | and -mpc80 options. | |
3397 | (i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options. | |
3398 | ||
924dc384 | 3399 | 2007-04-02 Eric Christopher <echristo@apple.com> |
3400 | ||
3401 | * doc/invoke.texi (i386 and x86-64 Options): Document -m64 | |
3402 | limitations on darwin. | |
3403 | ||
ba92127f | 3404 | 2007-04-02 Anatoly Sokolov <aesok@post.ru> |
3405 | ||
3406 | PR target/31137 | |
3407 | * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. | |
3408 | ||
8995c1df | 3409 | 2007-04-02 Dave Korn <dave.korn@artimi.com> |
3410 | ||
bda7c187 | 3411 | * doc/tm.texi (FUNCTION_MODE): Update and extend documentation. |
924dc384 | 3412 | |
ac7d39a1 | 3413 | 2007-04-02 Dave Korn <dave.korn@artimi.com> |
3414 | ||
bda7c187 | 3415 | * libgcc2.h (exception_descriptor): Don't forward-declare. |
3416 | (__get_eh_table_language, __get_eh_table_version): Delete | |
ac7d39a1 | 3417 | prototypes of long-dead functions. |
3418 | ||
bcb0e3ff | 3419 | 2007-04-01 Daniel Berlin <dberlin@dberlin.org> |
3420 | ||
3421 | * ebitmap.h: New file | |
3422 | * ebitmap.c: New file | |
3423 | * Makefile.in (ebitmap.o): New target. | |
3424 | ||
4486418e | 3425 | 2007-04-01 Jan Hubicka <jh@suse.cz> |
3426 | ||
3427 | * emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit | |
3428 | before very first instruction. | |
3429 | ||
3430 | 2007-04-01 Jan Hubicka <jh@suse.cz> | |
3431 | ||
3432 | * ggc-page.c (ggc_print_statistics): Fix formatting string to avoid | |
3433 | waring on 64bit hosts. | |
3434 | * bitmap.h: Fix typo in bitmap_head_def. | |
3435 | ||
6ca330f8 | 3436 | 2007-04-01 Steven Bosscher <steven@gcc.gnu.org> |
3437 | ||
3438 | PR rtl-optimization/31391 | |
3439 | * cfgcleanup.c (try_optimize_cfg): If a removed label is turned | |
3440 | into a DELETED_LABEL note, and the label is in an empty basic | |
3441 | block, update BB_END as well as BB_HEAD. | |
3442 | ||
6291249b | 3443 | 2007-04-01 Richard Henderson <rth@redhat.com> |
3444 | ||
3445 | PR tree-optimization/31169 | |
3446 | * tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop | |
3447 | to varying if the range is outside [0, prec-1]. | |
3448 | ||
34a43822 | 3449 | 2007-04-01 Richard Sandiford <richard@codesourcery.com> |
3450 | ||
3451 | PR target/31388 | |
3452 | * config/mips/mips.md (load_const_gp): New insn. | |
3453 | * config/mips/mips.c (mips_split_symbol): Avoid using or creating | |
3454 | the MIPS16 GP pseudo register if no_new_pseudos. | |
3455 | (mips16_gp_pseudo_reg): Use gen_load_const_gp. | |
3456 | ||
0eafba8d | 3457 | 2007-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com> |
3458 | ||
3459 | PR target/31364 | |
3460 | * config/rs6000/rs6000.md (call): Convert to LR hard reg for | |
3461 | secureplt. | |
3462 | (call_value): Likewise. | |
3463 | ||
42cef9df | 3464 | 2007-03-31 Wolfgang Bangerth <bangerth@dealii.org> |
6d057ce8 | 3465 | Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
42cef9df | 3466 | |
3467 | PR 14737 | |
3468 | * doc/invoke.texi: (optimization options): Reword description | |
3469 | of -ffast-math. Document its primary purpose. | |
924dc384 | 3470 | |
e3022db7 | 3471 | 2007-03-31 Richard Guenther <rguenther@suse.de> |
3472 | ||
3473 | * omp-low.c (splay-tree.h): Include. | |
3474 | (lookup_decl): Replace splay-tree usage by pointer-map. | |
3475 | (maybe_lookup_decl): Likewise. | |
3476 | (new_omp_context): Likewise. | |
3477 | (delete_omp_context): Likewise. | |
3478 | * gimplify.c (splay-tree.h): Include. | |
3479 | * tree-inline.c (insert_decl_map): Replace splay-tree usage by | |
3480 | pointer-map. | |
3481 | (remap_ssa_name): Likewise. | |
3482 | (remap_decl): Likewise. | |
3483 | (remap_type_1): Likewise. | |
3484 | (remap_type): Likewise. | |
3485 | (copy_body_r): Likewise. | |
3486 | (expand_call_inline): Likewise. | |
3487 | (clone_body): Likewise. | |
3488 | (copy_tree_r): Likewise. | |
3489 | (remap_save_expr): Likewise. | |
3490 | (unsave_r): Likewise. | |
3491 | (unsave_expr_now): Likewise. | |
3492 | (tree_function_versioning): Likewise. | |
3493 | (build_duplicate_type): Likewise. | |
3494 | * tree-inline.h (pointer-set.h): Include instead of splay-tree.h. | |
3495 | (struct copy_body_data): Replace splay-tree by pointer-map. | |
3496 | * Makefile.in (TREE_INLINE_H): Depend on pointer-map.h, | |
3497 | not $(SPLAY_TREE_H). | |
3498 | (gimplify.o): Depend on $(SPLAY_TREE_H). | |
3499 | (omp-low.p): Likewise. | |
3500 | ||
db54c785 | 3501 | 2007-03-31 Anatoly Sokolov <aesok@post.ru> |
3502 | ||
924dc384 | 3503 | * config/avr/predicates.md (even_register_operand, |
db54c785 | 3504 | odd_register_operand): New predicates. |
3505 | * config/avr/avr.md (movw peephole2): New. | |
3506 | (movw_r peephole2): New. | |
3507 | ||
81e897e4 | 3508 | 2007-03-30 Rafael Avila de Espindola <espindola@google.com> |
3509 | ||
3510 | * tree.h (get_signed_or_unsigned_type): New. | |
3511 | * fold-const.c (operand_equal_for_comparison_p): Use | |
3512 | get_signed_or_unsigned_type instead of | |
3513 | lang_hooks.types.signed_or_unsigned_type. | |
3514 | * expr.c (store_expr): Ditto. | |
3515 | * langhooks.c (get_signed_or_unsigned_type): New. | |
3516 | (lhd_signed_or_unsigned_type): New. | |
3517 | * langhooks.h (lhd_signed_or_unsigned_type): New. | |
3518 | * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define. | |
3519 | ||
0bbe9142 | 3520 | 2007-03-30 Richard Henderson <rth@redhat.com> |
3521 | ||
3522 | * tree-ssa-loop-ivopts.c: Include target.h. | |
3523 | (produce_memory_decl_rtl): Pass the rtx through encode_section_info. | |
3524 | (get_address_cost): Force SYMBOL_FLAG_LOCAL set. | |
3525 | (force_expr_to_var_cost): Use produce_memory_decl_rtl. | |
3526 | * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H. | |
3527 | ||
3528 | 2007-03-30 Richard Henderson <rth@redhat.com> | |
3529 | Kai Tietz <kai.tietz@onevision.com> | |
3530 | ||
3531 | * config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by | |
3532 | default for 64-bit. | |
3533 | (PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit. | |
3534 | (TARGET_64BIT_MS_ABI): New. | |
3535 | (DBX_REGISTER_NUMBER): Handle 64-bit. | |
3536 | (SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit. | |
3537 | (LONG_TYPE_SIZE): Force to 32. | |
3538 | (REG_PARM_STACK_SPACE): New. | |
3539 | (OUTGOING_REG_PARM_STACK_SPACE): New. | |
3540 | (REGPARM_MAX, SSE_REGPARM_MAX): New. | |
3541 | (HANDLE_PRAGMA_PUSH_POP_MACRO): New. | |
3542 | (STACK_BOUNDARY): Use 128 for 64-bit. | |
3543 | * config/i386/cygwin.asm: Use push/ret to preserve call stack. | |
3544 | Add 64-bit implementation. | |
3545 | * config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor | |
3546 | argument unused. | |
3547 | * config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New. | |
3548 | (override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI. | |
3549 | Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm | |
3550 | for 64-bit; use TARGET_SUBTARGET64_DEFAULT. | |
3551 | (ix86_handle_cconv_attribute): Don't warn when ignoring if | |
3552 | TARGET_64BIT_MS_ABI. | |
3553 | (ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI. | |
3554 | (ix86_pass_by_reference): Likewise. | |
3555 | (ix86_function_value_regno_p): Likewise. | |
3556 | (ix86_build_builtin_va_list): Likewise. | |
3557 | (ix86_va_start, ix86_gimplify_va_arg): Likewise. | |
3558 | (function_arg_advance_ms_64): New. | |
3559 | (function_arg_advance): Call it. | |
3560 | (function_arg_ms_64): New. | |
3561 | (function_arg): Call it. | |
3562 | (function_value_ms_64): New. | |
3563 | (ix86_function_value_1): Call it. | |
3564 | (return_in_memory_ms_64): New. | |
3565 | (ix86_return_in_memory): Call it. | |
3566 | (setup_incoming_varargs_ms_64): New. | |
3567 | (ix86_setup_incoming_varargs): Call it. | |
3568 | (ix86_expand_prologue): Handle 64-bit stack probing. | |
3569 | (legitimize_pic_address): Handle TARGET_64BIT_MS_ABI. | |
3570 | (output_pic_addr_const): Likewise. | |
3571 | (x86_this_parameter): Likewise. | |
3572 | (x86_output_mi_thunk): Likewise. | |
3573 | (x86_function_profiler): Likewise. | |
3574 | (TARGET_STRICT_ARGUMENT_NAMING): New. | |
3575 | * config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New. | |
3576 | (TARGET_64BIT_MS_ABI): New. | |
3577 | (CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI. | |
3578 | * config/i386/i386.md (allocate_stack_worker): Remove. | |
3579 | (allocate_stack_worker_32): Rename from allocate_stack_worker_1; | |
3580 | describe the clobber of eax without a match_scratch. | |
3581 | (allocate_stack_worker_postreload): Remove. | |
3582 | (allocate_stack_worker_64): Rename from allocate_stack_worker_rex64; | |
3583 | describe the clobbers of rax, r10, r11 properly; use __chkstk symbol. | |
3584 | (allocate_stack_worker_rex64_postreload): Remove. | |
3585 | (allocate_stack): Handle 64-bit. | |
3586 | * config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove. | |
3587 | * config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit. | |
3588 | (EXTRA_OS_CPP_BUILTINS): Handle 64-bit. | |
3589 | (STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT. | |
3590 | (STANDARD_STARTFILE_PREFIX_1): Likewise. | |
3591 | * config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New. | |
3592 | * config.build (x86_64-*-mingw*): New host. | |
3593 | * config.host (x86_64-*-mingw*): New host. | |
3594 | * config.gcc (x86_64-*-mingw*): New target. | |
3595 | * gthr-win32.h (__gthread_key_create): Mark dtor unused. | |
3596 | ||
3fa3949d | 3597 | 2007-03-30 Richard Henderson <rth@redhat.com> |
3598 | Kai Tietz <kai.tietz@onevision.com> | |
3599 | ||
3600 | * c-pragma.c (struct def_pragma_macro_value): New. | |
3601 | (struct def_pragma_macro): New. | |
3602 | (pushed_macro_table): New. | |
3603 | (dpm_hash, dpm_eq): New. | |
3604 | (handle_pragma_push_macro, handle_pragma_pop_macro): New. | |
3605 | (init_pragma): Install them. | |
3606 | * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New. | |
3607 | ||
6e9e3dbe | 3608 | 2007-03-30 Anatoly Sokolov <aesok@post.ru> |
3609 | ||
924dc384 | 3610 | * config/avr/avr.c (avr_override_options): Clear |
6e9e3dbe | 3611 | 'flag_delete_null_pointer_checks'. |
3612 | ||
481451eb | 3613 | 2007-03-30 Paolo Carlini <pcarlini@suse.de> |
3614 | ||
3615 | PR c++/26099 | |
3616 | * c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN, | |
3617 | RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY, | |
3618 | RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR, | |
3619 | RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR, | |
3620 | RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF, | |
3621 | RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM, | |
3622 | RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as | |
3623 | C++ extensions. | |
3624 | * doc/extend.texi (Extensions to the C++ Language): Add Type Traits. | |
3625 | ||
e1caca42 | 3626 | 2007-03-30 Steven Bosscher <steven@gcc.gnu.org> |
3627 | ||
3628 | * regmove.c: Move all of pass_stack_adjustments from here... | |
3629 | * combine-stack-adj.c: ...to this new file. | |
3630 | * Makefile.in: Add rules for combine-stack-adj.o. | |
3631 | ||
de33470d | 3632 | 2007-03-30 Zdenek Dvorak <dvorakz@suse.cz> |
3633 | ||
3634 | PR tree-optimization/31383 | |
3635 | * tree-data-ref.c (affine_function_equal_p): Do not require the vectors | |
3636 | to have the same length. | |
3637 | ||
5615be0f | 3638 | 2007-03-30 Jan Hubicka <jh@suse.cz> |
3639 | ||
b2e3c5f9 | 3640 | PR middle-end/30700 |
924dc384 | 3641 | * dwarf2out.c (reference_to_unused): Ask cgraph for functions |
5615be0f | 3642 | availablility; add more sanity checking; ask varpool only about |
3643 | VAR_DECL. | |
3644 | ||
9c0794a1 | 3645 | 2007-03-29 Richard Henderson <rth@redhat.com> |
3646 | ||
3647 | * unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG | |
3648 | to decide, but __SIZEOF_LONG_LONG__. | |
3649 | ||
bedbe58b | 3650 | 2007-03-29 Richard Henderson <rth@redhat.com> |
3651 | ||
3652 | * emutls.c (struct __emutls_array): New. | |
3653 | (emutls_destroy): Use it instead of casting element 0 from void*. | |
3654 | (__emutls_get_address): Likewise. | |
3655 | ||
dd1a226e | 3656 | 2007-03-29 Richard Henderson <rth@redhat.com> |
3657 | ||
3658 | * varasm.c (initializer_constant_valid_p): Don't deny | |
3659 | DECL_DLLIMPORT_P on functions. | |
3660 | ||
3661 | * config/i386/cygming.h: Remove function declarations. | |
3662 | (SUBTARGET_ENCODE_SECTION_INFO): Don't undef first. | |
3663 | (ASM_OUTPUT_LABELREF): Remove. | |
3664 | (COMMON_ASM_OP): Remove. | |
3665 | (ASM_OUTPUT_COMMON): Remove. | |
3666 | (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. | |
3667 | (ASM_DECLARE_OBJECT_NAME): Use i386_pe_maybe_record_exported_symbol. | |
3668 | (ASM_DECLARE_FUNCTION_NAME): Likewise. | |
3669 | * config/i386/i386-interix.h (SUBTARGET_ENCODE_SECTION_INFO): | |
3670 | Rename from TARGET_ENCODE_SECTION_INFO. | |
3671 | * config/i386/netware.h: Likewise. | |
3672 | * config/i386/i386-protos.h: Update. | |
3673 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Turn ifdef | |
3674 | of TARGET_DLLIMPORT_DECL_ATTRIBUTES into straight if. | |
3675 | (legitimate_constant_p): Reject dllimports. | |
3676 | (dllimport_map, get_dllimport_decl): New. | |
3677 | (legitimize_dllimport_symbol): New. | |
3678 | (legitimize_address, ix86_expand_move): Use it. | |
3679 | (TARGET_BINDS_LOCAL_P): Redefine for TARGET_DLLIMPORT_DECL_ATTRIBUTES. | |
3680 | * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Remove. | |
3681 | (SYMBOL_FLAG_DLLIMPORT, SYMBOL_REF_DLLIMPORT_P): New. | |
3682 | (SYMBOL_FLAG_DLLEXPORT, SYMBOL_REF_DLLEXPORT_P): New. | |
3683 | * config/i386/predicates.md (constant_call_address_operand): Only | |
3684 | accept symbols; reject dllimport_p symbols. | |
3685 | * config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Use | |
3686 | i386_pe_maybe_record_exported_symbol. | |
3687 | * config/i386/winnt.c (DLL_IMPORT_PREFIX, DLL_EXPORT_PREFIX): Remove. | |
3688 | (i386_pe_determine_dllexport_p): Rename from i386_pe_dllexport_p. | |
3689 | (i386_pe_determine_dllimport_p): Rename from i386_pe_dllimport_p; | |
3690 | trust the setting of DECL_DLLIMPORT_P. | |
3691 | (i386_pe_dllexport_name_p, i386_pe_dllimport_name_p): Remove. | |
3692 | (i386_pe_mark_dllexport, i386_pe_mark_dllimport): Remove. | |
3693 | (gen_stdcall_or_fastcall_suffix): Return NULL if no change required; | |
3694 | tidy the argument scanning loop. | |
3695 | (i386_pe_encode_section_info): Set SYMBOL_FLAG_DLLIMPORT and | |
3696 | SYMBOL_FLAG_DLLEXPORT in SYMBOL_REF_FLAGS. | |
3697 | (i386_pe_strip_name_encoding): Remove. | |
3698 | (i386_pe_binds_local_p): New. | |
3699 | (i386_pe_strip_name_encoding_full): Use default_strip_name_encoding. | |
3700 | (i386_pe_output_labelref): Remove. | |
3701 | (i386_pe_asm_output_aligned_decl_common): New. | |
3702 | (i386_pe_maybe_record_exported_symbol): Rename from | |
3703 | i386_pe_record_exported_symbol; check for dllexported symbols. | |
3704 | ||
409f9175 | 3705 | 2007-03-29 Zack Weinberg <zack@mrtock.ucsd.edu> |
3706 | ||
3707 | * gengtype.c (oprintf): Mostly revert changes from 2007-03-26; | |
3708 | add comment explaining why vsnprintf cannot be used. | |
3709 | ||
a024c245 | 3710 | 2007-03-29 Douglas Gregor <doug.gregor@gmail.com> |
3711 | ||
3712 | PR tree-optimization/30666 | |
3713 | * tree.c (build_complex_type): When creating type names for DWARF2 | |
3714 | debug info, create TYPE_DECLs for TYPE_NAME instead of | |
3715 | IDENTIFIER_NODEs. | |
3716 | (build_common_tree_nodes_2): Use build_complex_type when building | |
3717 | predefined complex types, to preserve canonical types. | |
3718 | ||
ba45c933 | 3719 | 2007-03-29 Steven Bosscher <steven@gcc.gnu.org> |
3720 | ||
3721 | * ifcvt.c (struct noce_if_info): Add then_else_reversed field. | |
3722 | (noce_get_alt_condition): Look at it to determine whether to | |
3723 | reverse the condition or not. | |
3724 | (noce_get_condition): Substitute the truth for lies. | |
3725 | (noce_find_if_block): Set the then_else_reversed field. | |
3726 | ||
5e8ebe59 | 3727 | 2007-03-29 Lars Poeschel <larsi@wh2.tu-dresden.de> |
3728 | ||
3729 | * config/fr30/fr30.md (movdi): Do not accept immediates as the | |
3730 | destination of this insn. | |
3731 | * config/fr30/fr30.c (fr30_move_double): Use emit_move_insn rather | |
3732 | than calling gen_rtx_SET directly. Use r0 to hold the value of | |
3733 | 'address + 4' rather than a stack based temporary which can be | |
3734 | mis-optimized away. | |
924dc384 | 3735 | |
328d5423 | 3736 | 2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
3737 | ||
3738 | * config/s390/s390.c (s390_secondary_input_reload_class, | |
3739 | s390_secondary_output_reload_class): Functions removed. | |
3740 | (s390_secondary_reload): New function. | |
3741 | (TARGET_SECONDARY_RELOAD): Target macro defined. | |
3742 | * config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS, | |
3743 | SECONDARY_OUTPUT_RELOAD_CLASS): Macro definitions removed. | |
3744 | * config/s390/s390.md ("reload_outti", "reload_outdi", | |
3745 | "reload_indi", "reload_insi", "reload_out<mode>", "reload_in<mode>", | |
3746 | "reload_out<mode>"): Expanders removed. | |
3747 | ("reload<mode>_plus", "reload<mode>_nonoffmem_in", | |
3748 | "reload<mode>_nonoffmem_out"): Expanders added. | |
3749 | ||
fc7c3aae | 3750 | 2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
3751 | ||
3752 | * regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if | |
3753 | SRC->DEST replacement failed anyway. | |
3754 | ||
f3e0a067 | 3755 | 2007-03-28 Mike Stump <mrs@apple.com> |
3756 | ||
3757 | * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. | |
3758 | * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. | |
a8654287 | 3759 | * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef. |
f3e0a067 | 3760 | |
d80b6b7d | 3761 | 2007-03-28 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
3762 | ||
3763 | * config.gcc: Accept barcelona as a variant of amdfam10. | |
3764 | * config/i386/i386.c (override_options): Likewise. | |
3765 | * doc/invoke.texi: Likewise. | |
924dc384 | 3766 | |
74aab153 | 3767 | 2007-03-28 Eric Botcazou <ebotcazou@adacore.com> |
3768 | ||
3769 | * tree-dfa.c (get_ref_base_and_extent): Do not expect positive | |
3770 | offsets for BIT_FIELD_REF and COMPONENT_REF. | |
3771 | ||
dc6fafc6 | 3772 | 2007-03-28 Richard Guenther <rguenther@suse.de> |
3773 | ||
3774 | * tree.c (is_global_var): Move ... | |
3775 | * tree-flow-inline.h (is_global_var): ... here. | |
3776 | * tree.h (is_global_var): Remove declaration. | |
3777 | ||
58c9a086 | 3778 | 2007-03-28 Uros Bizjak <ubizjak@gmail.com> |
3779 | ||
3780 | * config/i386/i386.h (X86_TUNE_PROMOTE_HIMODE_IMUL): New tuning | |
3781 | option. | |
3782 | (TARGET_TUNE_PROMOTE_HIMODE_IMUL): New define. Use new tuning option. | |
3783 | * config/i386/i386.c (ix86_tune_features): Initialize new | |
3784 | tuning option. | |
3785 | * config/i386/predicates.md (promotable_binary_operator): Use | |
3786 | TARGET_TUNE_PROMOTE_HIMODE_IMUL. | |
3787 | ||
41b0d74f | 3788 | 2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> |
3789 | ||
3790 | PR target/31380 | |
3791 | * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX. | |
3792 | ||
0c570b19 | 3793 | 2007-03-28 Lars Poeschel <larsi@wh2.tu-dresden.de> |
95175695 | 3794 | |
3795 | * config/fr30/fr30.md (movsi_internal): Change destination | |
924dc384 | 3796 | constraint from m to V and add m to the end. |
95175695 | 3797 | |
4a98dc74 | 3798 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
3799 | ||
3800 | * config/sh/sh.md (movsi_i): Fix type attribute. | |
3801 | ||
0c570b19 | 3802 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
e661b951 | 3803 | |
3804 | * config/sh/sh.md (movsi_ie): Fix memory constraints attribute length. | |
3805 | (movsf_ie): Likewise. | |
3806 | ||
99b0f6d9 | 3807 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
3808 | ||
3809 | * config.gcc: Add sh4-300 to multilib. | |
3810 | * config/sh/t-mlib-sh4-300: New file. | |
3811 | ||
37e3ac7e | 3812 | 2007-03-28 Andreas Krebbel <krebbel1@de.ibm.com> |
3813 | ||
3814 | * config/s390/s390.md ("fix_trunc<mode>di2"): New expander. | |
3815 | ("fix_trunc<DFP:mode>di2_dfp"): New insn definition renamed from | |
3816 | fix_trunc<mode>di2. | |
924dc384 | 3817 | ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use |
37e3ac7e | 3818 | fix_trunc<DFP:mode>di2_dfp instead of fix_trunc<mode>di2. |
3819 | ("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2", | |
3820 | "fixuns_trunctddi2"): Whitespace fix. | |
3821 | ||
f328f118 | 3822 | 2007-03-28 Kaz Kojima <kkojima@gcc.gnu.org> |
3823 | ||
3824 | * config/sh/sh.h (CALL_COOKIE_RET_TRAMP_SHIFT): Move after | |
3825 | the definition of struct sh_args. | |
3826 | (CALL_COOKIE_RET_TRAMP, CALL_COOKIE_STACKSEQ_SHIFT, | |
3827 | CALL_COOKIE_INT_REG_GET): Likewise. | |
3828 | ||
0fffdebc | 3829 | 2007-03-28 Steven Bosscher <steven@gcc.gnu.org> |
3830 | ||
3831 | * ifcvt.c (cond_exec_find_if_block): Return FALSE if no | |
3832 | transformations are applied successfully. | |
3833 | ||
5ca99950 | 3834 | 2007-03-27 Douglas Gregor <doug.gregor@gmail.com> |
3835 | ||
3836 | * tree.c (tree_contains_struct): Permit 512 tree codes. | |
3837 | * tree.h (tree_contains_struct): Ditto. | |
3838 | (MAX_TREE_CODES): Ditto. | |
3839 | (struct tree_base): Make CODE 16 bits, instead of 8 bits. Add | |
3840 | SPARE member to store remaining padding bits. | |
3841 | ||
097373ae | 3842 | 2007-03-27 Anatoly Sokolov <aesok@post.ru> |
3843 | ||
924dc384 | 3844 | * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' |
097373ae | 3845 | architecture. |
3846 | ||
ca0d2b55 | 3847 | 2007-03-27 Janis Johnson <janis187@us.ibm.com> |
3848 | ||
88f38265 | 3849 | * configure.ac: Fix assembler test for powerpc*-linux decimal float. |
3850 | * configure: Regenerate. | |
3851 | ||
ca0d2b55 | 3852 | * configure: Regenerate using the correct version of autoconf. |
3853 | ||
3854 | 2007-03-27 Anatoly Sokolov <aesok@post.ru> | |
dc39da57 | 3855 | |
3856 | * config/avr/avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack | |
3857 | pointer regs. | |
3858 | * config/avr/avr.h (REGISTER_NAMES): Rename "__SPL__" and "__SPH__" | |
3859 | regs to "__SP_L__" and "__SP_H__". | |
3860 | ||
209f25b9 | 3861 | 2007-03-27 Richard Guenther <rguenther@suse.de> |
3862 | ||
3863 | * tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and | |
924dc384 | 3864 | computations with it with a HOST_WIDE_INT variable. |
209f25b9 | 3865 | |
45ccdeb8 | 3866 | 2007-03-26 Mike Stump <mrs@apple.com> |
3867 | ||
3868 | * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Add | |
3869 | objective-c-header, objective-c++-header and objc++-cpp-output | |
3870 | support. | |
3871 | * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Likewise. | |
3872 | ||
1a510660 | 3873 | 2007-03-26 Richard Henderson <rth@redhat.com> |
3874 | ||
58c9a086 | 3875 | PR target/31361 |
3876 | * config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128, | |
3877 | IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128, | |
3878 | IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128, | |
3879 | IX86_BUILTIN_PSRLQ128): New. | |
3880 | (ix86_init_mmx_sse_builtins): Add them. | |
3881 | (ix86_expand_builtin): Expand them. | |
3882 | * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make | |
3883 | operand 2 be TImode. | |
3884 | * config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16, | |
3885 | _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32, | |
3886 | _mm_srli_epi64): Mark __B const. | |
3887 | (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. | |
3888 | (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, | |
924dc384 | 3889 | _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use |
58c9a086 | 3890 | new two-vector shift builtins. |
1a510660 | 3891 | |
c68b42d2 | 3892 | 2007-03-26 Ian Lance Taylor <iant@google.com> |
3893 | ||
3894 | PR tree-optimization/31345 | |
3895 | * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like | |
3896 | [+INF, +INF(OVF)] into VARYING. | |
3897 | ||
f8be92ce | 3898 | 2007-03-26 Zack Weinberg <zackw@panix.com> |
3899 | ||
1e837561 | 3900 | * gengtype-parse.c: New file. |
3901 | * gengtype-yacc.y: Delete. | |
3902 | * gengtype-lex.l: Don't include gengtype-yacc.h. | |
3903 | Define YY_DECL and yyterminate appropriately for recursive | |
3904 | descent parser. yylval is now a string out-parameter to yylex. | |
3905 | (HWS, EOID): New shorthand. | |
3906 | (IWORD): Add a couple more types. | |
3907 | (yylex): Add a setup stanza. Remove the complex rules for | |
3908 | detecting GTY'ed types and typedefs; replace with simple | |
3909 | keyword detectors. Adjust everything for the changed | |
3910 | definition of yylval. Ignore all pp-directives, not just #define. | |
3911 | (yyerror): Delete. | |
3912 | (parse_file): Rename yybegin; do not call yyparse. | |
3913 | (yyend): New. | |
3914 | * gengtype.c (xasprintf): Export again. | |
3915 | (this_file): New. Use everywhere __FILE__ was being used. | |
3916 | (get_lang_bitmap): Special case types defined in gengtype.c. | |
3917 | (do_typedef, new_structure): Suppress definition of certain types. | |
3918 | (new_structure): Improve diagnostics of duplicate definitions. | |
3919 | Make sure location_s is associated with input.h. | |
3920 | (nreverse_pairs, define_location_structures): New functions. | |
3921 | (main): Improve tagging of kludge types. Remove old kludges | |
3922 | for input.h types; use define_location_structures. | |
3923 | * gengtype.h: Update prototypes. Define token codes here. | |
3924 | * Makefile.in: Remove all references to gengtype-yacc. | |
3925 | Add rules for gengtype-parse.o. Adjust rules for gengtype-lex.o | |
3926 | and gengtype. | |
3927 | * bitmap.h (struct bitmap_head_def): Coalesce definitions, | |
3928 | add GTY((skip)) to the field that's only conditionally there. | |
3929 | * doc/install.texi: Document that Bison is no longer required | |
3930 | unless building treelang. | |
3931 | ||
570af75a | 3932 | * gengtype.c: Don't include gtyp-gen.h. |
3933 | (srcdir): Declare here. | |
3934 | (base_files, lang_dir_names): Allocate dynamically. | |
3935 | (gt_files, num_gt_files, num_lang_dirs): New globals. | |
3936 | (measure_input_list, read_input_line, read_input_list) | |
3937 | (set_lang_bitmap): New functions. | |
3938 | (get_base_file_bitmap): Rename get_lang_bitmap and drastically | |
3939 | simplify, relying on read_input_list to set up the bitmaps. | |
3940 | (main): Arguments are no longer unused. Check for correct number | |
3941 | of command line arguments, set srcdir and srcdir_len, then call | |
3942 | read_input_list, before doing anything else. No need to worry | |
3943 | about duplicates in main loop. | |
3944 | * configure.ac: Simplify the calculation of all_gtfiles. | |
3945 | Put language tags in there. Don't set or substitute | |
3946 | all_gtfiles_files_langs or all_gtfiles_files_frags. | |
3947 | * Makefile.in: Revamp the way gengtype is invoked, now that it | |
3948 | takes a file on its command line with a much simpler format. | |
3949 | Remove or replace with gtyp-input.list all references to gtyp-gen.h. | |
3950 | (GTFILES): Remove duplicates and C source files. | |
3951 | * c-config-lang.in, cp/config-lang.in, objc/config-lang.in | |
3952 | * objcp/config-lang.in: Add c-pragma.h to gtfiles. | |
3953 | * configure: Regenerate. | |
3954 | ||
4097676c | 3955 | * gengtype.h: Remove all type definitions to gengtype.c; leave |
3956 | only definitions of options_p, type_p, and pair_p as opaque | |
3957 | pointers. Update prototypes. | |
3958 | * gengtype.c: Many type definitions moved here from gengtype.h. | |
3959 | Consolidate type definitions at the top of the file. | |
3960 | (xvasprintf): Delete. | |
3961 | (xasprintf): Make static. | |
3962 | (create_nested_pointer_option): Add 'next' parameter. | |
3963 | (create_field_all, create_field_at): New functions. | |
3964 | (create_field): Now a thin wrapper around create_field_all. | |
3965 | (create_optional_field): Rename create_optional_field_ and add | |
3966 | line argument. Original name is now a macro which supplies | |
3967 | __LINE__. | |
3968 | (oprintf): Use vsnprintf directly. | |
3969 | (close_output_files): Use fatal rather than perror/exit. | |
3970 | (note_def_vec, note_def_vec_alloc): Use create_field_at. | |
3971 | (main): Set progname. Don't use exit. | |
3972 | * gengtype-yacc.y (struct_fields): Use create_field_at. | |
3973 | (option, optionseqopt): Delete. | |
3974 | (optionseq): Consolidate productions from option here so we | |
3975 | can use the first argument to create_option. | |
3976 | ||
6fee8f02 | 3977 | * gengtype-lex.l: Distinguish unions from structures in the |
3978 | token type. Don't call find_structure; return the tag as a string. | |
3979 | * gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and ENT_UNION. | |
3980 | Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is string. | |
3981 | Reorganize typedef_struct production accordingly. | |
3982 | Use create_nested_ptr_option. | |
3983 | * gengtype.c (create_nested_ptr_option): New function. | |
3984 | * gengtype.h: Declare it. | |
3985 | ||
80da8e25 | 3986 | * gengtype.h (struct type): Replace 'sc' with boolean, scalar_is_char. |
3987 | (string_type): Don't declare. | |
3988 | (do_scalar_typedef): Declare. | |
3989 | (create_scalar_type): Update prototype. | |
3990 | * gengtype.c (string_type): Make static. | |
3991 | (scalar_nonchar, scalar_char): New. | |
3992 | (do_scalar_typedef): Export. Always use scalar_nonchar for the type. | |
3993 | (resolve_typedef): Use scalar_nonchar for error recovery. | |
3994 | (create_scalar_type): Remove name_len field. Return scalar_char | |
3995 | or scalar_nonchar as appropriate. | |
3996 | (adjust_field_type): Look at scalar_is_char boolean to decide whether | |
3997 | to use string_type. | |
3998 | (throughout): Use scalar_nonchar instead of calling create_scalar_type, | |
3999 | whenever possible. | |
4000 | (main): Initialize scalar_char and scalar_nonchar before calling | |
4001 | gen_rtx_next. | |
4002 | * gengtype-lex.l: Adjust for removal of second argument to | |
4003 | create_scalar_type. Use yylval.s instead of yylval.t when | |
4004 | returning SCALAR. | |
4005 | * gengtype-yacc.y: Type of SCALAR is string. Call | |
4006 | create_scalar_type from type:SCALAR rule. Adjust for removal of | |
4007 | second argument to create_scalar_type. | |
4008 | ||
696e7773 | 4009 | * vec.h: Remove all #if IN_GENGTYPE blocks. |
4010 | Add comment saying that changes may require adjustments to gengtype. | |
4011 | * gengtype.c: Don't include coretypes.h or tm.h. | |
4012 | Add comment to inclusion of errors.h. | |
4013 | (note_def_vec, note_def_vec_alloc): New functions. | |
4014 | * gengtype.h: Declare new functions. | |
4015 | * gengtype-lex.l: Don't include coretypes.h. | |
4016 | (YY_INPUT, macro_input, push_macro_expansion, mangle_macro_name): | |
4017 | Delete. | |
4018 | (update_lineno): Remove unnecessary prototype. | |
4019 | (DEF_VEC_* rules): Simplify using note_def_vec / note_def_vec_alloc. | |
4020 | (VEC rule): Just return VEC_TOKEN. | |
4021 | * gengtype-yacc.y (VEC_TOKEN): New token type. | |
4022 | (type): Add a production for VEC(a,b). | |
4023 | * Makefile.in: Update dependencies. | |
4024 | ||
892ddc0b | 4025 | * gengtype-lex.l: Remove rules for parsing pointer-to-function |
4026 | typedefs that use the old PARAMS macro. | |
4027 | ||
f8be92ce | 4028 | * gengtype-lex.l: Remove all rules and states relating to yacc |
4029 | input files. | |
4030 | * gengtype-yacc.y: Similarly. | |
4031 | * gengtype.c (note_yacc_type): Delete function. | |
4032 | * gengtype.h: Update prototypes. | |
4033 | ||
e4e0b898 | 4034 | 2007-03-26 Joseph Myers <joseph@codesourcery.com> |
4035 | ||
4036 | * tree-pretty-print.c (dump_generic_node): Report precision of | |
4037 | unnamed integer types. | |
4038 | ||
03dbd7cc | 4039 | 2007-03-26 Steven Bosscher <steven@gcc.gnu.org> |
4040 | ||
4041 | * ifcvt.c (noce_try_store_flag_constants): Don't check | |
4042 | no_new_pseudos here. | |
4043 | (noce_try_store_flag_constants): Don't check no_new_pseudos. | |
4044 | (noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove_arith, | |
4045 | noce_try_cmove_arith, noce_try_minmax, noce_try_abs, | |
4046 | noce_try_sign_mask): Likewise. | |
4047 | (if_convert): Check no_new_pseudos here. | |
4048 | ||
4049 | (cond_exec_process_if_block, noce_process_if_block, find_if_block): | |
4050 | Remove prototypes. | |
4051 | (struct noce_if_info): Add then_bb, else_bb, join_bb members. | |
4052 | (noce_get_condition): Handle new then_else_reversed argument. | |
4053 | (noce_init_if_info): Remove, fold into noce_find_if_block. | |
4054 | (noce_process_if_block): Take a struct noce_if_info as the | |
4055 | argument. Don't set up one based on ce_if_info. Update pointer | |
4056 | references accordingly. | |
4057 | (cond_move_process_if_block): Likewise. | |
4058 | (process_if_block): Removed. | |
4059 | (find_if_block): Removed. Move functionality two new functions, | |
4060 | noce_find_if_block and cond_exec_find_if_block. | |
4061 | (noce_find_if_block): New function. Be aware of IF-THEN-JOIN | |
4062 | blocks and the symmetric IF-ELSE-JOIN case. | |
4063 | (cond_exec_find_if_block): Also new function mostly based on old | |
4064 | find_if_block and process_if_block. | |
4065 | (find_if_header): Replace find_if_block call with separately | |
4066 | guarded calls to noce_find_if_block and cond_exec_find_if_block. | |
4067 | (find_cond_trap): Update noce_get_condition call. | |
4068 | (dead_or_predicable): Likewise. | |
4069 | ||
211d5b9a | 4070 | 2007-03-26 Jakub Jelinek <jakub@redhat.com> |
4071 | ||
4072 | * config/i386/i386.c (IX86_BUILTIN_CMPNEPD, IX86_BUILTIN_CMPNESD): | |
4073 | Remove. | |
4074 | (IX86_BUILTIN_PSLLW128, IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, | |
4075 | IX86_BUILTIN_PSRAW128, IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, | |
4076 | IX86_BUILTIN_PSRLD128, IX86_BUILTIN_PSRLQ128): Remove. | |
4077 | (ix86_init_mmx_sse_builtins): Remove v8hi_ftype_v8hi_v2di and | |
58c9a086 | 4078 | v4si_ftype_v4si_v2di. Remove __builtin_ia32_psllw128, |
211d5b9a | 4079 | __builtin_ia32_pslld128, __builtin_ia32_psllq128, |
4080 | __builtin_ia32_psrlw128, __builtin_ia32_psrld128, | |
4081 | __builtin_ia32_psrlq128, __builtin_ia32_psraw128 and | |
4082 | __builtin_ia32_psrad128 builtins. | |
4083 | ||
4e9abdcc | 4084 | 2007-03-26 Uros Bizjak <ubizjak@gmail.com> |
4085 | ||
4086 | * reg-stack.c (replace_reg): Use IN_RANGE macro in gcc_assert(). | |
4087 | * config/i386/constraints.md | |
4088 | (define_constraint "I"): Use IN_RANGE macro. | |
4089 | (define_constraint "J"): Ditto. | |
4090 | (define_constraint "K"): Ditto. | |
4091 | (define_constraint "M"): Ditto. | |
4092 | (define_constraint "N"): Ditto. | |
4093 | (define_constraint "O"): Ditto. | |
4094 | * config/i386/predicates.md | |
4095 | (define_predicate "register_no_elim_operand"): Use IN_RANGE macro. | |
4096 | (define_predicate "const_0_to_3_operand"): Ditto. | |
4097 | (define_predicate "const_0_to_7_operand"): Ditto. | |
4098 | (define_predicate "const_0_to_15_operand"): Ditto. | |
4099 | (define_predicate "const_0_to_63_operand"): Ditto. | |
4100 | (define_predicate "const_0_to_255_operand"): Ditto. | |
4101 | (define_predicate "const_1_to_31_operand"): Ditto. | |
4102 | (define_predicate "const_2_to_3_operand"): Ditto. | |
4103 | (define_predicate "const_4_to_7_operand"): Ditto. | |
4104 | ||
87ba92a7 | 4105 | 2007-03-25 David Edelsohn <edelsohn@gnu.org> |
4106 | ||
4107 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Always clobber LR | |
4108 | in SImode for save_world. | |
4109 | * config/rs6000/altivec.md (save_world, restore_world): Convert to | |
4110 | LR hard reg. | |
4111 | ||
3cbad267 | 4112 | 2007-03-25 Dorit Nuzman <dorit@il.ibm.com> |
4113 | ||
4114 | PR tree-optimization/30784 | |
4115 | * fold-const.c (fold_ternary): Handle CONSTRUCTOR in case | |
4116 | BIT_FIELD_REF. | |
4117 | ||
73772494 | 4118 | 2007-03-25 Revital Eres <eres@il.ibm.com> |
4119 | ||
f8be92ce | 4120 | * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): |
4121 | Fold movement_possibility function into it. | |
73772494 | 4122 | |
327202e2 | 4123 | 2007-03-25 David Edelsohn <edelsohn@gnu.org> |
4124 | ||
4125 | * config/rs6000/darwin.md (load_macho_picbase): Ignore operand 0. | |
4126 | (load_macho_picbase_{si,di}): Convert to LR hard reg. | |
4127 | (call_indirect_nonlocal_darwin64): Same. | |
4128 | (call_nonlocal_darwin64): Same. | |
4129 | (call_value_indirect_nonlocal_darwin64): Same. | |
4130 | (call_value_nonlocal_darwin64): Same. | |
4131 | (sibcall_nonlocal_darwin64): Same. | |
4132 | (sibcall_value_nonlocal_darwin64): Same. | |
4133 | (sibcall_symbolic_64): Same. | |
4134 | (sibcall_value_symbolic_64): Same. | |
4135 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove | |
4136 | LR pseudo. | |
4137 | (rs6000_emit_load_toc_table): Same. | |
4138 | * config/rs6000/altivec.md (restore_world): Convert to LR hard reg. | |
4139 | * config/rs6000/rs6000.md (mulh_call): Convert to LR hard reg. | |
4140 | (mull_call): Same. | |
4141 | (divss_call): Same. | |
4142 | (divus_call): Same. | |
4143 | (quoss_call): Same. | |
4144 | (quous_call): Same. | |
4145 | (load_toc_v4_pic_si): Same | |
4146 | (load_toc_v4_PIC_1): Same. | |
4147 | (load_toc_v4_PIC_1b): Same. | |
4148 | (call_indirect_aix{32,64}): Same. | |
4149 | (call_value_indirect_aix{32,64}): Same. | |
4150 | (call): Same. | |
4151 | (call_value): Same. | |
4152 | (call_local{32,64}): Same. | |
4153 | (call_value_local{32,64}): Same. | |
4154 | (call_indirect_nonlocal_aix{32,64}): Same. | |
4155 | (call_nonlocal_aix{32,64}): Same. | |
4156 | (call_value_indirect_nonlocal_aix{32,64}): Same. | |
4157 | (call_value_nonlocal_aix{32,64}): Same. | |
4158 | (call_indirect_nonlocal_sysv<mode>): Same. | |
4159 | (call_nonlocal_sysv<mode>): Same. | |
4160 | (call_value_indirect_nonlocal_sysv<mode>): Same. | |
4161 | (call_value_nonlocal_sysv<mode>): Same. | |
4162 | (sibcall): Same. | |
4163 | (sibcall_local{32,64}): Same. | |
4164 | (sibcall_value_local{32,64}): Same. | |
4165 | (sibcall_nonlocal_aix{32,64}): Same. | |
4166 | (sibcall_value_nonlocal_aix{32,64}): Same. | |
4167 | (sibcall_nonlocal_sysv<mode>): Same. | |
4168 | (sibcall_value): Same. | |
4169 | (sibcall_value_nonlocal_sysv<mode>): Same. | |
4170 | ||
8eba3d10 | 4171 | 2007-03-24 Paul Brook <paul@codesourcery.com> |
4172 | ||
4173 | * config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push. | |
4174 | * config/arm/linux-eabi.h: Remove legacy syscall hack. | |
4175 | ||
269f7060 | 4176 | 2007-03-24 Richard Henderson <rth@redhat.com> |
4177 | ||
4178 | * config/ia64/constraints.md: New file. | |
4179 | * config/ia64/predicates.md: Replace CONST_OK_FOR_? with | |
4180 | satisfies_constraint_?. | |
4181 | * config/ia64/ia64.c (ia64_move_ok, ia64_legitimate_constant_p, | |
4182 | ia64_reload_gp, spill_restore_mem, ia64_expand_prologue, | |
4183 | ia64_expand_epilogue, ia64_split_return_addr_rtx, ia64_rtx_costs, | |
4184 | ia64_output_mi_thunk): Likewise. | |
4185 | (ia64_const_ok_for_letter_p): Remove. | |
4186 | (ia64_const_double_ok_for_letter_p): Remove. | |
4187 | (ia64_extra_constraint): Remove. | |
4188 | * config/ia64/ia64.h (REG_CLASS_FROM_LETTER): Remove. | |
4189 | (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L, | |
4190 | CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O, CONST_OK_FOR_P, | |
4191 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_G, | |
4192 | CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT, | |
4193 | EXTRA_MEMORY_CONSTRAINT): Remove. | |
4194 | * config/ia64/ia64.md: Include constriants.md. Replace | |
4195 | CONST_OK_FOR_? with satisfies_constraint_?. | |
4196 | ||
10de71e1 | 4197 | 2007-03-23 Michael Meissner <michael.meissner@amd.com> |
4198 | H.J. Lu <hongjiu.lu@intel.com> | |
4199 | ||
4200 | * config/dfp-bit.h (DPD_BID_NAME): New macro to give either the | |
4201 | DPD or BID name. | |
4202 | (name macros): Use DPD_BID_NAME to convert names properly. | |
4203 | ||
4204 | * optabs.c (DECIMAL_PREFIX): Prefix string to use for the current | |
4205 | decimal floating point format. | |
4206 | (init_floating_libfuncs): Change decimal functions so that they | |
4207 | have a "bid_" prefix if the decimal system uses the BID format, | |
4208 | and "dpd_" prefix if the decimal system uses the DPD format. | |
4209 | (init_interclass_conv_libfuncs): Ditto. | |
4210 | (init_intraclass_conv_libfuncs): Ditto. | |
4211 | ||
4212 | * config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are | |
4213 | using the BID format. | |
4214 | ||
4215 | * configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say | |
4216 | whether we are using the BID decimal format. | |
4217 | * configure: Regenerate. | |
4218 | ||
4219 | * c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if | |
4220 | the compiler has decimal floating point enabled. Define | |
4221 | __DECIMAL_BID_FORMAT__ if BID decimal floating point is used | |
4222 | instead of DPD. | |
4223 | ||
4224 | * config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are | |
4225 | using the BID format. | |
4226 | ||
4227 | * configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say | |
4228 | whether we are using the BID decimal format. | |
4229 | * configure: Regenerate. | |
4230 | ||
4231 | * c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if | |
4232 | the compiler has decimal floating point enabled. Define | |
4233 | __DECIMAL_BID_FORMAT__ if BID decimal floating point is used | |
4234 | instead of DPD. | |
4235 | ||
4236 | * doc/install.texi (--enable-decimal-float): Document BID and DPD | |
4237 | options, and that it is enabled for i386/x86_64 systems. | |
4238 | ||
4239 | * Makefile.in (enable_decimal_float): New. | |
4240 | (DECNUMFMT): New. | |
4241 | (DECNUMINC): Add -I$(DECNUMFMT). | |
4242 | (DECNUM_H): Mov decimal32.h, decimal64.h and decimal128.h | |
4243 | to $(DECNUMFMT) from $(DECNUM). | |
4244 | ||
4245 | * configure.ac: Support * --enable-decimal-float={no,yes,bid,dpd}. | |
4246 | Substitute enable_decimal_float. | |
4247 | * configure: Regenerated. | |
4248 | ||
4249 | PR other/30529 | |
4250 | * config/dfp-bit.c (__dec_byte_swap): Use uint32_t instead of | |
4251 | unsigned long. | |
4252 | ||
4253 | * configure.ac: Enable decimal float for x86_64-*-linux*. | |
4254 | * configure: Regenerated. | |
4255 | ||
4256 | PR other/30530 | |
4257 | * dfp.c (decimal_real_arithmetic): Use decimal128FlipSign and | |
4258 | decimal128ClearSign to flip and clear the sign bit in decimal128. | |
4259 | (decimal_real_maxval): Set decimal128SetSign to set the sign | |
4260 | bit in decimal128. | |
4261 | ||
558517fd | 4262 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
4263 | ||
4264 | * fold-const.c (fold_binary): Correct warning for X - c >= X. | |
4265 | ||
fb5b6d1b | 4266 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
4267 | ||
4268 | * tree-dump.c (dump_files): Correct comment. | |
4269 | ||
f82ccac1 | 4270 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
4271 | ||
4272 | * tree-vrp.c (operand_less_p): Ignore fold overflow warnings. | |
4273 | ||
207c7ab2 | 4274 | 2007-03-23 Steven Bosscher <steven@gcc.gnu.org> |
4275 | ||
4276 | * tracer.c (tracer): Don't take FLAGS argument. Assert we are | |
4277 | in cfglayout mode. Don't go into and out of cfglayout mode. | |
4278 | Link the blocks in the order of the constructed traces. | |
4279 | (rest_of_handle_tracer): Adjust call to tracer. | |
4280 | * loop-init.c (rtl_loop_init): Assert we are in cfglayout mode. | |
4281 | Don't go into cfglayout mode. | |
4282 | (rtl_loop_done): Don't go out of cfglayout mode. | |
4283 | * cfglayout.c (relink_block_chain): New function, split out from... | |
4284 | (fixup_reorder_chain): ...here. Remove redundant checking. | |
4285 | (cfg_layout_finalize): Don't clear the header, footer, and aux | |
4286 | fields here, move the code to do so to relink_block_chain. Likewise | |
4287 | for free_original_copy_tables. | |
4288 | * rtl.h (tracer): Update prototype. | |
4289 | * bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument. | |
4290 | Assert we are in cfglayout mode. Don't go into and out of cfglayout | |
4291 | mode. Use relink_block_chain to serialize the CFG according to the | |
4292 | new basic block order. Move targetm.cannot_modify_jumps_p check from | |
4293 | here... | |
4294 | (gate_handle_reorder_blocks): ...to here. | |
4295 | (duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check | |
4296 | from here... | |
4297 | (gate_duplicate_computed_gotos): ...to here. | |
4298 | (rest_of_handle_reorder_blocks): Don't see if anything has changed, | |
4299 | something always changes when going into and out of cfglayout mode. | |
4300 | Perform an expensive cfg cleanup while going into cfglayout mode. | |
4301 | Always update liveness information on HAVE_conditional_execution | |
4302 | targets. Reserialize the basic blocks and go out of cfglayout mode. | |
4303 | * reg-stack.c: Include cfglayout.h. | |
4304 | (rest_of_handle_stack_regs): Go into and out of cfglayout mode around | |
4305 | the call to reorder_basic_blocks. | |
4306 | * basic-block.h (reorder_basic_blocks): Update prototype. | |
4307 | (relink_block_chain): New prototype. | |
4308 | * passes.c (pass_outof_cfg_layout_mode): Move after cse2. | |
4309 | ||
f01296c3 | 4310 | 2007-03-23 Joseph Myers <joseph@codesourcery.com> |
4311 | ||
4312 | * config/mips/mips.md (type, hazard, *movdi_32bit, | |
4313 | *movdi_gp32_fp64, *movdi_64bit, *movsi_internal, movcc, | |
4314 | *movhi_internal, *movqi_internal, *movsf_hardfloat, | |
4315 | *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, *movdf_softfloat, | |
4316 | movv2sf_hardfloat_64bit, load_df_low, load_df_high, store_df_high, | |
4317 | mthc1, mfhc1): Change xfer instruction type to mfc and mtc, as | |
4318 | applicable. | |
4319 | (movcc): Change first xfer to multi. | |
4320 | * config/mips/24k.md, config/mips/4100.md, config/mips/4300.md, | |
4321 | config/mips/5000.md, config/mips/5400.md, config/mips/5500.md, | |
4322 | config/mips/5k.md, config/mips/7000.md, config/mips/9000.md, | |
4323 | config/mips/generic.md: Change reservations using "xfer" to use | |
4324 | "mfc,mtc". | |
4325 | * config/mips/sb1.md (ir_sb1_mtxfer): Use "mtc" instead of | |
4326 | using match_operand. | |
4327 | (ir_sb1_mfxfer): Use "mfc" instead of using match_operand. | |
4328 | * config/mips/sr71k.md (ir_sr70_xfer_from): Use "mfc" instead of | |
4329 | examining mode. | |
4330 | (ir_sr70_xfer_to): Use "mtc" instead of examining mode. | |
4331 | ||
788002f3 | 4332 | 2007-03-22 Richard Henderson <rth@redhat.com> |
4333 | ||
4334 | * config/i386/i386.c: Remove unnecessary function declarations. | |
4335 | Move targetm definition, and all related macros, to the end of | |
4336 | the file. Resort some functions to put definitions before uses. | |
4337 | (ix86_attribute_table): Make static. Move to end of file. | |
4338 | (ix86_gimplify_va_arg): Make static. | |
4339 | ||
9c587e53 | 4340 | 2007-03-22 Richard Henderson <rth@redhat.com> |
4341 | ||
4342 | * config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit; | |
4343 | don't increase local_regparm with force_align_arg_pointer check. | |
4344 | (ix86_function_sseregparm): Assert 32-bit. | |
4345 | (type_has_variadic_args_p): New. | |
4346 | (ix86_return_pops_args): Early exit for 64-bit. Reindent; use | |
4347 | type_has_variadic_args_p. | |
4348 | (ix86_function_arg_regno_p): Use == 0 instead of ! test for eax. | |
4349 | (init_cumulative_args): Remove TARGET_DEBUG_ARG. Remove zero_cum; | |
4350 | use memset instead. Do maybe_vaarg check first; skip attribute | |
4351 | tests if true; skip attribute tests for 64-bit. | |
4352 | (construct_container): Remove TARGET_DEBUG_ARG. | |
4353 | (function_arg_advance_32, function_arg_advance_64): Split out ... | |
4354 | (function_arg_advance): ... from here. | |
4355 | (function_arg_32, function_arg_64): Split out ... | |
4356 | (function_arg): ... from here. | |
4357 | (ix86_pass_by_reference): Tidy. | |
4358 | (ix86_function_value_regno_p): Rearrange w/ switch on regno. | |
4359 | (function_value_32): New, from parts of ix86_function_value | |
4360 | and ix86_value_regno. | |
4361 | (function_value_64): New, from parts of ix86_function_value | |
4362 | and ix86_libcall_value. | |
4363 | (ix86_function_value_1): New. | |
4364 | (ix86_function_value, ix86_libcall_value): Use it. | |
4365 | (return_in_memory_32, return_in_memory_64): Split out ... | |
4366 | (ix86_return_in_memory): ... from here. | |
4367 | (ix86_struct_value_rtx): Skip for 64-bit. | |
4368 | (ix86_libcall_value, ix86_value_regno): Remove. | |
4369 | (setup_incoming_varargs_64): Split out ... | |
4370 | (ix86_setup_incoming_varargs): ... from here. | |
4371 | (ix86_va_start): Remove TARGET_DEBUG_ARG. | |
4372 | (legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR. | |
4373 | * config/i386/i386-protos.h (ix86_function_value): Remove. | |
4374 | * config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove. | |
4375 | ||
64214dab | 4376 | 2007-03-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
4377 | ||
4378 | PR other/23572 | |
4379 | * c-lex.c (interpret_float): On overflow, emit pedantic warning if | |
4380 | infinities not supported, otherwise emit warning if -Woverflow. On | |
4381 | underflow, emit warning if -Woverflow. | |
4382 | * real.c (real_from_string): Return -1 if underflow, +1 if overflow | |
4383 | and 0 otherwise. | |
4384 | * real.h (real_from_string): Update declaration | |
f8be92ce | 4385 | |
63c68695 | 4386 | 2007-03-22 Kai Tietz <kai.tietz@onevision.com> |
4387 | Richard Henderson <rth@redhat.com> | |
4388 | ||
4389 | * defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default. | |
4390 | * calls.c (compute_argument_block_size, expand_call, | |
4391 | emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE. | |
4392 | * expr.c (block_move_libcall_safe_for_call_parm): Likewise. | |
4393 | * function.c (STACK_DYNAMIC_OFFSET): Likewise. | |
4394 | * doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update. | |
4395 | * config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h, | |
4396 | config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h, | |
4397 | config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h, | |
4398 | config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE): | |
4399 | Set to 1. | |
4400 | ||
016bf95b | 4401 | 2007-03-22 Joseph Myers <joseph@codesourcery.com> |
4402 | ||
4403 | * c-incpath.c (add_sysroot_to_chain): New. | |
4404 | (merge_include_chains): Add sysroot argument. Call | |
4405 | add_sysroot_to_chain if sysrooted. | |
4406 | (register_include_chains): Update call to merge_include_chains. | |
4407 | * doc/cppopts.texi: Document use of '=' in include directory | |
4408 | arguments. | |
4409 | ||
a745c94e | 4410 | 2007-03-22 Uros Bizjak <ubizjak@gmail.com> |
4411 | ||
4412 | * config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf. | |
4413 | Macroize expander using SSEMODEF mode macro. Use SSE_FLOAT_MODE_P. | |
4414 | (*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize | |
4415 | insn pattern using X87MODEF12 mode macro. | |
f8be92ce | 4416 | |
02f07e87 | 4417 | 2007-03-21 Seongbae Park <seongbae.park@gmail.com> |
4418 | ||
4419 | * regmove.c (regmove_optimize): Use reg_mentioned_p | |
4420 | instead of reg_overlap_mentioned_p for DST. | |
4421 | ||
dad26ad9 | 4422 | 2007-03-21 Mike Stump <mrs@apple.com> |
4423 | ||
4424 | * c.opt: Fixup for Objective-C/C++. | |
4425 | ||
a745c94e | 4426 | 2007-03-21 Steve Ellcey <sje@cup.hp.com> |
2800ac1a | 4427 | |
4428 | * explow.c (convert_memory_address): Fold memory reference when | |
4429 | POINTERS_EXTEND_UNSIGNED < 0 | |
4430 | ||
0e960ba8 | 4431 | 2007-03-21 Richard Henderson <rth@redhat.com> |
4432 | ||
4433 | PR target/31245 | |
4434 | * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias. | |
4435 | * config/i386/mmintrin.h (__m64): Likewise. | |
4436 | * config/i386/xmmintrin.h (__m128): Likewise. | |
4437 | ||
f868f9f1 | 4438 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
4439 | ||
4440 | * config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options. | |
4441 | (VXWORKS_OS_CPP_BUILTINS): Define. | |
4442 | * config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into... | |
4443 | (TARGET_OS_CPP_BUILTINS): ...here. Use VXWORKS_OS_CPP_BUILTINS. | |
4444 | ||
3aba99c8 | 4445 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
4446 | ||
4447 | * rtl.h (constant_pool_reference_p): Delete. | |
4448 | (find_constant_src): Declare. | |
4449 | * rtlanal.c (find_constant_src): New function. | |
4450 | * simplify-rtx.c (constant_pool_reference_p): Delete. | |
4451 | * config/i386/i386.md: Use find_constant_src instead of | |
4452 | constant_pool_reference_p/avoid_constant_pool_reference pairs. | |
4453 | ||
7a0eea86 | 4454 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
4455 | ||
4456 | * doc/invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__. | |
4457 | * c-cppbuiltin.c (c_cpp_builtins): Define them. | |
4458 | ||
a457f9f8 | 4459 | 2007-03-20 Mark Mitchell <mark@codesourcery.com> |
4460 | ||
4461 | * config/arm/elf.h (TARGET_ASM_DESTRUCTOR): Define. | |
4462 | * config/arm/arm.c (arm_elf_asm_cdtor): New function. | |
4463 | (arm_elf_asm_constructor): Use it. | |
4464 | (arm_elf_asm_destructor): New function. | |
4465 | ||
76021441 | 4466 | 2007-03-20 Bernd Schmidt <bernd.schmidt@analog.com> |
4467 | ||
4468 | * jump.c (mark_jump_label): Treat SEQUENCE specially. | |
4469 | ||
08b2466e | 4470 | 2007-03-20 Nathan Sidwell <nathan@codesourcery.com> |
4471 | ||
4472 | * config/vxlib.c (tls_delete_hook): Use TCB for kernel tasks. | |
4473 | ||
2b9f2e46 | 4474 | 2007-03-19 Andrew Haley <aph@redhat.com> |
4475 | ||
4476 | PR tree-optimization/31264 | |
4477 | * tree-vrp.c (register_edge_assert_for_1): Don't look though | |
4478 | VIEW_CONVERT_EXPRs. | |
4479 | ||
243f24c5 | 4480 | 2007-03-19 Paolo Bonzini <bonzini@gnu.org> |
4481 | ||
4482 | PR rtl-optimization/30907 | |
4483 | * fwprop.c (forward_propagate_into): Never propagate inside a loop. | |
4484 | (fwprop_init): Always call loop_optimizer_initialize. | |
4485 | (fwprop_done): Always call loop_optimizer_finalize. | |
4486 | (fwprop): We always have loop info now. | |
4487 | (gate_fwprop_addr): Remove. | |
4488 | (pass_fwprop_addr): Use gate_fwprop as gate. | |
4489 | ||
4490 | PR rtl-optimization/30841 | |
4491 | * df-problems.c (df_ru_local_compute, df_rd_local_compute, | |
4492 | df_chain_alloc): Call df_reorganize_refs unconditionally. | |
4493 | * df-scan.c (df_rescan_blocks, df_reorganize_refs): Change | |
4494 | refs_organized to refs_organized_size. | |
4495 | (df_ref_create_structure): Use refs_organized_size instead of | |
4496 | bitmap_size if refs had been organized, and keep refs_organized_size | |
4497 | up-to-date. | |
4498 | * df.h (struct df_ref_info): Change refs_organized to | |
4499 | refs_organized_size. | |
4500 | (DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of | |
4501 | bitmap_size. | |
4502 | ||
9519f67b | 4503 | 2007-03-19 Mark Mitchell <mark@codesourcery.com> |
4504 | ||
4505 | * except.c (output_function_exception_table): Do not reference the | |
4506 | EH personality routine for functions that do not require an | |
4507 | exception table. | |
4508 | ||
3d8785bc | 4509 | 2007-03-20 Jakub Jelinek <jakub@redhat.com> |
4510 | ||
aedd6e32 | 4511 | PR c/30762 |
4512 | * c-typeck.c (convert_for_assignment): Call comptypes for | |
4513 | RECORD_TYPE or UNION_TYPE. | |
4514 | ||
3d8785bc | 4515 | PR inline-asm/30505 |
4516 | * reload1.c (reload): Do invalid ASM checking after | |
4517 | cleanup_subreg_operands. | |
4518 | ||
94ca4916 | 4519 | 2007-03-19 Jeff Law <law@redhat.com> |
4520 | ||
4521 | * tree-cfg.c (find_taken_edge): Tighten conditions for | |
4522 | optimizing computed gotos. | |
4523 | ||
a8bb7059 | 4524 | 2007-03-19 Michael Matz <matz@suse.de> |
4525 | ||
4526 | * builtins.c (expand_builtin_sync_operation, | |
4527 | expand_builtin_compare_and_swap, | |
4528 | expand_builtin_lock_test_and_set): Care for extending CONST_INTs | |
4529 | correctly. | |
4530 | ||
4531 | * config/i386/sync.md (sync_double_compare_and_swapdi_pic, | |
4532 | sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint | |
4533 | for operand 3. | |
4534 | ||
021a18ba | 4535 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
4536 | ||
4537 | * doc/tm.texi: Add brackets around the return type of | |
4538 | TARGET_SECONDARY_RELOAD. | |
4539 | ||
d42c14ae | 4540 | 2007-03-19 Andrew Pinski <andrew_pinski@playstation.sony.com> |
4541 | Richard Guenther <rguenther@suse.de> | |
4542 | ||
4543 | PR tree-optimization/31254 | |
4544 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): | |
4545 | Use handled_component_p () where appropriate. Continue | |
4546 | propagating into the rhs if we propagated into an INDIRECT_REF | |
4547 | on the lhs. | |
4548 | ||
1f8e70bc | 4549 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
4550 | ||
4551 | * config/s390/s390.md (op_type attribute): RRR instruction type added. | |
4552 | (FP, DFP, SD_SF, DD_DF, TD_TF): New mode macros. | |
4553 | (xde, xdee): Mode attributes adjusted to support DFP modes. | |
4554 | (RRer, f0, op1, Rf, bt, bfp, HALF_TMODE): New mode attributes added. | |
4555 | ("cmp<mode>", "*cmp<mode>_css_0", "*cmp<mode>_ccs", TF move splitters, | |
f8be92ce | 4556 | DF move splitters, "floatdi<mode>2", "add<mode>3", "*add<mode>3", |
1f8e70bc | 4557 | "*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3", "*sub<mode>3", |
4558 | "*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3", "*mul<mode>3", | |
4559 | "div<mode>3", "*div<mode>3", "*neg<mode>2_nocc", "*abs<mode>2_nocc", | |
f8be92ce | 4560 | "*negabs<mode>2_nocc", "copysign<mode>3"): Adjusted to support DFP |
1f8e70bc | 4561 | numbers. |
4562 | ("*movtf_64", "*movtf_31", "*movdf_64dfp", "*movdf_64", "*movdf_31", | |
4563 | "movsf"): Insn definitions removed. | |
4564 | ("*mov<mode>_64", "*mov<mode>_31", "mov<mode>", "*mov<mode>_64dfp", | |
4565 | "*mov<mode>_64", "*mov<mode>_31", "fix_trunc<DFP:mode>di2", | |
4566 | "trunctddd2", "truncddsd2", "extendddtd2", "extendsddd2"): Insn | |
4567 | definitions added. | |
4568 | ("fixuns_truncdddi2", "fixuns_trunctddi2", "mov<mode>", | |
4569 | "reload_in<mode>", "reload_out<mode>"): Expander added. | |
4570 | ("movtf", "movdf", "reload_outtf", "reload_outdf", "reload_intf"): | |
4571 | Expander removed. | |
4572 | ||
708607d5 | 4573 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
4574 | ||
4575 | * config/s390/s390.md: Only non-functional changes. Renamed | |
4576 | FPR mode macro to BFP all over the file. | |
4577 | ||
0c2edaa7 | 4578 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
4579 | ||
4580 | * config/s390/s390.md (UNSPEC_COPYSIGN): New constant. | |
4581 | (op_type attribute): RRF instruction type added. | |
4582 | (fT0): New mode attribute. | |
4583 | ("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc", | |
4584 | "*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added. | |
4585 | * config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new instruction | |
4586 | no secondary memory is needed when moving DFmode values between GPRs | |
4587 | and FPRs. | |
4588 | ||
7818a08e | 4589 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
4590 | ||
4591 | * config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value | |
4592 | inverted and documentation adjusted. | |
4593 | ("mhard-dfp", "msoft-dfp"): New options. | |
4594 | * config/s390/s390.c (s390_handle_arch_option): New architecture | |
4595 | switch: z9-ec. | |
4596 | (override_options): Sanity checks for the new options added. | |
4597 | * config.gcc: New architecture switch: z9-ec. | |
4598 | * config/s390/s390.h (processor_flags): PF_DFP added. | |
4599 | (TARGET_CPU_DFP, TARGET_DFP): Macro definitions added. | |
4600 | (TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled | |
4601 | when the bit is NOT set so remove it from the defaults. | |
4602 | ||
3b55c036 | 4603 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
4604 | ||
4605 | * genemit.c (main): Print include statement for dfp.h. | |
4606 | * dfp.h (decimal_real_arithmetic): Hide prototype if tree_code enum | |
4607 | is not available. | |
4608 | ||
55d19f36 | 4609 | 2007-03-19 Hans-Peter Nilsson <hp@axis.com> |
4610 | ||
4611 | * config/cris/t-elfmulti (EXTRA_MULTILIB_PARTS): Do not define here. | |
4612 | ||
99971c03 | 4613 | 2007-03-19 Kaz Kojima <kkojima@gcc.gnu.org> |
4614 | ||
4615 | PR target/31022 | |
4616 | * config/sh/sh.c (sh_adjust_cost): Use the result of single_set | |
4617 | instead of PATTERN. | |
4618 | ||
c5559ed4 | 4619 | 2007-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
4620 | ||
4621 | * pa.c (output_deferred_plabels, output_bb, output_millicode_call, | |
4622 | attr_length_call, output_call, output_indirect_call): Cleanup | |
4623 | formatting of targetm calls. | |
4624 | ||
fed42b71 | 4625 | 2007-03-19 Hans-Peter Nilsson <hp@axis.com> |
4626 | ||
4627 | * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1. | |
4628 | ||
7d9f62cc | 4629 | 2007-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
4630 | ||
4631 | * pa.md: Add fpstore_load and store_fpload instruction types. Provide | |
4632 | reservation, bypass and anti-bypass descriptions for these instructions. | |
4633 | Update move patterns. | |
4634 | * pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and | |
4635 | TYPE_FPSTORE. | |
f8be92ce | 4636 | |
e817bf15 | 4637 | 2007-03-18 Dorit Nuzman <dorit@il.ibm.com> |
4638 | ||
4639 | * tree-vect-transform.c (get_initial_def_for_induction): Replace | |
4640 | GET_MODE_NUNITS with TYPE_VECTOR_SUBPARTS. | |
4641 | (get_initial_def_for_reduction): Likewise. | |
4642 | ||
c1d4daae | 4643 | 2007-03-16 Daniel Berlin <dberlin@dberlin.org> |
4644 | ||
4645 | Fix PR tree-optimization/29922 | |
4646 | * tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members. | |
4647 | (get_representative): Removed. | |
4648 | (value_dies_in_block_x): Update for rvuse removal. | |
4649 | (valid_in_sets): Update for renaming of vuses_dies_in_block_x. | |
4650 | (compute_antic_aux): Handle when PHI nodes appear in | |
f8be92ce | 4651 | non-single-successors. |
c1d4daae | 4652 | (dump_bitmap_of_names): Removed. |
4653 | (compute_antic_safe): Renamed and removed rvuse calculation. | |
4654 | Calculate only antic safe. | |
4655 | (insert_into_preds_of_block): Remove assert. | |
4656 | (execute_pre): Update for renamed functions. | |
4657 | (defer_or_phi_translate_block): New function. | |
f8be92ce | 4658 | |
f6a0d06f | 4659 | 2007-03-17 Kazu Hirata <kazu@codesourcery.com> |
4660 | ||
4661 | * config/arm/arm.c, config/arm/thumb2.md, config/m68k/m68k.c, | |
4662 | config/spu/spu.c, omega.h, passes.c, predict.c: Fix comment | |
4663 | typos. | |
4664 | * doc/cpp.texi, doc/extend.texi, doc/invoke.texi: Fix typos. | |
4665 | Follow spelling conventions. | |
4666 | ||
10f4b721 | 4667 | * tree-data-ref.h: Remove the prototype for analyze_array. |
4668 | ||
8d072f6d | 4669 | 2007-03-17 Dorit Nuzman <dorit@il.ibm.com> |
4670 | ||
4671 | PR tree-optimization/31041 | |
4672 | * tree-vect-transform.c (get_initial_def_for_induction): Call | |
4673 | force_gimple_operand. | |
f8be92ce | 4674 | |
51e779f4 | 4675 | 2007-03-17 Olga Golovanevsky <olga@il.ibm.com> |
f8be92ce | 4676 | |
51e779f4 | 4677 | * ipa-type-escape.c (look_for_casts) : Revert code to use |
4678 | handled_component_p due to ada test a-numaux.adb. | |
4679 | ||
f8df4da2 | 4680 | 2007-03-17 Kazu Hirata <kazu@codesourcery.com> |
4681 | ||
4682 | * final.c (final_scan_insn): Alter the condition of a | |
4683 | conditional trap if we have nonstandard CC. | |
4684 | ||
95cd4953 | 4685 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
4686 | ||
4687 | * configure.ac: Remove excess quoting from asm line 0 test. | |
4688 | * configure: Rebuilt. | |
4689 | ||
59dd8856 | 4690 | 2007-03-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
4691 | ||
4692 | * doc/invoke.texi (-Wconversion): Document warnings specific to C++. | |
4693 | * c-common.c (convert_and_check): Move warning logic to... | |
4694 | (warnings_for_convert_and_check): ...here. Define. | |
4695 | * c-common.h (warnings_for_convert_and_check): Declare. | |
f8be92ce | 4696 | |
ec94117d | 4697 | 2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
4698 | ||
4699 | * pa.c (attr_length_call): Partially revert change of 2007-03-09. | |
4700 | (output_call): Likewise. | |
4701 | ||
ac03c1db | 4702 | 2007-03-16 Richard Sandiford <richard@codesourcery.com> |
4703 | ||
4704 | * config/vxworks.h (SUPPORTS_INIT_PRIORITY): Define. | |
4705 | ||
e9204790 | 4706 | 2007-03-16 Richard Sandiford <richard@codesourcery.com> |
4707 | ||
4708 | * config/vx-common.h (WINT_TYPE, WINT_TYPE_SIZE): Define. | |
4709 | ||
d53e2283 | 4710 | 2007-03-16 Uros Bizjak <ubizjak@gmail.com> |
4711 | ||
4712 | * config/i386/i386.c (override_options): Add PTA_NO_SAHF to k8, | |
4713 | opteron, athlon-64 and athlon-fx processor_alias_table entries. | |
4714 | ||
a75122be | 4715 | 2007-03-16 Sebastian Pop <sebastian.pop@inria.fr> |
4716 | ||
4717 | PR tree-optimization/31183 | |
f8be92ce | 4718 | * tree-loop-linear.c (gather_interchange_stats, try_interchange_loops): |
a75122be | 4719 | Use double_int instead of unsigned int for representing access_strides. |
4720 | * testsuite/gcc.dg/tree-ssa/pr31183.c: New. | |
4721 | ||
15ec875c | 4722 | 2007-03-16 Richard Guenther <rguenther@suse.de> |
4723 | ||
4724 | PR tree-optimization/31146 | |
4725 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure | |
4726 | to allow recursion of forward_propagate_addr_expr. | |
4727 | (forward_propagate_addr_into_variable_array_index): Likewise. | |
4728 | (forward_propagate_addr_expr): Likewise. | |
4729 | (tree_ssa_forward_propagate_single_use_vars): Likewise. | |
4730 | (forward_propagate_addr_expr_1): Recurse on simple copies | |
4731 | instead of propagating into them. Do so for useless conversions | |
4732 | as well. | |
4733 | (forward_propagate_addr_expr): Clean up unused statements after | |
4734 | recursion. | |
4735 | ||
3737e769 | 4736 | 2007-03-16 Richard Guenther <rguenther@suse.de> |
4737 | ||
4738 | * builtins.c (expand_builtin_cexpi): Use the right argument | |
4739 | for the expansion via cexp. | |
4740 | ||
5c17a266 | 4741 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
4742 | ||
4743 | * configure.ac: Don't require ELF binutils to tolerate # 0 "". | |
4744 | * configure: Rebuilt. | |
4745 | ||
a357c7c2 | 4746 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
4747 | ||
4748 | PR debug/29906 | |
4749 | * dwarf2out.c (force_type_die): Adjust comment. | |
4750 | (dwarf2out_imported_module_or_decl): Handle base AT_import types. | |
4751 | ||
89c31ddb | 4752 | 2007-03-15 DJ Delorie <dj@redhat.com> |
4753 | ||
4754 | * config/frv/predicates.md (minmax_operator): Don't check operands | |
4755 | here. | |
4756 | ||
4b4ab846 | 4757 | 2007-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
4758 | ||
4759 | * tree-ssa-loop-niter.c (record_estimate): Add "upper" argument. | |
4760 | Update constant estimates of number of iterations. | |
4761 | (record_nonwrapping_iv): Add "upper" argument. "data_size_bounds_p" | |
4762 | argument renamed to "realistic". | |
4763 | (compute_estimated_nb_iterations): Removed. | |
4764 | (record_niter_bound): New function. | |
4765 | (idx_infer_loop_bounds): For possible but unlikely tail arrays, | |
4766 | call record_nonwrapping_iv with upper = false. | |
4767 | (infer_loop_bounds_from_signedness): Pass upper argument to | |
4768 | record_nonwrapping_iv. | |
4769 | (estimate_numbers_of_iterations_loop): Do not call | |
4770 | compute_estimated_nb_iterations. Record estimate based on profile | |
4771 | information. Initialize the constant estimates of number of | |
4772 | iterations. | |
4773 | * tree-data-ref.c (estimated_loop_iterations): Return the recorded | |
4774 | estimates. | |
4775 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Add dump when | |
4776 | number of iterations is too small. | |
4777 | * cfgloop.h (struct nb_iter_bound): Remove "realistic" field. | |
4778 | (EST_NOT_AVAILABLE): Removed. | |
4779 | (struct loop): Replace estimated_nb_iterations by any_upper_bound, | |
4780 | nb_iterations_upper_bound, any_estimate and nb_iterations_estimate | |
4781 | fields. | |
4782 | ||
8cd53b4f | 4783 | 2007-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
4784 | ||
4785 | * tree-ssa-loop-niter.c (refine_bounds_using_guard, bound_difference): | |
4786 | Handle NE_EXPR guards. | |
4787 | ||
aa509316 | 4788 | 2007-03-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
4789 | ||
4790 | PR c++/24924 | |
4791 | * c-opts.c (c_common_post_options): Handle C++ post-processing here. | |
4792 | Set also -pedantic-errors by default for the preprocessor unless | |
4793 | -fpermissive is given. | |
f8be92ce | 4794 | |
fc0dfa6e | 4795 | 2007-03-15 Richard Guenther <rguenther@suse.de> |
4796 | ||
4797 | PR middle-end/29719 | |
4798 | PR middle-end/31161 | |
4799 | * builtins.c (expand_builtin_cexpi): As a fallback if we | |
4800 | don't have builtins for sincos or cexp create a function | |
4801 | declaration for cexp and expand to a call to that. | |
4802 | (expand_builtin_int_roundingfn): Always fall | |
4803 | back to floor/ceil and its variants even if they may be | |
4804 | not available. | |
4805 | ||
4aaec180 | 4806 | 2007-03-15 Steven Bosscher <steven@gcc.gnu.org> |
4807 | ||
4808 | PR middle-end/31159 | |
4809 | * cfglayout.c (fixup_reorder_chain): Postpone deleting dead | |
4810 | jump tables, move the call to delete_dead_jumptables from here... | |
4811 | (cfg_layout_finalize): ...to here. But rebuild jump labels first. | |
4812 | * cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing, | |
4813 | don't allow merging of blocks that try_redirect_by_replacing_jump | |
4814 | also does not handle when not optimizing. | |
4815 | ||
a1758a13 | 4816 | 2007-03-15 Uros Bizjak <ubizjak@gmail.com> |
4817 | Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
4818 | ||
4819 | * config/i386/i386.md (x86_sahf_1): Correctly handle | |
4820 | HAVE_AS_IX86_SAHF. | |
4821 | ||
ed2235c8 | 4822 | 2007-03-15 Uros Bizjak <ubizjak@gmail.com> |
4823 | ||
4824 | PR target/31167 | |
4825 | * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use | |
4826 | x86_64_general_operand as operand[2] predicate. Remove "iF" | |
4827 | from operand constraints and use "e" constraint instead. | |
4828 | (*subti3_1, *subti3_1 splitter): Ditto. | |
4829 | (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as | |
4830 | operand[1] predicate. | |
4831 | ||
28d4f5a1 | 4832 | 2007-03-14 Sebastian Pop <sebastian.pop@inria.fr> |
4833 | ||
4834 | * tree-loop-linear.c (gather_interchange_stats): For multidimensional | |
4835 | arrays, multiply the access strides by the size of the sub-array. | |
4836 | * testsuite/gcc.dg/tree-ssa/ltrans-5.c: New. | |
4837 | ||
735630ef | 4838 | 2007-03-14 Uros Bizjak <ubizjak@gmail.com> |
4839 | ||
4840 | * configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether | |
4841 | the configured assembler supports the sahf mnemonic. | |
4842 | * configure: Regenerate. | |
4843 | * config.in: Regenerate. | |
4844 | ||
4845 | * config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF, | |
4846 | emit "sahf" or ".byte\t0x9e" as asm template. | |
4847 | ||
2b28c681 | 4848 | 2007-03-14 Michael Meissner <michael.meissner@amd.com> |
4849 | ||
4850 | PR 31018 | |
4851 | * config/i386/i386.h (X86_TUNE_SHORTEN_X87_SSE): New tuning | |
4852 | option to replace hard coded TARGET_xxx in md file. | |
4853 | (X86_TUNE_AVOID_VECTOR_DECODE): Ditto. | |
4854 | (X86_TUNE_SLOW_IMUL_IMM32_MEM): Ditto. | |
4855 | (X86_TUNE_SLOW_IMUL_IMM8): Ditto. | |
4856 | (X86_TUNE_MOVE_M1_VIA_OR): Ditto. | |
4857 | (X86_TUNE_NOT_UNPAIRABLE): Ditto. | |
4858 | (X86_TUNE_NOT_VECTORMODE): Ditto. | |
4859 | (TUNE_SHORTEN_X87_SSE): Use new tuning option. | |
4860 | (TUNE_AVOID_VECTOR_DECODE): Ditto. | |
4861 | (TUNE_SLOW_IMUL_IMM32_MEM): Ditto. | |
4862 | (TUNE_SLOW_IMUL_IMM8): Ditto. | |
4863 | (TUNE_MOVE_M1_VIA_OR): Ditto. | |
4864 | (TUNE_NOT_UNPAIRABLE): Ditto. | |
4865 | (TUNE_NOT_VECTORMODE): Ditto. | |
f8be92ce | 4866 | |
2b28c681 | 4867 | * config/i386/i386.c (ix86_tune_features): Fill in new tuning |
4868 | options. | |
4869 | ||
4870 | * config/i386/i386.md (fix_trunc?f?1_sse peephole2): Use new | |
4871 | tuning options instead of hard coded TARGET_xxx. | |
4872 | (fix ssemode peephole2's): Ditto. | |
4873 | (imul peephole2's): Ditto. | |
4874 | (movsi_or): Ditto. | |
4875 | (movdi_or_rex64): Ditto. | |
4876 | (move peephole2): Ditto. | |
4877 | (not peephole2's): Ditto. | |
4878 | ||
ffe8fd56 | 4879 | 2007-03-14 Dirk Mueller <dmueller@suse.de> |
4880 | ||
4881 | * c-common.h (empty_body_warning): Rename to empty_if_body_warning. | |
4882 | * c-common.c (empty_if_body_warning): Rephrase diagnostic message. | |
4883 | * c-parser.c (c_parser_if_body): Always add an empty statement in case | |
4884 | of empty body. | |
4885 | * c-parser.c (c_parser_do_statement): Warn about empty body in | |
4886 | do/while statement. | |
4887 | * c-typeck (c_finish_if_stmt): Call empty_if_body_warning. | |
4888 | * doc/invoke.texi (-Wempty-body): Update documentation. | |
4889 | ||
f092582b | 4890 | 2007-03-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
4891 | ||
4892 | PR c/21438 | |
4893 | * c-common.h (warn_for_div_by_zero): Declare. | |
4894 | * c-common.c (warn_for_div_by_zero): Define. | |
4895 | * c-typeck.c (build_binary_op): Call warn_for_div_zero instead of | |
4896 | warning. | |
4897 | ||
72d997cb | 4898 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
4899 | ||
4900 | * Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators | |
4901 | to PREFIX and STANDARD_PREFIX. | |
4902 | ||
efe5559c | 4903 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
4904 | Phil Edwards <phil@codesourcery.com> | |
4905 | ||
4906 | * gthr-vxworks.h: Add an extern "C" wrapper for C++. | |
4907 | (__gthread_once_t): Remove busy field for RTPs. | |
4908 | (__GTHREAD_ONCE_INIT): Update accordingly. | |
4909 | ||
809bb1c7 | 4910 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
4911 | ||
4912 | * doc/invoke.texi: Document VxWorks options. | |
4913 | ||
e85fd4fb | 4914 | 2007-03-14 Uros Bizjak <ubizjak@gmail.com> |
4915 | ||
4916 | * doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option. | |
4917 | ||
fdf6266d | 4918 | 2007-03-13 Seongbae Park <seongbae.park@gmail.com> |
4919 | ||
4920 | PR tree-optimization/30590 | |
4921 | * tree-nrv.c (tree_nrv): Check for the partial update of the | |
4922 | return value. | |
4923 | ||
b6c1bd72 | 4924 | 2007-03-13 Alexandre Oliva <aoliva@redhat.com> |
4925 | ||
4926 | * flags.h (flag_random_seed): Remove declaration, in favor of... | |
4927 | * toplev.h (get_random_seed, set_random_seed): ... these. | |
4928 | * tree.c (get_file_function_name): Use the former. | |
4929 | * opts.c (common_handle_option): Use the latter. | |
4930 | * toplev.c | |
4931 | ||
3752d411 | 4932 | 2007-03-13 Steven Bosscher <steven@gcc.gnu.org> |
4933 | ||
4934 | PR middle-end/31127 | |
4935 | * cse.c (cse_find_path): Do not bail out if a basic block that | |
4936 | we already visited now becomes part of a path that starts at a | |
4937 | different basic block. Just disallow this, to make sure we | |
4938 | visit each basic block at most once. | |
4939 | ||
24bc216e | 4940 | 2007-03-13 Jan Hubicka <jh@suse.cz> |
4941 | ||
4942 | * ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes, | |
4943 | when profile esitmate is present, calls with very low frequency are | |
4944 | cold. | |
4945 | ||
a463eaea | 4946 | 2007-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
4947 | ||
4948 | PR tree-optimization/30730 | |
4949 | PR tree-optimization/26900 | |
4950 | * tree-ssa-loop-niter.c: Include gmp.h. | |
4951 | (bounds): New type. | |
4952 | (mpz_set_double_int, get_type_bounds, mpz_to_double_int, | |
4953 | split_to_var_and_offset, determine_value_range, | |
4954 | bound_difference_of_offsetted_base, refine_bounds_using_guard, | |
4955 | bound_difference, bounds_add, bounds_negate, | |
4956 | number_of_iterations_ne_max, dump_affine_iv): New functions. | |
4957 | (number_of_iterations_ne, number_of_iterations_lt_to_ne, | |
4958 | assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the | |
4959 | difference of initial and final value of control iv to validate | |
4960 | results. | |
4961 | (number_of_iterations_cond): Add loop parameter. Determine bounds | |
4962 | on the difference of the extremes of the control iv. Add dumps. | |
4963 | (expand_simple_operations): Handle phi nodes. | |
4964 | (simplify_using_initial_conditions): Do not record used conditions. | |
4965 | (number_of_iterations_exit): Pass loop to number_of_iterations_cond. | |
4966 | Do not set additional_info. | |
4967 | (implies_nonnegative_p, implies_ge_p): Removed. | |
4968 | (derive_constant_upper_bound): Do not use parameter `additional'. | |
4969 | (record_estimate): Parameter `additional' removed. Parameter | |
4970 | `i_bound' added. Do not call derive_constant_upper_bound. | |
4971 | (record_nonwrapping_iv): Use derive_constant_upper_bound to | |
4972 | bound the number of iterations estimate. | |
4973 | (estimate_numbers_of_iterations_loop): Pass the estimate from | |
4974 | the number of iterations analysis to record_estimate. | |
4975 | * tree.h (multiple_of_p): Declare. | |
4976 | * tree-scalar-evolution.c (expression_expensive_p): Removed. | |
4977 | (scev_const_prop): Do not check expression_expensive_p. | |
4978 | * fold-const.c (multiple_of_p): Exported. | |
4979 | * double-int.c (double_int_mask): Exported. | |
4980 | * double-int.h (double_int_mask): Declare. | |
4981 | * tree-flow.h (struct tree_niter_desc): Removed additional_info | |
4982 | field. Added max field. | |
4983 | ||
e238d235 | 4984 | 2007-03-13 David Taylor <taylor@candd.org> |
4985 | ||
4986 | PR driver/12448: | |
4987 | * gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass | |
4988 | default -MQ. | |
4989 | ||
a0ece9f6 | 4990 | 2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
4991 | ||
73fc3472 | 4992 | PR target/31123 |
a0ece9f6 | 4993 | * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for |
4994 | two unamed patterns. | |
f8be92ce | 4995 | |
92a5086b | 4996 | 2007-03-13 Uros Bizjak <ubizjak@gmail.com> |
4997 | ||
4998 | * config/i386/i386.opt (mcx16, msahf): New options. | |
4999 | * config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove. | |
5000 | (ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC. | |
5001 | ||
5002 | * config/i386/driver-i386.c (bit_LAHF_LM): New define. | |
5003 | (host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits. | |
5004 | Output -mcx16 and -msahf options when corresponding bit is set. | |
5005 | ||
5006 | * doc/invoke.texi (i386 and x86-64 Options): Document -mcx16 | |
5007 | and -msahf options. | |
5008 | ||
a8971681 | 5009 | 2007-03-13 Alexandre Oliva <aoliva@redhat.com> |
5010 | ||
5011 | * configure.ac: Test for assembler tolerance to # 0 "". | |
5012 | * configure, config.in: Rebuilt. | |
5013 | * final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO. | |
5014 | ||
c99afad8 | 5015 | 2007-03-13 Geoffrey Keating <geoffk@apple.com> |
5016 | ||
5017 | * doc/invoke.texi (Spec Files): Update for '%{,' spec. | |
47adc701 | 5018 | |
5019 | * config/rs6000/darwin-fallback.c: Compile file only on powerpc. | |
5020 | (handle_syscall): Handle direct system calls. | |
5021 | * config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete. | |
5022 | ||
6713f0a0 | 5023 | 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> |
5024 | ||
5025 | * doc/invoke.texi: Fix cpp.info cross-reference. | |
5026 | * doc/passes.texi: Fix gcc.info cross-reference. | |
5027 | ||
f8494ea3 | 5028 | 2007-03-12 Zdenek Dvorak <dvorakz@suse.cz> |
5029 | ||
5030 | PR tree-optimization/30835 | |
5031 | * lambda-code.c (can_convert_to_perfect_nest): Check whether | |
5032 | bb_for_stmt is not NULL before accessing it. | |
5033 | ||
021d874e | 5034 | 2007-03-12 Joseph Myers <joseph@codesourcery.com> |
5035 | ||
5036 | * gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for | |
5037 | some multilibs. | |
5038 | ||
16e1a7da | 5039 | 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> |
5040 | ||
5041 | PR 30635 | |
5042 | * doc/install.texi: Document --enable-stage1-languages | |
5043 | ||
154480b1 | 5044 | 2007-03-12 Steven Bosscher <steven@gcc.gnu.org> |
5045 | ||
5046 | * tree-pass.h (pass_into_cfg_layout_mode, | |
5047 | pass_outof_cfg_layout_mode): Declare. | |
5048 | * cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode, | |
5049 | pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New. | |
5050 | * passes.c (pass_into_cfg_layout_mode): Schedule before jump2. | |
5051 | (pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt. | |
5052 | ||
aaafd660 | 5053 | 2007-03-12 Seongbae Park <seongbae.park@gmail.com> |
5054 | ||
5055 | * c-decl.c (warn_variable_length_array): New function. | |
5056 | Refactored from grokdeclarator to handle warn_vla | |
5057 | and handle unnamed array case. | |
5058 | (grokdeclarator): Refactored VLA warning case. | |
5059 | * c.opt (Wvla): New flag. | |
974bc84e | 5060 | * doc/invoke.texi (Wvla): New warning. |
aaafd660 | 5061 | |
cc2af183 | 5062 | 2007-03-12 Richard Henderson <rth@redhat.com> |
5063 | ||
5064 | * config/alpha/alpha.c (alpha_elf_section_type_flags): New. | |
5065 | (TARGET_SECTION_TYPE_FLAGS): New. | |
5066 | ||
0b769e4a | 5067 | 2007-03-12 Richard Henderson <rth@redhat.com> |
5068 | ||
f8494ea3 | 5069 | * config/darwin.c (machopic_reloc_rw_mask): New. |
5070 | * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. | |
5071 | * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. | |
0b769e4a | 5072 | |
a8bb4f69 | 5073 | 2007-03-12 Mark Mitchell <mark@codesourcery.com> |
5074 | ||
5075 | * cppdefault.c (cpp_EXEC_PREFIX): New variable. | |
5076 | * cppdefault.h (cpp_PREFIX): Document. | |
5077 | (cpp_PREFIX_len): Likewise. | |
5078 | (cpp_EXEC_PREFIX): New variable. | |
5079 | * Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX. | |
5080 | * c-incpath.c (add_standard_paths): Correct logic for relocating | |
5081 | paths within prefix. | |
5082 | ||
d3fcb417 | 5083 | 2007-03-12 Uros Bizjak <ubizjak@gmail.com> |
5084 | ||
5085 | * config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from | |
5086 | fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF | |
5087 | mode macro. | |
5088 | (fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and | |
5089 | fix_truncdfdi_sse using SSEMODEF mode macro. | |
5090 | (fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and | |
5091 | fix_truncdfsi_sse using SSEMODEF mode macro. | |
5092 | (fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro. | |
5093 | (fix_trunc?f?i_sse K8 peephole2): Fix register constraint. | |
5094 | ||
ac2799d5 | 5095 | 2007-03-12 Richard Sandiford <richard@codesourcery.com> |
5096 | ||
5097 | * config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add | |
5098 | elfos.h to tm_file. | |
5099 | ||
96b038b0 | 5100 | 2007-03-12 Olga Golovanevsky <olga@il.ibm.com> |
f8be92ce | 5101 | |
96b038b0 | 5102 | * tree.h : Add multiple_of_p declaration. |
f8be92ce | 5103 | * fold-const.c (multiple_of_p): Make multiple_of_p public. |
96b038b0 | 5104 | * ipa-type-escape.c (results_of_malloc): Redundant. |
5105 | (visited_stmts): New. Visited stmt for walk_use_def_chains. | |
5106 | (cast_type): Extended with new members. | |
5107 | (check_cast): Returns cast_type. | |
5108 | (cast): New structure for data of walk_use_def_chains. | |
5109 | (is_malloc_result, is_cast_from_non_pointer_1, | |
f8be92ce | 5110 | is_cast_from_non_pointer, |
96b038b0 | 5111 | is_array_access_through_pointer_and_index): New functions. |
5112 | (look_for_casts): Returns cast types. | |
5113 | (check_call): Returns void. | |
5114 | (okay_pointer_operation): Use support of pointer plus index, | |
5115 | pointer plus constant and allow all multiplications. | |
f8be92ce | 5116 | |
62065c0b | 5117 | 2007-03-11 Richard Guenther <rguenther@suse.de> |
5118 | ||
5119 | PR tree-optimization/31115 | |
5120 | * tree-vrp.c (extract_range_from_binary_expr): Make sure | |
5121 | the shift count is positive and non-anti-range for RSHIFT_EXPR. | |
5122 | A shift count of zero is not special as with *_DIV_EXPR. | |
5123 | (vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow | |
5124 | direction. | |
5125 | ||
659753d3 | 5126 | 2007-03-11 Ian Lance Taylor <iant@google.com> |
5127 | ||
5128 | * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and | |
5129 | the *_DIV_EXPR codes correctly with overflow infinities. | |
5130 | ||
72443169 | 5131 | 2007-03-11 Ira Rosen <irar@il.ibm.com> |
5132 | ||
f8be92ce | 5133 | * tree-data-ref.c (analyze_offset): Add a return value (bool) to |
72443169 | 5134 | indicate success/failure of the analysis. Add negation to subtrahend |
5135 | in case of subtraction. Fail if both operands contain constants. | |
5136 | (create_data_ref): Fail if analyze_offset fails. | |
5137 | ||
4209e9f9 | 5138 | 2007-03-11 Uros Bizjak <ubizjak@gmail.com> |
5139 | ||
5140 | * config/i386/i386.md (frndintxf2): Rename to ... | |
5141 | (rintxf2): ... this. Remove expander having same name. | |
5142 | (rintsf2, rintdf2): Implement using SSEMODEF macro. | |
5143 | (roundsf2, rounddf2): Ditto. | |
5144 | (lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro. | |
5145 | (lround<mode>di2, lround<mode>si2): Ditto. | |
5146 | ||
db1c50be | 5147 | 2007-03-11 Steven Bosscher <steven@gcc.gnu.org> |
5148 | ||
5149 | * lower-subreg.c: Include except.h. | |
5150 | (decompose_multiword_subregs): Verify that the only control flow | |
5151 | insns we can split are loads to multi-words pseudos. | |
5152 | Handle breaking such blocks after splitting, instead of calling | |
5153 | find_many_sub_basic_blocks. | |
5154 | ||
5155 | * loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK | |
5156 | on the new basic block. Add a lengthy comment explaining why we | |
5157 | thought this was necessary. | |
5158 | * cfglayout.c (cfg_layout_finalize): Don't break superblocks. | |
5159 | ||
6783c055 | 5160 | 2007-03-10 Mark Mitchell <mark@codesourcery.com> |
5161 | ||
752d462d | 5162 | PR c++/30924 |
6783c055 | 5163 | * tree.c (walk_type_fields): Recurse into the element type of |
5164 | ARRAY_TYPEs if there is a pointer set. | |
5165 | ||
e6978426 | 5166 | 2007-03-10 Dirk Mueller <dmueller@suse.de> |
5167 | ||
5168 | * c-common.c (warn_logical_operator): Fix condition. | |
5169 | ||
c6134e23 | 5170 |