]>
Commit | Line | Data |
---|---|---|
a9a4d6d9 | 1 | 2006-12-12 David Daney <ddaney@avtrex.com> |
2 | ||
3 | * config/mips/mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before | |
4 | define. | |
5 | ||
58a7751f | 6 | 2006-12-12 Andrew Pinski <pinskia@gmail.com> |
7 | ||
8 | * tree-vect-transform.c (vect_permute_load_chain): | |
9 | Set DECL_GIMPLE_REG_P to true for the vect_perm_* | |
10 | temp variables. | |
11 | ||
8ddfcaa9 | 12 | 2006-12-13 Sa Liu <saliu@de.ibm.com> |
13 | Ben Elliston <bje@au.ibm.com> | |
14 | ||
15 | * config/spu/spu.h (C_COMMON_OVERRIDE_OPTIONS): Define. | |
16 | (REGISTER_TARGET_PRAGMAS): Don't zero warn_main flag. | |
17 | * config/spu/spu-protos.h (spu_c_common_override_options): | |
18 | Declare. | |
19 | * config/spu/spu-c.c (spu_c_common_override_options): New. | |
20 | * config/spu/spu.c (spu_override_options): Whitespace fix. | |
21 | ||
b01a6dc3 | 22 | 2006-12-12 Trevor Smigiel <trevor_smigiel@playstation.sony.com> |
23 | ||
24 | * config/spu/spu.c (cpat_info): Fix an incorrectly identified case. | |
25 | ||
819bacb1 | 26 | 2006-12-12 Geoffrey Keating <geoffk@apple.com> |
27 | ||
29d774d0 | 28 | * mips-tdump.c: Replace CROSS_COMPILE with |
29 | CROSS_DIRECTORY_STRUCTURE. | |
30 | * mips-tfile.c: Likewise. | |
31 | * gcc.c: Likewise. | |
32 | * configure.ac: Likewise. | |
33 | * cppdefault.c: Likewise. | |
34 | * Makefile.in: Likewise. | |
35 | * config/alpha/osf.h: Likewise. | |
36 | * config/i386/cygwin.h: Likewise. | |
37 | * config/i386/beos-elf.h: Likewise. | |
38 | * config/i386/nto.h: Likewise. | |
39 | * config/fr30/fr30.h: Likewise. | |
40 | * config/svr4.h: Likewise. | |
41 | * config/rs6000/aix.h: Likewise. | |
42 | * config/rs6000/sysv4.h: Likewise. | |
43 | * config/pa/pa64-hpux.h: Likewise. | |
44 | * config/pa/pa-hpux10.h: Likewise. | |
45 | * config/pa/pa-hpux11.h: Likewise. | |
46 | * collect2.c: Likewise. | |
47 | * configure: Regenerate. | |
48 | ||
819bacb1 | 49 | * doc/tm.texi (Alignment Output): Document that ASM_OUTPUT_SKIP |
50 | actually takes an unsigned HOST_WIDE_INT for its second parameter. | |
51 | ||
69ced2d6 | 52 | 2006-12-13 Ulrich Weigand <uweigand@de.ibm.com> |
53 | ||
54 | * config/spu/spu.c (TARGET_ENCODE_SECTION_INFO): Define. | |
55 | (spu_encode_section_info): New. | |
56 | * config/spu/spu.h (ALIGNED_SYMBOL_REF_P): Adjust. | |
57 | (SYMBOL_FLAG_ALIGN1): New. | |
58 | ||
76af66a6 | 59 | 2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com> |
60 | ||
61 | PR tree-opt/28624 | |
62 | * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary | |
63 | bitmap for EXECUTE_IF_SET_IN_BITMAP. | |
64 | ||
8ea8de24 | 65 | 2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com> |
66 | ||
67 | PR tree-opt/28436 | |
68 | * tree.h (DECL_COMPLEX_GIMPLE_REG_P): Rename to ... | |
69 | (DECL_GIMPLE_REG_P): This. | |
70 | * fold-const.c (fold_indirect_ref_1): Fold *(foo *)&vectorfoo into | |
71 | using BIT_FIELD_REF. | |
72 | * omp-low.c (omp_copy_decl_2): Use the renamed DECL_GIMPLE_REG_P. | |
73 | * tree-gimple.c (is_gimple_reg): Use the renamed DECL_GIMPLE_REG_P | |
74 | and check for VECTOR_TYPE. | |
75 | * expr.c (get_inner_reference): Set the mode for BIT_FIELD_REF with | |
76 | vector types. | |
77 | * tree-flow-inline.h (var_can_have_subvars): Use the renamed | |
78 | DECL_GIMPLE_REG_P. | |
79 | * gimplify.c (internal_get_tmp_var): Use the renamed DECL_GIMPLE_REG_P | |
80 | and check for VECTOR_TYPE. | |
81 | (gimplify_bind_expr): Likewise. | |
82 | (gimplify_function_tree): Likewise. | |
83 | * expmed.c: Include target.h. | |
84 | (extract_bit_field): For vector mode, try find a better mode first. | |
85 | If that fails use gen_lowpart (for vectors only). | |
86 | * tree-dfa.c (make_rename_temp): Use the renamed DECL_GIMPLE_REG_P | |
87 | and check for VECTOR_TYPE. | |
88 | * tree-ssa-pre.c (create_expressions_by_pieces): Likewise. | |
89 | (insert_into_preds_of_block): Likewise. | |
90 | (insert_fake_stores): Create gimple register store_tmps for | |
91 | vector types. | |
92 | * tree-sra.c (sra_elt): New field, is_vector_lhs. | |
93 | (sra_walk_expr <case BIT_FIELD_REF>): For vector types that | |
94 | are the left hand side, set the element's is_vector_lhs to true. | |
95 | (instantiate_element): For vector types which were on the left | |
96 | hand size, set DECL_GIMPLE_REG_P to false. | |
97 | * tree-nested.c (create_tmp_var_for): Use the renamed DECL_GIMPLE_REG_P. * tree-inline.c (declare_return_variable): Use the renamed | |
98 | DECL_GIMPLE_REG_P | |
99 | and check for VECTOR_TYPE. | |
100 | (copy_decl_to_var): Use the renamed DECL_GIMPLE_REG_P. | |
101 | (copy_result_decl_to_var): Likewise. | |
102 | * tree-vect-transform.c (vect_get_new_vect_var): For vector types, | |
103 | create a gimple register variable. | |
104 | (vect_permute_store_chain): Set DECL_GIMPLE_REG_P to true for the | |
105 | vect_inter_* temp variables. | |
106 | * Makefile.in (expmed.o): Update dependencies. | |
107 | ||
6f38a66d | 108 | 2006-12-12 Peter Bergner <bergner@vnet.ibm.com> |
109 | ||
110 | * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and | |
111 | the offset == 0 "then" clauses. | |
112 | * config/rs6000/predicates.md (gpc_reg_operand): Check for | |
113 | reload_in_progress. | |
114 | ||
237461fa | 115 | 2006-12-12 Marcin Dalecki <martin@dalecki.de> |
116 | ||
117 | * doc/passes.texi: remove docs about "redundant PHI removal". | |
c5a4df25 | 118 | * tree-pass.h: remove orphaned declaration of pass_redundant_phi, |
119 | remove redundant pass_partition_blocks declaration. | |
237461fa | 120 | |
b53267a3 | 121 | 2006-12-12 Andrew Macleod <amacleod@redhat.com> |
122 | ||
123 | PR tree-optimization/30159 | |
124 | * tree-ssa-coalesce.c (coalesce_ssa_name): Process single ssa_name | |
125 | functions in case a default_def coalesce is required. | |
126 | ||
86b36930 | 127 | 2006-12-12 Jakub Jelinek <jakub@redhat.com> |
128 | ||
129 | PR libstdc++/11953 | |
130 | * gthr-posix.h (_REENTRANT): Only define if __osf__ is defined. | |
131 | ||
132 | * config/ia64/linux.h (CPP_SPEC): Define. | |
133 | * config/s390/linux.h (CPP_SPEC): Define. | |
134 | ||
b6896428 | 135 | 2006-12-12 Jim Wilson <wilson@specifix.com> |
136 | Jakub Jelinek <jakub@redhat.com> | |
137 | ||
138 | PR rtl-optimization/27761 | |
139 | * combine.c (try_combine): Don't create a useless garbage SET | |
140 | if PATTERN (i2) is a PARALLEL. If added_sets_1, save | |
141 | PATTERN (i1) resp. SET from i1src to i1dest in i1pat | |
142 | and use it to prevent accidental modification of i1src. | |
143 | ||
3c26fc92 | 144 | 2006-12-12 Ira Rosen <irar@il.ibm.com> |
145 | ||
146 | * tree-vect-analyze.c (vect_analyze_data_ref_access): Add another check | |
147 | for stores with gaps. | |
148 | * tree-vect-transform.c (vect_permute_store_chain): Create | |
149 | interleave_high or interleave_low according to the endianess. | |
150 | ||
dd824901 | 151 | 2006-12-12 Richard Guenther <rguenther@suse.de> |
152 | ||
153 | PR middle-end/30147 | |
154 | * fold-const.c (fold_read_from_constant_string): Only fold read | |
155 | from constant string if the result type is integer. | |
156 | ||
7086c80a | 157 | 2006-12-12 Olivier Hainque <hainque@adacore.com> |
158 | ||
159 | * config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA. | |
160 | ||
73e68f91 | 161 | 2006-12-12 Olivier Hainque <hainque@adacore.com> |
162 | ||
163 | * config/vxlib.c: Extract tls related routines into ... | |
164 | * config/vxlib-tls.c: New file. | |
165 | * config/t-vxworks: Add vxlib-tls.c to LIB2FUNCS_EXTRA. | |
166 | ||
c7b91b14 | 167 | 2006-12-12 Sa Liu <saliu@de.ibm.com> |
168 | Ben Elliston <bje@au.ibm.com> | |
169 | ||
170 | * config/spu/spu.opt (mfixed-range): New option. | |
171 | * config/spu/spu.h (spu_fixed_range_string): Declare. | |
172 | * config/spu/spu.c (spu_override_options): Handle -mfixed-range. | |
173 | (fix_range): New function. | |
174 | * doc/invoke.texi (SPU Options): Document -mfixed-range. | |
175 | * testsuite/gcc.target/spu/fixed-range.c: New. | |
176 | * testsuite/gcc.target/spu/fixed-range-bad.c: Ditto. | |
177 | ||
44b23e05 | 178 | 2006-12-11 H.J. Lu <hongjiu.lu@intel.com> |
179 | ||
180 | PR middle-end/17982 | |
181 | PR middle-end/20218 | |
182 | * cgraphunit.c (cgraph_optimize): Remove call to | |
183 | process_pending_assemble_externals. | |
184 | ||
185 | * config/elfos.h (ASM_OUTPUT_EXTERNAL): New. | |
186 | ||
187 | * config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed. | |
188 | ||
189 | * config/ia64/ia64.c (ia64_asm_output_external): Rewritten. | |
190 | (ia64_hpux_add_extern_decl): Removed. | |
191 | (ia64_hpux_file_end): Likewise. | |
192 | (extern_func_list): Likewise. | |
193 | (extern_func_head): Likewise. | |
194 | ||
195 | * output.h (assemble_external): Update comments. | |
196 | (default_elf_asm_output_external): New. | |
197 | (maybe_assemble_visibility): New. | |
198 | ||
199 | * toplev.c (compile_file): Update comment. | |
200 | ||
201 | * varasm.c (assemble_external): Always put it on | |
202 | pending_assemble_externals. | |
203 | (maybe_assemble_visibility): Make it extern and return int. | |
204 | (default_elf_asm_output_external): New. | |
205 | ||
5974d46f | 206 | 2006-12-11 Daniel Berlin <dberlin@dberlin.org> |
207 | ||
208 | * tree-ssa-structalias.c (handle_ptr_arith): Return false when we | |
209 | can't handle the pointer arithmetic. | |
210 | ||
4fb5e5ca | 211 | 2006-12-11 Diego Novillo <dnovillo@redhat.com> |
212 | ||
213 | * doc/tree-ssa.texi: Update documentation for virtual operands | |
214 | and the use of push_stmt_changes/pop_stmt_changes. | |
215 | * doc/invoke.texi: Remove documentation for params | |
216 | global-var-threshold. | |
217 | Update documentation on max-aliased-vops. | |
218 | ||
219 | * tree-into-ssa.c: Cleanup comments, variables and | |
220 | spacing in various functions. | |
221 | (regs_to_rename): Declare. | |
222 | (mem_syms_to_rename): Declare. | |
223 | (dump_update_ssa): Declare. | |
224 | (debug_update_ssa): Declare. | |
225 | (dump_names_replaced_by): Declare. | |
226 | (debug_names_replaced_by): Declare. | |
227 | (dump_def_blocks): Declare. | |
228 | (debug_def_blocks): Declare. | |
229 | (dump_defs_stack): Declare. | |
230 | (debug_defs_stack): Declare. | |
231 | (dump_currdefs): Declare. | |
232 | (debug_currdefs): Declare. | |
233 | (mark_def_sites): Do not handle virtual operands. | |
234 | (compute_idf): Rename from find_idf. Update users. | |
235 | (register_new_def): Make local. Convert second argument | |
236 | to 'tree'. | |
237 | Use BLOCK_DEFS_STACK directly. | |
238 | If pushing a non-register, also push the underlying | |
239 | symbol. | |
240 | (rewrite_stmt): Do not handle virtual operands. | |
241 | (dump_tree_ssa): Call dump_def_blocks, dump_defs_stack, | |
242 | dump_currdefs and dump_tree_ssa_stats. | |
243 | (dump_tree_ssa_stats): Also dump REPL_TBL. | |
244 | (replace_use): Remove. Update all users to call SET_USE | |
245 | instead. | |
246 | (rewrite_blocks): Move code to free memory to | |
247 | fini_ssa_renamer. | |
248 | (mark_def_site_blocks): Move initialization code to | |
249 | init_ssa_renamer. | |
250 | (init_ssa_renamer): New. | |
251 | (fini_ssa_renamer): New. | |
252 | (rewrite_into_ssa): Call them. | |
253 | (prepare_block_for_update): Process SSA_OP_ALL_USES first | |
254 | and SSA_OP_ALL_DEFS later. Do not process virtual | |
255 | operands separately. | |
256 | (dump_update_ssa): Call dump_decl_set. | |
257 | (init_update_ssa): Initialize regs_to_rename and | |
258 | mem_syms_to_rename. | |
259 | Call init_ssa_renamer. | |
260 | (delete_update_ssa): Call fini_ssa_renamer. | |
261 | Free blocks_with_phis_to_rewrite. | |
262 | (mark_sym_for_renaming): If the variable has | |
263 | sub-variables, also mark them. | |
264 | If the variable belongs to a partition, also mark it. | |
265 | (mark_set_for_renaming): Call mark_sym_for_renaming on | |
266 | every symbol in the set. | |
267 | (switch_virtuals_to_full_rewrite): Call | |
268 | mark_set_for_renaming. | |
269 | (update_ssa): Separate syms_to_rename into regs_to_rename | |
270 | and mem_syms_to_rename. | |
271 | ||
272 | * tree-dump.c (dump_options): Add TDF_MEMSYMS. | |
273 | * tree-pretty-print.c (debug_generic_expr): Add TDF_MEMSYMS. | |
274 | (debug_generic_stmt): Likewise. | |
275 | (debug_tree_chain): Likewise. | |
276 | (dump_symbols): New. | |
277 | (dump_generic_node): Check for TDF_MEMSYMS. | |
278 | Handle MEMORY_PARTITION_TAG. | |
279 | If the statement references memory and TDF_MEMSYMS is | |
280 | given, call dump_symbols. | |
281 | Indicate default names with (D). | |
282 | (dump_vops): Update for new virtual operator format. | |
283 | ||
284 | * tree.c (init_ttree): Add MEMORY_PARTITION_TAG to | |
285 | tree_contains_struct. | |
286 | (tree_code_size): Handle MEMORY_PARTITION_TAG. | |
287 | (tree_node_structure): Likewise. | |
288 | (needs_to_live_in_memory): Handle SSA names. | |
289 | * tree.h (MTAG_P): Likewise. | |
290 | (struct tree_memory_partition_tag): Declare. | |
291 | (MPT_SYMBOLS): Define. | |
292 | (union tree_node): Add field 'mpt'. | |
293 | * treestruct.def (TS_MEMORY_PARTITION_TAG): Define. | |
294 | * tree.def (MEMORY_PARTITION_TAG): Define. | |
295 | ||
296 | * tree-pass.h (TDF_MEMSYMS): Define. | |
297 | ||
298 | * params.h (GLOBAL_VAR_THRESHOLD): Remove. | |
299 | ||
300 | * tree-ssa-alias.c: Include pointer-set.h | |
301 | (struct alias_map_d): Remove fields total_alias_vops, | |
302 | grouped_p and may_aliases. Update all users. | |
303 | (struct mp_info_def): Declare. | |
304 | (mp_info_t): New type. | |
305 | (get_smt_for): Rename from get_tmt_for. Update all | |
306 | users. | |
307 | (add_may_alias): Add argument ALREADY_ADDED. If given, | |
308 | use it to avoid adding duplicate entries to alias sets. | |
309 | (replace_may_alias): Remove. Update all users. | |
310 | (total_alias_vops_cmp): Remove. Update all users. | |
311 | (group_aliases_into): Remove. Update all users. | |
312 | (tree_pointer_compare): Remove. Update all users. | |
313 | (compact_name_tags): Remove. Update all users. | |
314 | (group_aliases): Remove. Update all users. | |
315 | (mark_non_addressable): Move from tree-flow-inline.h. | |
316 | Remove the symbol from the partition holding it, if | |
317 | needed. | |
318 | (dump_mp_info): New. | |
319 | (debug_mp_info): New. | |
320 | (sort_mp_info): New. | |
321 | (create_partition_for): New. | |
322 | (rewrite_alias_set_for): New. | |
323 | (compute_memory_partitions): New. | |
324 | (compute_may_aliases): Call it. | |
325 | (init_alias_info): If computing aliases for the first | |
326 | time, mark every memory symbol for renaming. | |
327 | (have_common_aliases_p): New. | |
328 | (compute_flow_insensitive_aliasing): Call it. | |
329 | (setup_pointers_and_addressables): Do not cache | |
330 | num_referenced_vars. | |
331 | For register promoted symbols, mark their former | |
332 | partition for renaming. | |
333 | (maybe_create_global_var): Only create .GLOBAL_VAR if | |
334 | there are no call-clobbered variables and a mix of pure | |
335 | and non-pure functions were found. | |
336 | (may_alias_p): Tidy comments. | |
337 | (create_tag_raw): Remove unused variable new_type. | |
338 | (dump_alias_info): call dump_memory_partitions. | |
339 | (dump_points_to_info_for): Call dump_decl_set. | |
340 | (may_be_aliased): Tidy comments and formatting. | |
341 | ||
342 | * timevar.def (TV_MEMORY_PARTITIONING): Define. | |
343 | * tree-vectorizer.c (vect_memsyms_to_rename): Rename from | |
344 | vect_vnames_to_rename. Set DECL_UIDs instead of SSA name | |
345 | versions in it. | |
346 | (slpeel_update_phi_nodes_for_guard1): Ignore memory PHIs. | |
347 | * tree-vect-transform.c (vect_transform_loop): Call | |
348 | mark_set_for_renaming with vect_memsyms_to_rename. | |
349 | * tree-flow-inline.h (zero_imm_uses_p): New. | |
350 | (memory_partition): New. | |
351 | (set_memory_partition): New. | |
352 | (factoring_name_p): New. | |
353 | (symbol_mem_tag): New. Update every function that used | |
354 | to access the annotation directly. | |
355 | (set_symbol_mem_tag): Likewise. | |
356 | ||
357 | * tree-ssa-copy.c (may_propagate_copy): Allow copies | |
358 | between a partition and a symbol as long as the symbol | |
359 | belongs to the partition. | |
360 | (merge_alias_info): Ignore merge requests when memory | |
361 | partitions are involved. | |
362 | ||
363 | * tree-ssa.c (verify_ssa_name): Check that default | |
364 | definitions have empty defining statements. | |
365 | (verify_use): Remove argument IS_VIRTUAL. | |
366 | Don't call verify_ssa_name. | |
367 | (verify_phi_args): Call verify_ssa_name. | |
368 | (verify_flow_insensitive_alias_info): Handle MPTs. | |
369 | (verify_flow_sensitive_alias_info): Likewise. | |
370 | (verify_name_tags): Likewise. | |
371 | (verify_call_clobbering): Likewise. | |
372 | (verify_ssa): Check for VOPs only after aliasing | |
373 | information is available. | |
374 | Check virtuals and real operands separately. | |
375 | Call verify_ssa_name on every operand. | |
376 | (stmt_references_memory_p): Move to tree-ssa-operands.c. | |
377 | (walk_use_def_chains_1): Guard against NULL PHI | |
378 | arguments. | |
379 | ||
380 | * tree-ssa-operands.c (stmt_references_memory_p): Move from | |
381 | tree-ssa.c. | |
382 | (get_mpt_for): New. | |
383 | (dump_memory_partitions): New. | |
384 | (debug_memory_partitions): New. | |
385 | ||
386 | * tree-flow.h (struct var_ann_d): Add field mpt. | |
387 | (struct stmt_ann_d): Add bitfield references_memory. | |
388 | * Makefile.in (tree-ssa-structalias.o): Include | |
389 | pointer-set.h | |
390 | (tree-ssa-alias.o): Likewise. | |
391 | * tree-ssa-structalias.c: (update_alias_info): Use | |
392 | STORED_SYMS to determine which variables are being | |
393 | written to by the store operation. | |
394 | * tree-ssa-structalias.h (struct alias_info) | |
395 | <total_alias_vops>: Remove. Update all users. | |
396 | <written_vars>: Change to a pointer set. Update all | |
397 | users. | |
398 | <dereferenced_ptrs_store>: Likewise. | |
399 | <dereferenced_ptrs_load>: Likewise. | |
400 | (NUM_REFERENCES): Remove. Update all users. | |
401 | (NUM_REFERENCES_CLEAR): Remove. Update all users. | |
402 | (NUM_REFERENCES_INC): Remove. Update all users. | |
403 | (NUM_REFERENCES_SET): Remove. Update all users. | |
404 | ||
405 | * params.def (PARAM_GLOBAL_VAR_THRESHOLD): Remove. | |
406 | Update all users. | |
407 | (PARAM_MAX_ALIASED_VOPS): Set to 10. | |
408 | * tree-ssanames.c (make_ssa_name): Initialize | |
409 | SSA_NAME_IS_DEFAULT_DEF to 0. | |
410 | ||
411 | 2006-12-11 Aldy Hernandez <aldyh@redhat.com> | |
412 | ||
413 | * tree-ssa-dse.c (aggregate_vardecl_d): New. | |
414 | (dse_global_data): Add aggregate_vardecl field. | |
415 | (dse_possible_dead_store_p): New. | |
416 | Add prev_defvar variable. | |
417 | Allow immediate uses and previous immediate uses to differ | |
418 | if they are setting different parts of the whole. | |
419 | (get_aggregate_vardecl): New. | |
420 | (dse_record_partial_aggregate_store): New. | |
421 | (dse_whole_aggregate_clobbered_p): New. | |
422 | (dse_partial_kill_p): New. | |
423 | (dse_optimize_stmt): Abstract code checking a possible dead store | |
424 | into new function dse_possible_dead_store_p(). | |
425 | Call dse_maybe_record_aggregate_store(). | |
426 | When checking whether a STMT and its USE_STMT refer to the | |
427 | same memory address, check also for partial kills that clobber | |
428 | the whole. | |
429 | Move some variable definitions to the block where they are used. | |
430 | (aggregate_vardecl_hash): New. | |
431 | (aggregate_vardecl_eq): New. | |
432 | (aggregate_vardecl_free): New. | |
433 | (aggregate_whole_store_p): New. | |
434 | (tree_ssa_dse): Initialize and free aggregate_vardecl. | |
435 | Mark which aggregate stores we care about. | |
436 | ||
437 | 2006-12-11 Andrew Macleod <amacleod@redhat.com> | |
438 | ||
439 | * tree-ssa-operands.h (struct vuse_element_d): Declare. | |
440 | (vuse_element_t): Declare. | |
441 | (struct vuse_vec_d): Declare. | |
442 | (vuse_vec_p): Declare. | |
443 | (VUSE_VECT_NUM_ELEM): Define. | |
444 | (VUSE_VECT_ELEMENT_NC): Define. | |
445 | (VUSE_ELEMENT_PTR_NC): Define. | |
446 | (VUSE_ELEMENT_VAR_NC): Define. | |
447 | (VUSE_VECT_ELEMENT): Define. | |
448 | (VUSE_ELEMENT_PTR): Define. | |
449 | (VUSE_ELEMENT_VAR): Define. | |
450 | (struct maydef_optype_d) <use_var>: Remove. | |
451 | <use_ptr>: Remove. | |
452 | <usev>: Add. | |
453 | (struct vuse_optype_d) <kill_var>: Remove. | |
454 | <use_ptr>: Remove. | |
455 | <usev>: Add. | |
456 | (struct mustdef_optype_d) <kill_var>: Remove. | |
457 | <use_ptr>: Remove. | |
458 | <usev>: Add. | |
459 | (VUSE_OP_PTR): Add argument. Use VUSE_ELEMENT_PTR. | |
460 | (VUSE_OP): Add argument. Use VUSE_ELEMENT_PTR. | |
461 | (VUSE_NUM): Define. | |
462 | (VUSE_VECT): Define. | |
463 | (MAYDEF_OP_PTR): Add argument. Use VUSE_OP_PTR. | |
464 | (MAYDEF_OP): Add argument. Use VUSE_OP. | |
465 | (MAYDEF_NUM): Define. | |
466 | (MAYDEF_VECT): Define. | |
467 | (MUSTDEF_KILL_PTR): Use VUSE_OP_PTR. | |
468 | (MUSTDEF_KILL): Use VUSE_OP. | |
469 | (MUSTDEF_NUM): Define. | |
470 | (MUSTDEF_VECT): Define. | |
471 | (realloc_maydef): Declare. | |
472 | (realloc_vuse): Declare. | |
473 | (struct ssa_operand_iterator_d) <vuse_index>: Add. | |
474 | <mayuse_index>: Add. | |
475 | (LOADED_SYMS): Define. | |
476 | (STORED_SYMS): Define. | |
477 | (FOR_EACH_SSA_MUSTDEF_OPERAND): Call op_iter_next_mustdef. | |
478 | * tree-into-ssa.c: Adapt for multi-operand V_MAY_DEF and VUSE | |
479 | operators. | |
480 | * tree-pretty-print.c: Likewise. | |
481 | * tree-ssa-dse.c: Likewise. | |
482 | * tree-flow-inline.h: Likewise. | |
483 | (op_iter_next_mustdef): New. | |
484 | * tree-ssa-operands.c: Likewise. | |
485 | (ALLOC_OPTYPE): Remove. | |
486 | Update all users. | |
487 | (alloc_def): New. | |
488 | (alloc_use): New. | |
489 | (alloc_maydef): New. | |
490 | (alloc_vuse): New. | |
491 | (alloc_mustdef): New. | |
492 | (realloc_maydef): New. | |
493 | (realloc_vuse): New. | |
494 | ||
495 | 2006-12-11 Aldy Hernandez <aldyh@redhat.com> | |
496 | ||
497 | * tree-ssa-operands.c: Remove build_v_must_defs. | |
498 | (init_ssa_operands): Delete build_v_must_defs. | |
499 | (finalize_ssa_v_must_def_ops): Remove. | |
500 | (finalize_ssa_v_must_defs): Remove. | |
501 | (finalize_ssa_stmt_operands): Do not call | |
502 | finalize_ssa_v_must_defs. | |
503 | (start_ssa_stmt_operands): Do not check build_v_must_defs. | |
504 | (append_v_must_def): Delete. | |
505 | (copy_virtual_operands): Do not copy V_MUST_DEFs. | |
506 | (get_modify_expr_operands): Remove reference to V_MUST_DEF from | |
507 | comment. Remove opf_kill_def. | |
508 | (build_ssa_operands): Remove references to v_must_defs. | |
509 | (copy_virtual_operands): Same. | |
510 | (copy_virtual_operands): Same. | |
511 | (fini_ssa_operands): Same. | |
512 | (free_ssa_operands): Same. | |
513 | (add_mustdef_op): Remove. | |
514 | Remove mustdef_optype_p. | |
515 | (alloc_mustdef): Remove. | |
516 | Remove references to V_MUST_DEFs in comment at top of file. | |
517 | (get_expr_operands): Remove opf_kill_def. | |
518 | (opf_kill_def): Remove. | |
519 | (add_virtual_operand): Remove opf_kill_def. | |
520 | (get_indirect_ref_operands): Same. | |
521 | (get_tmr_operands): Same. | |
522 | ||
523 | * tree-vectorizer.c (rename_variables_in_bb): Remove | |
524 | SSA_OP_ALL_KILLS. | |
525 | ||
526 | * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Remove | |
527 | SSA_OP_ALL_KILLS. | |
528 | (check_loop_closed_ssa_stmt): Same. | |
529 | ||
530 | * tree-ssa.c (verify_def): Remove V_MUST_DEF from comment. | |
531 | (verify_use): Same. | |
532 | (verify_ssa): Remove V_MUST_DEFs traces. | |
533 | (verify_ssa): Remove SSA_OP_ALL_KILLS. | |
534 | ||
535 | * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTDEF to | |
536 | SSA_OP_VMAYDEF. | |
537 | (rewrite_update_stmt): Remove SSA_OP_VIRTUAL_KILLS. | |
538 | (rewrite_stmt): Remove SSA_OP_ALL_KILLS. | |
539 | ||
540 | * tree-ssa-operands.h (struct stmt_operands_d): Remove V_MUST_DEF | |
541 | references. | |
542 | (MUSTDEF_OPS): Remove. | |
543 | (SSA_OP_VMUSTDEF): Remove. | |
544 | (FOR_EACH_SSA_MUSTDEF_OPERAND): Remove. | |
545 | (struct mustdef_optype_d): Remove. | |
546 | Remove mustdef_optype_p. | |
547 | (struct stmt_operands_d): Remove mustdef_ops. | |
548 | (ssa_operand_iterator_d): Remove mustdefs and mustkills. | |
549 | (SSA_OP_VIRTUAL_DEFS): Remove SSA_OP_VMUSTDEF. | |
550 | (MUSTDEF_RESULT_PTR): Remove. | |
551 | (MUSTDEF_RESULT): Remove. | |
552 | (MUSTDEF_KILL_PTR): Remove. | |
553 | (MUSTDEF_KILL): Remove. | |
554 | (MUSTDEF_NUM): Remove. | |
555 | (MUSTDEF_VECT): Remove. | |
556 | (SSA_OP_VIRTUAL_KILLS): Remove. | |
557 | (SSA_OP_ALL_VIRTUALS): Remove SSA_OP_VIRTUAL_KILLS. | |
558 | (SSA_OP_VMUSTKILL): Remove. | |
559 | (SSA_OP_ALL_KILLS): Remove. | |
560 | (SSA_OP_ALL_OPERANDS): Remove SSA_OP_ALL_KILLS. | |
561 | ||
562 | * tree-flow-inline.h (op_iter_init_def): Remove | |
563 | SSA_OP_VIRTUAL_KILLS. | |
564 | (delink_stmt_imm_use): Remove SSA_OP_ALL_KILLS. | |
565 | ||
566 | * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove | |
567 | SSA_OP_VIRTUAL_KILLS. | |
568 | ||
569 | * tree-ssa-loop-im.c (determine_max_movement): Remove | |
570 | SSA_OP_VIRTUAL_KILLS. | |
571 | (gather_mem_refs_stmt): Same. | |
572 | (gather_mem_refs_stmt): Same. | |
573 | ||
574 | * tree-ssa-dce.c (mark_really_necessary_kill_operand_phis): Delete. | |
575 | (perform_tree_ssa_dce): Remove call to | |
576 | mark_really_necessary_kill_operand_phis. | |
577 | ||
578 | * tree-flow-inline.h (op_iter_init): Remove setting of mustdefs | |
579 | and mustkills. | |
580 | (op_iter_next_use): Do not check mustkills. | |
581 | (op_iter_next_def): Do not check mustdefs. | |
582 | (op_iter_next_tree): Do not check mustkills or mustdefs. | |
583 | (clear_and_done_ssa_iter): Do not set mustdefs or mustkills. | |
584 | (op_iter_next_maymustdef): Do not check mustkills. | |
585 | (op_iter_init_must_and_may_def): Remove SSA_OP_VMUSTKILL. | |
586 | (op_iter_init_mustdef): Remove. | |
587 | ||
588 | * tree-ssa-live.c (create_ssa_var_map): Change SSA_OP_VMUSTDEF to | |
589 | SSA_OP_VMAYDEF. | |
590 | ||
591 | * tree-ssa-dse.c (dse_optimize_stmt): Remove SSA_OP_VMUSTDEF. | |
592 | ||
593 | * tree-ssa-ccp.c: Remove V_MUST_DEF traces from comments. | |
594 | (visit_assignment): Same. | |
595 | ||
596 | * tree-ssa-copy.c (copy_prop_visit_assignment): Same. | |
597 | ||
598 | * tree-sra.c (mark_all_v_defs_1): Remove V_MUST_DEF from comment. | |
599 | ||
600 | * tree-outof-ssa.c (check_replaceable): Remove SSA_OP_VMUSTDEF. | |
601 | ||
602 | * tree-pretty-print.c (dump_vops): Remove printing of V_MUST_DEF. | |
603 | Remove kill_p variable. | |
604 | ||
605 | * tree-dfa.c (struct dfa_stats_d): Remove num_v_must_defs. | |
606 | (dump_dfa_stats): Remove code related to V_MUST_DEFs. | |
607 | (collect_dfa_stats_r): Do not set num_v_must_defs. | |
608 | (mark_new_vars_to_rename): Remove v_must_defs_{before,after} | |
609 | code. | |
610 | ||
611 | * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTKILL to | |
612 | SSA_OP_VMAYUSE. | |
613 | ||
614 | * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove | |
615 | SSA_OP_VMUSTDEF and SSA_OP_VMUSTKILL. | |
616 | ||
617 | * tree-ssa-propagate.c (stmt_makes_single_store): Remove | |
618 | SSA_OP_VMUSTDEF. | |
619 | ||
873983a1 | 620 | 2006-12-11 Zdenek Dvorak <dvorakz@suse.cz> |
621 | ||
622 | PR rtl-optimization/30113 | |
623 | * loop-iv.c (implies_p): Require the mode of the operands to be | |
624 | scalar. | |
625 | ||
de6ed584 | 626 | 2006-12-11 Diego Novillo <dnovillo@redhat.com> |
627 | ||
628 | * tree-ssa-operands.h (create_ssa_artificial_load_stmt): | |
629 | Rename from create_ssa_artficial_load_stmt. Update all users. | |
630 | * tree-into-ssa.c (register_new_def): Make static. | |
631 | * tree.c (is_global_var): Handle SSA_NAMEs. | |
632 | * tree.h (SSA_NAME_IS_DEFAULT_DEF): Define. Update all users | |
633 | that used to call gimple_default_def. | |
634 | * tree-ssa-operands.c (push_stmt_changes): New. | |
635 | (pop_stmt_changes): New. Update every pass that modifies | |
636 | statements to bracket modifications with | |
637 | push_stmt_changes/pop_stmt_changes. | |
638 | (discard_stmt_changes): New. | |
639 | * tree-ssa-dom.c (stmts_to_rescan): Change to stack of | |
640 | 'tree *' instead of 'tree'. Update all users. | |
641 | * tree-flow-inline.h (zero_imm_uses_p): New. | |
642 | (symbol_mem_tag): New. Update every function that used | |
643 | to access the annotation directly. | |
644 | (set_symbol_mem_tag): Likewise. | |
645 | * tree-dfa.c (dump_variable): Always show the escape mask. | |
646 | (mark_symbols_for_renaming): Rename from | |
647 | mark_new_vars_to_rename. Update all users. | |
648 | Only mark to rename naked symbols in real and virtual | |
649 | operands. | |
650 | ||
ff831d3c | 651 | 2006-12-11 Andreas Schwab <schwab@suse.de> |
652 | ||
653 | * varasm.c (elf_record_gcc_switches): Cast second argument of | |
ee4ab97c | 654 | ASM_OUTPUT_SKIP to unsigned HOST_WIDE_INT. |
ff831d3c | 655 | |
17889f9d | 656 | 2006-12-11 Diego Novillo <dnovillo@redhat.com> |
657 | ||
658 | * tree-scalar-evolution.c (scev_const_prop): | |
659 | * tree-phinodes.c (remove_phi_node): Add argument | |
660 | RELEASE_LHS_P. If given, release the SSA name on the LHS of | |
661 | the PHI node. | |
662 | Update all users. | |
663 | * tree-ssa-dce.c: Remove forward declarations for static | |
664 | functions. Re-arrange functions bodies as needed. | |
665 | (find_obviously_necessary_stmts): Never mark PHI nodes as | |
666 | obviously necessary. | |
667 | ||
c69b8abd | 668 | 2006-12-11 Carlos O'Donell <carlos@codesourcery.com> |
669 | ||
670 | * config/arm/elf.h (MAX_OFILE_ALIGNMENT): Remove definition. | |
671 | ||
f656b751 | 672 | 2006-12-11 Jan Hubicka <jh@suse.cz> |
673 | ||
674 | * value-prof.c (tree_stringops_transform): New. | |
675 | (tree_value_profile_transformations): Require count to be non-zero; | |
676 | call stringop transform; reset stmt BSI after BB changed. | |
677 | (tree_divmod_fixed_value, tree_mod_pow2): Don't emit unnecesary label. | |
678 | (interesting_stringop_to_profile_p, tree_stringop_fixed_value): New. | |
679 | (tree_stringops_values_to_profile): New. | |
680 | (tree_values_to_profile): Call tree_stringops_values_to_profile. | |
681 | * tree.h (build_string_literal): Tidy prototype. | |
682 | (validate_arglist, builtin_memset_read_str, get_pointer_alignment): | |
683 | Declare. | |
684 | * builtins.c (validate_arglist, builtin_memset_read_str, | |
685 | get_pointer_alignment): Export. | |
686 | ||
bae5345b | 687 | 2006-12-11 Uros Bizjak <ubizjak@gmail.com> |
688 | ||
689 | PR target/30120 | |
690 | Revert: | |
691 | 2006-11-15 Uros Bizjak <ubizjak@gmail.com> | |
692 | ||
693 | * config/i386/i386.opt: New target option -mx87regparm. | |
694 | ||
695 | * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno, | |
696 | float_in_x87: Add new variables. mmx_words, sse_words: Remove. | |
697 | (X87_REGPARM_MAX): Define. | |
698 | ||
699 | * config/i386/i386.c (override_options): Error out for | |
700 | -mx87regparm but no 80387 support. | |
701 | (ix86_attribute_table): Add x87regparm. | |
702 | (ix86_handle_cconv_attribute): Update comments for x87regparm. | |
703 | (ix86_comp_type_attributes): Check for mismatched x87regparm types. | |
704 | (ix86_function_x87regparm): New function. | |
705 | (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating | |
706 | point registers. | |
707 | (init_cumulative_args): Initialize x87_nregs and float_in_x87 | |
708 | variables. | |
709 | (function_arg_advance): Process x87_nregs and x87_regno when | |
710 | floating point argument is to be passed in 80387 register. | |
711 | (function_arg): Pass XFmode arguments in 80387 registers for local | |
712 | functions. Pass SFmode and DFmode arguments to local functions | |
713 | in 80387 registers when flag_unsafe_math_optimizations is set. | |
714 | ||
715 | * reg-stack.c (convert_regs_entry): Disable NaN load for | |
716 | stack registers that are used for argument passing. | |
717 | ||
718 | * doc/extend.texi: Document x87regparm function attribute. | |
719 | * doc/invoke.texi: Document -mx87regparm. | |
720 | ||
1d416bd7 | 721 | 2006-12-11 Jan Hubicka <jh@suse.cz> |
722 | ||
723 | Move all varpool routines out of cgraph/cgraphunit to varpool.c | |
724 | * cgraph.c: Update comments. | |
725 | (cgraph_varpool_hash, | |
726 | cgraph_varpool_nodes, cgraph_varpool_last_needed_node | |
727 | cgraph_varpool_node_name, cgraph_varpool_node, | |
728 | cgraph_varpol_mode_for_asm, cgraph_varpool_mark_needed_node, | |
729 | cgraph_variable_initializer_availability): Move to | |
730 | varpool.c and drop cgraph_ prefixes. | |
731 | (cgraph_varpool_enqueue_needed_node, cgraph_varpool_reset_queue, | |
732 | cgraph_varpool_first_unanalyzed_node, cgraph_varpool_finalize_decl): | |
733 | move to varpool.c; drop cgraph_ prefix; make static. | |
734 | (dump_cgraph_varpool_node): Move to varpool.c under name | |
735 | dump_varpool_node. | |
736 | (dump_varpool, hash_varpool_node, eq_varpool_node, | |
737 | decide_is_variable_needed): Move to varpool.c | |
738 | (decl_assembler_name_equal): Move to tree.c. | |
739 | (availability_names): Rename to ... | |
740 | (cgraph_availability_names): ... this one. | |
741 | (dump_cgraph_node): Update. | |
742 | * cgraph.h: Reorder declarations now in varpool.c | |
743 | (cgraph_vailablity_names): Declare. | |
744 | (struct cgraph_varpool_node): Rename to ... | |
745 | (struct varpool_node): ... this one. | |
746 | (cgraph_varpool_first_unanalyzed_node, cgraph_varpool_nodes_queue, | |
747 | cgraph_varpool_first_unanalyzed_node, cgraph_varpool_node, | |
748 | cgraph_varpool_node_for_asm, cgraph_varpool_mark_needed_node, | |
749 | cgraph_varpool_finalize_decl, cgraph_varpool_enqueue_needed_node, | |
750 | cgraph_varpool_reset_queue, cgraph_varpool_assemble_pending_decls, | |
751 | cgraph_variable_initializer_availability): Rename to ... | |
752 | (varpool_first_unanalyzed_node, varpool_nodes_queue, | |
753 | varpool_first_unanalyzed_node, varpool_node, | |
754 | varpool_node_for_asm, varpool_mark_needed_node, | |
755 | varpool_finalize_decl, varpool_enqueue_needed_node, | |
756 | varpool_assemble_pending_decls, variable_initializer_availability): | |
757 | Rename to ... | |
758 | * tree.c (decl_assembler_name_equal): Move here from cgraph.c. | |
759 | * tree.h (decl_assembler_name_equal): Declare. | |
760 | * omp-low.c (lower_omp_critical): Update. | |
761 | * ipa-reference (analyze_variable, static_execute): Likewise. | |
762 | * toplev.c (wrapup_global_declaration_2, compile_file): Update. | |
763 | * cgraphunit.c: Update comments. | |
764 | (cgraph_varpool_assembled_nodes_queue): Move to varpool.c under name | |
765 | varpool_assembled_nodes_queue. | |
766 | (cgraph_varpool_analyze_pending_decls): Move to varpool.c under name | |
767 | varpool_analyze_pending_decls. | |
768 | (cgraph_varpool_remove_unreferenced_decls): Move to varpool.c under name | |
769 | varpool_remove_unreferenced_decls. | |
770 | (record_reference): Update. | |
771 | (cgraph_create_edges): Update. | |
772 | (record_referneces_in_initializer): New function. | |
773 | (cgraph_varpool_assemble_decl): Move to varpool.c under name | |
774 | varpool_assemble_decl; make global. | |
775 | (cgraph_varpool_assemble_pending_decls): Move to varpool.c under name | |
776 | varpool_assemble_pending_decls. | |
777 | (process_function_and_variable_attributes, cgraph_finalize_compilation_unit, | |
778 | struct cgraph_order_sort, cgraph_output_in_order, | |
779 | cgraph_function_and_variable_invisibility, cgraph_optimize, | |
780 | cgraph_increase_alignment): Update. | |
781 | * dwarf2out.c (decls_for_scope): Likewise. | |
782 | * ipa-type-escape.c (analyze_variable, type_escape_execute): Likewise. | |
783 | * except.c (output_ttype): Likewise. | |
784 | * varasm.c (mark_decl_referenced): Likewise. | |
785 | (find_decl_and_mark_referenced, assemble_alias): update. | |
786 | * Makefile.in: Add varpool.c, gt-varpool.c and remove gt-cgraphunit.c | |
787 | * passes.c (rest_of_decl_compilation): Update. | |
788 | ||
596e8f40 | 789 | 2006-12-11 Ira Rosen <irar@il.ibm.com> |
790 | ||
791 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Use | |
792 | GIMPLE_STMT_OPERAND. | |
793 | * tree-vect-transform.c (vect_permute_store_chain): Likewise. | |
794 | (vect_setup_realignment): Likewise. | |
795 | ||
3faa52bc | 796 | 2006-12-11 Sa Liu <saliu@de.ibm.com> |
797 | Ben Elliston <bje@au.ibm.com> | |
798 | ||
799 | * config/spu/spu-elf.h (STARTFILE_SPEC): Update. | |
800 | (ENDFILE_SPEC): Likewise. | |
801 | * config/spu/spu.opt (mstdmain): New option. | |
802 | * config/spu/crti.asm: Remove. | |
803 | * config/spu/crtn.asm: Likewise. | |
804 | * config/spu/crt0.c: Likewise. | |
805 | * config/spu/crtend.c: Likewise. | |
806 | * config/spu/t-spu-elf (EXTRA_MULTILIB_PARTS): Remove crt0 files | |
807 | listed above. | |
808 | ($(T)crti.o, $(T)crtn.o, $(T)crt1.o, $(T)crtend1.o): Remove. | |
809 | * doc/invoke.texi (SPU Options): Document -mstdmain. | |
810 | ||
0c3c2e56 | 811 | 2006-12-10 Zdenek Dvorak <dvorakz@suse.cz> |
812 | ||
813 | * doc/loop.texi: Document number_of_latch_executions and | |
814 | number_of_cond_exit_executions. | |
815 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
816 | chrec_is_positive, number_of_iterations_for_all_loops, | |
817 | scev_const_prop): Use number_of_latch_executions. | |
818 | (set_nb_iterations_in_loop): Do not increase the value of the | |
819 | number of iterations. | |
820 | (number_of_iterations_in_loop): Renamed to ... | |
821 | (number_of_latch_executions): ... this. | |
822 | (number_of_exit_cond_executions): New function. | |
823 | * tree-scalar-evolution.h (number_of_iterations_in_loop): Declaration | |
824 | removed. | |
825 | (number_of_latch_executions, number_of_exit_cond_executions): Declare. | |
826 | * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Use | |
827 | number_of_latch_executions. | |
828 | * tree-data-ref.c (get_number_of_iters_for_loop): Use | |
829 | number_of_exit_cond_executions. | |
830 | * tree-vect-analyze.c (vect_get_loop_niters): Ditto. | |
831 | * cfgloop.h (struct loop): Improve description of the nb_iterations | |
832 | field. | |
833 | ||
fee18fdb | 834 | 2006-12-10 Daniel Berlin <dberlin@dberlin.org> |
835 | ||
836 | * tree-ssa-alias.c (compact_name_tags): Use sort_tags_by_id. | |
837 | (tree_pointer_compare): Remove. | |
838 | ||
17519ba0 | 839 | 2006-12-10 Zdenek Dvorak <dvorakz@suse.cz> |
840 | ||
841 | * tree-vrp.c (adjust_range_with_scev): Use get_chrec_loop. | |
842 | * loop-unswitch.c (unswitch_loops): Use FOR_EACH_LOOP. | |
843 | * tree-loop-linear.c (linear_transform_loops): Ditto. | |
844 | * tree-ssa-loop-im.c (determine_lsm): Ditto. | |
845 | * tree-ssa-loop-niter.c (estimate_numbers_of_iterations, | |
846 | free_numbers_of_iterations_estimates): Ditto. | |
847 | * tree_ssa_unswitch_loops (tree_ssa_unswitch_loops): Ditto. | |
848 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
849 | * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto. | |
850 | * modulo-sched.c (sms_schedule): Ditto. | |
851 | * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables, | |
852 | tree_unroll_loops_completely): Ditto. | |
853 | * predict.c (predict_loops): Ditto. | |
854 | * tree-if-conv.c (main_tree_if_conversion): Ditto. | |
855 | * loop-unroll.c (unroll_and_peel_loops, peel_loops_completely, | |
856 | decide_unrolling_and_peeling): Ditto. | |
857 | * cfgloopmanip.c (unloop): Use delete_loop. | |
858 | (place_new_loop): Access larray vector instead of parray. | |
859 | (create_preheaders, force_single_succ_latches, | |
860 | fix_loop_structure): Use FOR_EACH_LOOP and delete_loop.. | |
861 | * loop-doloop.c (doloop_optimize_loops): Ditto. | |
862 | * loop-invariant.c (move_loop_invariants): Ditto. | |
863 | * tree-cfg.c (replace_uses_by): Ditto. | |
864 | * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Ditto. | |
865 | * tree-chrec.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE): | |
866 | Moved to ... | |
867 | * tree.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE): | |
868 | ... here. | |
869 | * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop, | |
870 | compute_overall_effect_of_inner_loop, chrec_is_positive): Use | |
871 | get_loop and get_chrec_loop. | |
872 | (number_of_iterations_for_all_loops): Use number_of_loops. | |
873 | (scev_initialize, scev_reset, scev_const_prop): Use FOR_EACH_LOOP. | |
874 | * tree-scalar-evolution.h (get_chrec_loop): New inline function. | |
875 | * cfgloopanal.c (mark_irreducible_loops): Use number_of_loops, | |
876 | and FOR_EACH_LOOP. | |
877 | * tree-chrec.c (evolution_function_is_invariant_rec_p, | |
878 | chrec_convert_1): Use get_loop and get_chrec_loop. | |
879 | * loop-init.c (loop_optimizer_init): Use number_of_loops. | |
880 | (loop_optimizer_init): Use FOR_EACH_LOOP. | |
881 | * tree-vectorizer.c (vect_loops_num): Removed. | |
882 | (vectorize_loops): Store number of loops locally. Use | |
883 | FOR_EACH_LOOP and get_loop. | |
884 | * tree-vectorizer.h (vect_loops_num): Removed. | |
885 | * tree-data-ref.c (get_number_of_iters_for_loop): Use get_loop. | |
886 | (find_data_references_in_loop): Do not set parallel_p. | |
887 | * tree-data-ref.h: Do not declare VEC(loop_p). | |
888 | * cfgloop.c (flow_loops_dump, mark_single_exit_loops, | |
889 | verify_loop_structure): Use FOR_EACH_LOOP. | |
890 | (flow_loops_free): Use FOR_EACH_LOOP, free larray vector. | |
891 | (initialize_loops_parallel_p): Removed. | |
892 | (flow_loops_find): Push the loops into a vector. | |
893 | (delete_loop): New function. | |
894 | (cancel_loop): Use delete_loop. | |
895 | * cfgloop.h: Declare VEC(loop_p). | |
896 | (struct loop): Remove parallel_p field. | |
897 | (struct loops): Replace num and parray field by larray vector. | |
898 | Remove shared_headers field. | |
899 | (delete_loop): Declare. | |
900 | (get_loop, get_loops, number_of_loops, fel_next, fel_init, | |
901 | FOR_EACH_LOOP): New. | |
902 | * doc/loop.tex: Document new accessor functions. | |
903 | ||
2d043327 | 904 | 2006-12-10 Andrew MacLeod <amacleod@redhat.com> |
905 | ||
906 | * common.opt (-ftree-lrs): Remove live range splitting option. | |
907 | * makefile.in: Add tree-ssa-coalesce.o and reduce header dependancies. | |
908 | * opts.c (decode_options): Remove flag_tree_live_range_split. | |
909 | * tree-flow.h (struct var_ann_d): Rename fields from root_ to base_. | |
910 | * tree-flow-inline.h (single_imm_use_p): New. Check for single use. | |
911 | * tree-outof-ssa.c: Remove header files which aren't needed. | |
912 | (SSANORM_*): Remove flags. | |
913 | (print_exprs_edge, coalesce_abnormal_edges, coalesce_phi_operands, | |
914 | coalesce_result_decls_and_copies, coalesce_asm_operands): Remove. | |
915 | (coalesce_ssa_name): Move to tree-ssa-coalesce.c. | |
916 | (assign_vars): Use Basevar instead of root_var structure. | |
917 | (replace_def_variable): Dont do anything if def is replaceable. | |
918 | (remove_ssa_form): Integrate functional changes. | |
919 | (rewrite_out_of_ssa): Remove live-range_split option. | |
920 | * tree-ssa-coalesce.c: New File for ssa-name coalescing. | |
921 | (coalesce_cost): Calculate the cost of a coalesce. | |
922 | (coalesce_cost_bb): Calculate the coalesce cost within a BB. | |
923 | (coalesce_cost_edge): Calculate the coalesce cost on an edge. | |
924 | (pop_cost_one_pair): Remove the best coalesce with cost 1 from the list. | |
925 | (pop_best_coalesce): Remove the best coalesce from the list. | |
926 | (coalesce_pair_map_hash): Calculate coalesce pair hash. | |
927 | (coalesce_pair_map_eq): Compare 2 coalesce pairs for hash function. | |
928 | (create_coalesce_list): Create a coalesce list object. | |
929 | (delete_coalesce_list): Free a coalesce list object. | |
930 | (find_coalesce_pair): Find matching pair in the coalesce list. | |
931 | (add_cost_one_coalesce): Add a coalesce to the "cost one" list. | |
932 | (add_coalesce): Add a coalesce to the coalesce list. | |
933 | (compare_pairs): Comparision function to determine pair sorted order. | |
934 | (num_coalesce_pairs): Number of coalesced pairs. | |
935 | (first_coalesce_pair, end_coalesce_pair_p, next_coalesce_pair): | |
936 | Coalesce pair iterator functions. | |
937 | (sort_coalesce_list): Sort coalesce pairs in order of expense. | |
938 | (dump_coalesce_list): Show coalesce list. | |
939 | (ssa_conflicts_new): Create an SSA conflict graph. | |
940 | (ssa_conflicts_delete): Delete an SSA conflict graph. | |
941 | (ssa_conflicts_test_p): Test for conflicts. | |
942 | (ssa_conflicts_add_one): Add a single conflict. | |
943 | (ssa_conflicts_add): Add a conflict pair. | |
944 | (ssa_conflicts_merge): Merge conflicts. | |
945 | (struct live_track_d): Struct for tracking live partitions. | |
946 | (new_live_track): Create new live_track object. | |
947 | (delete_live_track): Delete a live_track object. | |
948 | (live_track_remove_partition): Remove a partition from the live list. | |
949 | (live_track_add_partition): Add a partition from the live list. | |
950 | (live_track_clear_var): Take VAR from the live list. | |
951 | (live_track_live_p): Is var live? | |
952 | (live_track_process_use): Make var come alive. | |
953 | (live_track_process_def): Make var go dead, add conflicts. | |
954 | (live_track_init): Initialize to a live on exit set. | |
955 | (live_track_clear_base_vars): Clear live partitions. | |
956 | (build_ssa_conflict_graph): Build a conflict graph. | |
957 | (print_exprs): Common debug output routine. | |
958 | (abnormal_corrupt): Output info about a failed coalesce across an | |
959 | abnormal edge. | |
960 | (fail_abnormal_edge_coalesce): Output info about a failed MUST_COALESCE. | |
961 | (create_outofssa_var_map): Create a var map and coalesce list. | |
962 | (attempt_coalesce): Coalesce a pair. | |
963 | (coalesce_partitions): Coalesce all pairs in a coalesce list. | |
964 | (coalesce_ssa_name): Entry point. Determine what ssa_names to coalesce. | |
965 | * tree-ssa-live.c: Remove header files which aren't needed. | |
966 | (var_map_base_init): New. Initialize a basevar list. | |
967 | (var_map_base_fini): New. Finish a basevar list. | |
968 | (init_var_map): Initialize new fields. | |
969 | (delete_var_map): Free new fields. | |
970 | (var_union): Use renamed fields. | |
971 | (compact_var_map): Remove. | |
972 | (partition_to_view_init): Use renamed fields, change order of an if. | |
973 | (partition_view_fini): Use renamed fields. | |
974 | (partition_view_normal): Create basevar list if requested. | |
975 | (partition_view_bitmap): Create a view based on a bitmap of partitions. | |
976 | (change_partition_var): Use renamed fields. | |
977 | (create_ssa_var_map): Remove. | |
978 | (tpa_init, tpa_remove_partition, tpa_delete, tpa_compact, | |
979 | root_var_init): Remove. | |
980 | (partition_pair_map_hash, partition_pair_map_eq, create_coalesce_list, | |
981 | delete_coalesce_list, find_partition_pair, coalesce_cost, add_coalesce, | |
982 | compare_pairs, num_coalesce_pairs, first_partition_pair, | |
983 | end_partition_pair_p, next_partition_pair, sort_coalesce_list, | |
984 | pop_best_coalesce, add_conflicts_if_valid, set_if_valid, | |
985 | build_tree_conflict_graph, coalesce_tpa_members, dump_coalesce_list, | |
986 | tpa_dump): Moved to tree-ssa-coalesce.c and/or renamed there. | |
987 | (dump_var_map): Use renamed fields. | |
988 | * tree-ssa-live.h (struct _var_map): Modify fields. | |
989 | (partition_to_var, version_to_var, var_to_partition): Use renamed | |
990 | fields. | |
991 | (basevar_index): New. Index of the base variable of a partition. | |
992 | (num_basevars): New. Number of unique base variables in partition map. | |
993 | (register_ssa_partition): Use renamed fields. | |
994 | (struct tree_partition_associator_d): Remove. | |
995 | (tpa_num_trees, tpa_tree, tpa_first_partition, tpa_next_partition, | |
996 | tpa_find_tree, tpa_decompact, root_var_init, root_var_num, | |
997 | root_var, root_var_first_partition, root_var_next_partition, | |
998 | root_var_dump, root_var_delete, root_var_remove_partition, | |
999 | root_var_find, root_var_compact, root_var_decompact): Remove. | |
1000 | (struct partition_pair, struct coalesce_list_d): Moved to | |
1001 | tree-ssa-coalesce.c | |
1002 | * tree-ssa-ter.c: Remove header files which aren't needed. | |
1003 | ||
be22716f | 1004 | 2006-12-10 Steven Bosscher <steven@gcc.gnu.org> |
1005 | ||
1006 | * cse.c: (struct cse_basic_block_data): Remove LAST field. | |
1007 | (struct branch_path): Remove BRANCH and TAKEN fields. Add new | |
1008 | BB field. | |
1009 | (cse_visited_basic_blocks): New static bitmap. | |
1010 | (cse_end_of_basic_block, cse_basic_block): Remove. | |
1011 | (cse_find_path, cse_dump_path, cse_prescan_path, | |
1012 | cse_extended_basic_block): New static functions. | |
1013 | (cse_insn): Don't CSE over setjmp calls. Use the CFG to find | |
1014 | basic block boundaries. Don't record jump equivalences here. | |
1015 | Update the CFG after doing in-place replacement of the SET_SRC. | |
1016 | (cse_main): Rewrite. Look for extended basic block headers | |
1017 | and call cse_extended_basic_block on them until all paths that | |
1018 | start at this header are exhausted. | |
1019 | (rest_of_handle_cse): Verify that the CFG is incrementally updated | |
1020 | and correct after cse_main. | |
1021 | Don't call delete_trivially_dead_insns, let cfgcleanup do that. | |
1022 | (rest_of_handle_cse2): Verify the CFG here, too, after cse_main. | |
1023 | (pass_cse): Add TODO_verify_flow. | |
1024 | (pass_cse2): Likewise. | |
1025 | ||
0fe7e658 | 1026 | 2006-12-10 Rask Ingemann Lambertsen <rask@sygehus.dk> |
1027 | ||
1028 | * reload1.c (choose_reload_regs): Don't set byte offset when | |
1029 | resolving subregs of hard regs. | |
1030 | ||
8e332e0e | 1031 | 2006-12-09 Zack Weinberg <zackw@panix.com> |
1032 | ||
1033 | * c-opts.c (c_common_parse_file): Unconditionally give a warning, | |
1034 | suitable for the language, if set_yydebug is true. | |
1035 | * c-pragma.h: Define enum pragma_omp_clause here. Don't define | |
1036 | YYDEBUG or declare yydebug. | |
1037 | * c-parser.c (yydebug, enum pragma_omp_clause): Delete. | |
1038 | ||
b326746d | 1039 | 2006-12-09 Jan Hubicka <jh@suse.cz> |
1040 | ||
1041 | * cgraph.c: Update copyright. | |
1042 | * cgraph.h: Likewise | |
1043 | (cgraph_update_pending_function): Remove prototype. | |
1044 | * cgraphunit.c: Update copyright; update overall comment. | |
1045 | (cgraph_assemble_pending_functions): Make local. | |
1046 | ||
e99de389 | 1047 | 2006-12-09 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
1048 | ||
1049 | * haifa-sched.c (schedule_block): Remove excessive sanity check. | |
1050 | ||
dea01258 | 1051 | 2006-12-08 Trevor Smigiel <trevor_smigiel@playstation.sony.com> |
1052 | ||
1053 | * config/spu/spu-protos.h (spu_split_immediate): Renamed from | |
1054 | spu_split_address. | |
1055 | (cpat_const_p, gen_cpat_const): Add. | |
1056 | * config/spu/spu.c (immediate_class): New enum. | |
1057 | (cpat_info, classify_immediate): New. | |
1058 | (print_operand): Use S, D, T instead of F, G, H. Use | |
1059 | classify_immediate. Handle cpat cases. | |
1060 | (spu_split_immediate): Renamed from spu_split_address. Split all | |
1061 | immediates that can be split. | |
1062 | (immediate_load_p): Use classify_immediate. | |
1063 | (spu_legitimate_constant_p): Accept everything except some cases of | |
1064 | CONST_VECTOR. | |
1065 | (spu_expand_move): Use spu_split_immedate. | |
1066 | (fsmbi_const_p): Use classify_immediate. | |
1067 | (cpat_const_p): New. | |
1068 | (gen_cpat_const: New. | |
1069 | * config/spu/constraints.md (j,k,l): New constraints for cpat | |
1070 | instructions. | |
1071 | * config/spu/spu.md (unnamed splitter): Change address splitter to | |
1072 | handle all immediates. | |
1073 | (_mov<mode>, _movdi, _movti): Handle i, j, k constraints for cpat | |
1074 | instructions. | |
1075 | (cpat, _cpat, splitter): Generate a TImode constant for cpat patterns | |
1076 | when possible. | |
1077 | ||
b26090ec | 1078 | 2006-12-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1079 | ||
1080 | PR target/30039 | |
1081 | * pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit | |
1082 | patterns. Correct length of high:DI instruction sequence. | |
1083 | ||
9afd7ce4 | 1084 | 2006-12-08 Mike Stump <mrs@apple.com> |
1085 | ||
1086 | * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build | |
1087 | libgcc with -mmacosx-version-min=10.4. | |
1088 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to | |
1089 | G4 for 10.5+ unless doing kernel builds. | |
1090 | ||
59ae5d2f | 1091 | 2006-12-08 Uros Bizjak <ubizjak@gmail.com> |
1092 | ||
1093 | PR target/30120 | |
1094 | * reg-stack.c (convert_regs_entry): Mark current argument passing | |
1095 | registers as live. | |
1096 | ||
1097 | * config/i386/i386.h (X87_REGPARM_MAX): Set to 0 to disable passing | |
1098 | of float arguments in x87 registers. | |
1099 | ||
4f2e9ceb | 1100 | 2006-12-08 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca> |
1101 | ||
1102 | * pa.h (LEGITIMATE_CONSTANT_P): Simplify. | |
1103 | ||
cad2a6b5 | 1104 | 2006-12-08 Mark Shinwell <shinwell@codesourcery.com> |
1105 | ||
1106 | * recog.c (mode_dependent_address_p): Identify pre-increment, | |
1107 | pre-decrement, post-increment and post-decrement addressing as always | |
1108 | being mode-dependent. | |
1109 | * config/m32c/m32c.c (m32c_mode_dependent_address): Delete. | |
1110 | * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1111 | * config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete. | |
1112 | * config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC, | |
1113 | PRE_INC and POST_INC checks. | |
1114 | * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1115 | * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1116 | * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1117 | * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1118 | * config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC, | |
1119 | PRE_INC, POST_DEC and POST_INC cases. | |
1120 | * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p): | |
1121 | Delete POST_INC and PRE_DEC cases. | |
1122 | * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to | |
1123 | no-op. | |
1124 | * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1125 | * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to | |
1126 | no-op. | |
1127 | * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1128 | * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1129 | * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete | |
1130 | PRE_INC and PRE_DEC cases. | |
1131 | * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1132 | * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1133 | * config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete. | |
1134 | (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1135 | * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1136 | * config/vax/vax.c (vax_mode_dependent_address_p): Delete | |
1137 | auto-increment cases. | |
1138 | * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete | |
1139 | auto-increment cases. | |
1140 | * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op. | |
1141 | ||
bdf50f60 | 1142 | 2006-12-08 Andrew MacLeod <amacleod@redhat.com> |
1143 | ||
1144 | * Makefile.in: Add new file tree-ssa-ter.c. | |
8e332e0e | 1145 | * tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table, |
1146 | free_temp_expr_table, add_value_to_version_list, | |
1147 | add_value_to_partition_list, remove_value_from_partition_list, | |
1148 | add_dependence, check_replaceable, finish_expr, mark_replaceable, | |
1149 | kill_expr, kill_virtual_exprs, find_replaceable_in_bb, | |
bdf50f60 | 1150 | find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c. |
1151 | * tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add | |
1152 | prototypes. | |
1153 | * tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c. | |
1154 | (struct value_expr_d): Remove. | |
1155 | (struct temp_expr_table_d): Rename fields, add explicit vector of | |
8e332e0e | 1156 | replaceable expressions instead of sharing. Change value_expr_p's to |
bdf50f60 | 1157 | bitmap. Delete free_list. |
1158 | (new_temp_expr_table): Rename fields, count number of ssa_names in | |
1159 | each partition. | |
1160 | (free_temp_expr_table): Rename field, free new fields. | |
1161 | (new_value_expr, free_value_expr, find_value_in_list, add_value_to_list, | |
1162 | add_info_to_list, remove_value_from_list): Delete. | |
1163 | (version_to_be_replaced_p): New. Is an ssa-name replaceable? | |
1164 | (make_dependent_on_partition): New. Set bit in version list, allocating | |
1165 | a bitmap if need be. | |
1166 | (add_to_partition_kill_list): New. Set bit in the partition list, | |
1167 | allocating a bitmap if need be. | |
1168 | (remove_from_partition_kill_list): New. Remove a bit from the | |
1169 | partition list, free the bitmap if it is empty. | |
1170 | (add_dependence): Use renamed field, cleanup. Don't add a dependence | |
1171 | on partitions with only one member. | |
8e332e0e | 1172 | (is_replaceable_p): New. Split out replaceability check from |
bdf50f60 | 1173 | check_replaceable. |
1174 | (process_replaceable): New. Code split from check_replaceable. | |
1175 | (check_replaceable): Removed. | |
1176 | (finished_with_expr): Renamed from finish_expr. | |
1177 | (kill_expr): Use renamed fields and less parameters. | |
1178 | (kill_virtual_exprs): Less parameters. | |
1179 | (mark_replaceable): Use renamed fields. | |
1180 | (find_replaceable_in_bb): Use renamed fields, cleanup. | |
1181 | (find_replaceable_exprs): Use renamed routines, cleanup. | |
1182 | (dump_replaceable_exprs): Don't go past end of ssa_names list. | |
1183 | (debug_ter): New. Debug routine to dump state. | |
1184 | ||
4c359296 | 1185 | 2006-12-08 Bernd Schmidt <bernd.schmidt@analog.com> |
1186 | ||
1187 | * config/bfin/bfin.c (effective_address_32bit_p): Return true for | |
1188 | anything involving the GOT. | |
1189 | (bfin_adjust_cost): Don't take the REGNO of a MEM. | |
1190 | (trapping_loads_p): Look inside the pattern of an insn to find the | |
1191 | SET. | |
1192 | * config/bfin/bfin.md (attr "type"): Add movcc. | |
1193 | (insn_reservation "alu"): Likewise. | |
1194 | (movsicc_insn1, movsicc_insn2): Change type to movcc. | |
1195 | ||
828ce6b1 | 1196 | 2006-12-07 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1197 | ||
1198 | * config/spu/spu-c.c (spu_build_overload_builtin): Delete. | |
1199 | (spu_resolve_overloaded_builtin): Check for non scalar instead | |
aab193ac | 1200 | of vector type and check the function call argument type also for |
1201 | non scalar. | |
828ce6b1 | 1202 | Call build_function_call instead of spu_build_overload_builtin. |
1203 | ||
171b6d22 | 1204 | 2006-12-07 Trevor Smigiel <trevor_smigiel@playstation.sony.com> |
1205 | ||
1206 | * config/spu/spu.c (array_to_constant): Correct the order of arguments | |
1207 | to the calls of hwint_to_const_double. | |
1208 | ||
729dff88 | 1209 | 2006-12-07 Nick Clifton <nickc@redhat.com> |
1210 | ||
1211 | * config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to | |
1212 | elf_record_gcc_switches. | |
1213 | ||
de556b32 | 1214 | 2006-12-07 Andrew Macleod <amacleod@redhat.com> |
1215 | ||
1216 | * expr.c (string_constant): Account for non-zero lower bound arrays. | |
1217 | ||
5a84ba55 | 1218 | 2006-12-07 Richard Guenther <rguenther@suse.de> |
1219 | ||
1220 | * builtins.c (expand_builtin_pow): Adjust predicates for | |
1221 | pow to cbrt expansion to unsafe math and !HONOR_NANS for | |
1222 | negative base. | |
1223 | ||
c43a8a1a | 1224 | 2006-12-07 Jan Hubicka <jh@suse.cz> |
1225 | ||
1226 | * i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset | |
1227 | codegen. | |
1228 | ||
14dc13e5 | 1229 | 2006-12-07 Jan Hubicka <jh@suse.cz> |
1230 | ||
1231 | * tree-vrp.c (compare_values): Short circuit INTEGER_CST; | |
1232 | use fold_constant_to_binary; tolerate wrong type constants. | |
1233 | (value_intersect_p): Do just two tests. | |
1234 | ||
5af6d8d8 | 1235 | 2006-12-07 Bernd Schmidt <bernd.schmidt@analog.com> |
1236 | ||
1237 | * config/bfin/bfin.c (print_operand): New modifier 'N' for constants. | |
1238 | * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3, | |
1239 | lshifthi3): Use it, and fix the order of alternatives. | |
1240 | ||
7c6733e8 | 1241 | 2006-12-07 Nick Clifton <nickc@redhat.com> |
1242 | ||
1243 | * common.opt (record-gcc-switches): New command line switch. | |
1244 | * target.h (print_switch_type): New enum. | |
1245 | (print_switch_fn_type): New typedef for a function pointer. | |
1246 | (struct gcc_target): Add record_gcc_switches and | |
1247 | record_gcc_switches_section fields. | |
1248 | * target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a | |
8e332e0e | 1249 | default definition. |
7c6733e8 | 1250 | (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default |
1251 | definition. | |
1252 | * toplev.c (print_single_switch): Simplify by providing a | |
1253 | pointer to function that will format and output the switch | |
1254 | appropriately. | |
1255 | (print_switch_values): Likewise. | |
1256 | (print_to_asm_out_file): New function. | |
1257 | (print_to_stderr): New function. | |
1258 | (init_asm_output): If flag_record_gcc_switches is set then if | |
8e332e0e | 1259 | the target supports recording the switches then emit them into |
1260 | the assembler output file, otherwise tell the user that the | |
1261 | switch is not supported. | |
7c6733e8 | 1262 | * varasm.c (eld_record_gcc_switches): New function. Example |
1263 | handler for the record_gcc_switches target hook. | |
1264 | * doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new | |
1265 | target hook. | |
1266 | (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise. | |
1267 | * doc/invoke.texi (-frecord-gcc-switches): Document. | |
1268 | ||
90bf0a00 | 1269 | 2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
1270 | ||
1271 | PR target/29794 | |
1272 | * sched-rgn.c (add_block1): Use correct initializer. | |
1273 | ||
8c143b64 | 1274 | 2006-12-07 Richard Guenther <rguenther@suse.de> |
1275 | ||
1276 | * tree-vect-transform.c (vectorizable_call): Fix leftover of | |
1277 | TREE_OPERAND to GIMPLE_STMT_OPERAND conversion. | |
1278 | ||
33b1284b | 1279 | 2006-12-06 Aldy Hernandez <aldyh@redhat.com> |
1280 | ||
1281 | PR/30079 | |
1282 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR | |
1283 | not GIMPLE_MODIFY_STMT. | |
1284 | ||
7e8bc5b6 | 1285 | 2006-12-06 Jan Hubicka <jh@suse.cz> |
1286 | ||
1287 | * tree-vrp.c (operand_less_p): New. | |
1288 | (compare_values, value_inside_range): Rewrite in terms of | |
1289 | operand_less_p. | |
1290 | ||
69858f81 | 1291 | 2006-12-06 Uros Bizjak <ubizjak@gmail.com> |
1292 | ||
1293 | * config/i386/i386.md (DIRFLAG_REG): Remove constant. | |
1294 | (type): Remove cld. | |
1295 | (length_immediate): Do not depend on cld type attribute. | |
1296 | (length_address): Ditto. | |
1297 | (modrm): Ditto. | |
1298 | (memory): Ditto. | |
1299 | (cld): Remove insn pattern. | |
1300 | (strmov_singleop): Do not use DIRFLAG_REG. | |
1301 | (*strmovdi_rex_1): Ditto. | |
1302 | (*strmovsi_1): Ditto. | |
1303 | (*strmovsi_rex_1): Ditto. | |
1304 | (*strmovhi_1): Ditto. | |
1305 | (*strmovhi_rex_1): Ditto. | |
1306 | (*strmovqi_1): Ditto. | |
1307 | (*strmovqi_rex_1): Ditto. | |
1308 | (rep_mov): Ditto. | |
1309 | (*rep_movdi_rex64): Ditto. | |
1310 | (*rep_movsi): Ditto. | |
1311 | (*rep_movsi_rex64): Ditto. | |
1312 | (*rep_movqi): Ditto. | |
1313 | (*rep_movqi_rex64): Ditto. | |
1314 | (strset_singleop): Ditto. | |
1315 | (*strsetdi_rex_1): Ditto. | |
1316 | (*strsetsi_1): Ditto. | |
1317 | (*strsetsi_rex_1): Ditto. | |
1318 | (*strsethi_1): Ditto. | |
1319 | (*strsethi_rex_1): Ditto. | |
1320 | (*strsetqi_1): Ditto. | |
1321 | (*strsetqi_rex_1): Ditto. | |
1322 | (rep_stos): Ditto. | |
1323 | (*rep_stosdi_rex64): Ditto. | |
1324 | (*rep_stossi): Ditto. | |
1325 | (*rep_stossi_rex64): Ditto. | |
1326 | (*rep_stosqi): Ditto. | |
1327 | (*rep_stosqi_rex64): Ditto. | |
1328 | (cmpstrnsi): Do not generate cld insn. | |
1329 | (cmpstrnqi_nz_1): Do not use DIRFLAG_REG. | |
1330 | (*cmpstrnqi_nz_1): Ditto. | |
1331 | (*cmpstrnqi_nz_rex_1): Ditto. | |
1332 | (cmpstrnqi_1): Ditto. | |
1333 | (*cmpstrnqi_1): Ditto. | |
1334 | (*cmpstrnqi_rex_1): Ditto. | |
1335 | (strlenqi_1): Ditto. | |
1336 | (*strlenqi_1): Ditto. | |
1337 | (*strlenqi_rex_1): Ditto. | |
1338 | ||
1339 | * config/i386/geode.md (shift): Do not depend on cld type attribute. | |
1340 | * config/i386/pentium.md (pent_cld): Remove insn reservation. | |
1341 | * config/i386/athlon.md (athlon_decode): Do not depend on cld | |
1342 | type attribute. | |
1343 | * config/i386/ppro.md (ppro_cld): Remove insn reservation. | |
1344 | * config/i386/k6.md (k6_alux_only): Do not depend on cld type | |
1345 | attribute. | |
1346 | (k6_alux_only_load): Ditto. | |
1347 | (k6_alux_only_store): Ditto. | |
1348 | ||
1349 | * config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean. | |
1350 | Do not emit cld instruction. | |
1351 | (ix86_expand_setmem): Ditto. | |
1352 | (ix86_expand_strlen): Do not emit cld instruction. | |
1353 | ||
f84f5dae | 1354 | 2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com> |
1355 | ||
1356 | * config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak | |
1357 | old ones. | |
1358 | ||
979f9661 | 1359 | 2006-12-06 Diego Novillo <dnovillo@redhat.com> |
1360 | ||
1361 | * gdbinit.in: Set complaints to 0. | |
1362 | ||
f65ffe0d | 1363 | 2006-12-06 Jan Hubicka <jh@suse.cz> |
1364 | ||
1365 | * statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO, | |
1366 | ALONE_MEM_STAT_DECL): New macros. | |
1367 | * bitmap.h: Include statistics.h | |
1368 | (struct bitmap_head_def): Add variant with pointer to bitmap descriptor. | |
1369 | (bitmap_initialize_stat): Rename from bitmap_initialize; add statistics. | |
1370 | (bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare. | |
1371 | * bitmap.c: Include hashtab.h | |
1372 | (bitmap_descriptor): New. | |
1373 | (bitmap_hash): New static variable | |
1374 | (hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead): | |
1375 | New static functions. | |
1376 | (bitmap_register): New. | |
1377 | (bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from, | |
1378 | bitmap_obstack_release): Do accounting. | |
1379 | (bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do | |
1380 | accounting. | |
1381 | (bitmap_gc_alloc_stat): Likewise. | |
1382 | (bitmap_obstack_free, bitmap_find_bit): Do statictics. | |
1383 | (print_statistics, dump_bitmap_statistics): New functions. | |
1384 | * toplev.c (finalize): Dump bitmap statistics. | |
1385 | ||
ac6a6c76 | 1386 | 2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com> |
1387 | ||
1388 | * reload1.c (delete_output_reload): Count occurrences in | |
1389 | CALL_INSN_FUNCTION_USAGE. | |
1390 | * rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without | |
1391 | crashing at the end of the list. | |
1392 | ||
60f34e6a | 1393 | 2006-12-05 Daniel Berlin <dberlin@dberlin.org> |
1394 | ||
1395 | * tree-ssa-structalias.c (set_used_smts): Re-fix pr29156. | |
1396 | Optimize to avoid marking more SMT's as used when they aren't. | |
1397 | ||
b04b3710 | 1398 | 2006-12-05 Eric Christopher <echristo@apple.com> |
1399 | ||
1400 | * config/i386/i386.c (x86_output_aligned_bss): Move out | |
1401 | of COMMON_ASM_OP ifdef. | |
1402 | ||
0be93128 | 1403 | 2006-12-05 Eric Christopher <echristo@apple.com> |
1404 | ||
1405 | * config/darwin.h (DARWIN_EXTRA_SPECS): New. | |
1406 | (STARTFILE_SPEC): Use. | |
1407 | (DARWIN_DYLIB1_SPEC): New. | |
1408 | (DARWIN_CRT1_SPEC): New. | |
1409 | * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use | |
1410 | DARWIN_EXTRA_SPECS. | |
1411 | * config/i386/darwin.h: Ditto. | |
1412 | * config/rs6000/darwin.h: Ditto. | |
1413 | ||
cfd24df1 | 1414 | 2006-12-05 Daniel Berlin <dberlin@dberlin.org> |
1415 | ||
1416 | * tree-vrp.c (pass_vrp): Remove PROP_smt_usage. | |
1417 | * tree-complex.c (pass_lower_complex): Ditto. | |
1418 | * tree-ssa-ccp.c (pass_ccp): Ditto. | |
1419 | (pass_store_ccp): Ditto. | |
1420 | * tree-ssa-dom.c (pass_dominator): Ditto. | |
1421 | (pass_phi_only_cprop): Ditto. | |
1422 | * tree-sra.c (pass_sra): Ditto. | |
1423 | * tree-ssa-forwprop.c (pass_forwprop): Ditto. | |
1424 | * tree-flow.h (updating_used_alone): Remove. | |
1425 | (updating_used_alone): Ditto. | |
1426 | * tree-ssa-alias.c (updating_used_alone): Remove variable. | |
1427 | (lhs_may_store_to): Remove function. | |
1428 | (recalculate_used_alone): Ditto. | |
1429 | (compute_may_aliases): Remove used_alone calculation. | |
1430 | * tree.h (struct tree_memory_tag): Remove is_used_alone and | |
1431 | old_used_alone. Remove SMT_USED_ALONE and SMT_OLD_USED_ALONE. | |
1432 | * tree-pass.h (PROP_smt_usage): Remove. | |
1433 | * passes.c (execute_todo): Remove used alone recalculation. | |
1434 | (execute_one_pass): Ditto. | |
1435 | * tree-ssa-operands.c (add_virtual_operand): Remove used_alone | |
1436 | stuff. | |
1437 | ||
8bb2c2a2 | 1438 | 2006-12-05 Brooks Moses <brooks.moses@codesourcery.com> |
1439 | ||
1440 | * doc/include/texinfo.tex: Update to version 2006-11-08.17. | |
1441 | ||
5ad82f18 | 1442 | 2006-12-05 Zdenek Dvorak <dvorakz@suse.cz> |
1443 | ||
1444 | PR tree-optimization/14784 | |
1445 | * tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix. | |
1446 | ||
35cc02b5 | 1447 | 2006-12-05 Aldy Hernandez <aldyh@redhat.com> |
1448 | ||
1449 | Merge from gimple-tuples-branch. | |
1450 | ||
1451 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
1452 | ||
6b75d5f9 | 1453 | * config/s390/s390.c (s390_va_start): Replace MODIFY_EXPR with |
1454 | GIMPLE_MODIFY_STMT. | |
1455 | (s390_gimplify_va_arg): Same. | |
1456 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Same. | |
1457 | * config/sh/sh.c (sh_va_start): Same. | |
1458 | (sh_gimplify_va_arg_expr): Same. | |
1459 | * config/xtensa/xtensa.c (xtensa_va_start): Same. | |
1460 | (xtensa_gimplify_va_arg_expr): Same. | |
1461 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Same. | |
1462 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Same. | |
1463 | * config/mips/mips.c (mips_va_start): Same. | |
1464 | (mips_gimplify_va_arg_expr): Same. | |
35cc02b5 | 1465 | |
1466 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
1467 | ||
6b75d5f9 | 1468 | * Merge from mainline at revision 119445. |
35cc02b5 | 1469 | |
1470 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
1471 | ||
6b75d5f9 | 1472 | * config/spu/spu.c (spu_va_start): Change MODIFY_EXPR to |
1473 | GIMPLE_MODIFY_STMT. | |
1474 | (spu_gimplify_va_arg_expr): Same. | |
35cc02b5 | 1475 | |
1476 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
1477 | ||
6b75d5f9 | 1478 | * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start): |
1479 | Change uses of MODIFY_EXPR to GIMPLE_MODIFY_STMT. | |
1480 | (xstormy16_expand_builtin_va_arg): Same. | |
35cc02b5 | 1481 | |
1482 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
1483 | ||
6b75d5f9 | 1484 | * config/frv/frv.c (frv_expand_builtin_va_start): Change MODIFY_EXPR |
1485 | to GIMPLE_MODIFY_STMT. | |
35cc02b5 | 1486 | |
1487 | 2006-12-04 Aldy Hernandez <aldyh@redhat.com> | |
1488 | ||
6b75d5f9 | 1489 | * config/alpha/alpha.c (va_list_skip_additions): Change all |
35cc02b5 | 1490 | occurrences of MODIFY_EXPR to GIMPLE_MODIFY_STMT. |
6b75d5f9 | 1491 | (alpha_va_start): Same. |
1492 | (alpha_gimplify_va_arg_1): Same. | |
1493 | (alpha_gimplify_va_arg): Same. | |
35cc02b5 | 1494 | |
1495 | 2006-12-01 Aldy Hernandez <aldyh@redhat.com> | |
1496 | ||
1497 | * gimplify.c (gimplify_modify_expr): Remove FIXME comment. | |
1498 | ||
1499 | 2006-12-01 Aldy Hernandez <aldyh@redhat.com> | |
1500 | ||
6b75d5f9 | 1501 | * tree-ssa-loop-im.c: Rename all PROTECTED_TREE_OPERAND to |
1502 | GENERIC_TREE_OPERAND, and all PROTECTED_TREE_TYPE to | |
1503 | GENERIC_TREE_TYPE. | |
1504 | * tree-complex.c: Same. | |
1505 | * tree-pretty-print.c: Same. | |
1506 | * tree.c: Same. | |
1507 | * tree.h: Same. | |
1508 | * builtins.c: Same. | |
1509 | * fold-const.c: Same. | |
1510 | * tree-ssa-dom.c: Same. | |
1511 | * tree-ssa-propagate.c: Same. | |
1512 | * tree-ssa-alias.c: Same. | |
1513 | * gimple-low.c: Same. | |
1514 | * dwarf2out.c: Same. | |
1515 | * c-pretty-print.c: Same. | |
1516 | * gimplify.c: Same. | |
1517 | * tree-inline.c: Same. | |
1518 | * tree-outof-ssa.c: Same. | |
1519 | * tree-ssa-structalias.c: Same. | |
1520 | * tree-ssa-reassoc.c: Same. | |
1521 | * stmt.c: Same. | |
35cc02b5 | 1522 | |
1523 | 2006-11-16 Aldy Hernandez <aldyh@redhat.com> | |
1524 | ||
6b75d5f9 | 1525 | * tree.c (build2_stat): Fix comment. |
35cc02b5 | 1526 | |
1527 | 2006-11-13 Aldy Hernandez <aldyh@redhat.com> | |
1528 | ||
6b75d5f9 | 1529 | * tree-ssa-propagate.c (get_rhs): Use GIMPLE_MODIFY_STMT and |
1530 | TREE_OPERAND when appropriate. | |
35cc02b5 | 1531 | |
1532 | 2006-11-04 Aldy Hernandez <aldyh@redhat.com> | |
1533 | ||
6b75d5f9 | 1534 | * java/java-tree.h (lang_tree_node): Handle gimple tuples. |
1535 | (EXPR_WFL_EMIT_LINE_NOTE): Look inside base. | |
1536 | (EXPR_WFL_LINECOL): Use EXPR_LOCUS macro instead of exp.locus. | |
1537 | * java/java-gimplify.c (java_gimplify_expr): Comment on why we do | |
1538 | not handle GIMPLE_MODIFY_STMT in the switch statement. | |
1539 | (java_gimplify_modify_expr): Call build2 with GIMPLE_MODIFY_STMT. | |
1540 | (java_gimplify_new_array_init): Same. | |
35cc02b5 | 1541 | |
1542 | 2006-11-03 Aldy Hernandez <aldyh@redhat.com> | |
1543 | ||
6b75d5f9 | 1544 | * gimplify.c (gimplify_omp_for): Allow gimple statements. |
1545 | * tree-outof-ssa.c (check_replaceable): Use PROTECTED_TREE_OPERAND. | |
1546 | * fold-const.c (fold_binary): Allow gimple statements. | |
1547 | (fold): Same. | |
1548 | * fortran/trans-array.c (gfc_conv_descriptor_data_set_internal): | |
1549 | Rename from gfc_conv_descriptor_data_set. | |
1550 | Call gfc_add_modify instead of gfc_add_modify_expr. | |
1551 | * fortran/trans-array.h (gfc_conv_descriptor_data_set_internal): | |
1552 | Rename from gfc_conv_descriptor_data_set. | |
1553 | (gfc_conv_descriptor_data_set): New macro. | |
1554 | (gfc_conv_descriptor_data_set_tuples): New macros. | |
1555 | * fortran/trans-openmp.c (gfc_omp_clause_default_ctor): Call | |
1556 | gfc_conv_descriptor_data_set_tuples. | |
1557 | * fortran/trans.c (gfc_add_modify): Rename from gfc_add_modify_expr. | |
1558 | Generate GIMPLE_MODIFY_STMT when appropriate. | |
1559 | * fortran/trans.h (gfc_add_modify): Rename from gfc_add_modify_expr. | |
1560 | (gfc_add_modify_expr): New macro. | |
1561 | (gfc_add_modify_stmt): New macro. | |
1562 | * fortran/f95-lang.c (lang_tree_node): Handle gimple statements. | |
35cc02b5 | 1563 | |
35cc02b5 | 1564 | 2006-11-01 Aldy Hernandez <aldyh@redhat.com> |
1565 | ||
1566 | * Merge from mainline at revision 118200. | |
1567 | ||
1568 | 2006-10-09 Aldy Hernandez <aldyh@redhat.com> | |
1569 | ||
1570 | * tree-inline.c (copy_bb): Check for GIMPLE_MODIFY_STMT, and adjust | |
1571 | accordingly. | |
1572 | ||
1573 | 2006-10-09 Aldy Hernandez <aldyh@redhat.com> | |
1574 | ||
6b75d5f9 | 1575 | * tree.h (TREE_CHAIN, TREE_TYPE): Add versions for non GCC or not |
35cc02b5 | 1576 | enable checking. |
6b75d5f9 | 1577 | Also, add __extension__ to GCC versions. |
1578 | * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE. | |
1579 | * tree-inline.c (copy_tree_r): Initialize chain to assuage the warning | |
35cc02b5 | 1580 | patrol. |
1581 | ||
1582 | 2006-10-05 Aldy Hernandez <aldyh@redhat.com> | |
1583 | ||
1584 | * tree-complex.c (expand_complex_libcall): Adjust for | |
1585 | GIMPLE_MODIFY_STMT. | |
1586 | (expand_complex_comparison): Same. | |
1587 | * tree-pretty-print.c (dump_generic_node): Is_expr should include | |
1588 | GIMPLE_STMT_P statements. | |
1589 | * value-prof.c (tree_divmod_fixed_value_transform): Adjust for | |
1590 | GIMPLE_MODIFY_STMT. | |
1591 | (tree_mod_pow2_value_transform): Same. | |
1592 | (tree_mod_subtract_transform): Same. | |
1593 | * tree.c (build2_stat): Check for gimplified function in cfun. | |
1594 | * tree.h (DECL_GIMPLIFIED): Delete. | |
1595 | (struct tree_function_decl): Remove gimplified_flag. | |
1596 | * omp-low.c (lower_omp_for): Adjust for GIMPLE_MODIFY_STMT. | |
1597 | * cp/cp-gimplify.c (cp_gimplify_expr): Adjust for GIMPLE_MODIFY_STMT. | |
1598 | (cxx_omp_clause_apply_fn): Adjust for GIMPLE_MODIFY_STMT. | |
1599 | (cxx_omp_clause_copy_ctor): Same. | |
1600 | (cxx_omp_clause_assign_op): Same. | |
1601 | * c-pretty-print.c (pp_c_conditional_expression): Same. | |
1602 | (pp_c_expression): Same. | |
1603 | * langhooks.c (lhd_omp_predetermined_sharing): Same. | |
1604 | * function.h (struct function): Add gimplified field. | |
1605 | * tree-if-conv.c (add_to_dst_predicate_list): Adjust for | |
1606 | GIMPLE_MODIFY_STMT. | |
1607 | (find_phi_replacement_condition): Same. | |
1608 | * gimplify.c (gimplify_modify_expr_to_memcpy): Same. | |
1609 | (gimplify_modify_expr_to_memset): Same. | |
1610 | (gimplify_init_ctor_eval_range): Same. | |
1611 | (gimplify_modify_expr_complex_part): Same. | |
1612 | (tree_to_gimple_tuple): Same. | |
1613 | (gimplify_modify_expr): Same. | |
1614 | (gimple_push_cleanup): Same. | |
1615 | (gimplify_omp_for): Same. | |
1616 | (gimplify_omp_atomic_pipeline): Same. | |
1617 | (gimplify_omp_atomic_mutex): Same. | |
1618 | (gimplify_expr): Same. | |
1619 | (gimplify_one_sizepos): Same. | |
1620 | (gimplify_function_tree): Same. | |
1621 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Same. | |
1622 | (vect_recog_widen_sum_pattern): Same. | |
1623 | * tree-vect-transform.c (get_initial_def_for_reduction): Same. | |
1624 | (vect_create_epilog_for_reduction): Same. | |
1625 | (vectorizable_reduction): Same. | |
1626 | ||
1627 | 2006-09-28 Aldy Hernandez <aldyh@redhat.com> | |
1628 | ||
6b75d5f9 | 1629 | * tree-ssa-math-opts.c (replace_reciprocal): Use GIMPLE_STMT_OPERAND. |
1630 | * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): Same. | |
1631 | (ifc_temp_var): Same. | |
1632 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Check | |
35cc02b5 | 1633 | for gimple statements. |
6b75d5f9 | 1634 | (vect_analyze_operations): Same. |
1635 | (exist_non_indexing_operands_for_use_p): Use GIMPLE_STMT_OPERAND. | |
1636 | * gimplify.c (gimplify_return_expr): Handle gimple statements. | |
1637 | * lambda-code.c (can_put_in_inner_loop): Same. | |
1638 | (can_put_after_inner_loop): Same. | |
1639 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same. | |
1640 | (vect_create_data_ref_ptr): Same. | |
1641 | (vect_init_vector): Same. | |
1642 | (vect_get_vec_def_for_operand): Same. | |
1643 | (vect_create_epilog_for_reduction): Same. | |
1644 | (vectorizable_reduction): Same. | |
1645 | (vectorizable_assignment): Same. | |
1646 | (vectorizable_operation): Same. | |
1647 | (vectorizable_load): Same. | |
1648 | (vectorizable_condition): Same. | |
1649 | * config/rs6000/rs6000.c (rs6000_va_start): Do not create MODIFY_EXPRs. | |
1650 | (rs6000_gimplify_va_arg): Same. | |
35cc02b5 | 1651 | |
1652 | 2006-09-25 Aldy Hernandez <aldyh@redhat.com> | |
1653 | ||
6b75d5f9 | 1654 | * tree-vrp.c (simplify_div_or_mod_using_ranges): Use |
1655 | GIMPLE_STMT_OPERAND. | |
1656 | (simplify_abs_using_ranges): Same. | |
1657 | * tree-complex.c (expand_complex_operations_1): Use | |
1658 | PROTECTED_TREE_OPERAND. | |
1659 | * tree-ssa-loop-niter.c (simplify_replace_tree): Check for gimple | |
1660 | stmt. | |
1661 | (get_val_for): Use GIMPLE_STMT_OPERAND. | |
1662 | * tree-tailcall.c (adjust_accumulator_values): Same. | |
1663 | (adjust_return_value): Same. | |
1664 | * tree.c (walk_tree): Use IS_GIMPLE_STMT_CODE_CLASS on default | |
1665 | case. Remove special case for tcc_gimple_stmt. | |
1666 | * tree.h (CAN_HAVE_LOCATION_P): New. | |
1667 | * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Check for | |
1668 | GIMPLE_STMT_P. | |
1669 | * tree-stdarg.c (va_list_counter_bump): Use GIMPLE_STMT_OPERAND. | |
1670 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Same. | |
1671 | * tree-nrv.c (execute_return_slot_opt): Same. | |
1672 | * tree-ssa-alias.c (count_uses_and_derefs): Check for GIMPLE_STMT_P. | |
1673 | * tree-vn.c (set_value_handle): Same. | |
1674 | (get_value_handle): Same. | |
1675 | * c-decl.c (add_stmt): Use CAN_HAVE_LOCATION_P. | |
1676 | * tree-vectorizer.c (find_loop_location): Same. | |
1677 | * c-typeck.c (c_process_expr_stmt): Same. | |
1678 | (c_finish_stmt_expr): Same. | |
1679 | * gimplify.c (should_carry_locus_p): Same. | |
1680 | (tree_to_gimple_tuple): Delete definition and use of unecessary | |
1681 | variable save_tree_block. | |
1682 | * tree-ssa-pre.c (phi_translate): Check for GIMPLE_STMT_P. | |
1683 | (create_expression_by_pieces): Use GIMPLE_STMT_OPERAND. | |
1684 | (realify_fake_stores): Same. | |
1685 | * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_arr): | |
1686 | Use TREE_OPERAND. | |
1687 | * tree-inline.c (copy_body_r): Check for EXPR_P and GIMPLE_STMT_P. | |
1688 | (copy_tree_r): Check for IS_GIMPLE_STMT_CODE_CLASS. | |
1689 | * tree-cfg.c (move_stmt_r): Use EXPR_P. Check for GIMPLE_STMT_P. | |
1690 | * c-parser.c (c_parser_typeof_specifier): Use CAN_HAVE_LOCATION_P. | |
1691 | (c_parser_statement_after_labels): Same. | |
1692 | (c_parser_paren_condition): Same. | |
1693 | (c_parser_for_statement): Same. | |
1694 | (c_parser_omp_for_loop): Same. | |
1695 | * tree-ssa-reassoc.c (linearize_expr): Use GIMPLE_STMT_OPERAND. | |
1696 | (linearize_expr_tree): Same. | |
1697 | * dwarf2out.c (reference_to_unused): Check for GIMPLE_STMT_P. | |
1698 | * function.c (instantiate_expr): Same. | |
35cc02b5 | 1699 | |
1700 | 2006-09-22 Aldy Hernandez <aldyh@redhat.com> | |
1701 | ||
6b75d5f9 | 1702 | * tree.c (expr_location): Use GIMPLE_STMT_LOCUS. |
1703 | (set_expr_location): Same. | |
1704 | (expr_locus): Same. | |
1705 | (set_expr_locus): Same. | |
1706 | (expr_filename): Same. | |
1707 | (expr_lineno): Same. | |
1708 | (tree_block): Use GIMPLE_STMT_BLOCK. | |
1709 | (protected_tree_operand): Use GIMPLE_STMT_OPERAND. | |
1710 | * tree.h (struct gimple_stmt): Remove prev and next. | |
1711 | (GIMPLE_STMT_OPERAND_CHECK): New. | |
1712 | (TREE_TO_GIMPLE_STMT): Delete. | |
1713 | (GIMPLE_STMT_TO_TREE): Delete. | |
1714 | (GIMPLE_STMT_OPERAND): Use union, not cast. | |
1715 | (GIMPLE_STMT_LOCUS): New. | |
1716 | (GIMPLE_STMT_BLOCK): New. | |
1717 | * gimplify.c (tree_to_gimple_tuple): Use union. Do not cast | |
1718 | to tree_base. | |
1719 | * tree-cfg.c (verify_gimple_tuples_1): Call gcc_unreachable. | |
35cc02b5 | 1720 | |
1721 | 2006-09-21 Aldy Hernandez <aldyh@redhat.com> | |
1722 | ||
6b75d5f9 | 1723 | * tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Change common.base |
1724 | to base. | |
1725 | * tree-tailcall.c (adjust_return_value): Same. | |
1726 | * tree.c (tree_code_size): Remove GIMPLE_STATEMENT_LIST case. | |
1727 | (copy_node_stat): Change common.base to base. | |
1728 | (tree_node_structure): Return TS_GIMPLE_STATEMENT for tcc_gimple_stmt. | |
1729 | Remove GIMPLE_STATEMENT_LIST case. | |
1730 | * tree.h (struct gimple_stmt): Make operands of type tree. | |
1731 | (TREE_CODE, TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL, | |
1732 | CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN, | |
1733 | TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED, | |
1734 | TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC, | |
1735 | TYPE_CACHED_VALUES_P, TREE_SIDE_EFFECTS, FORCED_LABEL, | |
1736 | TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY, | |
1737 | TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED, | |
1738 | BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, TREE_USED, | |
1739 | TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, DECL_BY_REFERENCE, | |
1740 | CALL_FROM_THUNK_P, TYPE_ALIGN_OK, TREE_PRIVATE, TREE_PROTECTED, | |
1741 | TREE_DEPRECATED, IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT, | |
1742 | TREE_LANG_FLAG_*, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, | |
1743 | SSA_NAME_IN_FREE_LIST, TYPE_VOLATILE, TYPE_READONLY, BINFO_VIRTUAL_P): | |
1744 | Change common.base to base. | |
1745 | (GIMPLE_STATEMENT_LIST*): Remove. | |
1746 | (union tree_node): Add base. Remove gimple_statement_list. | |
1747 | Remove pointer from gstmt. | |
1748 | * tree-ssa-propagate.c (set_rhs): Change common.base to base. | |
1749 | * treestruct.def: Add TS_BASE. Remove TS_GIMPLE_STATEMENT_LIST. | |
1750 | * tree-vn.c (vn_compute): Change common.base to base. | |
1751 | * tree-eh.c (verify_eh_throw_stmt_node): Same. | |
1752 | * tree-flow-inline.h (var_ann): Same. | |
1753 | (function_ann): Same. | |
1754 | (stmt_ann): Same. | |
1755 | (mark_non_addressable): Same. | |
1756 | * gimplify.c (tree_to_gimple_tuple): Same. | |
1757 | * tree.def (DEFTREECODE): Remove GIMPLE_STATEMENT_LIST. | |
1758 | * tree-dfa.c (create_var_ann): Change common.base to base. | |
1759 | (create_function_ann): Same. | |
1760 | (create_stmt_ann): Same. | |
1761 | (create_tree_ann): Same. | |
1762 | (collect_dfa_stats_r): Same. | |
1763 | * tree-ssa-pre.c (NECESSARY): Change common.base to base. | |
1764 | * tree-ssa-dce.c (NECESSARY): Same. | |
1765 | * tree-ssa.c (delete_tree_ssa): Same. | |
1766 | * tree-optimize.c (execute_free_cfg_annotations): Same. | |
1767 | * tree-flow.h: Same. | |
35cc02b5 | 1768 | |
1769 | 2006-09-19 Aldy Hernandez <aldyh@redhat.com> | |
1770 | ||
6b75d5f9 | 1771 | * tree.c (tree_code_size): Handle GIMPLE_STATEMENT_LIST. |
1772 | (tree_node_structure): Handle GIMPLE_STATEMENT_LIST and | |
35cc02b5 | 1773 | GIMPLE_MODIFY_STMT. |
6b75d5f9 | 1774 | * tree.h (struct gimple_stmt): Add prev and next fields. |
35cc02b5 | 1775 | (GIMPLE_STMT_TO_TREE): Cast, do not call GIMPLE_STMT_CHECK. |
1776 | (GIMPLE_STATEMENT_LIST_HEAD): New. | |
1777 | (GIMPLE_STATEMENT_LIST_TAIL): New. | |
1778 | (struct gimple_statement_list): New. | |
1779 | (union tree_node): Add gimple_stmt_list and gstmt. | |
6b75d5f9 | 1780 | * treestruct.def: Add TS_GIMPLE_STATEMENT_LIST, TS_GIMPLE_STATEMENT. |
1781 | * tree.def: Add GIMPLE_STATEMENT_LIST. | |
35cc02b5 | 1782 | |
1783 | 2006-09-06 Aldy Hernandez <aldyh@redhat.com> | |
1784 | ||
1785 | * tree-dump.c (dequeue_and_dump): Handle GIMPLE_MODIFY_STMT. | |
1786 | * tree-vrp.c (build_assert_expr_for): Change uses of | |
1787 | MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. | |
1788 | (find_assert_locations): Same. | |
1789 | (remove_range_assertions): Same. | |
1790 | (stmt_interesting_for_vrp): Same. | |
1791 | (vrp_visit_assignment): Same. | |
1792 | (vrp_visit_stmt): Same. | |
1793 | (simplify_cond_using_ranges): Same. | |
1794 | * tree-into-ssa.c (REGISTER_DEFS_IN_THIS_STMT): Adjust for new | |
1795 | tree structure. | |
1796 | * tree-ssa-loop-im.c (movement_possibility): Change uses of | |
1797 | MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. | |
1798 | (stmt_cost): Same. | |
1799 | (determine_invariantness_stmt): Same. | |
1800 | (schedule_sm): Same. | |
1801 | (gather_mem_refs_stmt): Same. | |
1802 | * tree-complex.c (init_dont_simulate_again): Same. | |
1803 | (complex_visit_stmt): Same. | |
1804 | (set_component_ssa_name): Same. | |
1805 | (expand_complex_move): Same. | |
1806 | (expand_complex_div_wide): Same. | |
1807 | (expand_complex_comparison): Same. | |
1808 | (expand_complex_operations_1): Same. | |
1809 | * tree-ssa-loop-niter.c (expand_simple_operations): Same. | |
1810 | (chain_of_csts_start): Same. | |
1811 | (infer_loop_bounds_from_undefined): Same. | |
1812 | * tree-pretty-print.c (dump_generic_node): Same. | |
1813 | (op_prio): Same. | |
1814 | (op_symbol_1): Same. | |
1815 | * tree-ssa-loop-manip.c (create_iv): Same. | |
1816 | * value-prof.c (tree_divmod_fixed_value): Same. | |
1817 | (tree_divmod_fixed_value_transform): Same. | |
1818 | (tree_mod_pow2): Same. | |
1819 | (tree_mod_pow2_value_transform): Same. | |
1820 | (tree_mod_subtract): Same. | |
1821 | (tree_mod_subtract_transform): Same. | |
1822 | (tree_divmod_values_to_profile): Same. | |
1823 | * tree-tailcall.c (process_assignment): Same. | |
1824 | (find_tail_calls): Same. | |
1825 | (adjust_accumulator_values): Same. | |
1826 | (adjust_return_value): Same. | |
1827 | (eliminate_tail_call): Same. | |
1828 | * tree.c (tree_code_size): Handle tcc_gimple_stmt. | |
1829 | (make_node_stat): Same. | |
1830 | (copy_node_stat): Handle gimple tuples. | |
1831 | (expr_align): Handle GIMPLE_MODIFY_STMT. Abort on MODIFY_EXPR. | |
1832 | (tree_node_structure): Handle tcc_gimple_stmt. | |
1833 | (build2_stat): Abort on MODIFY_EXPR after gimplification. Handle | |
1834 | tcc_gimple_stmt. | |
1835 | (build2_gimple_stat): New. | |
1836 | (expr_location): New. | |
1837 | (set_expr_location): New. | |
1838 | (expr_has_location): New. | |
1839 | (expr_locus): New. | |
1840 | (set_expr_locus): New. | |
1841 | (expr_filename): New. | |
1842 | (expr_lineno): New. | |
1843 | (walk_tree): Handle tcc_gimple_stmt. | |
1844 | (tree_block): New. | |
1845 | (protected_tree_operand): New. | |
1846 | (protected_tree_type): New. | |
1847 | (tree_code_kind): Add gimple statements. | |
1848 | * tree.h (tree_code_class): Add tcc_gimple_stmt. | |
1849 | (IS_GIMPLE_STMT_CODE_CLASS): New. | |
1850 | (struct tree_base): New. | |
1851 | (struct tree_common): Shrink. | |
1852 | (struct gimple_stmt): New. | |
1853 | (struct gimple_expr): New. | |
1854 | (TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL, | |
1855 | CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN, | |
1856 | TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED, | |
1857 | TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC, | |
1858 | TYPE_CACHED_VALUES_P, SAVE_EXPR_RESOLVED_P, TREE_SIDE_EFFECTS, | |
1859 | FORCED_LABEL, TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY, | |
1860 | TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED, | |
1861 | BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, | |
1862 | TREE_USED, TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, | |
1863 | DECL_BY_REFERENCE, CALL_FROM_THUNK_P, TYPE_ALIGN_OK, | |
1864 | TREE_PRIVATE, TREE_PROTECTED, TREE_DEPRECATED, | |
1865 | IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT, | |
1866 | TREE_LANG_FLAG_[0-6], SSA_NAME_CHECK, SSA_NAME_IN_FREE_LIST, | |
1867 | TYPE_VOLATILE, TYPE_READONLY, TREE_VISITED, BINFO_VIRTUAL_P): | |
1868 | Adjust for new `common' layout. | |
1869 | (struct tree_function_decl): Add gimplified_flag. | |
1870 | (DECL_GIMPLIFIED): NEW. | |
1871 | (EXPR_LOCATION, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LOCUS, | |
1872 | SET_EXPR_LOCUS, SET_EXPR_LOCATION, EXPR_LINENO, | |
1873 | EXPR_HAS_LOCATION): Call corresponding function. | |
1874 | (GIMPLE_STMT_CHECK): New. | |
1875 | (TREE_OPERAND_CHECK, TREE_TYPE, TREE_CHAIN): Abort on gimple tuples. | |
1876 | (TREE_BLOCK): Call tree_block. | |
1877 | (GIMPLE_STMT_P): New. | |
1878 | (GIMPLE_TUPLE_P): New. | |
1879 | (TREE_TO_GIMPLE_STMT): New. | |
1880 | (GIMPLE_STMT_TO_TREE): New. | |
1881 | (GIMPLE_STMT_OPERAND): New. | |
1882 | (GIMPLE_TUPLE_HAS_LOCUS_P): New. | |
1883 | (PROTECTED_TREE_OPERAND): New. | |
1884 | (PROTECTED_TREE_TYPE): New. | |
1885 | (build2_gimple_stat): Protoize. | |
1886 | (build2_gimple): New. | |
1887 | (expr_location): Protoize. | |
1888 | (set_expr_location): Protoize. | |
1889 | (expr_has_location): Protoize. | |
1890 | (expr_locus): Protoize. | |
1891 | (set_expr_locus): Protoize. | |
1892 | (expr_filename): Protoize. | |
1893 | (expr_lineno): Protoize. | |
1894 | (tree_block): Protoize. | |
1895 | (protected_tree_operand): Protoize. | |
1896 | (protected_tree_type): Protoize. | |
1897 | (enum tree_node_kind): Add gimple_stmt_kind. | |
1898 | * c-decl.c (union lang_tree_node): Tuples do not have a | |
1899 | TREE_CHAIN. | |
1900 | * ipa-cp.c (constant_val_insert): Change uses of MODIFY_EXPR to | |
1901 | GIMPLE_MODIFY_STMT and adjust accordingly. | |
1902 | * tree-scalar-evolution.c (follow_ssa_edge): Same. | |
1903 | (interpret_condition_phi): Same. | |
1904 | (pointer_used_p): Same. | |
1905 | (analyze_scalar_evolution_1): Same. | |
1906 | (scev_const_prop): Same. | |
1907 | (interpret_rhs_modify_stmt): Rename from | |
1908 | interpret_rhs_modify_expr. | |
1909 | * builtins.c (std_expand_builtin_va_start): Change uses of | |
1910 | MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly. | |
1911 | (std_gimplify_va_arg_expr): Same. | |
1912 | (expand_builtin_va_copy): Same. | |
1913 | (integer_valued_real_p): Same. | |
1914 | * fold-const.c (maybe_lvalue_p): Same. | |
1915 | (fold_unary): Same. | |
1916 | (tree_expr_nonnegative_p): Same. | |
1917 | (tree_expr_nonzero_p): Same. | |
1918 | * omp-low.c (extract_omp_for_data): Same. | |
1919 | (lower_rec_input_clauses): Same. | |
1920 | (lower_reduction_clauses): Same. | |
1921 | (lower_copyprivate_clauses): Same. | |
1922 | (lower_send_clauses): Same. | |
1923 | (lower_send_shared_vars): Same. | |
1924 | (expand_parallel_call): Same. | |
1925 | (expand_omp_parallel): Same. | |
1926 | (expand_omp_for_generic): Same. | |
1927 | (expand_omp_for_static_nochunk): Same. | |
1928 | (expand_omp_for_static_chunk): Same. | |
1929 | (expand_omp_sections): Same. | |
1930 | (lower_omp_single_copy): Same. | |
1931 | (lower_omp_parallel): Same. | |
1932 | * tree-ssa-dse.c (memory_address_same): Same. | |
1933 | (dse_optimize_stmt): Same. | |
1934 | * ipa-reference.c (scan_for_static_refs): Same. | |
1935 | * tree-gimple.c (is_gimple_reg_rhs): Same. | |
1936 | (get_call_expr_in): Same. | |
1937 | (recalculate_side_effects): Same. | |
1938 | * cgraphunit.c (cgraph_create_edges): Same. | |
1939 | * tree-ssa-copyrename.c (rename_ssa_copies): Same. | |
1940 | * tree-ssa-ccp.c (get_default_value): Same. | |
1941 | (likely_value): Same. | |
1942 | (visit_assignment): Same. | |
1943 | (ccp_visit_stmt): Same. | |
1944 | (get_maxval_strlen): Same. | |
1945 | (ccp_fold_builtin): Same. | |
1946 | * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Same. | |
1947 | (find_givs_in_stmt): Same. | |
1948 | (find_interesting_uses_op): Same. | |
1949 | (find_interesting_uses_stmt): Same. | |
1950 | (rewrite_use_nonlinear_expr): Same. | |
1951 | * ipa-pure-const.c (scan_function): Same. | |
1952 | * tree-stdarg.c (va_list_counter_bump): Same. | |
1953 | (check_all_va_list_escapes): Same. | |
1954 | (execute_optimize_stdarg): Same. | |
1955 | * tree-ssa-math-opts.c (compute_merit): Same. | |
1956 | (insert_reciprocals): Same. | |
1957 | (execute_cse_reciprocals): Same. | |
1958 | * tree-ssa-dom.c (initialize_hash_element): Same. | |
1959 | (simple_iv_increment_p): Same. | |
1960 | (record_equivalences_from_stmt): Same. | |
1961 | (optimize_stmt): Same. | |
1962 | (remove_stmt_or_phi): Same. | |
1963 | (get_rhs_or_phi_arg): Same. | |
1964 | (get_lhs_or_phi_result): Same. | |
1965 | (propagate_rhs_into_lhs): Same. | |
1966 | * tree-nrv.c (tree_nrv): Same. | |
1967 | (execute_return_slot_opt): Same. | |
1968 | * tree-ssa-propagate.c (get_rhs): Same. | |
1969 | (set_rhs): Same. | |
1970 | (stmt_makes_single_load): Same. | |
1971 | (stmt_makes_single_store): Same. | |
1972 | (replace_vuses_in): Same. | |
1973 | (fold_predicate_in): Same. | |
1974 | (substitute_and_fold): Same. | |
1975 | * tree-ssa-alias.c (compute_call_clobbered): Same. | |
1976 | (recalculate_used_alone): Same. | |
1977 | (count_uses_and_derefs): Same. | |
1978 | (is_escape_site): Same. | |
1979 | (find_used_portions): Same. | |
1980 | * gimple-low.c (lower_stmt): Same. | |
1981 | (block_may_fallthru): Same. | |
1982 | (lower_return_expr): Same. | |
1983 | * tree-ssa-sink.c (is_hidden_global_store): Same. | |
1984 | (statement_sink_location): Same. | |
1985 | * dwarf2out.c (loc_descriptor_from_tree_1): Same. | |
1986 | * expr.c (safe_from_p): Same. | |
1987 | (expand_expr_real): Same. | |
1988 | (expand_expr_real_1): Same. | |
1989 | * tree-ssa-loop-ivcanon.c (empty_loop_p): Same. | |
1990 | * predict.c (expr_expected_value): Same. | |
1991 | (strip_builtin_expect): Same. | |
1992 | (apply_return_prediction): Same. | |
1993 | (tree_bb_level_predictions): Same. | |
1994 | (tree_estimate_probability): Same. | |
1995 | * tree-vn.c (vn_compute): Same. | |
1996 | * tree-eh.c (add_stmt_to_eh_region_fn): Same. | |
1997 | (remove_stmt_from_eh_region_fn): Same. | |
1998 | (do_return_redirection): Same. | |
1999 | (honor_protect_cleanup_actions): Same. | |
2000 | (lower_try_finally_switch): Same. | |
2001 | (lower_eh_constructs_1): Same. | |
2002 | (tree_could_throw_p): Same. | |
2003 | (verify_eh_throw_stmt_node): Same. | |
2004 | * function.c (gimplify_parameters): Same. | |
2005 | * tree-vectorizer.c (vect_is_simple_use): Same. | |
2006 | (vect_is_simple_reduction): Same. | |
2007 | * ipa-type-escape.c (scan_for_refs): Same. | |
2008 | * tree-if-conv.c (tree_if_conversion): Same. | |
2009 | (tree_if_convert_stmt): Same. | |
2010 | (if_convertible_gimplify_modify_stmt_p): Rename from | |
2011 | if_convertible_modify_expr_p. | |
2012 | (if_convertible_stmt_p): Adjust for GIMPLE_MODIFY_STMT. | |
2013 | (ifc_temp_var): Same. | |
2014 | (replace_phi_with_cond_modify_stmt): Rename from | |
2015 | replace_phi_with_cond_modify_expr. | |
2016 | (process_phi_nodes): Call replace_phi_with_cond_modify_stmt. | |
2017 | * tree.def (DEFTREECODE): Add GIMPLE_MODIFY_STMT. | |
2018 | * tree-data-ref.c (find_data_references_in_loop): Adjust for | |
2019 | GIMPLE_MODIFY_STMT. | |
2020 | * tree-flow-inline.h (var_ann): Same. | |
2021 | (function_ann): Same. | |
2022 | (stmt_ann): Same. | |
2023 | (mark_non_addressable): Same. | |
2024 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Same. | |
2025 | * gimplify.c (tree_to_gimple_tuple): New. | |
2026 | (build_stack_save_restore): Adjust for GIMPLE_MODIFY_STMT. | |
2027 | (gimplify_return_expr): Same. | |
2028 | (gimplify_decl_expr): Same. | |
2029 | (gimplify_self_mod_expr): Same. | |
2030 | (gimplify_cond_expr): Same. | |
2031 | (gimplify_init_constructor): Same. | |
2032 | (gimplify_modify_expr): Same. | |
2033 | (gimplify_expr): Same. | |
2034 | (gimplify_function_tree): Same. | |
2035 | (force_gimple_operand): Same. | |
2036 | * tree-ssa-phiopt.c (conditional_replacement): Same. | |
2037 | (minmax_replacement): Same. | |
2038 | (abs_replacement): Same. | |
2039 | * tree-dfa.c (create_var_ann): Same. | |
2040 | (create_function_ann): Same. | |
2041 | (create_stmt_ann): Same. | |
2042 | (create_tree_ann): Same. | |
2043 | (collect_dfa_stats_r): Same. | |
2044 | * tree-ssa-pre.c (find_or_generate_expression): Same. | |
2045 | (create_expression_by_pieces): Same. | |
2046 | (try_look_through_load): Same. | |
2047 | (insert_fake_stores): Same. | |
2048 | (realify_fake_stores): Same. | |
2049 | (compute_avail): Same. | |
2050 | (eliminate): Same. | |
2051 | (init_pre): Same. | |
2052 | (poolify_modify_stmt): Rename from poolify_modify_stmt. | |
2053 | Adjust for GIMPLE_MODIFY_STMT. | |
2054 | (NECESSARY): Adjust for new `common' layout. | |
2055 | * tree-ssa-live.c (build_tree_conflict_graph): Adjust for | |
2056 | GIMPLE_MODIFY_STMT. | |
2057 | * tree-sra.c (sra_walk_modify_stmt): Rename from | |
2058 | sra_walk_modify_expr. | |
2059 | (sra_walk_function): Adjust for GIMPLE_MODIFY_STMT. | |
2060 | (generate_copy_inout): Same. | |
2061 | (generate_element_copy): Same. | |
2062 | (generate_element_zero): Same. | |
2063 | (scalarize_copy): Same. | |
2064 | * tree-mudflap.c (mf_decl_cache_locals): Same. | |
2065 | (mf_build_check_statement_for): Same. | |
2066 | (mf_xform_derefs): Same. | |
2067 | * ipa-prop.c (ipa_method_modify_stmt): Same. | |
2068 | * print-tree.c (print_node): Handle gimple tuples. | |
2069 | Add case for tcc_gimple_stmt. | |
2070 | * tree-ssa-copy.c (stmt_may_generate_copy): Adjust for | |
2071 | GIMPLE_MODIFY_STMT. | |
2072 | (copy_prop_visit_assignment): Same. | |
2073 | (copy_prop_visit_stmt): Same. | |
2074 | (init_copy_prop): Same. | |
2075 | * tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): Same. | |
2076 | (forward_propagate_into_cond_1): Same. | |
2077 | (find_equivalent_equality_comparison): Same. | |
2078 | (tidy_after_forward_propagate_addr): Same. | |
2079 | (forward_propagate_addr_expr_1): Same. | |
2080 | (simplify_not_neg_expr): Same. | |
2081 | (simplify_switch_expr): Same. | |
2082 | * tree-ssa-dce.c (find_pdom): Same. | |
2083 | (mark_stmt_if_obviously_necessary): Same. | |
2084 | (NECESSARY): Adjust for new `common' layout. | |
2085 | * tree-flow.h: Same. | |
2086 | * tree-vect-patterns.c (widened_name_p): Adjust for | |
2087 | GIMPLE_MODIFY_STMT. | |
2088 | (vect_recog_dot_prod_pattern): Same. | |
2089 | (vect_recog_widen_sum_pattern): Same. | |
2090 | (vect_pattern_recog_1): Same. | |
2091 | * tree-nested.c (init_tmp_var): Same. | |
2092 | (save_tmp_var): Same. | |
2093 | (walk_stmts): Same. | |
2094 | (convert_call_expr): Same. | |
2095 | (finalize_nesting_tree_1): Same. | |
2096 | * tree-ssa.c (verify_ssa): Same. | |
2097 | (delete_tree_ssa): Same. | |
2098 | * lambda-code.c (lbv_to_gcc_expression): Same. | |
2099 | (lle_to_gcc_expression): Same. | |
2100 | (lambda_loopnest_to_gcc_loopnest): Same. | |
2101 | (can_put_in_inner_loop): Same. | |
2102 | (can_convert_to_perfect_nest): Same. | |
2103 | (perfect_nestify): Same. | |
2104 | * tree-ssa-loop-prefetch.c (gather_memory_references): Same. | |
2105 | * tree-inline.c (copy_body_r): Same. | |
2106 | (setup_one_parameter): Same. | |
2107 | (initialize_inlined_parameters): Same. | |
2108 | (estimate_num_insns_1): Same. | |
2109 | (expand_call_inline): Same. | |
2110 | (gimple_expand_calls_inline): Same. | |
2111 | (copy_tree_r): Same. | |
2112 | * tree-optimize.c (execute_free_cfg_annotations): Same. | |
2113 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same. | |
2114 | (vect_align_data_ref): Same. | |
2115 | (vect_create_data_ref_ptr): Same. | |
2116 | (vect_init_vector): Same. | |
2117 | (vect_create_epilog_for_reduction): Same. | |
2118 | (vectorizable_reduction): Same. | |
2119 | (vectorizable_assignment): Same. | |
2120 | (vectorizable_operation): Same. | |
2121 | (vectorizable_store): Same. | |
2122 | (vectorizable_load): Same. | |
2123 | (vectorizable_live_operation): Same. | |
2124 | (vectorizable_condition): Same. | |
2125 | (vect_generate_tmps_on_preheader): Same. | |
2126 | (vect_create_cond_for_align_checks): Same. | |
2127 | * tree-object-size.c (collect_object_sizes_for): Same. | |
2128 | (check_for_plus_in_loops_1): Same. | |
2129 | (check_for_plus_in_loops): Same. | |
2130 | * tree-outof-ssa.c (insert_copy_on_edge): Same. | |
2131 | (replace_use_variable): Same. | |
2132 | (check_replaceable): Same. | |
2133 | (rewrite_trees): Same. | |
2134 | (identical_copies_p): Same. | |
2135 | (insert_backedge_copies): Same. | |
2136 | * tree-profile.c (tree_gen_edge_profiler): Same. | |
2137 | * tree-vect-generic.c (expand_vector_operations_1): Same. | |
2138 | * tree-ssa-structalias.c (update_alias_info): Same. | |
2139 | (find_func_aliases): Same. | |
2140 | * tree-cfg.c (factor_computed_gotos): Same. | |
2141 | (make_edges): Same. | |
2142 | (make_goto_expr_edges): Same. | |
2143 | (tree_merge_blocks): Same. | |
2144 | (remove_useless_stmts_cond): Same. | |
2145 | (remove_useless_stmts_1): Same. | |
2146 | (tree_find_edge_insert_loc): Same. | |
2147 | (verify_expr): Same. | |
2148 | (gimplify_val): Same. | |
2149 | (verify_gimple_tuples_1): New. | |
2150 | (verify_gimple_tuples): New. | |
2151 | (verify_stmts): Call verify_gimple_tuples. | |
2152 | * tree-ssa-reassoc.c (get_rank): Adjust for GIMPLE_MODIFY_STMT. | |
2153 | (get_unary_op): Same. | |
2154 | (linearize_expr): Same. | |
2155 | (get_single_immediate_use): Same. | |
2156 | (negate_value): Same. | |
2157 | (should_break_up_subtract): Same. | |
2158 | (break_up_subtract): Same. | |
2159 | (repropagate_negates): Same. | |
2160 | (break_up_subtract_bb): Same. | |
2161 | (reassociate_bb): Same. | |
2162 | * config/i386/i386.c (ix86_va_start): Same. | |
2163 | (ix86_gimplify_va_arg): Same. | |
2164 | * stmt.c (expand_expr_stmt): Same. | |
2165 | (warn_if_unused_value): Same. | |
2166 | (expand_return): Same. | |
2167 | * tree-ssanames.c (make_ssa_name): Same. | |
2168 | * tree-ssa-threadedge.c (lhs_of_dominating_assert): Same. | |
2169 | * tree-ssa-operands.c (finalize_ssa_defs): Same. | |
2170 | (add_virtual_operand): Same. | |
2171 | (get_expr_operands): Same. | |
2172 | (parse_ssa_operands): Same. | |
2173 | (get_modify_stmt_operands): Rename from get_modify_expr_operands. | |
2174 | ||
fc297ba4 | 2175 | 2006-12-05 H.J. Lu <hongjiu.lu@intel.com> |
2176 | ||
2177 | * config.host: Remove extra blank line. | |
2178 | ||
f097fe9c | 2179 | 2006-12-05 Bernd Schmidt <bernd.schmidt@analog.com> |
2180 | ||
2181 | * config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if | |
2182 | target is also an x86 variant. | |
2183 | ||
fcd2028f | 2184 | 2006-12-05 Richard Guenther <rguenther@suse.de> |
2185 | ||
2186 | * config/i386/i386.c (ix86_builtin_vectorized_function): Declare. | |
2187 | (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define. | |
2188 | (ix86_builtin_vectorized_function): New function to vectorize | |
2189 | sqrt. | |
2190 | ||
25d323e6 | 2191 | 2006-12-05 Bernd Schmidt <bernd.schmidt@analog.com> |
2192 | ||
2193 | * config/bfin/bfin.c (output_file_start): Fix comment which referred to | |
2194 | ia64_override_options. | |
2195 | ||
15083ac3 | 2196 | 2006-12-04 Jan Hubicka <jh@suse.cz> |
2197 | ||
2198 | * cfgexpand.c (expand_one_var): Guard expand_one_stack_var by | |
2199 | really_expand. | |
2200 | ||
48df5a7f | 2201 | 2006-12-04 Bernd Schmidt <bernd.schmidt@analog.com> |
2202 | ||
2203 | * rtlanal.c (note_uses): Deal with SEQUENCEs. | |
2204 | * config/bfin/bfin.c: Include "timevar.h". | |
2205 | (bfin_flag_schedule_insns2, splitting_for_sched, | |
2206 | bfin_flag_var_tracking): New variables. | |
2207 | (print_operand): Handle '%!'. | |
2208 | (override_options): Disable normal sched2 pass, instead set | |
2209 | bfin_flag_schedule_insns2 for reorg to handle it. | |
2210 | (output_file_start): Likewise for var-tracking. | |
2211 | (bfin_optimize_loop): Take some care not to stumble over SEQUENCEs. | |
2212 | (gen_one_bundle, bfin_gen_bundles, type_for_anomaly, trapping_loads_p): | |
2213 | New functions. | |
2214 | (bfin_reorg): Do second scheduling pass here, and call | |
2215 | bfin_gen_bundles. Use type_for_anomaly and trapping_loads_p instead | |
2216 | of examining insns directly. If bfin_flag_var_tracking, call | |
2217 | var-tracking pass when done with everything else. | |
2218 | * config/bfin/bfin.h (PRINT_OPERAND_PUNCT_VALID_P): '!' is valid. | |
2219 | * config/bfin/bfin.md (UNSPEC_32BIT): New constant. | |
2220 | (movsi_insn32): New pattern, with two new splits to create it | |
2221 | before the final scheduling pass. | |
2222 | (neghi2): Not a dsp32 insn, rather alu0. | |
2223 | (movbi, pushsi_insn, popsi_insn, movsi_insn, movv2hi_insn, movhi_insn, | |
2224 | movqi_insn, movsf_insn, movsi_insv, extendhisi2, zero_extendhisi2, | |
2225 | extendqihi2, extendqisi2, zero_extendqihi2, zero_extendqisi2, | |
2226 | mulhisi3, umulhisi3, ssadsi3, sssubsi3, smaxsi3, sminsi3, abssi2, | |
2227 | ssnegsi2, signbitssi2, smaxhi3, sminhi3, abshi2, ssneghi2, signbitshi2, | |
2228 | movhi_low2high, movhi_high2high, movhi_low2low, movhi_high2low, | |
2229 | movhiv2hi_low, movhiv2hi_high, composev2hi, packv2hi, movv2hi_hi, | |
2230 | ssaddhi3, sssubhi3, addv2hi3, ssaddv2hi3, subv2hi3, sssubv2hi3, | |
2231 | addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, sublohiv2hi3, | |
2232 | subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, addlohiv2hi3, | |
2233 | addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, sminv2hi3, smaxv2hi3, | |
2234 | flag_mulhi, flag_mulhisi, flag_mulhisi_parts, flag_machi, | |
2235 | flag_machi_acconly, flag_macinithi, flag_macinit1hi, mulv2hi3, | |
2236 | flag_mulv2hi, flag_mulv2hi_parts, flag_macv2hi_parts, | |
2237 | flag_macv2hi_parts_acconly, flag_macinitv2hi_parts, | |
2238 | flag_macinit1v2hi_parts, mulhisi_ll, mulhisi_lh, mulhisi_hl, | |
2239 | mulhisi_hh, ssnegv2hi2, absv2hi2, ssashiftv2hi3, ssashifthi3, | |
2240 | lshiftv2hi3, lshifthi3): Use '%!' to terminate all dsp32/load/store | |
2241 | variants instead of ';'. | |
2242 | (ror_one, rol_one): Likewise. Make them dsp32 insns. | |
2243 | (ashlsi3_insn, ashrsi3, lshrsi3): Add dsp32 variants. | |
2244 | (align8, align16, align24): Now named patterns; also using '%!'. | |
2245 | (mnop): New insn. | |
2246 | ||
9505a73b | 2247 | 2006-12-05 Kazu Hirata <kazu@codesourcery.com> |
2248 | ||
2249 | * config/i386/darwin.h, config/spu/spu.c, tree-ssa-live.c, | |
2250 | tree-vect-generic.c, tree-vect-transform.c: Fix comment typos. | |
2251 | ||
c8befdb9 | 2252 | 2006-12-04 Trevor Smigiel <trevor_smigiel@playstation.sony.com> |
2253 | ||
2254 | * config/spu/spu-protos.c (spu_split_address): Add. | |
2255 | * config/spu/spu.c (spu_split_address): Add. | |
2256 | (print_operand): Handle HIGH. | |
2257 | (spu_legitimate_address): Don't test for aligned CONST. | |
2258 | (spu_expand_mov): Don't split addresses here. | |
2259 | * config/spu/constraints.md (A): Don't test legitimate_const. | |
2260 | * config/spu/spu.md: Add split of movsi patterns for PIC mode. | |
2261 | (ceq_di): Use correct predicates. | |
2262 | ||
44308069 | 2263 | 2006-12-04 Eric Christopher <echristo@apple.com> |
2264 | ||
2265 | * config/darwin.h: Update copyright notice. | |
2266 | * config/i386/darwin.h: Ditto. | |
2267 | ||
92552a26 | 2268 | 2006-12-04 Jan Hubicka <jh@suse.cz> |
2269 | ||
2270 | * builtins.c (fold_builtin_memory_op): Check that expr_size match. | |
2271 | * explow.c (expr_size, int_expr_size): Assert that size is non_NULL. | |
2272 | ||
dcead90e | 2273 | 2006-12-04 Daniel Berlin <dberlin@dberlin.org> |
2274 | ||
2275 | * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call | |
2276 | set_used_smts. | |
2277 | * tree-ssa-structalias.c (set_used_smts): Export. | |
2278 | (find_what_p_points_to): Don't call set_used_smts here. | |
2279 | * tree-ssa-structalias.h (set_used_smts): Add prototype. | |
2280 | ||
7d1f52b2 | 2281 | 2006-12-04 Daniel Berlin <dberlin@dberlin.org> |
44308069 | 2282 | |
7d1f52b2 | 2283 | * tree-ssa-alias.c (compute_may_aliases): |
2284 | Compute flow sensitive before flow insensitive. | |
2285 | (compute_flow_sensitive_aliasing): Don't try to add | |
2286 | a symbol memory tag to itself. | |
44308069 | 2287 | |
7d1f52b2 | 2288 | * alias.h (alias_set_subset_of): New prototype. |
dcead90e | 2289 | |
7d1f52b2 | 2290 | * alias.c (alias_set_subset_of): New function. |
dcead90e | 2291 | |
7d1f52b2 | 2292 | * tree-ssa-structalias.c: Update comments. |
2293 | (struct variable_info): Add finished_solution. | |
2294 | (new_varinfo): Set finished solution to NULL. | |
2295 | (var_escaped_vars): Remove. | |
2296 | (escaped_vars_tree): Remove. | |
2297 | (escaped_vars_id): Remove. | |
dcead90e | 2298 | (nonlocal_vars_id): Remove. |
7d1f52b2 | 2299 | (constraint_expr_type): Add INCLUDES. |
2300 | (graph_size): Removed. | |
2301 | (dump_constraint): Support INCLUDES. | |
2302 | (build_constraint_graph): Ditto. | |
2303 | (collapse_nodes): Add merge_solutions argument. | |
2304 | Don't merge attributes. | |
2305 | (process_unification_queue): Just use collapse_nodes. | |
2306 | (perform_var_substitution): Update call to collapse_nodes. | |
2307 | (get_constraint_exp_from_ssa_var): Use INCLUDES. | |
2308 | (process_constraint): Fix non-field sensitive handling | |
2309 | Handle includes. | |
2310 | (get_constraint_for): Use INCLUDES. | |
dcead90e | 2311 | (make_constraint_from_anything): Renamed from |
2312 | make_constraint_from_escaped. | |
7d1f52b2 | 2313 | (make_constraint_to_escaped): Removed. |
2314 | (find_global_initializers): Removed. | |
2315 | (create_variable_info_for): Do not make constraints to escaped | |
2316 | vars anymore. | |
2317 | (dump_solution_for_var): Don't print out the equivalent points-to | |
2318 | sets, just use the name of the variable it shares it with. | |
2319 | (intra_create_variable_infos): Use INCLUDES. | |
dcead90e | 2320 | Change nonlocal variable sets to anything sets. |
2321 | (init_base_vars): Remove escaped_vars and nonlocal_var | |
44308069 | 2322 | initialization. |
7d1f52b2 | 2323 | (find_escape_constraints): Removed. |
2324 | (delete_points_to_sets): Remove dead code. | |
2325 | (used_smt_calculated): New variable. | |
2326 | (set_used_smts): New function. | |
2327 | (merge_smts_into): New function. | |
2328 | (find_what_p_points_to): Modify to use SMTs. | |
dcead90e | 2329 | (create_nonlocal_var): Remove. |
44308069 | 2330 | |
7d1f52b2 | 2331 | * tree-ssa-operands.c (access_can_touch_variable): Remove |
44308069 | 2332 | reference to nonlocal_all. |
dcead90e | 2333 | |
7d1f52b2 | 2334 | * tree-ssa.c (verify_name_tags): Remove. |
44308069 | 2335 | |
f7e93dc7 | 2336 | 2006-12-04 Carlos O'Donell <carlos@codesourcery.com> |
2337 | ||
2338 | * config/arm/unwind-arm.c: Adjust __cxa_type_match declaration. | |
2339 | (__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match. | |
2340 | ||
30928c44 | 2341 | 2006-12-04 Andrew MacLeod <amacleod@redhat.com> |
2342 | ||
2343 | * tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges. | |
2344 | * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info): Update. | |
2345 | (add_livein_if_notdef): Delete. | |
2346 | (loe_visit_block): New. Propogate live on entry info for a block into | |
2347 | each predecessor. If it changes, make sure it is visited again. | |
44308069 | 2348 | (live_worklist): Visit every block and update the live on entry info |
30928c44 | 2349 | for preds. Iterate over any that changed. |
2350 | (set_var_live_on_entry): Populate the live on entry blocks with bits | |
2351 | based on the immediate uses of a var. | |
2352 | (calculate_live_on_entry): Remove. | |
2353 | (calculate_live_on_exit): Calculate live on exit based on the newly | |
2354 | oriented live on entry bits. | |
2355 | (calculate_live_ranges): Build live on entry and exit vectors. | |
2356 | (dump_live_info): Use new orientation of live on entry bitmaps. | |
2357 | (verify_live_on_entry): New. Split out verification code from old | |
2358 | calculate_live_on_entry routine. | |
2359 | * tree-ssa-live.h (struct tree_live_info_d): Add Working stack. | |
2360 | (live_entry_blocks): Rename to live_on_entry and return bitmap for a | |
2361 | basic_block instead of for a partition. | |
2362 | (live_merge_and_clear): Add asserts. | |
2363 | (make_live_on_entry): Set partition bit in basic block vector. | |
2364 | ||
03ed154b | 2365 | 2006-12-04 Jakub Jelinek <jakub@redhat.com> |
2366 | ||
497f2858 | 2367 | PR libgomp/29947 |
2368 | * omp-low.c (expand_omp_for_static_nochunk, | |
2369 | expand_omp_for_static_chunk): Do all arithmetics in signed rather than | |
2370 | unsigned type. | |
2371 | ||
03ed154b | 2372 | PR middle-end/29965 |
2373 | * omp-low.c (determine_parallel_type): Don't try to optimize combined | |
2374 | parallels if region->exit or region->inner->exit is NULL. | |
2375 | (expand_omp_parallel): Handle NULL region->exit even if cfg is already | |
2376 | built. | |
2377 | (expand_omp_for_generic): Handle NULL region->cond and region->exit. | |
2378 | (expand_omp_for): Use expand_omp_for_generic if either region->cond | |
2379 | or region->exit is NULL. | |
2380 | (expand_omp_sections): Handle NULL region->cond or region->exit. | |
44308069 | 2381 | (expand_omp_synch): |
03ed154b | 2382 | |
8469434f | 2383 | 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
2384 | ||
2385 | * config/sparc/sp64-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Delete. | |
2386 | * config/sparc/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise. | |
2387 | ||
89c5cfdc | 2388 | 2006-12-04 Eric Botcazou <ebotcazou@adacore.com> |
2389 | ||
2390 | * tree.c (walk_type_fields): Do not handle TYPE_MIN_VALUE and | |
2391 | TYPE_MAX_VALUE for scalar types here but... | |
2392 | (walk_tree): ...there instead. Return NULL_TREE if the TYPE_DECL | |
2393 | is attached an error mark, and the return value of the callback | |
2394 | if it is not NULL_TREE. | |
2395 | ||
d88ed439 | 2396 | 2006-12-04 Ben Elliston <bje@au.ibm.com> |
2397 | ||
2398 | * config/spu/spu.md (_mulv4si3): Remove unused local variables. | |
2399 | ||
a47cd786 | 2400 | 2006-12-03 Eric Christopher <echristo@apple.com> |
2401 | ||
2402 | PR target/24598 | |
2403 | * config/t-slibgcc-darwin: Pass -install_name. | |
2404 | * config/darwin.h (LINK_COMMAND_SPEC): Remove use of | |
2405 | libtool. Only pass through options that the linker recognizes. | |
2406 | (LINK_SPEC): Update comment. Translate options. | |
2407 | (STARTFILE_SPEC): Add dylib1.o for shared libraries. | |
2408 | * config/darwin9.h (LINK_COMMAND_SPEC): Ditto above. | |
2409 | ||
4fe49efc | 2410 | 2006-12-03 Dorit Nuzman <dorit@il.ibm.com> |
2411 | ||
2412 | * config/spu/spu.md (smaxv4sf3, sminv4sf3): New. | |
2413 | ||
bc0af4ae | 2414 | 2006-12-03 Uros Bizjak <ubizjak@gmail.com> |
2415 | ||
2416 | PR target/30041 | |
2417 | * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and | |
2418 | operands[1] in insn constraint. Correct type attribute to sselog1. | |
2419 | ||
10e818c2 | 2420 | 2006-12-02 H.J. Lu <hongjiu.lu@intel.com> |
2421 | ||
2422 | PR target/30040 | |
2423 | * config/i386/driver-i386.c: Include "coretypes.h" and "tm.h". | |
2424 | (bit_SSSE3): New. | |
2425 | (host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite | |
2426 | processor detection. | |
2427 | ||
2428 | * config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for | |
2429 | -march=native if there is no -mtune=*. | |
2430 | ||
2431 | * config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H) | |
2432 | coretypes.h. | |
2433 | ||
4af4078c | 2434 | 2006-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
2435 | ||
2436 | * doc/install.texi: Update recommended MPFR version. Remove | |
2437 | obsolete reference to cumulative patch. | |
2438 | ||
9db402ec | 2439 | 2006-12-02 Lee Millward <lee.millward@codesourcery.com> |
2440 | ||
2441 | PR c/27953 | |
2442 | * c-decl.c (store_parm_decls_oldstyle): Robustify. | |
a47cd786 | 2443 | |
71229c28 | 2444 | 2006-11-30 Jan Hubicka <jh@suse.cz> |
2445 | Uros Bizjak <ubizjak@gmail.com> | |
2446 | ||
2447 | * config/i386/i386.c (pentium4_cost, nocona_cost): Update | |
2448 | 32bit memcpy/memset decriptors. | |
2449 | (decide_alg): With -minline-all-stringops and sizes that are best | |
2450 | to be copied via libcall still work hard enough to pick non-libcall | |
2451 | strategy. | |
2452 | ||
b5fb9cbe | 2453 | 2006-12-02 Kazu Hirata <kazu@codesourcery.com> |
2454 | ||
2455 | * doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos. | |
2456 | ||
fa7637bd | 2457 | * builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c, |
2458 | config/i386/i386.c, config/i386/i386.h, config/mips/mips.h, | |
2459 | config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c, | |
2460 | config/sh/sh4-300.md, config/spu/spu-builtins.def, | |
2461 | config/spu/spu-c.c, config/spu/spu-modes.def, | |
2462 | config/spu/spu.c, config/spu/spu.md, | |
2463 | config/spu/spu_internals.h, config/spu/vmx2spu.h, | |
2464 | fold-const.c, fwprop.c, predict.c, tree-data-ref.h, | |
2465 | tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, | |
2466 | tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c, | |
2467 | tree-vectorizer.c, tree-vrp.c: Fix comment typos. Follow | |
2468 | spelling conventions. | |
2469 | ||
8b0aea64 | 2470 | * config/i386/i386.c: Fix a comment typo. |
2471 | ||
99369027 | 2472 | 2006-12-01 Trevor Smigiel <trevor_smigiel@playstation.sony.com> |
2473 | ||
2474 | * config/spu/spu.c (spu_immediate): Remove trailing comma. | |
2475 | (reloc_diagnostic): Call warning when -mwarn-reloc is specified. | |
2476 | * config/spu/spu.md: (zero_extendhisi2): Expand instead of split for | |
2477 | better optimization. | |
2478 | (floatv4siv4sf2): New. | |
2479 | (fix_truncv4sfv4si2): New. | |
2480 | (floatunsv4siv4sf2): New. | |
2481 | (fixuns_truncv4sfv4si2): New. | |
2482 | (addv16qi3): New. | |
2483 | (subv16qi3): New. | |
2484 | (negv16qi2): New. | |
2485 | (mulv8hi3): New. | |
2486 | (mulsi3): Remove. | |
2487 | (mul<mode>3): New. | |
2488 | (_mulv4si3): New. | |
2489 | (cmp<mode>): Don't accept constant arguments for DI, TI and SF. | |
2490 | * config/spu/spu_internals.h: Handle overloaded intrinsics in C++ with | |
2491 | spu_resolve_overloaded_builtin instead of static inline functions. | |
2492 | ||
8aa01816 | 2493 | 2006-12-01 Eric Botcazou <ebotcazou@adacore.com> |
2494 | ||
2495 | * fold-const.c (fold_binary) <LT_EXPR>: Use the precision of the | |
2496 | type instead of the size of its mode to compute the highest and | |
2497 | lowest possible values. Still check the size of the mode before | |
2498 | flipping the signedness of the comparison. | |
2499 | ||
e04cf423 | 2500 | 2006-12-01 Trevor Smigiel <trevor_smigiel@playstation.sony.com> |
2501 | ||
2502 | * config/spu/predicates.md (spu_mov_operand): Add. | |
2503 | * config/spu/spu.c (spu_expand_extv): Remove unused code. | |
2504 | (print_operand_address, print_operand): Handle addresses containing AND. | |
2505 | (spu_split_load, spu_split_store): Use updated movti pattern. | |
2506 | * config/spu/spu.md: (_mov<mode>, _movdi, _movti): Handle loads and | |
2507 | stores in mov patterns for correct operation of reload. | |
2508 | (lq, lq_<mode>, stq, stq_<mode>): Remove. | |
2509 | ||
7accad14 | 2510 | 2006-12-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
2511 | ||
2512 | PR c++/30021 | |
2513 | * c-common.c (check_main_parameter_types): Check for error_mark_node. | |
2514 | ||
ad3a58c8 | 2515 | 2006-12-01 Andrew MacLeod <amacleod@redhat.com> |
2516 | ||
2517 | * common.opt (ftree-combine-temps): Remove. | |
2518 | * tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove. | |
2519 | (coalesce_ssa_name): Don't check for combine-temps. | |
2520 | (coalesce_vars): Remove. | |
2521 | (check_replaceable): Use num_imm_uses. | |
a47cd786 | 2522 | (remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't |
ad3a58c8 | 2523 | check for combine-temps. |
2524 | (rewrite_out_of_ssa): Never create a ref_count in the var_map. | |
2525 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms | |
2526 | to register_ssa_partition calls. | |
2527 | * tree-ssa-live.c (register_ssa_partition): Remove prototype. | |
2528 | (init_var_map, delete_var_map): remove refernces to ref_count. | |
2529 | (create_ssa_var_map): Never calculate a ref count. | |
2530 | (type_var_init): Remove. | |
2531 | * tree-ssa-live.h (typedef struct _var_map): Remove ref_count. | |
2532 | (SSA_VAR_MAP_REF_COUNT): Delete. | |
2533 | (create_ssa_var_map): Change Prototype to have no parameters. | |
2534 | (version_ref_count): Delete. | |
2535 | (register_ssa_partition): Remove 'is_use' paramater and don't set the | |
2536 | ref_count vector. | |
2537 | (type_var_num, type_var, type_var_first_partition, | |
2538 | type_var_next_partition, type_var_dump, type_var_delete, | |
2539 | type_var_remove_partition, type_var_find, type_var_compact, | |
2540 | type_var_decompact): Remove. | |
2541 | ||
9a1bbdb5 | 2542 | 2006-12-01 Bernd Schmidt <bernd.schmidt@analog.com> |
2543 | ||
2544 | * config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype | |
2545 | attribute. | |
2546 | ||
52570507 | 2547 | 2006-12-01 Richard Guenther <rguenther@suse.de> |
2548 | ||
2549 | PR c++/29433 | |
2550 | * dwarf2out.c (struct pubname_struct): Make name const. | |
2551 | (add_pubtype): Do not xstrdup identifiers. | |
2552 | ||
351ae60b | 2553 | 2006-12-01 Bernd Schmidt <bernd.schmidt@analog.com> |
2554 | ||
2555 | * config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures | |
2556 | multiword accesses are in range. | |
2557 | ||
b31eb493 | 2558 | 2006-12-01 Zdenek Dvorak <dvorakz@suse.cz> |
2559 | ||
2560 | PR tree-optimization/29921 | |
2561 | * tree-ssa-ccp.c (canonicalize_float_value): New function. | |
2562 | (set_lattice_value): Use canonicalize_float_value. | |
2563 | ||
6352eedf | 2564 | 2006-11-30 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2565 | ||
2566 | * config/spu/spu.c (spu_builtin_range): Move from spu-c.c | |
2567 | (TARGET_RESOLVE_OVERLOADED_BUILTIN): Delete. | |
2568 | (spu_cpu_cpp_builtins): Remove. | |
2569 | (spu_override_options): Don't set warn_main. | |
2570 | (spu_force_reg): Move from spu-c.c. | |
2571 | (spu_check_builtin_parm): Likewise. | |
2572 | (expand_builtin_args): Likewise. | |
2573 | (spu_expand_builtin_1): Likewise. | |
2574 | (spu_expand_builtin): Likewise. | |
2575 | * config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Define, set | |
2576 | warn_main and targetm.resolve_overloaded_builtin. | |
2577 | * config/spu/spu-c.c (spu_builtin_range): Remove. | |
2578 | (spu_check_builtin_parm): Remove. | |
2579 | (expand_builtin_args): Remove. | |
2580 | (spu_expand_builtin_1): Remove. | |
2581 | (spu_expand_builtin): Remove. | |
2582 | (spu_cpu_cpp_builtins): Moved from spu.c | |
2583 | (spu_force_reg): Remove. | |
2584 | ||
695595bc | 2585 | 2006-12-01 Joseph Myers <joseph@codesourcery.com> |
6b75d5f9 | 2586 | David Edelsohn <edelsohn@gnu.org> |
695595bc | 2587 | |
2588 | PR target/24036 | |
2589 | * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING, | |
2590 | HARD_REGNO_NREGS_WITH_PADDING): Document new target macros. | |
2591 | * defaults.h (HARD_REGNO_NREGS_HAS_PADDING, | |
2592 | HARD_REGNO_NREGS_WITH_PADDING): Define. | |
2593 | * config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING, | |
2594 | HARD_REGNO_NREGS_WITH_PADDING): Define. | |
2595 | * rtlanal.c (subreg_regno_offset, subreg_offset_representable_p): | |
2596 | Use new macros to detect modes with holes; do not look at integer | |
2597 | units. | |
2598 | (subreg_offset_representable_p): Check for and disallow cases | |
2599 | where the modes use different numbers of bits from registers. | |
2600 | * config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode | |
2601 | constant for soft-float. | |
2602 | (rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs | |
2603 | containing doubles. | |
2604 | (rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves | |
2605 | in E500 double case. | |
2606 | * config/rs6000/rs6000.md (movtf): Allow soft-float. | |
2607 | (movtf_softfloat): New. | |
2608 | ||
068ca2c8 | 2609 | 2006-11-30 Richard Sandiford <richard@codesourcery.com> |
2610 | ||
2611 | * simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than | |
2612 | simplify_gen_subreg. | |
2613 | ||
c3292d42 | 2614 | 2006-11-30 Andrew Macleod <amacleod@redhat.com> |
2615 | ||
2616 | * tree-ssa-live.c (create_coalesce_list): Create a hash table. | |
2617 | (COALESCE_HASH_FN): New. Define hash function. | |
2618 | (partition_pair_map_hash): New. Hash value for a partition pair. | |
2619 | (partition_pair_map_eq): New. Equality for hash pairs. | |
2620 | (create_coalesce_list): Create hash table. | |
2621 | (delete_coalesce_list): Free hash table. | |
2622 | (find_partition_pair): Find/create pairs in hash table. | |
2623 | (compare_pairs): Sort pairs in ascending order now. | |
2624 | (num_coalesce_pairs): New. Number of pairs in hash table. | |
2625 | (struct partition_pair_iterator): Iterator struct for pair table. | |
2626 | (first_partition_pair): Iterator function for first pair. | |
2627 | (end_partition_pair_p): Iterator function for end of iteration. | |
2628 | (next_partition_pair): Iterator function for next pair. | |
2629 | (FOR_EACH_PARTITION_PAIR): Macro for iterating over pairs. | |
2630 | (sort_coalesce_list): Sort pairs from hash table into an array. | |
2631 | (pop_best_coalesce): Take pairs from the array. | |
2632 | (dump_coalesce_list): Update to use hash table or sorted array. | |
2633 | * tree-ssa-live.h (struct partition_pair_d): Remove next field. | |
2634 | (struct coalesce_list_d): Add hash table related fields. | |
2635 | ||
b4fc673b | 2636 | 2006-11-30 Jan Hubicka <jh@suse.cz> |
2637 | ||
2638 | PR middle-end/30028 | |
2639 | * builtins.c (fold_builtin_memory_op): Fix typo in the check for | |
2640 | memmove/bcopy->memcpy conversion. | |
2641 | ||
6d557294 | 2642 | 2006-11-30 Carlos O'Donell <carlos@codesourcery.com> |
2643 | ||
2644 | * doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default. | |
a47cd786 | 2645 | * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT): |
2646 | Default is the largest alignment supported for 32-bit ELF and | |
6d557294 | 2647 | representable on a 32-bit host. |
2648 | ||
04a763b7 | 2649 | 2006-11-30 Janis Johnson <janis187@us.ibm.com> |
2650 | ||
2651 | * config/dfp-bit.c (DFP_TO_INT): Use wider precision. | |
2652 | ||
fcbe34ba | 2653 | 2006-11-30 Jan Hubicka <jh@suse.cz> |
2654 | ||
2655 | * tree-ssa-operands.h (struct ssa_operands): New. | |
2656 | * tree-flow-inline.h (gimple_ssa_operands): New function. | |
2657 | * tree-flow.h: (struct gimple_df): Add ssa_operands. | |
2658 | * Makefile.in: Remove gt-tree-ssa-operands.h | |
2659 | * tree-ssa-operands.c: Do not include gt-tree-ssa-operands.h | |
2660 | (free_defs, free_uses, free_vuses, free_maydefs, free_mustdefs, | |
2661 | operand_memory, operand_memory_index, ops_active): Remove statics. | |
2662 | (ALLOC_OPTYPE): Update. | |
2663 | (operand_build_sort_virtual): Update. | |
2664 | (ssa_operands_active): Update. | |
2665 | (init_ssa_operands): Update. | |
2666 | (fini_ssa_operands): Update. | |
2667 | (ssa_operand_alloc): Update. | |
2668 | (INITIALIZE_USE): Update. | |
2669 | (finalize_ssa_use_ops): Update. | |
2670 | (finalize_ssa_v_may_def_ops): Update. | |
2671 | (finalize_ssa_vuse_ops): Update. | |
2672 | (finalize_ssa_v_must_def_ops): Update. | |
2673 | ||
4957645d | 2674 | 2006-11-30 Richard Guenther <rguenther@suse.de> |
2675 | ||
2676 | * tree-vectorizer.h (vectorizable_function): Export. | |
2677 | * tree-vect-transform.c (vectorizable_function): Likewise. | |
6b75d5f9 | 2678 | * tree-vect-patterns.c (vect_recog_pow_pattern): Set |
2679 | type_in to scalar type in recognition of squaring. | |
4957645d | 2680 | Make sure the target can vectorize sqrt in recognition |
2681 | of sqrt, set type_in to vector type in this case. | |
2682 | ||
8a355d81 | 2683 | 2006-11-30 Uros Bizjak <ubizjak@gmail.com> |
2684 | ||
2685 | * config/i386/i386.md (R10_REG): New constant. | |
2686 | * config/i386/i386.c (pro_epilogue_adjust_stack): Use R11_REG. | |
2687 | (ix86_emit_restore_regs_using_mov): Ditto. | |
2688 | (ix86_expand_call): Ditto. | |
2689 | (x86_output_mi_thunk): Ditto. Also use R10_REG. | |
2690 | ||
67837170 | 2691 | 2006-11-30 Steven Bosscher <steven@gcc.gnu.org> |
2692 | ||
2693 | * cselib.c (cselib_init): Use special MEM rtx form for callmem. | |
2694 | * alias.c (canon_true_dependence): Update comment. | |
2695 | ||
3471582e | 2696 | 2006-11-30 Steven Bosscher <steven@gcc.gnu.org> |
2697 | ||
2698 | * cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline | |
2699 | at the end of a diagnostics message. | |
2700 | ||
2701 | * alloc-pool.c (pool_free): Postpone clearing the pool entry | |
2702 | until after asserting that it was allocated in the right pool. | |
2703 | ||
2704 | * cfgrtl.c (print_rtl_with_bb): Print predecessor and | |
2705 | successor edge information as well. Make output of live regs | |
2706 | on exit consistent with live regs on entry. | |
2707 | ||
8d13d95a | 2708 | 2006-11-30 Uros Bizjak <ubizjak@gmail.com> |
2709 | ||
2710 | PR target/29852 | |
2711 | * config/i386/i386.md (*truncxfsf2_mixed, *truncxfdf2_mixed): Enable | |
2712 | insn patterns for TARGET_80387. | |
2713 | (*truncxfsf2_i387, *truncxfdf2_i387): Remove. | |
2714 | (*truncxfsf2_i387_1): Rename to *truncxfsf2_i387. | |
2715 | (*truncxfdf2_i387_1): Rename to *truncxfdf2_i387. | |
2716 | (fmod<mode>3, remainder<mode>3): Enable expaders for SSE math. | |
2717 | Generate truncxf<mode>2 insn patterns for strict SSE math. | |
2718 | ||
a5336510 | 2719 | 2006-11-30 Uros Bizjak <ubizjak@gmail.com> |
2720 | ||
2721 | * config/i386/i386.md (movsf_1): Enable pattern for standard | |
2722 | 80387 constants before reload when optimizing for size. | |
2723 | (*movdf_nointeger, *movdf_integer): Ditto. | |
2724 | (*movxf_nointeger, *movxf_integer): Disable patterns for standard | |
2725 | 80387 constants before reload when not optimizing for size. | |
2726 | ||
2727 | (*fop_xf_4_i387, *fop_xf_5_i387, *fop_xf_6_i387): Avoid float | |
2728 | extension of XFmode input operands. | |
2729 | ||
6af7e307 | 2730 | 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2731 | ||
2732 | * config/spu/crt0.c (__dso_handle): Define. | |
2733 | ||
764f640f | 2734 | 2006-11-30 Kaz Kojima <kkojima@gcc.gnu.org> |
2735 | ||
2736 | * emit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially | |
2737 | when clearing the used flags. | |
2738 | ||
1ead9a2d | 2739 | 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2740 | ||
2741 | * config/spu/spu.md (extend_compare): Fix whitespace formatting. | |
2742 | ||
32cd7599 | 2743 | 2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2744 | ||
2745 | PR target/29945 | |
2746 | * config/spu/spu.md (extend_compare<mode>): New pattern. | |
2747 | (extend_compare): Change to expand and use the above pattern. | |
a47cd786 | 2748 | |
9dfa4821 | 2749 | 2006-11-29 Janis Johnson <janis187@us.ibm.com> |
2750 | ||
d25c4bbc | 2751 | * config/dfp-bit.c (DFP_TO_INT): Fix rounding mode. |
2752 | ||
9dfa4821 | 2753 | * config/dfp-bit.h (CONTEXT_ROUND): Delete. |
2754 | (DFP_INIT_ROUNDMODE): Define. | |
2755 | * config/dfp-bit.c: Replace CONTEXT_ROUND with DFP_INIT_ROUNDMODE. | |
2756 | * mklibgcc.in: Fix dependencies for dfp-bit.c. | |
2757 | ||
3953ee1c | 2758 | 2006-11-29 Tehila Meyzels <tehila@il.ibm.com> |
2759 | ||
2760 | * haifa-sched.c: Remove define LINE_NOTE(INSN). Remove line_note_head. | |
2761 | Update documentation. | |
2762 | (associate_line_notes_with_blocks): Kill. | |
a47cd786 | 2763 | (extend_bb): Remove basic block argument, put void instead. |
2764 | Remove line number handling for each bb. | |
3953ee1c | 2765 | (save_line_notes): Kill. |
2766 | (restore_line_notes): Kill. | |
2767 | (sched_init): Remove line_note_head initialization. | |
2768 | Change extend_bb call. | |
2769 | (sched_finish): Remove free of line_note_head. | |
2770 | (add_block): Change extend_bb call. | |
2771 | * sched-ebb.c (schedule_ebb): Remove save_line_notes, | |
2772 | rm_line_notes and restore_line_notes calls. | |
2773 | (schedule_ebbs): Remove rm_redundant_line_notes. | |
2774 | * sched-int.h (struct haifa_insn_data): Remove line_note. | |
2775 | (save_line_notes): Remove declaration. | |
2776 | (restore_line_notes): Remove declaration. | |
a47cd786 | 2777 | * modulo-sched.c (loop_canon_p): Update debug info printing |
3953ee1c | 2778 | by using insn locators instead of line note. |
a47cd786 | 2779 | (sms_schedule): Update debug info printing, by using insn |
3953ee1c | 2780 | locators instead of line note. |
a47cd786 | 2781 | * sched-rgn.c (debug_dependencies): Remove handling of case |
3953ee1c | 2782 | n>0 (line number), since it's a dead code. |
a47cd786 | 2783 | (schedule_region): Remove save_line_notes and |
3953ee1c | 2784 | restore_line_notes calls. |
2785 | ||
90489f58 | 2786 | 2006-11-29 Joseph Myers <joseph@codesourcery.com> |
2787 | ||
2788 | * config/rs6000/predicates.md (gpc_reg_operand): Check | |
2789 | invalid_e500_subreg. | |
2790 | * config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any | |
2791 | SImode subregs of SPE vectors. | |
2792 | * config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs. | |
2793 | * jump.c (true_regnum): Require subregs to satisfy | |
2794 | subreg_offset_representable_p. | |
2795 | ||
1938ef46 | 2796 | 2006-11-29 Daniel Berlin <dberlin@dberlin.org> |
2797 | Steven Bosscher <stevenb.gcc@gmail.com> | |
2798 | ||
2799 | * Makefile.in (tree-ssanames.o): Remove gt-tree-ssanames.h, | |
2800 | since it no longer exists. | |
a47cd786 | 2801 | |
ab37e731 | 2802 | 2006-11-29 Duncan Sands <baldrick@free.fr> |
2803 | ||
2804 | PR tree-optimization/23744 | |
2805 | * tree-vrp.c (vrp_meet): do not require ranges to intersect. | |
2806 | ||
2807 | 2006-11-29 Duncan Sands <baldrick@free.fr> | |
2808 | ||
2809 | PR tree-optimization/23744 | |
2810 | * testsuite/gcc.dg/tree-ssa/pr23744.c: new test. | |
2811 | ||
2812 | 2006-11-29 Duncan Sands <baldrick@free.fr> | |
2813 | ||
2814 | PR tree-optimization/23744 | |
2815 | * testsuite/gcc.dg/tree-ssa/update-threading.c: xfail. | |
2816 | ||
fda0d99d | 2817 | 2006-11-29 Jie Zhang <jie.zhang@analog.com> |
2818 | ||
2819 | * doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately. | |
2820 | ||
bc3f5c21 | 2821 | 2006-11-29 J"orn Rennecke <joern.rennecke@st.com> |
2822 | ||
2823 | * sh.opt (minline-ic_invalidate): New option. | |
2824 | (musermode): Adjust comment. | |
2825 | * sh.c (sh_initialize_trampoline): Emit library call unless | |
2826 | is set; if it is set, don't emit library call if we can use icbi | |
2827 | instead. | |
2828 | * sh.md (ic_invalidate_line, ic_invalidate_line_sh4a): Also use | |
2829 | icbi for TARGET_SH4_300. | |
2830 | * t-sh (LIB1ASMFUNCS_CACHE): Set. | |
2831 | * doc/invoke.texi: Document -minline-ic_invalidate; Update | |
2832 | -musermode documentation. | |
2833 | ||
179848c3 | 2834 | 2006-11-29 Jim Tison <jtison@us.ibm.com> |
2835 | ||
2836 | * gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, | |
2837 | __gthread_recursive_mutex_init): Define. | |
2838 | ||
206fcb76 | 2839 | 2006-11-29 Joseph Myers <joseph@codesourcery.com> |
2840 | ||
2841 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If | |
2842 | STRICT_ALIGNMENT and the type is more aligned than the saved | |
2843 | registers, copy via a temporary. | |
2844 | ||
91543a50 | 2845 | 2006-11-28 Andrew Pinski <pinskia@gmail.com> |
2846 | ||
2847 | PR tree-opt/29984 | |
2848 | * tree-ssa-reassoc.c (eliminate_duplicate_pair): Handle MAX_EXPR | |
2849 | and MIN_EXRP. | |
2850 | ||
2ffd77eb | 2851 | 2006-11-28 Bob Wilson <bob.wilson@acm.org> |
2852 | ||
2853 | * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit. | |
2854 | ||
2d04fd8d | 2855 | 2006-11-28 Jan Hubicka <jh@suse.cz> |
2856 | ||
2857 | Privatize SSA variables into gimple_df. | |
2858 | * tree-flow-inline.h | |
2859 | (gimple_in_ssa_p, gimple_aliases_computed_p, gimple_addressable_vars, | |
2860 | gimple_call_clobbered_vars, gimple_referenced_vars, gimple_global_var, | |
2861 | gimple_nonlocal_all): New accessors. | |
2862 | (first_referenced_var): Update. | |
2863 | (mark_stmt_modified): Update. | |
2864 | (is_call_clobbered): Update. | |
2865 | (mark_call_clobbered): Update. | |
2866 | (clear_call_clobbered): Update. | |
2867 | (mark_non_addressable): Update. | |
2868 | * tree-vrp.c (get_value_range): Update. | |
2869 | * tree-into-ssa.c (in_ssa_p): Kill. | |
2870 | (get_default_def_for): Update. | |
2871 | (rewrite_into_ssa): Update. | |
2872 | * tree-complex.c (init_parameter_lattice_values): Update. | |
2873 | (update_complex_assignment): Update. | |
2874 | (update_parameter_components): Update. | |
2875 | (expand_complex_libcall): Update. | |
2876 | (expand_complex_operations_1): Update. | |
2877 | * tree-tailcall.c (arg_needs_copy_p): Update. | |
2878 | (add_virtual_phis): Update. | |
2879 | (tree_optimize_tail_calls_1): Update. | |
2880 | * tree-ssa-dse.c (memory_ssa_name_same): Update. | |
2881 | * tree-ssa-copyrename.c | |
2882 | (copy_rename_partition_coalesce): Update. | |
2883 | * tree-ssa-math-opts.c (execute_cse_reciprocals): Update. | |
2884 | * tree-ssa-propagate.c (set_rhs): Update. | |
2885 | * tree-ssa-alias.c (aliases_computed_p, call_clobbered_vars, | |
2886 | addressable_vars, global_var):Kill. | |
2887 | (set_initial_properties): Update. | |
2888 | (init_alias_info): Update. | |
2889 | (finalize_ref_all_pointers): Update. | |
2890 | (setup_pointers_and_addressables): Update. | |
2891 | (maybe_create_global_var): Update. | |
2892 | (create_global_var): Update. | |
2893 | (dump_points_to_info): Update. | |
2894 | * function.h (struct gimple_df): Forward declare. | |
2895 | (struct function): Add GIMPLE_DF field. | |
2896 | * gimplify.c (force_gimple_operand): Update. | |
2897 | * tree-dfa.c (referenced_vars, default_defs): KIll. | |
2898 | (make_rename_temp): Update. | |
2899 | (dump_variable): Update. | |
2900 | (referenced_var_lookup): Update. | |
2901 | (referenced_var_check_and_insert): Update. | |
2902 | (default_def): Rename to ... | |
2903 | (gimple_default_def): ... this one; accept cfun argument. | |
2904 | (set_default_def): Update. | |
2905 | * tree-cfgcleanup.c (modified_noreturn_calls): Kill. | |
2906 | (cleanup_control_flow): Update. | |
2907 | * tree-ssa-pre.c (compute_avail): Update | |
2908 | * tree-ssa-live.c (calculate_live_on_entry): Update. | |
2909 | * tree-ssa.c (verify_use): Update. | |
2910 | (verify_call_clobbering): Update. | |
2911 | (verify_call_clobbering): Update. | |
2912 | (init_tree_ssa): Update. | |
2913 | (delete_tree_ssa): Update. | |
2914 | * tree-outof-ssa.c (coalesce_ssa_name): Update. | |
2915 | (rewrite_out_of_ssa): Update. | |
2916 | * tree-flow.h (gimple_df): New structure collecting dataflow variables. | |
2917 | (FREE_SSANAMES, SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS): New | |
2918 | private accessors. | |
2919 | (in_ssa_p, modified_noreturn_calls, referenced_vars, default_defs, | |
2920 | ssa_names, global_var, nonlocal_all, call_clobbered_vars, | |
2921 | addressable_vars, aliases_computed_p): Kill. | |
2922 | (default_def): Rename to... | |
2923 | (gimple_default_def): ... this one. | |
2924 | (defaule_def_fn): Kill. | |
2925 | (num_referenced_vars, ssa_names, num_ssa_names): Update. | |
2926 | * tree-ssa-structalias.c (nonlocal_all): Kill. | |
2927 | (get_constraint_exp_from_ssa_var): Update. | |
2928 | (create_nonlocal_var): Update. | |
2929 | (get_constraint_for): Update. | |
2930 | (update_alias_info): Update. | |
2931 | (find_global_initializers): Update. | |
2932 | (intra_create_variable_infos): Update. | |
2933 | (intra_create_variable_infos): | |
2934 | (find_what_p_points_to): Update. | |
2935 | (init_alias_heapvars): Update. | |
2936 | * tree-cfg.c (remove_bb): Update. | |
2937 | (gimplify_val): Update. | |
2938 | * tree-ssa-reassoc.c (get_rank): Update. | |
2939 | (init_reassoc): Update. | |
2940 | * tree-ssanames.c: Do not include gt-tree-ssanames.h | |
2941 | (ssa_names, free_ssanames): Kill. | |
2942 | (init_ssanames): Update. | |
2943 | (make_ssa_name): Update. | |
2944 | (release_ssa_name): Update. | |
2945 | (release_defs): Update. | |
2946 | (replace_ssa_name_symbol): Update. | |
2947 | * tree-ssa-operands.c (access_can_touch_variable): Update. | |
2948 | (add_virtual_operand): Update. | |
2949 | (add_call_clobber_ops): Update. | |
2950 | (add_call_read_ops): Update. | |
2951 | (get_call_expr_operands): Update. | |
2952 | (get_asm_expr_operands): Update. | |
2953 | ||
5a84fdd6 | 2954 | 2006-11-28 Jan Hubicka <jh@suse.cz> |
2955 | ||
2956 | * builtins.c: Include tree-flow.h. | |
2957 | (fold_builtin_memory_op): Be more aggressive on converting memcpy to | |
2958 | assignment; convert memmove to memcpy for sizes greater than 1 where | |
2959 | alignment of operands prohibit the partial overlap. | |
2960 | ||
5a02d67b | 2961 | 2006-11-28 Jan Hubicka <jh@suse.cz> |
2962 | ||
2963 | * invoke.texi (large-stack-frame, large-stack-frame-growth): New params. | |
2964 | * cgraph.c (dump_cgraph_node): Dump stack usage. | |
2965 | * cgraph.h (cgraph_local_info): Add estimated_self_stack_size. | |
2966 | (cgraph_global_info): Add estimated_stack_size and stack_frame_offset. | |
2967 | * cgraphunit.c (cgraph_analyze_function): Analyze stack sizes. | |
2968 | * ipa-inline.c (cgraph_clone_inlined_nodes): Propagate stack usage. | |
2969 | (cgraph_check_inline_limits): Limit stack growth. | |
2970 | * cfgexpand.c: Include tree-inline.h. | |
2971 | (account_stack_vars): New function. | |
2972 | (expand_one_var): New param to just account the stack; return estimated | |
2973 | size. | |
2974 | (expand_used_vars_for_block): Update call of expand_one_var. | |
2975 | (account_used_vars_for_block): New function. | |
2976 | (estimated_stack_frame_size): Likewise. | |
2977 | (init_vars_expansion, fini_vars_expansion): Break out from.. | |
2978 | (expand_used_vars): ... here. | |
2979 | * tree-inline.h (estimated_stack_frame_size): Declare. | |
2980 | * params.def (PARAM_LARGE_STACK_FRAME, PARAM_STACK_FRAME_GROWTH): New. | |
2981 | ||
31061589 | 2982 | 2006-11-28 Richard Guenther <rguenther@suse.de> |
2983 | ||
2984 | * ggc-page.c (ggc_print_statistics): Use %ul and a cast to | |
2985 | unsigned long for printing OBJECT_SIZE. | |
2986 | ||
025fc294 | 2987 | 2006-11-27 Steven Bosscher <steven@gcc.gnu.org> |
2988 | ||
2989 | * alias.c (init_alias_analysis): Remove simplification loop | |
2990 | after propagating pointers. | |
2991 | ||
8db6e0d0 | 2992 | 2006-11-27 Uros Bizjak <ubizjak@gmail.com> |
2993 | ||
2994 | * config/i386/i386.c (x86_ext_80387_constants): Add m_K8, m_CORE2 | |
2995 | and m_GENERIC64. | |
2996 | ||
4b2042e8 | 2997 | 2006-11-27 Bob Wilson <bob.wilson@acm.org> |
2998 | ||
2999 | * config/xtensa/xtensa.h (XCHAL_HAVE_MUL32_HIGH): Provide default. | |
3000 | ||
da1fb07b | 3001 | 2006-11-27 Roger Sayle <roger@eyesopen.com> |
3002 | Manuel Lopez-Ibanez <manu@gcc.gnu.org> | |
a5336510 | 3003 | |
da1fb07b | 3004 | * c-common.c (constant_fits_type_p): Delete. |
3005 | (unsigned_conversion_warning): Delete. | |
3006 | (conversion_warning): Integrate Wconversion warning from | |
3007 | unsigned_conversion_warning. | |
3008 | (convert_and_check): Integrate Woverflow warning from | |
3009 | unsigned_conversion_warning. Reorganize and simplify to avoid | |
3010 | dependence upon the middle-end setting TREE_OVERFLOW on integral | |
3011 | conversions, by using int_fits_type_p directly. | |
3012 | ||
95b190b9 | 3013 | 2006-11-27 Tobias Burnus <burnus@net-b.de> |
3014 | ||
3015 | * doc/invoke.texi: Fixed typo. | |
3016 | ||
240fd4a0 | 3017 | 2006-11-27 Michael Matz <matz@suse.de> |
a5336510 | 3018 | Andreas Krebbel <krebbel1@de.ibm.com> |
240fd4a0 | 3019 | |
3020 | PR target/29319 | |
3021 | * config/s390/predicates.md (larl_operand): Check addend of larl | |
3022 | operand to be in range of -/+2GB. | |
a47cd786 | 3023 | * config/s390/s390.c (legitimize_pic_address): Likewise. |
240fd4a0 | 3024 | Changed type of variable even to HOST_WIDE_INT. |
3025 | ||
ab608690 | 3026 | 2006-11-27 Jan Hubicka <jh@suse.cz> |
3027 | ||
3028 | * expr.c (emit_block_move_via_libcall): Export. | |
3029 | (clear_storage_via_libcall): Rename to ... | |
3030 | (set_storage_via_libcall): ... this one; handle arbitrary value to set. | |
3031 | (clear_storage): Update to set_storage_via_libcall. | |
3032 | * expr.h (emit_block_move_via_libcall): Declare | |
3033 | * config/i386/i386.h (stringop_alg): New enum. | |
3034 | (MAX_STRINGOP_ALGS): New constant. | |
3035 | (stringop_algs): New struct. | |
3036 | (processor_costs): Add memcpy/memset descriptors. | |
3037 | (TARGET_REP_MOVEL_OPTIMAL): Remove. | |
3038 | * config/i386/i386.md (movsi_insv_1_rex64): New pattern. | |
3039 | (strmovsi, strmovdi, strsetsi, strsetdi): Update; accept all operands | |
3040 | for memset. | |
3041 | * config/i386/i386.opt (minline-stringops-dynamically, | |
3042 | mstringop-strategy): New | |
3043 | parameters. | |
3044 | * config/i386/i386-prostos.h (ix86_expand_movmem): Update prototype. | |
3045 | (ix86_expand-clrmem): Rename to ... | |
3046 | (ix86_expand_setmem): ... this one; update prototype. | |
3047 | * config/i386/i386.c (DUMMY_STRINGOP_ALGS): New constant. | |
3048 | (size_cost, i386_cost, i486_cost, pentium_cost, pentiumpro_cost, | |
3049 | geode_cost, k6_cost, athlon_cost, k8_cost, pentium4_cost, | |
3050 | nocona_cost, core2_cost, generic_cost, generic64_cost, | |
3051 | generic32_cost): Add memcpy/memset descriptors. | |
3052 | (x86_rep_movl_optimal): Remove. | |
3053 | (stringop_alg): New static variable. | |
3054 | (ix86_expand_aligntest): Handle predictions. | |
3055 | (override_options): Add strgop_alg handling. | |
3056 | (predict_jump): New function. | |
3057 | (scale_counter): New function. | |
3058 | (expand_set_or_movmem_via_loop): New function. | |
3059 | (expand_movmem_via_rep_mov): New function. | |
3060 | (expand_setmem_via_rep_stots): New function. | |
3061 | (emit_strmov): New function. | |
3062 | (expand_movmem_epilogue): New function. | |
3063 | (expand_setmem_epilogue_via_loop): New function. | |
3064 | (expand_setmem_epilogue): New function. | |
3065 | (expand_movmem_prologue): New function. | |
3066 | (expand_setmem_prologue): New function. | |
3067 | (decide_alg): New function. | |
3068 | (decide_alignment): New function. | |
3069 | (ix86_exand_movmem): Rewrite. | |
3070 | (promote_duplicated_reg): New function. | |
3071 | (ix86_expand_clrmem): Rename to ... | |
3072 | (ix86_expand_setmem): ... this one. Rewrite. | |
3073 | ||
3074 | * invoke.texi (minline-stringops-dynamically): New command line option. | |
3075 | (mstringop-strategy): Likewise. | |
3076 | ||
737251e7 | 3077 | 2006-11-27 Jan Hubicka <jh@suse.cz> |
3078 | ||
3079 | * cfgexpand.c (construct_exit_block): Don't disturb end of last BB. | |
3080 | * rtl.texi (NOTE_INSN_FUNCTION_END): Remove. | |
3081 | * final.c (final_scan_insn): Don't scan NOTE_INSN_FUNCTION_END. | |
3082 | * insn-notes.def (FUNCTION_END): Remove. | |
3083 | * jump.c (delete_related_insns): Don't worry about FUNCTION_END. | |
3084 | (redicect_jump_2): Don't accept -1 parameter to remove FUNCTION_END | |
3085 | note. | |
3086 | * ifcvt.c (dead_or_predictable): Update call of redirect_jump_2. | |
3087 | * function.c (expand_function_end): Don't emit NOTE_INSN_FUNCTION_END | |
3088 | * cfglayout.c (duplicate_insn_chain): Don't worry about | |
3089 | NOTE_FUNCTION_END. | |
3090 | ||
22c2f6bd | 3091 | 2006-11-27 Richard Guenther <rguenther@suse.de> |
a5336510 | 3092 | Zdenek Dvorak <dvorakz@suse.cz> |
22c2f6bd | 3093 | |
3094 | * target.h (struct gcc_target): Add builtin_vectorized_function | |
3095 | target hook. | |
3096 | * target-def.h (TARGET_VECTORIZE): Likewise. | |
3097 | * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): | |
3098 | Document new target hook. | |
3099 | * targhooks.h (default_builtin_vectorized_function): Declare. | |
3100 | * targhooks.c (default_builtin_vectorized_function): Define. | |
3101 | * tree-vectorizer.h (stmt_vec_info_type): Add call_vec_info_type. | |
3102 | (vectorizable_call): Declare. | |
3103 | * tree-vect-analyze.c (vect_analyze_operations): Call | |
3104 | vectorizable_call. | |
3105 | * tree-vect-transform.c (vectorizable_function): New static function. | |
3106 | (build_vectorized_function_call): Likewise. | |
3107 | (vectorizable_call): New function. | |
3108 | (vect_transform_stmt): Handle vectorizable calls. | |
3109 | ||
1c4709b4 | 3110 | 2006-11-27 Richard Guenther <rguenther@suse.de> |
3111 | ||
3112 | PR middle-end/25620 | |
3113 | * builtins.c (expand_builtin_pow): Optimize non integer valued | |
3114 | constant exponents using sqrt or cbrt if possible. Always fall back | |
3115 | to expanding via optabs. | |
3116 | ||
54831b9a | 3117 | 2006-11-27 Ira Rosen <irar@il.ibm.com> |
3118 | ||
3119 | PR tree-optimization/22372 | |
3120 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Convert | |
3121 | the type of the base address. | |
3122 | (vect_create_data_ref_ptr): Add an argument, type of the data-ref. Use | |
3123 | it in the data-ref pointer creation. | |
3124 | (vect_init_vector): Add an argument, type of the init vector. Use it in | |
3125 | the stmt creation. | |
3126 | (vect_get_vec_def_for_operand): Fix calls to vect_init_vector. | |
3127 | (get_initial_def_for_reduction): Likewise. | |
3128 | (vect_create_epilog_for_reduction): Change type of MODIFY_EXPR to | |
3129 | void_type_node. | |
3130 | (vectorizable_assignment, vect_permute_store_chain): Likewise. | |
3131 | (vectorizable_store): Fix call to vect_create_data_ref_ptr. Use the | |
3132 | correct type in stmt creation. | |
3133 | (vect_setup_realignment): Use the correct type in stmt creation. | |
3134 | (vect_permute_load_chain): Change type of MODIFY_EXPR to | |
3135 | void_type_node. | |
3136 | (vectorizable_load): Fix calls to vect_create_data_ref_ptr. Change type | |
3137 | of MODIFY_EXPR to void_type_node. | |
3138 | (vectorizable_condition): Change type of MODIFY_EXPR to | |
3139 | void_type_node. | |
3140 | (vect_update_ivs_after_vectorizer): Use the correct type in stmt | |
3141 | creation. | |
3142 | ||
f309fd62 | 3143 | 2006-11-27 Uros Bizjak <ubizjak@gmail.com> |
3144 | ||
3145 | Revert: | |
3146 | 2006-05-08 Uros Bizjak <uros@kss-loka.si> | |
3147 | * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For | |
3148 | standard 80387 constants, raise the cost to prevent | |
3149 | compress_float_constant() to generate load from memory. | |
3150 | ||
3151 | * config/i386/i386.md: Add new splitter pattern to split | |
3152 | float_extended load of constant from constant pool into | |
3153 | pure constant load. | |
3154 | ||
61fe3555 | 3155 | 2006-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
3156 | ||
69c937e1 | 3157 | * doc/install.texi: Move GMP/MPFR configure options from Fortran |
3158 | section to general section. Remove documentation for | |
3159 | --with-mpfr-dir and --with-gmp-dir, add documentation for | |
3160 | --with-mpfr-include, --with-mpfr-lib, --with-gmp-include and | |
3161 | --with-gmp-lib. | |
3162 | ||
61fe3555 | 3163 | * builtins.c (fold_builtin_fmin_fmax): Handle NaN arguments. |
3164 | ||
a47cd786 | 3165 | 2006-11-26 Razya Ladklesky <razya@il.ibm.com> |
14f46a5e | 3166 | |
f309fd62 | 3167 | * testsuite/gcc.dg/ipa/ipa-6.c: New. |
3168 | ||
e81e6331 | 3169 | 2006-11-26 Razya Ladklesky <razya@il.ibm.com> |
a47cd786 | 3170 | |
e81e6331 | 3171 | PR tree-optimization/29122 |
a47cd786 | 3172 | * tree-inline.c (tree_function_versioning): Update DECL_ASSEMBLER_NAME |
3173 | for the new version. Assign NULL to DECL_RTL of the new version. | |
e81e6331 | 3174 | |
738a6975 | 3175 | 2006-11-25 Uros Bizjak <ubizjak@gmail.com> |
3176 | ||
3177 | * reg-stack.c (get_true_reg): Fix UNSPEC_TRUNC_NOOP handling. | |
3178 | ||
bbe0b6d7 | 3179 | 2006-11-25 Steven Bosscher <steven@gcc.gnu.org> |
3180 | ||
3181 | * cse.c (cse_altered): Remove. | |
3182 | (record_jump_equiv): Make true/false argument a bool instead | |
3183 | of an int. | |
3184 | (cse_insn): Don't set cse_altered. Use delete_insn_and_edges | |
3185 | where appropriate. Emit a new jump before the existing one | |
3186 | instead of after so that delete_insn_and_edges removes the | |
3187 | dead edges properly. Check any_condjump_p before calling | |
3188 | record_jump_equiv. | |
3189 | (cse_basic_block): Check any_condjump_p before calling | |
3190 | record_jump_equiv. | |
3191 | (cse_main): Don't set/check cse_altered. Remove USE_C_ALLOCA. | |
3192 | ||
8706d7a3 | 3193 | 2006-11-25 Brooks Moses <brooks.moses@codesourcery.com> |
3194 | ||
3195 | * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and | |
3196 | -ffixed-line-length-* options. | |
3197 | ||
d605b9b2 | 3198 | 2006-11-25 Uros Bizjak <ubizjak@gmail.com> |
3199 | ||
738a6975 | 3200 | * config/i386/i386.md (fpremxf4): Rename to fpremxf4_i387. |
d605b9b2 | 3201 | (fprem1xf4): Rename to fprem1xf4_i387. |
3202 | ||
3203 | (fmodsf3, fmoddf3): Macroize patterns using X87MODEF12 mode macro. | |
3204 | Rename patterns to fmod<mode>3. Use general_operand operand | |
3205 | constraint for operands 1 and 2. Use SSE_FLOAT_MODE_P to disable | |
3206 | patterns for SSE math. | |
3207 | (remaindersf3, remainderdf3): Ditto. | |
3208 | ||
c5159852 | 3209 | 2006-11-25 Joseph Myers <joseph@codesourcery.com> |
3210 | ||
3211 | * function.c (instantiate_virtual_regs_in_insn): Call force_reg | |
3212 | inside start_sequence / end_sequence pair. | |
3213 | ||
eea7b156 | 3214 | 2006-11-25 Steven Bosscher <steven@gcc.gnu.org> |
3215 | ||
3216 | * jump.c (mark_all_labels): Work in cfglayout mode. | |
3217 | * cfgcleanup.c (cleanup_cfg): Do not call delete_dead_jumptables | |
3218 | when in cfglayout mode, because there are no dead jumptables | |
3219 | visible. | |
3220 | * cfgrtl.c (commit_one_edge_insertion): Don't set bb->aux when | |
3221 | in cfglayout mode. | |
3222 | (commit_edge_insertions): Do not allow insertion of instructions | |
3223 | with control flow insns when in cfglayout mode. | |
3224 | ||
7194de72 | 3225 | 2006-11-25 Zdenek Dvorak <dvorakz@suse.cz> |
3226 | ||
3227 | * tree-vrp.c (execute_vrp): Do not pass loops structure through | |
3228 | arguments. | |
3229 | * loop-unswitch.c (unswitch_loops, unswitch_single_loop, | |
3230 | unswitch_loop): Ditto. | |
3231 | * tree-loop-linear.c (linear_transform_loops): Ditto. | |
3232 | * tree-ssa-loop-im.c (determine_lsm, tree_ssa_lim_initialize, | |
3233 | tree_ssa_lim): Ditto. | |
3234 | * tree-ssa-loop-niter.c (estimate_numbers_of_iterations, | |
3235 | free_numbers_of_iterations_estimates): Ditto. | |
3236 | * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops, | |
3237 | tree_unswitch_single_loop, tree_unswitch_loop): Ditto. | |
3238 | * cfgloopmanip.c (fix_bb_placement, fix_bb_placements, | |
3239 | remove_path, add_loop, loopify, unloop, fix_loop_placements, | |
3240 | place_new_loop, duplicate_loop, duplicate_subloops, | |
3241 | update_single_exit_for_duplicated_loops, copy_loops_to, | |
3242 | duplicate_loop_to_header_edge, create_preheaders, | |
3243 | force_single_succ_latches, loop_version, fix_loop_structure): | |
3244 | Ditto. | |
3245 | * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge, | |
3246 | tree_unroll_loop): Ditto. | |
3247 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. | |
3248 | * tree-scalar-evolution.c (select_loops_exit_conditions, | |
3249 | scev_initialize, scev_analysis): Ditto. | |
3250 | * tree-scalar-evolution.h (scev_initialize): Ditto. | |
3251 | * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge): Ditto. | |
3252 | * cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto. | |
3253 | * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto. | |
3254 | * modulo-sched.c (sms_schedule): Ditto. | |
3255 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. | |
3256 | * loop-init.c (loop_optimizer_init, rtl_move_loop_invariants, | |
3257 | rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): Ditto. | |
3258 | * ifcvt.c (if_convert): Ditto. | |
3259 | * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely, | |
3260 | canonicalize_loop_induction_variables, | |
3261 | canonicalize_induction_variables, | |
3262 | tree_unroll_loops_completely, remove_empty_loops): Ditto. | |
3263 | * tree-ssa-loop.c (tree_ssa_loop_init, tree_ssa_loop_im, | |
3264 | tree_ssa_loop_unswitch, tree_vectorize, tree_linear_transform, | |
3265 | tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds, | |
3266 | tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts, | |
3267 | tree_ssa_loop_done): Ditto. | |
3268 | * predict.c (predict_loops, tree_estimate_probability, estimate_loops, | |
3269 | estimate_bb_frequencies): Ditto. | |
3270 | * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg, | |
3271 | slpeel_tree_peel_loop_to_edge, vectorize_loops): Ditto. | |
3272 | * loop-unroll.c (unroll_and_peel_loops, peel_loops_completely, | |
3273 | decide_unrolling_and_peeling, peel_loop_completely, | |
3274 | unroll_loop_constant_iterations, unroll_loop_runtime_iterations, | |
3275 | peel_loop_simple, unroll_loop_stupid): Ditto. | |
3276 | * loop-doloop.c (doloop_optimize_loops): Ditto. | |
3277 | * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Ditto. | |
3278 | * loop-invariant.c (move_loop_invariants): Ditto. | |
3279 | * tree-ssa-dce.c (tree_ssa_dce_loop): Ditto. | |
3280 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays, | |
3281 | tree_ssa_prefetch_arrays): Ditto. | |
3282 | * lambda-code.c (gcc_loopnest_to_lambda_loopnest, perfect_nestify): | |
3283 | Ditto. | |
3284 | * tree-vect-transform.c (vect_do_peeling_for_loop_bound, | |
3285 | vect_do_peeling_for_alignment, vect_transform_loop): Ditto. | |
3286 | * cfgloop.c (flow_loops_cfg_dump, flow_loops_dump, | |
3287 | mark_single_exit_loops, cancel_loop, cancel_loop_tree, | |
3288 | verify_loop_structure): Ditto. | |
3289 | * tree-flow.h (vectorize_loops, tree_ssa_lim, tree_ssa_unswitch_loops, | |
3290 | canonicalize_induction_variables, tree_unroll_loops_completely, | |
3291 | tree_ssa_prefetch_arrays, remove_empty_loops, tree_ssa_iv_optimize, | |
3292 | estimate_numbers_of_iterations, free_numbers_of_iterations_estimates, | |
3293 | tree_duplicate_loop_to_header_edge, tree_ssa_loop_version, | |
3294 | tree_unroll_loop, linear_transform_loops): Declaration changed. | |
3295 | * basic-block.h: Remove declaration of struct loops. | |
3296 | * cfghooks.h (struct cfg_hooks): Change type of | |
3297 | cfg_hook_duplicate_loop_to_header_edge. | |
3298 | (cfg_hook_duplicate_loop_to_header_edge): Declaration changed. | |
3299 | * tree-vectorizer.h (slpeel_tree_peel_loop_to_edge, | |
3300 | vect_transform_loop): Declaration changed. | |
3301 | * lambda.h (gcc_loopnest_to_lambda_loopnest): Declaration changed. | |
3302 | * cfgloop.h (flow_loops_dump, fix_loop_structure, | |
3303 | mark_irreducible_loops, mark_single_exit_loops, mark_loop_exit_edges, | |
3304 | cancel_loop_tree, create_preheaders, force_single_succ_latches, | |
3305 | verify_loop_structure, duplicate_loop, duplicate_loop_to_header_edge, | |
3306 | loopify, loop_version, remove_path, unswitch_loops, | |
3307 | unroll_and_peel_loops, doloop_optimize_loops, move_loop_invariants): | |
3308 | Declaration changed. | |
3309 | ||
fafa4a36 | 3310 | 2006-11-24 Uros Bizjak <ubizjak@gmail.com> |
3311 | ||
7194de72 | 3312 | * config/i386/i386.md (UNSPEC_TRUNC_NOOP): New unspec definition. |
fafa4a36 | 3313 | (X87MODEF): New mode macro. |
3314 | (ssemodefsuffix): New mode attribute. | |
3315 | (truncxf<mode>2_i387_noop_unspec): New insn pattern. | |
3316 | (sqrt_extend<mode>xf2_i387): New insn pattern. | |
3317 | (sqrt<mode>2): For non-SSE sqrt, emit sqrt_extend<mode>xf2_i387 | |
3318 | insn and truncate result back to original mode using | |
3319 | UNSPEC_TRUNC_NOOP truncation. | |
3320 | (*sqrt<mode>2_sse): Implement using SSEMODEF mode macro and | |
3321 | ssemodefsuffix mode attribute. | |
3322 | (*sqrtsf2_mixed, *sqrtsf2_i387, *sqrtdf2_mixed, *sqrtdf2_i387) | |
3323 | (*sqrtextendsfdf2_i387, *sqrtextendsfxf2_i387) | |
3324 | (*sqrtextenddfxf2_i387): Remove insn patterns. | |
3325 | ||
3326 | (fmodsf3, fmoddf3, remaindersf3, remainderdf3): Use noop | |
3327 | truncation patterns. | |
3328 | ||
a47cd786 | 3329 | * reg-stack.c (get_true_reg): Handle UNSPEC_TRUNC_NOOP. |
3330 | ||
5ceb27aa | 3331 | 2006-11-24 Jakub Jelinek <jakub@redhat.com> |
3332 | ||
96faf93e | 3333 | PR c/29955 |
3334 | * c-tree.h (c_maybe_initialize_eh): New prototype. | |
3335 | * c-decl.c (finish_decl): Move EH initialization... | |
3336 | (c_maybe_initialize_eh): ... here. New function. | |
3337 | * c-parser.c (c_parser_omp_construct): Call c_maybe_initialize_eh | |
3338 | if not #pragma omp atomic. | |
3339 | ||
5ceb27aa | 3340 | PR c/29736 |
3341 | * c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE | |
3342 | or UNION_TYPE inner types. | |
3343 | ||
dcccac3e | 3344 | 2006-11-24 Andrew Pinski <andrew_pinski@playstation.sony.com> |
3345 | ||
3346 | PR tree-opt/29964 | |
3347 | * ipa-pure-const.c (check_tree): If the original tree | |
3348 | is volatile return early and say the function is not pure | |
a47cd786 | 3349 | nor const. Remove the volatile check for writes. |
dcccac3e | 3350 | (analyze_function): Print out the result of the local |
3351 | analysis pass. | |
3352 | ||
220692e4 | 3353 | 2006-11-24 Joseph Myers <joseph@codesourcery.com> |
3354 | ||
3355 | * config/rs6000/eabispe.h (TARGET_DEFAULT): Include | |
3356 | MASK_STRICT_ALIGN. | |
3357 | * config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise. | |
3358 | * config/rs6000/rs6000.c (rs6000_override_options): Use | |
3359 | MASK_STRICT_ALIGN for 8540 and 8548. Add MASK_STRICT_ALIGN to | |
3360 | POWERPC_MASKS. | |
3361 | ||
db1f11e3 | 3362 | 2006-11-24 Andreas Krebbel <krebbel1@de.ibm.com> |
3363 | ||
3364 | * config/s390.c (s390_emit_compare_and_swap): New function. | |
a47cd786 | 3365 | (s390_expand_cs_hqi, s390_expand_atomic): Call |
db1f11e3 | 3366 | s390_emit_compare_and_swap. |
3367 | ||
560c4bcb | 3368 | 2006-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
3369 | ||
3370 | * pa.c (return_addr_rtx): Change 0xe0400002 to -532676606. | |
3371 | ||
d31d55f0 | 3372 | 2006-11-24 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
3373 | ||
3374 | PR c/2707 | |
3375 | PR c++/26167 | |
3376 | * c-common.c (conversion_warning): New. | |
3377 | (convert_and_check): Call conversion_warning unless there is an | |
3378 | overflow warning. | |
3379 | * doc/invoke.texi (-Wconversion): Update description. | |
3380 | ||
44a2bb4a | 3381 | 2006-11-23 Daniel Berlin <dberlin@dberlin.org> |
3382 | ||
3383 | * tree-ssa-alias.c (tree_pointer_compare): New function. | |
3384 | (compact_name_tags): New function. | |
3385 | (group_aliases): Call compact_name_tags. | |
3386 | ||
0570334c | 3387 | 2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
3388 | ||
3389 | * real.h (real_isinteger): Declare. | |
3390 | * real.c (real_isinteger): Define. | |
3391 | * builtins.c (integer_valued_real_p): Use it. | |
3392 | ||
583272a2 | 3393 | 2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
3394 | ||
a47cd786 | 3395 | PR c/9072 |
583272a2 | 3396 | * c.opt (Wtraditional-conversion): New. |
3397 | (Wconversion): Update description. | |
3398 | * c-typeck.c (convert_arguments): Warnings for prototypes causing | |
3399 | type conversions different from what would happen in the absence | |
3400 | of prototype are now handled by Wtraditional-conversion. | |
3401 | * doc/invoke.texi (Wtraditional-conversion): New. | |
3402 | (Wconversion): Update description. | |
3403 | * doc/trouble.texi (Wconversion): Replace Wconversion by | |
3404 | Wtraditional-conversion. | |
3405 | ||
0732b809 | 3406 | 2006-11-23 Andrew Pinski <pinskia@gmail.com> |
3407 | ||
3408 | * predict.c (tree_estimate_probability): Check to make | |
3409 | sure current_loops is non null before calling flow_loops_dump. | |
3410 | ||
1441be6b | 3411 | 2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com> |
3412 | ||
3413 | * var-tracking.c (emit_note_insn_var_location): Revert previous patch. | |
3414 | ||
4ec596ee | 3415 | 2006-11-23 David Ung <davidu@mips.com> |
3416 | ||
3417 | * config/mips/mips.h (ISA_HAS_FP4): Add MIPS32R2 + 64bit fpu | |
3418 | combination. | |
3419 | (ISA_HAS_MXHC1): True if ISA supports mfhc1 and mthc1 opcodes. | |
3420 | (ASM_SPEC): Pass along -mfp32 and -mfp64. | |
3421 | * config/mips/mips.c (mips_split_64bit_move): Use gen_mthc1 to set | |
3422 | high part of FP register when in 64-bit FP register mode. Similarly | |
3423 | use gen_mfhc1 to load high part of FP register. | |
3424 | (override_options): Allow -mgp32 and -mfp64 combination if | |
3425 | ISA_HAS_MXHC1 (currently for O32 only). | |
3426 | (mips_cannot_change_mode_class): If floating-point registers are | |
3427 | bigger than word size. disallow conversion of float register from a | |
3428 | large integer mode to a float mode smaller than the float register | |
3429 | size. | |
3430 | (mips_class_max_nregs): Handle float registers case seperately. | |
3431 | * config/mips/mips.md (define_constants): Add UNSPEC_MFHC1, | |
3432 | UNSPEC_MTHC1. | |
3433 | (movdi_32bit): Use !TARGET_FLOAT64 in condition pattern. | |
3434 | (movdf_hardfloat_32bit): Similarly. | |
3435 | (movdi_gp32_fp64): New DImode pattern for MIPS32R2 which optionally | |
3436 | support a full 64-bit fpu. | |
3437 | (mthc1): New pattern to generate MTHC1 instruction. | |
3438 | (mfhc1): New pattern to generate MFHC1 instruction. | |
3439 | * doc/invoke.texi (MIPS Options): Document the -mgp32 -mfp64 | |
3440 | option for the MIPS32R2 and mention its use under O32 ABI. | |
3441 | ||
2e55eac6 | 3442 | 2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com> |
3443 | ||
3444 | * var-tracking.c (emit_note_insn_var_location): Take care not to | |
3445 | cause verify_flow_info failures. | |
3446 | ||
eb68f239 | 3447 | 2006-11-22 Daniel Berlin <dberlin@dberlin.org> |
3448 | ||
3449 | * tree-ssa-structalias.c: Remove edge weights in favor of just | |
3450 | processing them as complex constraints. | |
3451 | (struct constraint_graph): Remove weighted succs and preds. Rename | |
3452 | nonweighted succs and preds. | |
3453 | (constraint_edge): Removed. | |
3454 | (constraint_edge_t): Ditto. | |
3455 | (constraint_edge_pool): Ditto. | |
3456 | (new_constraint_edge): Ditto. | |
3457 | (constraint_edge_equal): Ditto. | |
3458 | (constraint_edge_less): Ditto. | |
3459 | (constraint_edge_vec_find): Ditto. | |
3460 | (erase_self_graph_edge): Ditto. | |
3461 | (add_graph_edge): Removed. | |
3462 | (get_graph_weights): Ditto. | |
d605b9b2 | 3463 | (allocate_graph_weights): Ditto. |
eb68f239 | 3464 | (valid_weighted_graph_edge): Ditto |
3465 | (bitmap_other_than_zero_bit_set): Ditto. | |
3466 | (int_add_graph_edge): Renamed to add_graph_edge. | |
3467 | (clear_edges_for_node): Remove support for weighted edges. | |
3468 | (merge_graph_nodes): Ditto. | |
3469 | (valid_graph_edge): Ditto. | |
3470 | (build_constraint_graph): Ditto. | |
3471 | (scc_visit): Ditto. | |
3472 | (collapse_nodes): Ditto. | |
3473 | (process_unification_queue): Ditto. | |
3474 | (topo_visit): Ditto. | |
3475 | (do_ds_constraint): Ditto. | |
3476 | (perform_var_subsitution): Ditto. | |
3477 | (solve_graph): Ditto. | |
3478 | (init_alias_vars): Ditto. | |
3479 | (delete_points_to_sets): Ditto. | |
3480 | (do_complex_constraint): Support offsetted copies here. | |
3481 | ||
7d8df04f | 3482 | 2006-11-23 Ulrich Weigand <uweigand@de.ibm.com> |
3483 | ||
3484 | * config/spu/spu_intrinsics.h (SPU_RdEventStatMask): Rename to | |
3485 | SPU_RdEventMask. | |
3486 | * config/spu/spu_mfcio.h (spu_read_event_mask): Update. | |
2efea1f7 | 3487 | |
c720acbb | 3488 | * config/spu/spu_mfcio.h (struct mfc_list_element): Change width |
3489 | of size bitfield. | |
3490 | ||
7d8df04f | 3491 | 2006-11-23 Ben Elliston <bje@au.ibm.com> |
3492 | ||
2efea1f7 | 3493 | * config/spu/spu-elf.h (LIB_SPEC): Do not link with -lc_p. |
3494 | ||
90b56f40 | 3495 | 2006-11-23 Zdenek Dvorak <dvorakz@suse.cz> |
3496 | ||
3497 | PR tree-optimization/29921 | |
3498 | * fold-const.c (operand_equal_p): Without HONOR_SIGNED_ZEROS, consider | |
3499 | signed and unsigned zero equal. | |
3500 | ||
376fbe04 | 3501 | 2006-11-22 Peter Bergner <bergner@vnet.ibm.com> |
3502 | ||
3503 | * config/rs6000/rs6000.c (get_store_dest): New. | |
3504 | (adjacent_mem_locations): Use get_store_dest() to get | |
3505 | the rtl of the store destination. | |
3506 | ||
fdf1c510 | 3507 | 2006-11-22 Joseph Myers <joseph@codesourcery.com> |
3508 | ||
3509 | * config/rs6000/spe.md (SPE64): New mode macro. | |
3510 | (mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0. Add | |
3511 | memory load. | |
3512 | (mov_si<mode>_e500_subreg0_2): New. | |
3513 | (mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4. Add | |
3514 | memory load. | |
3515 | (mov_si<mode>_e500_subreg4_2): New. | |
3516 | * config/rs6000/predicates.md (input_operand): Do not allow | |
3517 | invalid E500 subregs. | |
3518 | (rs6000_nonimmediate_operand): Check for invalid E500 subregs also | |
3519 | if TARGET_SPE. | |
3520 | * config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs | |
3521 | involving DFmode if TARGET_E500_DOUBLE. Check for subregs | |
3522 | involving vector modes if TARGET_SPE. | |
3523 | ||
b50e8f45 | 3524 | 2006-11-22 Kaz Kojima <kkojima@gcc.gnu.org> |
3525 | ||
3526 | Revert | |
3527 | 2006-11-12 Kaz Kojima <kkojima@gcc.gnu.org> | |
3528 | * reorg.c (emit_delay_sequence): Copy the delay slot insn. | |
3529 | ||
9aa0222b | 3530 | 2006-11-22 Bernd Schmidt <bernd.schmidt@analog.com> |
3531 | ||
3532 | * config/bfin/predicates.md (d_register_operand, mem_p_address_operand, | |
3533 | mem_i_address_operand): New predicates. | |
3534 | * config/bfin/bfin.c (bfin_issue_rate): New function. | |
3535 | (TARGET_SCHED_ISSUE_RATE): New macro. | |
3536 | * config/bfin/bfin.md (addrtype): New attribute. | |
3537 | (slot0, slot1, slot2, store, pregs): New cpu_units. | |
3538 | (core): Now a define_reservation. | |
3539 | (alu): Remove some insn types from this reservation. | |
3540 | (dsp32, load32, loadp, loadi, store32, storep, storei, multi): New | |
3541 | insn reservations. | |
3542 | (dummy reservation): Don't trigger for mcld insns. | |
3543 | (absence_sets): Two new absence sets to enforce slot ordering. | |
3544 | (popsi_insn): Set addrtype. | |
3545 | ||
6b8dbb53 | 3546 | 2006-11-22 Ira Rosen <irar@il.ibm.com> |
3547 | ||
3548 | * doc/c-tree.texi: Document new tree codes. | |
3549 | * doc/md.texi: Document new optabs. | |
3550 | * tree-pretty-print.c (dump_generic_node): Handle print of new tree | |
3551 | codes. | |
3552 | * optabs.c (optab_for_tree_code, init_optabs): Handle new optabs. | |
3553 | * optabs.h (optab_index): Add new. | |
3554 | (vec_extract_even_optab, vec_extract_odd_optab, | |
3555 | vec_interleave_high_optab, vec_interleave_low_optab): New optabs. | |
3556 | * genopinit.c (vec_extract_even_optab, vec_extract_odd_optab, | |
3557 | vec_interleave_high_optab, vec_interleave_low_optab): Initialize | |
3558 | new optabs. | |
3559 | * expr.c (expand_expr_real_1): Add implementation for new tree codes. | |
3560 | * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields. | |
3561 | * tree-vectorizer.h (stmt_vec_info): Add new fields for interleaving | |
3562 | along with macros for their access. | |
3563 | * tree-data-ref.h (first_location_in_loop, data_reference): Update | |
3564 | comment. | |
3565 | * tree-vect-analyze.c (toplev.h): Include. | |
3566 | (vect_determine_vectorization_factor): Fix indentation. | |
3567 | (vect_insert_into_interleaving_chain, | |
3568 | vect_update_interleaving_chain, vect_equal_offsets): New functions. | |
3569 | (vect_analyze_data_ref_dependence): Add argument for interleaving | |
3570 | check. Check for interleaving if it's true. | |
3571 | (vect_check_dependences): New function. | |
3572 | (vect_analyze_data_ref_dependences): Call vect_check_dependences for | |
3573 | every ddr. Call vect_analyze_data_ref_dependence with new argument. | |
3574 | (vect_update_misalignment_for_peel): Update for interleaving. | |
3575 | (vect_verify_datarefs_alignment): Check only first data-ref for | |
3576 | interleaving. | |
3577 | (vect_enhance_data_refs_alignment): Update for interleaving. Check | |
3578 | only first data-ref for interleaving. | |
3579 | (vect_analyze_data_ref_access): Check interleaving, update | |
3580 | interleaving data. | |
3581 | (vect_analyze_data_refs): Call compute_data_dependences_for_loop | |
3582 | with different parameters. | |
3583 | * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR, | |
3584 | VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): New tree codes. | |
3585 | * tree-inline.c (estimate_num_insns_1): Add cases for new codes. | |
3586 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): | |
3587 | Update step in case of interleaving. | |
3588 | (vect_strided_store_supported, vect_permute_store_chain): New | |
3589 | functions. | |
3590 | (vectorizable_store): Handle strided stores. | |
3591 | (vect_strided_load_supported, vect_permute_load_chain, | |
3592 | vect_transform_strided_load): New functions. | |
3593 | (vectorizable_load): Handle strided loads. | |
3594 | (vect_transform_stmt): Add argument. Handle strided stores. Check | |
3595 | that vectorized stmt exists for patterns. | |
3596 | (vect_gen_niters_for_prolog_loop): Update calculation for | |
3597 | interleaving. | |
3598 | (vect_transform_loop): Remove stmt_vec_info for strided stores after | |
3599 | whole chain vectorization. | |
3600 | * config/rs6000/altivec.md (UNSPEC_EXTEVEN, UNSPEC_EXTODD, | |
3601 | UNSPEC_INTERHI, UNSPEC_INTERLO): New constants. | |
3602 | (vpkuhum_nomode, vpkuwum_nomode, vec_extract_even<mode>, | |
3603 | vec_extract_odd<mode>, altivec_vmrghsf, altivec_vmrglsf, | |
3604 | vec_interleave_high<mode>, vec_interleave_low<mode>): Implement. | |
3605 | ||
5c03e3d6 | 3606 | 2006-11-22 Steven Bosscher <steven@gcc.gnu.org> |
3607 | ||
3608 | * cse.c (enum taken): Remove PATH_AROUND. | |
3609 | (addr_affects_sp_p, invalidate_skipped_set, | |
3610 | invalidate_skipped_block): Remove. | |
3611 | (cse_end_of_basic_block): Remove skip_blocks and related code. | |
3612 | (cse_main): Don't test for flag_cse_skip_blocks. | |
3613 | Update cse_end_of_basic_block call. | |
3614 | (cse_basic_block): Likewise. Remove PATH_AROUND case. Remove | |
3615 | code to lengthen the path if a jump was simplified. | |
3616 | ||
d6a1bbdb | 3617 | 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz> |
3618 | ||
3619 | PR rtl-optimization/29924 | |
3620 | * loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL. | |
3621 | (unroll_loop_runtime_iterations): Assert that the argument passed to | |
3622 | split_edge_and_insert is not NULL. | |
3623 | * loop-doloop.c (add_test): Ditto. | |
3624 | ||
d9e7e1a2 | 3625 | 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz> |
3626 | ||
3627 | * tree-loop-linear.c (linear_transform_loops): Use single_exit accessor | |
3628 | functions. | |
3629 | * tree-ssa-loop-niter.c (loop_only_exit_p): Ditto. | |
3630 | * cfgloopmanip.c (update_single_exits_after_duplication, | |
3631 | update_single_exit_for_duplicated_loop, loop_version): Ditto. | |
3632 | * tree-scalar-evolution.c (get_loop_exit_condition, | |
3633 | get_exit_conditions_rec, loop_closed_phi_def, | |
3634 | number_of_iterations_in_loop, scev_const_prop): Ditto. | |
3635 | * tree-ssa-loop-ivopts.c (single_dom_exit): Ditto. | |
3636 | * modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule): | |
3637 | Ditto. | |
3638 | * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): | |
3639 | Ditto. | |
3640 | * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop, | |
3641 | slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2, | |
3642 | slpeel_make_loop_iterate_ntimes, | |
3643 | slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p, | |
3644 | slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge): | |
3645 | Ditto. | |
3646 | * tree-if-conv.c (if_convertible_loop_p): Ditto. | |
3647 | * tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p, | |
3648 | vect_analyze_loop_form): Ditto. | |
3649 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p, | |
3650 | can_convert_to_perfect_nest, perfect_nestify): Ditto. | |
3651 | * tree-vect-transform.c (vect_create_epilog_for_reduction, | |
3652 | vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound, | |
3653 | vect_transform_loop): Ditto. | |
3654 | * cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto. | |
3655 | (single_exit, set_single_exit): New functions. | |
3656 | * cfgloop.h (struct loop): Rename single_exit field to single_exit_. | |
3657 | (single_exit, set_single_exit): Declare. | |
3658 | * doc/loop.texi: Undocument single_exit field. Document single_exit | |
3659 | accessor function. | |
3660 | ||
07392428 | 3661 | 2006-11-22 Zdenek Dvorak <dvorakz@suse.cz> |
3662 | ||
3663 | PR tree-optimization/29902 | |
3664 | * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if | |
3665 | any involved ssa name appears in abnormal phi node. | |
3666 | ||
eb472ecb | 3667 | 2006-11-21 Bob Wilson <bob.wilson@acm.org> |
3668 | ||
3669 | * config/xtensa/xtensa.c (xtensa_char_to_class): Delete. | |
3670 | (xtensa_const_ok_for_letter_p): Delete. | |
3671 | (xtensa_extra_constraint): Delete. | |
3672 | (override_options): Delete xtensa_char_to_class initialization. | |
3673 | * config/xtensa/xtensa.h (REG_CLASS_FROM_LETTER): Delete. | |
3674 | (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
3675 | (EXTRA_CONSTRAINT): Delete. | |
3676 | * config/xtensa/xtensa.md: Include constraints.md. | |
3677 | (call_internal): Combine alternatives. | |
3678 | (call_value_internal): Likewise, and remove invalid constraints. | |
3679 | * config/xtensa/constraints.md: New file. | |
3680 | * config/xtensa/xtensa-protos.h (xtensa_const_ok_for_letter_p): Delete. | |
3681 | (xtensa_extra_constraint): Delete. | |
3682 | * doc/md.texi (Machine Constraints): Refer to constraints.md for | |
3683 | Xtensa constraints. | |
3684 | ||
e02b70bd | 3685 | 2006-11-21 Janis Johnson <janis187@us.ibm.com> |
3686 | ||
e66f4b82 | 3687 | * config/dfp-bits.c (DFP_TO_INT): Remove code to saturate result |
07392428 | 3688 | of conversion that doesn't fit. |
e66f4b82 | 3689 | |
7ef78c0e | 3690 | * config/dfp-bit.h (CONTEXT_TRAPS, CONTEXT_ERRORS, DFP_RAISE): Delete. |
3691 | * config/dfp-bit.c (dfp_unary_op, dfp_binary_op, dfp_compare_op, | |
3692 | DFP_TO_DFP, INT_TO_DFP, BFP_TO_DFP): Remove calls to DFP_RAISE. | |
3693 | ||
e02b70bd | 3694 | * config/dfp-bit.c (dfp_binary_func): Fix typedef. |
3695 | ||
3696 | 2006-11-21 Douglas Gregor <doug.gregor@gmail.com> | |
df1683c2 | 3697 | |
07392428 | 3698 | * c-common.h (enum rid): Add RID_STATIC_ASSERT. |
df1683c2 | 3699 | |
c37bea13 | 3700 | 2006-11-21 Richard Guenther <rguenther@suse.de> |
3701 | ||
3702 | * tree-vectorizer.h (NUM_PATTERNS): Increase. | |
3703 | * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add | |
3704 | vect_recog_pow_pattern. | |
3705 | (vect_recog_pow_pattern): New function. | |
3706 | ||
6295e560 | 3707 | 2006-11-21 Bernd Schmidt <bernd.schmidt@analog.com> |
3708 | ||
3709 | * config/bfin/bfin.opt (mstack-check-l1): New. | |
3710 | * doc/invoke.texi (Blackfin Options): Document it. | |
3711 | * config/bfin/bfin.c (bfin_expand_prologue): Generate code to use | |
3712 | stack bounds in L1 memory if the new option is enabled. | |
3713 | (override_options): Don't allow combinations of -fstack-limit and | |
3714 | -mstack-check-l1. | |
3715 | (add_to_reg): Renamed from add_to_sp. All callers changed. Lose some | |
3716 | dead code. | |
3717 | ||
cd36b2c0 | 3718 | * config/bfin/bfin.c (hard_regno_mode_ok): Only allow first 31 |
3719 | regs for DImode. | |
3720 | (bfin_register_move_cost): Bump costs if trying to move plain | |
3721 | integer values through accumulators. | |
3722 | ||
790c536c | 3723 | 2006-11-21 Ben Elliston <bje@au.ibm.com> |
3724 | ||
3725 | * config/spu/spu.c (spu_expand_vector_init): Initialise x. | |
3726 | ||
644459d0 | 3727 | 2006-11-20 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> |
db375b8e | 3728 | Russell Olsen <Russell_Olsen@playstation.sony.com> |
3729 | Dmitri Makarov <Dmitri_Makarov@playstation.sony.com> | |
3730 | Yukishige Shibata <shibata@rd.scei.sony.co.jp> | |
3731 | Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp> | |
3732 | Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp> | |
3733 | Andrew Pinski <Andrew_Pinski@playstation.sony.com> | |
644459d0 | 3734 | |
db375b8e | 3735 | * config.gcc: Add target for SPU. |
3736 | * config/spu/constraints.md: New file. | |
3737 | * config/spu/crt0.c: New file. | |
3738 | * config/spu/crtend.c: New file. | |
3739 | * config/spu/crti.asm: New file. | |
3740 | * config/spu/crtn.asm: New file. | |
3741 | * config/spu/float_unsdidf.c: New file. | |
3742 | * config/spu/float_unssidf.c: New file. | |
3743 | * config/spu/predicates.md: New file. | |
3744 | * config/spu/spu-builtins.def: New file. | |
3745 | * config/spu/spu-builtins.h: New file. | |
3746 | * config/spu/spu-builtins.md: New file. | |
3747 | * config/spu/spu-c.c: New file. | |
3748 | * config/spu/spu-elf.h: New file. | |
3749 | * config/spu/spu-modes.def: New file. | |
3750 | * config/spu/spu-protos.h: New file. | |
3751 | * config/spu/spu.c: New file. | |
3752 | * config/spu/spu.h: New file. | |
3753 | * config/spu/spu.md: New file. | |
3754 | * config/spu/spu.opt: New file. | |
3755 | * config/spu/spu_internals.h: New file. | |
3756 | * config/spu/spu_intrinsics.h: New file. | |
3757 | * config/spu/spu_mfcio.h: New file. | |
3758 | * config/spu/t-spu-elf: New file. | |
3759 | * config/spu/vec_types.h: New file. | |
3760 | * config/spu/vmx2spu.h: New file. | |
3761 | * doc/contrib.texi: Document SPU contributor. | |
3762 | * doc/extend.texi: Document SPU extensions. | |
3763 | * doc/invoke.texi: Document SPU options. | |
3764 | * doc/md.texi: Document SPU constraints. | |
644459d0 | 3765 | |
8543a448 | 3766 | 2006-11-21 Zdenek Dvorak <dvorakz@suse.cz> |
3767 | ||
3768 | * cfgloopmanip.c (add_loop, duplicate_loop): Do not set level | |
3769 | of the loop. | |
3770 | * cfgloop.c (flow_loop_level_compute, flow_loops_level_compute): | |
3771 | Removed. | |
3772 | (flow_loop_dump): Do not dump loop level. | |
3773 | (flow_loops_find): Do not call flow_loops_level_compute. | |
3774 | * cfgloop.h (struct loop): Remove level field. | |
3775 | ||
749ea85f | 3776 | 2006-11-21 Zdenek Dvorak <dvorakz@suse.cz> |
3777 | ||
3778 | * tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref, | |
3779 | hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop): | |
3780 | Use vector of edges instead of array. | |
3781 | * tree-ssa-loop-niter.c (find_loop_niter, find_loop_niter_by_eval, | |
3782 | estimate_numbers_of_iterations_loop): Ditto. | |
3783 | * predict.c (predict_loops): Ditto. | |
3784 | * loop-unroll.c (analyze_insns_in_loop): Ditto. | |
3785 | * tree-ssa-threadupdate.c: Remove declaration of heap allocation for | |
3786 | edge vectors. | |
3787 | * basic-block.h: Declare heap allocation for edge vectors. | |
3788 | * tree-outof-ssa.c: Ditto. | |
3789 | * cfgloop.c (get_loop_exit_edges): Return vector of edges. | |
3790 | * cfgloop.h (get_loop_exit_edges): Declaration changed. | |
3791 | ||
f6680037 | 3792 | 2006-11-20 Zack Weinberg <zackw@panix.com> |
3793 | ||
3794 | * gengtype.c (process_gc_options): Remove unnecessary forward decl. | |
3795 | Add another out parameter, "skip". | |
3796 | (set_gc_used_type): Adjust calls to process_gc_options. If a field | |
3797 | is tagged "skip", do not mark its type used. | |
3798 | ||
192903eb | 3799 | 2006-11-20 Andrew Pinski <andrew_pinski@playstation.sony.com> |
3800 | ||
3801 | PR tree-opt/25500 | |
3802 | * tree-sra.c (single_scalar_field_in_record_p): New function. | |
3803 | (decide_block_copy): Use it. | |
3804 | ||
c40205b6 | 3805 | 2006-11-20 David Daney <ddaney@avtrex.com> |
3806 | ||
3807 | * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust | |
3808 | PC to point to following instruction. | |
3809 | ||
02b0e64d | 3810 | 2006-11-20 Anatoly Sokolov <aesok@post.ru> |
3811 | ||
3812 | PR target/18553 | |
3813 | PR target/29449 | |
3814 | * config/avr/avr.h (OBJECT_FORMAT_ELF): Define. | |
3815 | ||
3816 | * config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define. | |
3817 | ||
eee267bf | 3818 | 2006-11-20 J"orn Rennecke <joern.rennecke@st.com> |
3819 | ||
3820 | * config.gcc (sh*-superh-elf): Add t-superh to tmake_file. | |
3821 | Add sh/superh.h to tm_file. | |
3822 | ||
e9ed62b6 | 3823 | 2006-11-20 Carlos O'Donell <carlos@codesourcery.com> |
3824 | Mark Mitchell <mark@codesourcery.com> | |
3825 | ||
a47cd786 | 3826 | * cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and |
e9ed62b6 | 3827 | gcc_exec_prefix. |
3828 | (cpp_relocated): New function. | |
a47cd786 | 3829 | * cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix |
3830 | and cpp_relocated. | |
e9ed62b6 | 3831 | * Makefile.in (PREPROCESSOR_DEFINES): Add -DPREFIX option. |
3832 | * c-incpath.c (add_standard_paths): Call cpp_relocated. If relocated, | |
a47cd786 | 3833 | replace configured prefix with gcc_exec_prefix. |
e9ed62b6 | 3834 | |
cf63c743 | 3835 | 2006-11-20 Bernd Schmidt <bernd.schmidt@analog.com> |
3836 | ||
3837 | * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Call | |
3838 | bfin_legitimate_constant_p. | |
3839 | * config/bfin/bfin.md (movsi expander): Check return value of | |
3840 | expand_mvoe. | |
3841 | * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Declare. | |
3842 | (expand_move): Adjust prototype. | |
3843 | * config/bfin/bfin.c (expand_move): Now returns bool. Handle | |
3844 | invalid constants specially. | |
3845 | (bfin_cannot_force_const_mem, bfin_legitimate_constant_p): New | |
3846 | functions. | |
3847 | (TARGET_CANNOT_FORCE_CONST_MEM): New macro. | |
3848 | ||
40831b00 | 3849 | * config/bfin/bfin.md (call_symbol, call_value_symbol, sibcall_symbol, |
3850 | sibcall_value_symbol): Allow these patterns if | |
3851 | TARGET_LEAF_ID_SHARED_LIBRARY. | |
3852 | * config/bfin/bfin.c (bfin_expand_call): Allow them here as well. | |
3853 | (override_options): Turn on id shared library flags if -msep-data, | |
3854 | but disallow the combination of these options on the command line. | |
3855 | * config/bfin/bfin.h (TARGET_LEAF_ID_SHARED_LIBRARY, MASK_SEP_DATA | |
3856 | MASK_LEAF_ID_SHARED_LIBRARY, TARGET_SEP_DATA): New macros. | |
3857 | (DRIVER_SELF_SPECS): -mleaf-id-shared-library implies | |
3858 | -mid-shared-library. | |
3859 | (TARGET_SWITCHES): Add -mleaf-id-shared-library and -msep-data. | |
3860 | * doc/invoke.texi (Blackfin Options): Document new switches. | |
3861 | ||
f9ecc035 | 3862 | * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Handle some |
3863 | edge cases with local functions and TARGET_ID_SHARED_LIBRARY. | |
3864 | ||
aedcc7e0 | 3865 | * tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially |
3866 | inflate costs for addresses with an out-of-bounds address. | |
3867 | ||
725b196e | 3868 | 2006-11-19 Andrew Pinski <pinskia@gmail.com> |
3869 | ||
3870 | PR rtl-opt/29879 | |
3871 | * fwprop.c (loops): Remove. | |
3872 | (forward_propagate_into): Use current_loops instead of | |
3873 | loops. | |
3874 | (fwprop_init): Call loop_optimizer_init instead of | |
3875 | flow_loops_find. | |
3876 | (fwprop_done): Call loop_optimizer_finalize instead of | |
3877 | flow_loops_free. | |
3878 | (fwprop): Use current_loops instead of loops. | |
3879 | ||
25b4f149 | 3880 | 2006-11-19 Gabriel Dos Reis <gdr@integrable-solutions.net> |
3881 | ||
3882 | PR c++/8586 | |
3883 | * c-opts.c (c_common_handle_option): Enable -Wwrite-strings if -Wall. | |
3884 | ||
58cac6ba | 3885 | 2006-11-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
3886 | ||
3887 | PR target/29114 | |
3888 | * pa.c (emit_move_sequence): Don't split constants with PLUS for modes | |
3889 | larger than BITS_PER_WORD. | |
3890 | ||
63f8dfe5 | 3891 | 2006-11-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
3892 | ||
3893 | PR fortran/27885 | |
3894 | PR middle-end/28176 | |
3895 | * stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types | |
3896 | to MAX_FIXED_MODE_SIZE. | |
3897 | ||
b145cb59 | 3898 | 2006-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
3899 | ||
d4a43a03 | 3900 | * builtins.c (integer_valued_real_p): Handle fmin/fmax. |
3901 | (fold_builtin_fmin_fmax): New. | |
3902 | (fold_builtin_1): Use it. | |
3903 | ||
b145cb59 | 3904 | * fold-const.c (fold_strip_sign_ops): Handle copysign. |
3905 | ||
320f4404 | 3906 | 2006-11-18 Richard Guenther <rguenther@suse.de> |
3907 | ||
3908 | * config/i386/i386.c (ix86_builtins): New array for ix86 | |
3909 | builtin function decls. | |
3910 | (def_builtin): New function. | |
3911 | (def_builtin_const): Likewise. | |
3912 | (ix86_init_mmx_sse_builtins): Mark sqrt and cvt builtins const. | |
3913 | ||
11361ecb | 3914 | 2006-11-18 Vladimir Makarov <vmakarov@redhat.com> |
3915 | ||
3916 | * doc/invoke.texi (core2): Add item. | |
3917 | ||
3918 | * config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New | |
3919 | macros. | |
3920 | (TARGET_CPU_CPP_BUILTINS): Add code for core2. | |
3921 | (TARGET_CPU_DEFAULT_generic): Change value. | |
3922 | (TARGET_CPU_DEFAULT_NAMES): Add core2. | |
3923 | (processor_type): Add new constant PROCESSOR_CORE2. | |
3924 | ||
3925 | * config/i386/i386.md (cpu): Add core2. | |
3926 | ||
3927 | * config/i386/i386.c (core2_cost): New initialized variable. | |
3928 | (m_CORE2): New macro. | |
3929 | (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen, | |
3930 | x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop, | |
3931 | x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, | |
3932 | x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, | |
3933 | x86_partial_reg_dependency, x86_memory_mismatch_stall, | |
3934 | x86_accumulate_outgoing_args, x86_prologue_using_move, | |
3935 | x86_epilogue_using_move, x86_arch_always_fancy_math_387, | |
3936 | x86_sse_partial_reg_dependency, x86_rep_movl_optimal, | |
3937 | x86_use_incdec, x86_four_jump_limit, x86_schedule, | |
3938 | x86_pad_returns): Add m_CORE2. | |
3939 | (override_options): Add entries for Core2. | |
3940 | (ix86_issue_rate): Add case for Core2. | |
a47cd786 | 3941 | |
85767aea | 3942 | 2006-11-18 Aldy Hernandez <aldyh@redhat.com> |
3943 | ||
3944 | * doc/invoke.texi: Fix mno-isel typo. | |
3945 | ||
2439fb7d | 3946 | 2006-11-18 Joseph Myers <joseph@codesourcery.com> |
3947 | ||
3948 | * config/rs6000/spe.md (movv4hi_internal): Add alternative for | |
3949 | easy vector constant loads. | |
3950 | ||
ac951330 | 3951 | 2006-11-18 Joseph Myers <joseph@codesourcery.com> |
3952 | ||
3953 | * config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define. | |
3954 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
3955 | __NO_LWSYNC__ if TARGET_NO_LWSYNC. | |
3956 | * config/rs6000/sync.md (lwsync): Emit plain sync if | |
3957 | TARGET_NO_LWSYNC. | |
3958 | ||
a7f41594 | 3959 | 2006-11-17 DJ Delorie <dj@redhat.com> |
3960 | ||
3961 | * reload1.c (reloads_unique_chain): New. | |
3962 | (reloads_conflict): Call it. | |
3963 | ||
3c0ca649 | 3964 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> |
3965 | ||
3966 | * config/xtensa/predicates.md (addsubx_operand): New. | |
3967 | * config/xtensa/xtensa.c (xtensa_emit_branch): New. | |
3968 | (xtensa_emit_bit_branch): New. | |
3969 | (xtensa_emit_movcc): New. | |
3970 | * config/xtensa/xtensa.md (any_minmax): New code macro. | |
3971 | (minmax): New code attribute. | |
3972 | (any_cond, any_scc, any_scc_sf): New code macros. | |
3973 | (*addx2, *addx4, *addx8): Delete. | |
3974 | (*addx): New. | |
3975 | (*subx2, *subx4, *subx8): Delete. | |
3976 | (*subx): New. | |
3977 | (sminsi3, uminsi3, smaxsi3, umaxsi3): Use any_minmax macro. | |
3978 | (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Use any_cond. | |
3979 | (*btrue, *bfalse, *ubtrue, *ubfalse): Use xtensa_emit_branch. | |
3980 | (*bittrue, *bitfalse): Use xtensa_emit_bit_branch. | |
3981 | (seq, sne, sgt, sge, slt, sle): Use any_scc macro. | |
3982 | (movsicc_internal0, movsicc_internal1): Use xtensa_emit_movcc. | |
3983 | (movsfcc_internal0, movsfcc_internal1): Likewise. | |
3984 | (seq_sf, slt_sf, sle_sf): Use any_scc_sf macro. | |
3985 | * config/xtensa/xtensa-protos.h: (xtensa_emit_branch): New. | |
3986 | (xtensa_emit_bit_branch): New. | |
3987 | (xtensa_emit_movcc): New. | |
3988 | (function_arg_boundary): Add missing prototype. | |
3989 | ||
3eabfe6f | 3990 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> |
3991 | ||
3992 | * config/xtensa/xtensa.md (tstsi): Delete | |
3993 | ||
7fe1a201 | 3994 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> |
3995 | ||
3996 | * config/xtensa/xtensa.md (entry): Do not emit .frame directive. | |
3997 | ||
c028f70d | 3998 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> |
3999 | ||
4000 | * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. | |
4001 | ||
2fc9d9ad | 4002 | 2006-11-17 Bob Wilson <bob.wilson@acm.org> |
4003 | ||
4004 | * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit. | |
4005 | ||
88e6f696 | 4006 | 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz> |
4007 | ||
4008 | * tree-vrp.c (execute_vrp): Do not update current_loops. | |
4009 | * loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with. | |
4010 | * doc/loop.texi: Remove documentation for cancelled functions. | |
4011 | * tree-ssa-loop-im.c (loop_commit_inserts): Removed. | |
4012 | (move_computations, determine_lsm): Use bsi_commit_edge_inserts | |
4013 | instead. | |
4014 | * cfgloopmanip.c (remove_bbs): Do not update loops explicitly. | |
4015 | (remove_path): Ensure that in delete_basic_blocks, the loops | |
4016 | are still allocated. | |
4017 | (add_loop): Work on valid loop structures. | |
4018 | (loopify): Modify call of add_loop. | |
4019 | (mfb_update_loops): Removed. | |
4020 | (create_preheader): Do not update loops explicitly. | |
4021 | (force_single_succ_latches, loop_version): Do not use | |
4022 | loop_split_edge_with. | |
4023 | (loop_split_edge_with): Removed. | |
4024 | * tree-ssa-loop-manip.c (create_iv, determine_exit_conditions): | |
4025 | Do not use bsi_insert_on_edge_immediate_loop. | |
4026 | (split_loop_exit_edge, tree_unroll_loop): Do not use | |
4027 | loop_split_edge_with. | |
4028 | (bsi_insert_on_edge_immediate_loop): Removed. | |
4029 | * tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops. Do not | |
4030 | use loop_split_edge_with. | |
4031 | * cfghooks.c: Include cfgloop.h. | |
4032 | (verify_flow_info): Verify that loop_father is filled iff current_loops | |
4033 | are available. | |
4034 | (redirect_edge_and_branch_force, split_block, delete_basic_block, | |
4035 | split_edge, merge_blocks, make_forwarder_block, duplicate_block): | |
4036 | Update cfg. | |
4037 | * cfgloopanal.c (mark_irreducible_loops): Work if the function contains | |
4038 | no loops. | |
4039 | * modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use | |
4040 | loop_split_edge_with. | |
4041 | (sms_schedule): Use current_loops. | |
4042 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops. | |
4043 | * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set | |
4044 | current_loops. | |
4045 | (rtl_loop_init, rtl_loop_done): Do not set current_loops. | |
4046 | * tree-ssa-sink.c (execute_sink_code): Use current_loops. | |
4047 | * ifcvt.c (if_convert): Ditto. | |
4048 | * predict.c (predict_loops): Do not clear current_loops. | |
4049 | (tree_estimate_probability): Use current_loops. | |
4050 | (propagate_freq): Receive head of the region to propagate instead of | |
4051 | loop. | |
4052 | (estimate_loops_at_level): Do not use shared to_visit bitmap. | |
4053 | (estimate_loops): New function. Handle case current_loops == NULL. | |
4054 | (estimate_bb_frequencies): Do not allocate tovisit. Use | |
4055 | estimate_loops. | |
4056 | * tree-ssa-loop.c (current_loops): Removed. | |
4057 | (tree_loop_optimizer_init): Do not return loops. | |
4058 | (tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops. | |
4059 | * tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1, | |
4060 | slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge): | |
4061 | Do not update loops explicitly. | |
4062 | * function.h (struct function): Add x_current_loops field. | |
4063 | (current_loops): New macro. | |
4064 | * tree-if-conv.c (combine_blocks): Do not update loops explicitly. | |
4065 | * loop-unroll.c (split_edge_and_insert): New function. | |
4066 | (unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not | |
4067 | use loop_split_edge_with. | |
4068 | * loop-doloop.c (add_test, doloop_modify): Ditto. | |
4069 | * tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops. | |
4070 | * cfglayout.c (copy_bbs): Do not update loops explicitly. | |
4071 | * lambda-code.c (perfect_nestify): Do not use loop_split_edge_with. | |
4072 | * tree-vect-transform.c (vect_transform_loop): Do not update loops | |
4073 | explicitly. | |
4074 | * cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order. | |
4075 | (flow_loops_free): Do not free dfs_order and rc_order. | |
4076 | (flow_loops_find): Do not set dfs_order and rc_order in loops | |
4077 | structure. Do not call loops and flow info verification. | |
4078 | (add_bb_to_loop, remove_bb_from_loops): Check whether the block | |
4079 | already belongs to some loop. | |
4080 | * cfgloop.h (struct loops): Remove struct cfg. | |
4081 | (current_loops, loop_split_edge_with): Declaration removed. | |
4082 | (loop_optimizer_init, loop_optimizer_finalize): Declaration changed. | |
4083 | * tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop): | |
4084 | Declaration removed. | |
4085 | * Makefile.in (cfghooks.o): Add CFGLOOP_H dependency. | |
4086 | * basic-block.h (split_edge_and_insert): Declare. | |
4087 | * tree-cfg.c (remove_bb): Do not update loops explicitly. | |
4088 | ||
aecfc21d | 4089 | 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz> |
4090 | ||
4091 | PR tree-optimization/29801 | |
4092 | * tree-ssa-ccp.c (get_symbol_constant_value): New function. | |
4093 | (get_default_value): Use get_symbol_constant_value. | |
4094 | (set_lattice_value): ICE when the value of the constant is | |
4095 | changed. | |
4096 | (visit_assignment): Ignore VDEFs of read-only variables. | |
4097 | ||
20400b0b | 4098 | 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz> |
4099 | ||
4100 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Fix | |
4101 | formating. | |
4102 | (vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer, | |
4103 | vect_gen_niters_for_prolog_loop): Fold the emited expressions. | |
4104 | ||
2520aaad | 4105 | 2006-11-17 Zdenek Dvorak <dvorakz@suse.cz> |
4106 | ||
4107 | * tree-ssa-alias.c (new_type_alias): Do not use offset of expr to | |
4108 | select subvars of var. | |
4109 | ||
c5237b8b | 4110 | 2006-11-17 Jakub Jelinek <jakub@redhat.com> |
4111 | ||
4112 | PR middle-end/29584 | |
4113 | * tree-ssa-forwprop.c (simplify_switch_expr): Don't | |
4114 | optimize if DEF doesn't have integral type. | |
4115 | ||
650c26dc | 4116 | 2006-11-16 Mike Stump <mrs@apple.com> |
4117 | ||
4118 | * config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on | |
4119 | pre-darwin9 system, unless the user asks for it directly. | |
4120 | (PREFERRED_DEBUGGING_TYPE): Likewise. | |
4121 | * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise. | |
4122 | * config.gcc: Add suppport for darwin9.h. | |
4123 | * config/darwin9.h: Add. | |
4124 | * doc/install.texi (Specific): Clarify darwin documentation. | |
a47cd786 | 4125 | |
c3c9825d | 4126 | 2006-11-16 Richard Earnshaw <rearnsha@arm.com> |
4127 | ||
4128 | * arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when | |
4129 | optimizing for size. | |
4130 | ||
76e0f190 | 4131 | 2006-11-16 Mike Stump <mrs@apple.com> |
4132 | ||
4133 | * Makefile.in (targhooks.o): Add $(OPTABS_H). | |
4134 | ||
43959b95 | 4135 | 2006-11-16 Dirk Mueller <dmueller@suse.de> |
4136 | ||
4137 | * tree-vrp.c (get_value_range): Use XCNEW instead | |
4138 | of XNEW and memset. | |
4139 | (insert_range_assertions): Use XCNEWVEC instead | |
4140 | of XNEWVEC and memset. | |
4141 | (vrp_initialize): Same. | |
4142 | (vrp_finalize): Same. | |
4143 | * tree-ssa-ccp.c (ccp_initialize): Same. | |
4144 | * predict.c (tree_bb_level_predictions): Same. | |
4145 | * calls.c (expand_call): Same. | |
4146 | * tree-ssa-copy.c (init_copy_prop): Same. | |
4147 | (fini_copy_prop): Same. | |
4148 | * tree-ssa-alias.c (get_ptr_info): Use GGC_CNEW instead | |
4149 | of GGC_NEW and memset. | |
4150 | ||
feb12e1f | 4151 | 2006-11-16 Eric Botcazou <ebotcazou@adacore.com> |
4152 | ||
4153 | PR middle-end/26306 | |
4154 | * gimplify.c (gimplify_expr): Only force a load for references to | |
4155 | non-BLKmode volatile values. | |
4156 | * doc/implement-c.texi (Qualifiers implementation): Document the | |
4157 | interpretation of what a volatile access is. | |
4158 | * doc/extend.texi (C++ Extensions): Rework same documentation. | |
4159 | ||
e28b9c25 | 4160 | 2006-11-16 Joseph Myers <joseph@codesourcery.com> |
4161 | ||
4162 | * config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable | |
4163 | memory operand. | |
4164 | ||
ba156559 | 4165 | 2006-11-16 Richard Earnshaw <rearnsha@arm.com> |
4166 | ||
4167 | * arm.md (abssi2): Allow Thumb as well. Use an SImode scratch for | |
4168 | Thumb. | |
4169 | (arm_neg_abssi2): Renamed from neg_abssi2. | |
4170 | (thumb_abssi2, thumb_neg_abssi2): New patterns with splitters. | |
4171 | ||
56a575a5 | 4172 | 2006-11-16 Uros Bizjak <ubizjak@gmail.com> |
4173 | ||
4174 | * config/i386/i386.c (ix86_function_sseregparm): Fix comment: | |
4175 | number of arguments passed to local functions in SSE registers is 3. | |
4176 | ||
4177 | * doc/invoke.texi (Function Attributes) [sseregparm]: Correct | |
4178 | number of arguments passed in SSE registers to 3. | |
4179 | ||
5d65a39c | 4180 | 2006-11-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
4181 | ||
4182 | PR target/29201 | |
4183 | * cfgrtl.c (rtl_delete_block): Move the code for getting last insn of | |
4184 | bb to ... | |
4185 | (get_last_bb_insn): ... new global function. | |
4186 | (basic_block.h): Declare it. | |
4187 | * haifa-sched.c (create_recovery_block): Use it. | |
4188 | ||
cada1670 | 4189 | 2006-11-15 H.J. Lu <hongjiu.lu@intel.com> |
4190 | ||
4191 | PR middle-end/29862 | |
4192 | * real.c (mpfr_from_real): Call mpfr_set_str before gcc_assert. | |
4193 | ||
df5e9c68 | 4194 | 2006-11-15 Paul Brook <paul@codesourcery.com> |
4195 | ||
4196 | * config/arm/unwind-arm.c (_Unwind_GetDataRelBase, | |
4197 | _Unwind_GetTextRelBase): Move from here ... | |
4198 | * config/arm/pr-support.c (_Unwind_GetDataRelBase, | |
4199 | _Unwind_GetTextRelBase): ... To here. | |
4200 | ||
e90b35db | 4201 | 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com> |
4202 | ||
4203 | * tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory | |
4204 | addresses we generate for testing are aligned. | |
4205 | ||
2350f40c | 4206 | 2006-11-15 Andrew Pinski <andrew_pinski@playstation.sony.com> |
4207 | ||
4208 | PR tree-opt/29788 | |
4209 | * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down | |
4210 | to what is the const decl is a place holder for. | |
4211 | ||
e92554cb | 4212 | 2006-11-15 Uros Bizjak <ubizjak@gmail.com> |
4213 | ||
4214 | * config/i386/i386.opt: New target option -mx87regparm. | |
4215 | ||
56a575a5 | 4216 | * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno |
4217 | and float_in_x87 variables. mmx_words, sse_words: Remove. | |
e92554cb | 4218 | (X87_REGPARM_MAX): Define. |
4219 | ||
4220 | * config/i386/i386.c (override_options): Error out for | |
4221 | -mx87regparm but no 80387 support. | |
4222 | (ix86_attribute_table): Add x87regparm. | |
4223 | (ix86_handle_cconv_attribute): Update comments for x87regparm. | |
4224 | (ix86_comp_type_attributes): Check for mismatched x87regparm types. | |
4225 | (ix86_function_x87regparm): New function. | |
4226 | (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating | |
4227 | point registers. | |
4228 | (init_cumulative_args): Initialize x87_nregs and float_in_x87 | |
4229 | variables. | |
4230 | (function_arg_advance): Process x87_nregs and x87_regno when | |
4231 | floating point argument is to be passed in 80387 register. | |
4232 | (function_arg): Pass XFmode arguments in 80387 registers for local | |
4233 | functions. Pass SFmode and DFmode arguments to local functions | |
4234 | in 80387 registers when flag_unsafe_math_optimizations is set. | |
4235 | ||
4236 | * reg-stack.c (convert_regs_entry): Disable NaN load for | |
4237 | stack registers that are used for argument passing. | |
4238 | ||
4239 | * doc/extend.texi: Document x87regparm function attribute. | |
4240 | * doc/invoke.texi: Document -mx87regparm. | |
4241 | ||
e7f482a0 | 4242 | 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com> |
4243 | ||
4244 | * tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype. | |
4245 | * tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New | |
4246 | arg MODE; all callers changed. Use it to determine validity per | |
4247 | machine mode instead of using Pmode for all memory references. | |
4248 | (get_address_cost): Likewise add and use new arg MEM_MODE. | |
4249 | ||
1403633e | 4250 | 2006-11-15 Rask Ingemann Lambertsen <rask@sygehus.dk> |
4251 | J"orn Rennecke <joern.rennecke@st.com> | |
4252 | ||
4253 | * combine.c (likely_spilled_retval_1): Fix masking operation. | |
4254 | (likely_spilled_retval_p): Use proper pattern for call to | |
4255 | likely_spilled_retval_1. | |
4256 | ||
ee9e7ecf | 4257 | 2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com> |
4258 | ||
4259 | * tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting. | |
4260 | ||
e80283bd | 4261 | * config/bfin/bfin.c (legitimize_pic_address): Lose dead code |
4262 | that tests for CONSTANT_POOL_ADDRESS_P. | |
4263 | ||
9d4e9316 | 4264 | 2006-11-15 Jakub Jelinek <jakub@redhat.com> |
4265 | ||
4266 | PR tree-optimization/29581 | |
4267 | * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT, | |
4268 | REPLACEMENTS, FIRSTBSI arguments. If initial condition or | |
4269 | type is different between Y and USE, create a temporary | |
4270 | variable, initialize it at the beginning of the body bb | |
4271 | and use it as replacement instead of Y. | |
4272 | ||
9ba2a8d4 | 4273 | 2006-11-15 Paolo Bonzini <bonzini@gnu.org> |
4274 | ||
4275 | PR middle-end/29753 | |
4276 | * gimplify.c (fold_indirect_ref_rhs): Use | |
4277 | STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS. | |
4278 | ||
595d88b5 | 4279 | 2006-11-14 Richard Earnshaw <rearnsha@arm.com> |
4280 | ||
4281 | * expmed.c (emit_store_flag_1): New function. | |
4282 | (emit_store_flag): Call it. If we can't find a suitable scc insn, | |
4283 | try a cstore insn. | |
4284 | * expr.c (do_store_flag): If we can't find a scc insn, try cstore. | |
4285 | Use do_compare_rtx_and_jump. | |
4286 | * arm.h (BRANCH_COST): Increase to 2 on Thumb. | |
4287 | * arm.md (cstoresi4): New define_expand. | |
4288 | (cstoresi_eq0_thumb, cstoresi_ne0_thumb): Likewise. | |
4289 | (cstoresi_eq0_thumb_insn, cstore_ne0_thumb_insn): New patterns. | |
4290 | (cstoresi_nltu_thumb, thumb_addsi3_addgeu): New patterns. | |
4291 | ||
af84796a | 4292 | 2006-11-14 Caroline Tice <ctice@apple.com> |
a47cd786 | 4293 | |
af84796a | 4294 | * dwarf2out.c (debug_pubtypes_section): New static global variable. |
4295 | (pubname_entry): Add DEF_VEC_O and DEF_VEC_ALLOC_O statements for | |
4296 | this type. | |
4297 | (pubname_table): Redefine as a vector. | |
4298 | (pubtype_table): New static global variable, defined as a vector. | |
4299 | (pubname_table_allocated): Remove static global variable. | |
4300 | (pubname_table_in_use): Remove static global variable. | |
4301 | (PUBNAME_TABLE_INCREMENT): Remove constant. | |
a47cd786 | 4302 | (size_of_pubnames): Add parameter to deal with either pubnames or |
af84796a | 4303 | pubtypes, and change code to deal with table being a vector. |
4304 | (add_pubname): Change to deal with table being a vector. | |
4305 | (add_pubtype): New function. | |
a47cd786 | 4306 | (output_pubnames): Add parameter to deal with either pubnames or |
af84796a | 4307 | pubtypes, and change code to deal with table being a vector. |
4308 | (gen_array_type_die): Add call to add_pubtype. | |
4309 | (gen_enumeration_type_die): Add call to add_pubtype. | |
4310 | (gen_struct_or_union_type_die): Add call to add_pubtype. | |
4311 | (gen_subroutine_type_die): Add call to add_pubtype. | |
4312 | (gen_typedef_die): Add call to add_pubtype. | |
a47cd786 | 4313 | (dwarf2out_init): Add code to initialize pubname_table and |
af84796a | 4314 | pubtype_table vectors; also initialize debug_pubtypes_section. |
4315 | (prune_unused_types): Change to deal with pubnames being a vector. | |
a47cd786 | 4316 | (dwarf2out_finish): Change to deal with pubnames being a vector; add |
4317 | pubnames table to call to output_pubnames; Add code to output pubtypes | |
af84796a | 4318 | table if DEBUG_PUBTYPES_SECTION is defined. |
a47cd786 | 4319 | * config/darwin.c (darwin_file_start): Add DEBUG_PUBTYPES_SECTION to |
af84796a | 4320 | debugnames. |
4321 | * config/darwin.h (DEBUG_PUBTYPES_SECTION): Define new global variable. | |
4322 | ||
fb39b3a2 | 4323 | 2006-11-14 Joseph Myers <joseph@codesourcery.com> |
4324 | ||
4325 | * config/arm/arm.h (FUNCTION_ARG_ADVANCE): Only adjust | |
4326 | iwmmxt_nregs if TARGET_IWMMXT_ABI. | |
4327 | * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal, | |
4328 | movv2si_internal): Support moves between core registers. | |
4329 | ||
0713dc29 | 4330 | 2006-11-14 Eric Christopher <echristo@apple.com> |
4331 | ||
4332 | * configure: Regenerate with autoconf 2.59. | |
4333 | ||
2c1575a0 | 4334 | 2006-11-14 Daniel Berlin <dberlin@dberlin.org> |
4335 | ||
4336 | Fix PR tree-optimization/27755 | |
4337 | ||
4338 | * tree-ssa-pre.c: Update comments. | |
4339 | (bb_bitmap_sets): Add pa_in and deferred member. | |
4340 | (BB_DEFERRED): New macro. | |
4341 | (maximal_set): New variable. | |
4342 | (pre_stats): Add pa_insert member. | |
4343 | (bitmap_set_and): Short circuit orig == dest. | |
4344 | (bitmap_set_subtract_values): New function. | |
4345 | (bitmap_set_contains_expr): Ditto. | |
4346 | (translate_vuses_through_block): Add phiblock argument. | |
4347 | (dependent_clean): New function. | |
4348 | (compute_antic_aux): Update for maximal_set changes. | |
4349 | (compute_partial_antic_aux): New function. | |
4350 | (compute_antic): Handle partial anticipation. | |
4351 | (do_partial_partial_insertion): New function. | |
4352 | (insert_aux): Handle partial anticipation. | |
4353 | (add_to_sets): Add to maximal set. | |
4354 | (compute_avail): Ditto. | |
4355 | (init_pre): Initialize maximal_set. | |
4356 | (execute_pre): Do partial anticipation if -O3+. | |
4357 | ||
a39fe687 | 4358 | 2006-11-14 Paolo Bonzini <bonzini@gnu.org> |
4359 | ||
4360 | PR rtl-optimization/29798 | |
4361 | ||
4362 | * fwprop.c (use_killed_between): Check that DEF_INSN dominates | |
4363 | TARGET_INSN before any other check. | |
4364 | (fwprop_init): Always calculate dominators. | |
4365 | (fwprop_done): Always free them. | |
4366 | ||
2c26730b | 4367 | 2006-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
4368 | ||
4369 | * fold-const.c (fold_strip_sign_ops): Handle COMPOUND_EXPR and | |
4370 | COND_EXPR. | |
4371 | ||
db049e78 | 4372 | 2006-11-13 DJ Delorie <dj@redhat.com> |
4373 | ||
4374 | * config/m32c/m32c.c (m32c_prepare_shift): Use a separate | |
4375 | temporary for intermediates. | |
4376 | ||
98446e99 | 4377 | 2006-11-13 Kaz Kojima <kkojima@gcc.gnu.org> |
4378 | ||
4379 | * config/sh/sh.c (expand_cbranchdi4): Initialize skip_label. | |
4380 | (sh_optimize_target_register_callee_saved): #if 0 the code | |
4381 | using NOTE_INSN_LOOP_{BEG,END}. | |
4382 | ||
ec672145 | 4383 | 2006-11-13 Roger Sayle <roger@eyesopen.com> |
4384 | ||
4385 | * fold-const.c (optimize_bit_field_compare): Recursively call | |
4386 | fold when simplifying non-constant comparisons between bit-fields. | |
4387 | ||
dfce740a | 4388 | 2006-11-13 Jakub Jelinek <jakub@redhat.com> |
4389 | ||
4390 | * configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL | |
4391 | test. | |
4392 | * configure: Rebuilt. | |
4393 | ||
cd21f4e0 | 4394 | 2006-11-13 Andrew Pinski <andrew_pinski@playstation.sony.com> |
4395 | ||
4396 | * config/rs6000/cell.md: New file. | |
0713dc29 | 4397 | * config/rs6000/rs6000.c (rs6000_cell_dont_microcode): New |
cd21f4e0 | 4398 | variable. |
4399 | (ppccell_cost): New cost matrix. | |
4400 | (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define. | |
4401 | (rs6000_override_options): Set rs6000_always_hint to false | |
4402 | for cell. Also align functions/lables/loops to 8byte | |
4403 | for the Cell. Use PROCESSOR_CELL. | |
4404 | (rs6000_emit_epilogue): Rename using_mfcr_multiple to | |
4405 | using_mtcr_multiple. | |
4406 | (rs6000_variable_issue): If the insn is a nonpipelined instruction | |
4407 | on the Cell, return 0. | |
4408 | (rs6000_adjust_cost): Add Cell cost adjustments. | |
4409 | (is_microcoded_insn): Return true for Cell microcoded | |
4410 | instructions. | |
4411 | (is_nonpipeline_insn): New function. | |
4412 | (rs6000_issue_rate): Add PROCESSOR_CELL. | |
4413 | (rs6000_use_sched_lookahead): If Cell, then we should look ahead 8 | |
4414 | instructions. | |
4415 | (rs6000_use_sched_lookahead_guard): New function. | |
4416 | (rs6000_sched_reorder): Reorder the ready list, if the second | |
4417 | to last ready insn is a nonepipeline insn on the Cell. | |
4418 | * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_CELL. | |
4419 | (ASM_CPU_SPEC): Add Cell. | |
4420 | * config/rs6000/rs6000.md (cpu): Add Cell. | |
4421 | (cell_micro): New Attr. | |
4422 | Include cell.md | |
4423 | ||
ad6fbe2d | 4424 | 2006-11-13 Jakub Jelinek <jakub@redhat.com> |
4425 | ||
4426 | * configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715 | |
4427 | style versions. | |
4428 | * configure: Rebuilt. | |
4429 | ||
bc3b5798 | 4430 | 2006-11-13 Richard Guenther <rguenther@suse.de> |
4431 | ||
4432 | * config/i386/i386.c (ix86_expand_lround): Handle expand_simple_binop | |
4433 | return value. | |
4434 | (ix86_expand_lfloorceil): Likewise. | |
4435 | (ix86_expand_rint): Likewise. | |
4436 | (ix86_expand_floorceildf_32): Likewise. | |
4437 | (ix86_expand_floorceil): Likewise. | |
4438 | (ix86_expand_rounddf_32): Likewise. | |
4439 | (ix86_expand_truncdf_32): Likewise. | |
4440 | (ix86_expand_round): Likewise. | |
4441 | ||
c4328bcc | 4442 | 2006-11-13 Carlos O'Donell <carlos@codesourcery.com> |
4443 | Mark Mitchell <mark@codesourcery.com> | |
4444 | ||
4445 | * gcc.c: Organize search path variables into $prefix relative, | |
4446 | and well-known native. Add comments. | |
4447 | (add_sysrooted_prefix): Add comment. | |
4448 | (process_command): If !gcc_exec_prefix add $prefix based paths. | |
4449 | If *cross_compile == '0', add native well-known paths. | |
4450 | Assert tooldir_base_prefix is always relative. | |
4451 | (main): If print_search_dirs, and if gcc_exec_prefix is set, | |
4452 | use this value for 'install:' path. | |
4453 | * Makefile.in: Add GCC_EXEC_PREFIX to generated site.exp. | |
4454 | ||
05822dac | 4455 | 2006-11-13 H.J. Lu <hongjiu.lu@intel.com> |
4456 | ||
4457 | * config/i386/i386.c: Fix a typo in comment. | |
4458 | ||
4671d3de | 4459 | 2006-11-13 Michael Matz <matz@suse.de> |
4460 | ||
4461 | * genemit.c (gen_expand): Allocate enough memory. | |
4462 | ||
c5c7f3cc | 4463 | 2006-11-13 Joseph Myers <joseph@codesourcery.com> |
4464 | ||
4465 | * config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define | |
4466 | __GXX_TYPEINFO_EQUALITY_INLINE but not | |
4467 | __GXX_MERGED_TYPEINFO_NAMES. | |
4468 | * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define | |
4469 | __GXX_MERGED_TYPEINFO_NAMES. | |
4470 | * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define | |
4471 | __GXX_TYPEINFO_EQUALITY_INLINE. | |
4472 | ||
c83f795d | 4473 | 2006-11-13 H.J. Lu <hongjiu.lu@intel.com> |
4474 | Zdenek Dvorak <dvorakz@suse.cz> | |
4475 | ||
4476 | PR tree-optimization/29680 | |
4477 | * tree-ssa-operands.c (access_can_touch_variable): Revert fix for | |
4478 | PR 14784. | |
4479 | ||
96d5c2e2 | 4480 | 2006-11-12 Jason Merrill <jason@redhat.com> |
4481 | Andrew Pinski <pinskia@physics.uc.edu> | |
4482 | ||
4483 | PR middle-end/28915 | |
4484 | * gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT | |
4485 | vector ctors. | |
4486 | * tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT | |
4487 | vector ctors. | |
4488 | * expmed.c (make_tree): Handle CONST, SYMBOL_REF. | |
4489 | * tree.c (build_vector): Handle non-_CST elements. | |
4490 | ||
778725bb | 4491 | 2006-11-12 Kaz Kojima <kkojima@gcc.gnu.org> |
4492 | ||
4493 | * genemit.c (gen_insn): Call gen_exp with a non-null used | |
4494 | when handling multiple insns. | |
4495 | (gen_expand): Likewise. | |
4496 | * reorg.c (emit_delay_sequence): Copy the delay slot insn. | |
4497 | * config/sh/sh.md (ashrsi2_31+1): Copy operands[0]. | |
4498 | (movsi_const_16bit+1): Copy operands[1]. | |
4499 | (call_pcrel): Copy the call_site pattern. | |
4500 | (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise. | |
4501 | ||
2815dfde | 4502 | 2006-11-12 Roger Sayle <roger@eyesopen.com> |
4503 | ||
4504 | * fold-const.c (negate_expr_p) <PLUS_EXPR, MINUS_EXPR>: Correct/refine | |
4505 | condition for transformations. Use !HONOR_SIGN_DEPENDENT_ROUNDING | |
4506 | && !HONOR_SIGNED_ZEROS instead of flag_unsafe_math_optimizations. | |
4507 | (fold_negate_expr) <PLUS_EXPR, MINUS_EXPR>: Likewise. | |
4508 | ||
79ef6a30 | 4509 | 2006-11-12 Daniel Berlin <dberlin@dberlin.org> |
4510 | ||
4511 | Fix PR tree-optimization/29587 | |
4512 | * tree-ssa-structalias.c (process_constraint): Don't | |
4513 | mark address taken due only to escaped vars constraint. | |
4514 | ||
1d75ed51 | 4515 | 2006-11-12 Michael Matz <matz@suse.de> |
4516 | Roger Sayle <roger@eyesopen.com> | |
4517 | ||
4518 | PR rtl-optimization/29797 | |
4519 | * ifcvt.c (noce_try_bitop): Correct calculation of bitnum on | |
4520 | BITS_BIG_ENDIAN targets. | |
4521 | ||
cacdc1af | 4522 | 2006-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
4523 | ||
4524 | * builtins.c (fold_builtin_cosh): New. | |
4525 | (fold_builtin_1): Use it. | |
4526 | * fold-const.c (negate_mathfn_p): Add llround, lround, round, | |
4527 | trunc to the list of "odd" functions. Also add llrint, lrint, | |
4528 | rint and nearbyint when flag_rounding_math is false. | |
4529 | ||
4c64356a | 4530 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> |
4531 | ||
4532 | * tree-flow.h (name_mappings_registered_p): Declare. | |
4533 | * tree-into-ssa.c (name_mappings_registered_p): New function. | |
4534 | * tree-cfg.c (tree_can_merge_blocks_p): Check | |
4535 | name_mappings_registered_p instead of need_ssa_update_p. | |
4536 | ||
d4ec02d0 | 4537 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> |
4538 | ||
4539 | * tree-ssa-loop.c (tree_vectorize): Return the result of | |
4540 | vectorize_loops. | |
4541 | * tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg | |
4542 | if anything changed. | |
4543 | * tree-vectorizer.h (vectorize_loops): Declaration removed. | |
4544 | * tree-flow.h (vectorize_loops): Declaration changed. | |
4545 | ||
53d4d5cc | 4546 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> |
4547 | ||
4548 | * tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve | |
4549 | comments. | |
4550 | (issue_prefetch_ref): Move assignment to write_p out of loop. | |
4551 | (determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and | |
4552 | SIMULTANEOUS_PREFETCHES into account. | |
4553 | (loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor. | |
4554 | * lambda-code.c (lcm): Renamed to ... | |
4555 | (least_common_multiple): ... and exported. | |
4556 | * tree-flow.h (least_common_multiple): Declare. | |
4557 | ||
faa56cf9 | 4558 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> |
4559 | ||
4560 | * Makefile.in (tree-data-ref.o): Add langhooks.h dependency. | |
4561 | * tree-ssa-loop-niter.c (derive_constant_upper_bound): Follow | |
4562 | ud-chains. Handle AND_EXPR. | |
4563 | (record_estimate): Record whether the estimate is realistic | |
4564 | and whether it is derived from a loop exit. | |
4565 | (record_nonwrapping_iv, idx_infer_loop_bounds, infer_loop_bounds_from_ref, | |
4566 | infer_loop_bounds_from_array, infer_loop_bounds_from_signedness): New | |
4567 | functions. | |
4568 | (compute_estimated_nb_iterations): Take only realistic bounds into | |
4569 | account. Set estimate_state. Use double_ints. | |
4570 | (infer_loop_bounds_from_undefined): Call infer_loop_bounds_from_array | |
4571 | and infer_loop_bounds_from_signedness. Do not consider basic blocks | |
4572 | that do not have to be always executed. | |
4573 | (estimate_numbers_of_iterations_loop): Set estimate_state, and use it | |
4574 | to determine whether to call infer_loop_bounds_from_undefined | |
4575 | and compute_estimated_nb_iterations. | |
4576 | (n_of_executions_at_most): Use double_ints. | |
4577 | (free_numbers_of_iterations_estimates_loop): Set estimate_state. | |
4578 | (substitute_in_loop_info): Do not replace in estimated_nb_iterations. | |
4579 | * double-int.c (double_int_to_tree): Improve comment. | |
4580 | (double_int_fits_to_tree_p): New function. | |
4581 | * double-int.h (double_int_fits_to_tree_p): Declare. | |
4582 | * tree-data-ref.c: Include langhooks.h. | |
4583 | (estimate_niter_from_size_of_data, estimate_iters_using_array): Removed. | |
4584 | (analyze_array_indexes): Do not call estimate_niter_from_size_of_data. | |
4585 | (analyze_array): Do not pass estimate_only argument to | |
4586 | analyze_array_indexes. | |
4587 | (get_number_of_iters_for_loop): Build tree from the stored double_int | |
4588 | value. | |
4589 | (get_references_in_stmt, find_data_references_in_stmt): New functions. | |
4590 | (find_data_references_in_loop): Use find_data_references_in_stmt. | |
4591 | * tree-data-ref.h (struct data_ref_loc_d): New. | |
4592 | (get_references_in_stmt): Declare. | |
4593 | (estimate_iters_using_array): Declaration removed. | |
4594 | * cfgloop.h (struct nb_iter_bound): Change type of bound to | |
4595 | double_int. Improve comments. Add is_exit and realistic | |
4596 | fields. | |
4597 | (struct loop): Changed type of estimated_nb_iterations to double_int. | |
4598 | Added estimate_state field. | |
4599 | (record_estimate): Declaration removed. | |
4600 | ||
07804af5 | 4601 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> |
4602 | ||
4603 | * params.c (set_param_value): Initialize the "set" field. | |
4604 | * params.h (struct param_info): Add "set" field. | |
4605 | (PARAM_SET_P): New macro. | |
4606 | (PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE, | |
4607 | L1_CACHE_LINE_SIZE): New macros. | |
4608 | * toplev.c (DEFPARAM): Initialize the "set" field. | |
4609 | * tree-ssa-loop-prefetch.c (PREFETCH_LATENCY, | |
4610 | SIMULTANEOUS_PREFETCHES): Removed. | |
4611 | (PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE. | |
4612 | (tree_ssa_prefetch_arrays): Dump the values of the parameters. | |
4613 | * config/sparc/sparc.c: Include params.h. | |
4614 | (sparc_override_options): Set SIMULTANEOUS_PREFETCHES and | |
4615 | L1_CACHE_LINE_SIZE parameters. | |
4616 | * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): | |
4617 | Removed. | |
4618 | * config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): | |
4619 | Removed. | |
4620 | * config/i386/i386.c: Include params.h. | |
4621 | (k8_cost): Change default value for SIMULTANEOUS_PREFETCHES. | |
4622 | (override_options): Set SIMULTANEOUS_PREFETCHES and | |
4623 | L1_CACHE_LINE_SIZE parameters. | |
4624 | * config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed. | |
4625 | (OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and | |
4626 | L1_CACHE_LINE_SIZE parameters. | |
4627 | * config/ia64/ia64.c (ia64_optimization_options): Set | |
4628 | SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters. | |
4629 | * config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK): | |
4630 | Removed. | |
4631 | * params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES, | |
4632 | PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params. | |
4633 | * doc/invoke.texi: Document new params. | |
4634 | ||
32484276 | 4635 | 2006-11-12 Roger Sayle <roger@eyesopen.com> |
4636 | ||
4637 | PR tree-optimization/13827 | |
4638 | * fold-const.c (fold_binary) <EQ_EXPR, NE_EXPR>: Fold (X&C) op (Y&C) | |
4639 | as ((X^Y)&C) op 0. | |
4640 | ||
56743459 | 4641 | 2006-11-12 Zdenek Dvorak <dvorakz@suse.cz> |
4642 | ||
4643 | * cfgloopmanip.c (update_single_exit_for_duplicated_loop, | |
4644 | update_single_exit_for_duplicated_loops): New functions. | |
4645 | (duplicate_loop_to_header_edge): Use | |
4646 | update_single_exit_for_duplicated_loops. | |
4647 | * tree-ssa-loop-manip.c (tree_unroll_loop): Call verification | |
4648 | functions only with ENABLE_CHECKING. | |
4649 | ||
637f9626 | 4650 | 2006-11-12 Andreas Schwab <schwab@suse.de> |
4651 | ||
4652 | * except.c (sjlj_emit_function_enter): Remove unused variable. | |
4653 | ||
2455d3ef | 4654 | 2006-11-11 Roger Sayle <roger@eyesopen.com> |
4655 | ||
4656 | * fold-const.c (int_binop_types_match_p): New function. | |
4657 | (size_binop): Relax constraint that both arguments must both have | |
4658 | exactly the same sizetype type. Instead use int_binop_types_match_p. | |
4659 | (size_diffop): Likewise. | |
4660 | ||
4661 | (make_range): Use build_int_cst instead of fold_convert. | |
4662 | (fold_cond_expr_with_comparison): Use build_int_cst to construct | |
4663 | integer constants of the correct type. | |
4664 | (fold_div_compare): Likewise. | |
4665 | (fold_single_bit_test): Likewise. | |
4666 | (fold_binary): Likewise. | |
4667 | * stor-layout.c (layout_type) <VECTOR_TYPE>: Ensure that TYPE_SIZE | |
4668 | has type bitsizetype and TYPE_SIZE_UNIT has type sizetype. | |
4669 | ||
91605b2e | 4670 | 2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com> |
4671 | ||
4672 | PR rtl-opt/28812 | |
4673 | * alias.c (fixed_scalar_and_varying_struct_p): Don't return a | |
4674 | non null value if the struct memory access is in the 0th | |
4675 | aliasing set. | |
4676 | ||
e525e3ec | 4677 | 2006-11-12 Jie Zhang <jie.zhang@analog.com> |
4678 | ||
4679 | Revert | |
4680 | 2006-11-11 Jie Zhang <jie.zhang@analog.com> | |
4681 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ | |
4682 | and __BFIN__. | |
4683 | ||
4684 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std | |
4685 | instead of builtin_define for bfin and BFIN. | |
4686 | ||
1ba0f40a | 4687 | 2006-11-11 Jie Zhang <jie.zhang@analog.com> |
4688 | ||
4689 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ | |
4690 | and __BFIN__. | |
4691 | ||
5a74f77e | 4692 | 2006-11-11 Jan Hubicka <jh@suse.cz> |
4693 | ||
eea7b156 | 4694 | * extend.texi (__builtin_expect): We no longer require second argument |
5a74f77e | 4695 | to be constant. |
4696 | * gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE. | |
4697 | * builtins.c (expand_builtin_expect): Simplify. | |
4698 | (expand_builtin_expect_jump): Kill. | |
4699 | * final.c (final_scan_insn): Do not skip the removed notes. | |
4700 | * insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER, | |
4701 | EXPECTED_VALUE): Remove. | |
4702 | * dojump.c (do_jump): Do not care about __builtin_expect. | |
4703 | * predict.c (expected_value_to_br_prob): Kill. | |
4704 | * function.c (expand_function_end): Do not expand | |
4705 | NOTE_INSN_REPEATED_LINE_NUMBER. | |
4706 | * print-rtl.c (print_rtx): Do not pretty print the removed notes. | |
4707 | * expect.c (sjlj_emit_function_enter): Emit directly branch probability. | |
4708 | * cfgexpand.c (add_reg_br_prob_note): Export. | |
4709 | * cfgcleanup.c (rest_of_handle_jump2): Do not call | |
4710 | expected_value_to_br_prob. | |
4711 | * cfglayout.c (duplicate_insn_chain): Do not deal with removed notes. | |
4712 | * rtl.h (add_reg_br_prob_note): Declare. | |
4713 | ||
3cfd6525 | 4714 | 2006-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
4715 | ||
4716 | * tree-pretty-print.c (dump_generic_node): Print sign of Inf. | |
4717 | ||
3b0b2309 | 4718 | 2006-11-11 Jan Hubicka <jh@suse.cz> |
4719 | ||
4720 | * predict.c (predict_loops): Kill RTL variant. | |
4721 | ||
f2aa2401 | 4722 | 2006-11-11 Jan Hubicka <jh@suse.cz> |
4723 | ||
4724 | * tree-pass.h (pass_purge_lineno_notes): Remove declaration. | |
4725 | * modulo-sched.c (find_line_note): Remove. | |
4726 | (loop_canon_p): Do not worry about line number notes. | |
4727 | (sms_schedule): Likewise. | |
4728 | * cse.c (cse_main): Likewise. | |
4729 | * regmove.c (fixup_match_1): Likewise | |
4730 | * function.c (emit_return_info_block): Likewise. | |
4731 | (expand_function_end): Likewise. | |
4732 | (thread_prologue_an_epilogue_insns): Likewise. | |
4733 | * cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge): | |
4734 | Likewise. | |
4735 | * emit-rtl.c (find_line_note, emit_insn_after_with_line_notes, | |
4736 | emit_note_copy_after): Kill. | |
4737 | (emit_note_copy): Do not worry about line numbers. | |
4738 | * jump.c (purge_line_number_notes): Kill. | |
4739 | (pass_purge_lineno_notes): Kill. | |
4740 | * cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes | |
4741 | call. | |
4742 | * rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill. | |
4743 | * passes.c (init_optimization_passes): Don't purge_lineno_notes. | |
4744 | * sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes. | |
4745 | * tree-pass.h (pass_purge_lineno_notes): Kill. | |
4746 | * sched-ebb.c (schedule_ebb): Don't rm_line_notes, | |
4747 | rm_redundant_line_notes. | |
4748 | * sched-rgb.c (schedule_region): Don't rm_line_notes, | |
4749 | rm_redundant_line_notes. | |
4750 | * sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill. | |
4751 | * haifa-sched.c: Update comment about handling notes. | |
4752 | (unlink_line_notes): Kill. | |
4753 | (rm_line_notes): Kill. | |
4754 | (save_line_notes): Simplify. | |
4755 | (rm_redundant_line_notes): Kill. | |
4756 | ||
8a1417cb | 4757 | 2006-11-11 Richard Guenther <rguenther@suse.de> |
4758 | ||
4759 | * tree.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR, FIX_ROUND_EXPR): | |
4760 | Remove unused tree codes. | |
4761 | * tree-vrp.c (extract_range_from_unary_expr): Remove handling | |
4762 | of FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR. | |
4763 | * tree-pretty-print.c (dump_generic_node, op_prio): Likewise. | |
4764 | * tree.c (stabilize_reference): Likewise. | |
4765 | * fold-const.c (fold_convert_const_int_from_real, operand_equal_p, | |
4766 | fold_unary): Likewise. | |
4767 | * tree-gimple.c (is_gimple_cast): Likewise. | |
4768 | * dwarf2out.c (loc_descriptor_from_tree_1): Likewise. | |
4769 | * expr.c (expand_expr_real_1): Likewise. | |
4770 | * tree-eh.c (tree_could_trap_p): Likewise. | |
4771 | * gimplify.c (gimplify_expr): Likewise. | |
4772 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
4773 | * tree-cfg.c (verify_expr): Likewise. | |
4774 | ||
1da72d7c | 4775 | 2006-11-11 Zdenek Dvorak <dvorakz@suse.cz> |
4776 | ||
4777 | * tree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch. | |
4778 | * tree-ssa-loop-prefetch.c (dump_mem_ref): Fix target file. | |
4779 | (tree_ssa_prefetch_arrays): Do not dump for removed loops. | |
4780 | ||
41527000 | 4781 | 2006-11-11 Richard Sandiford <richard@codesourcery.com> |
4782 | ||
4783 | PR middle-end/27528 | |
4784 | * stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the | |
4785 | constraints accept neither registers or memories. | |
4786 | ||
65722ae2 | 4787 | 2006-11-11 Jie Zhang <jie.zhang@analog.com> |
4788 | ||
4789 | * config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO. | |
4790 | (NO_PROFILE_COUNTERS): Define as 1. | |
4791 | ||
bdb135dc | 4792 | 2006-11-10 Roger Sayle <roger@eyesopen.com> |
4793 | ||
4794 | * fold-const.c (operand_equal_p) <INTEGER_CST, REAL_CST, VECTOR_CST>: | |
4795 | Don't check for TREE_CONSTANT_OVERFLOW when comparing constants. | |
4796 | ||
c23c6f48 | 4797 | 2006-11-10 Peter Bergner <bergner@vnet.ibm.com> |
4798 | ||
4799 | * rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER. | |
4800 | ||
582d745a | 4801 | 2006-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
4802 | ||
e6ab33d8 | 4803 | * builtins.c (fold_builtin_cos): Use fold_strip_sign_ops(). |
4804 | (fold_builtin_hypot): Likewise. | |
4805 | * fold-const.c (fold_strip_sign_ops): Handle "odd" builtins. | |
4806 | ||
582d745a | 4807 | * fold-const.c (negate_mathfn_p): Add BUILT_IN_ERF. |
4808 | ||
aae57ecf | 4809 | 2006-11-10 Roger Sayle <roger@eyesopen.com> |
4810 | ||
4811 | * tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable) | |
4812 | when attempting to build INTEGER_CSTs of non-integral types. | |
4813 | * expmed.c (make_tree): Use the correct type, i.e. the inner | |
4814 | type, when constructing the individual elements of a CONST_VECTOR. | |
4815 | ||
cdf37bc1 | 4816 | 2006-11-10 Jan Hubicka <jh@suse.cz> |
4817 | ||
4818 | * cse.c (cse_process_notes): Copy the propagated value. | |
4819 | * local-alloc.c (update_equiv_regs): Copy the memory RTX to be used | |
4820 | in REG_EQUIV notes. | |
4821 | * gcse.c (try_replace_reg): Copy the replacement. | |
3b0b2309 | 4822 | * i386.c (emit_i387_cw_initialization): Copy stored_mode. |
cdf37bc1 | 4823 | (assign_386_stack_local): Always return copied memory expression |
4824 | * function.c (instantiate_virtual_regs_in_insn): Copy the operand | |
4825 | duplicates. | |
4826 | ||
b55d87cc | 4827 | 2006-11-10 Jan Hubicka <jh@suse.cz> |
4828 | ||
4829 | * final.c (final): Walk from first instruction. | |
4830 | * cfglayout.c (insn_locators_initialize): Remove line number notes. | |
4831 | ||
1f428eb0 | 4832 | 2006-11-10 Uros Bizjak <ubizjak@gmail.com> |
4833 | ||
4834 | PR target/29777 | |
4835 | * config/i386/sse.md (smulv8hi3_highpart): Change from define_insn | |
4836 | to define_expand. | |
4837 | (umulv8hi3_highpart): Ditto. | |
4838 | (vec_widen_smult_hi_v8hi): New expander. | |
4839 | (vec_widen_smult_lo_v8hi): Ditto. | |
4840 | ||
9917422b | 4841 | 2006-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
4842 | ||
3bac4338 | 4843 | PR middle-end/29335 |
9917422b | 4844 | * builtins.c (do_mpfr_arg3): New. |
4845 | (fold_builtin_1): Handle builtins fma, fmin and fmax. | |
4846 | ||
84eba009 | 4847 | 2006-11-09 Eric Christopher <echristo@apple.com> |
4848 | ||
4849 | PR bootstrap/26892 | |
4850 | PR bootstrap/27814 | |
4851 | PR other/28994 | |
4852 | * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks. | |
4853 | * config.gcc (powerpc64-*-darwin*): New target. | |
4854 | * config.host: Ditto. | |
4855 | * config/rs6000/darwin64.h: New file. | |
4856 | * config/rs6000/x-darwin64: Ditto. | |
4857 | * config/rs6000/host-ppc64-darwin.c: Ditto. | |
4858 | ||
f1ada0df | 4859 | 2006-11-09 Steve Ellcey <sje@cup.hp.com> |
4860 | ||
4861 | * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode | |
4862 | routines for integer division. | |
4863 | ||
dc2942ef | 4864 | 2006-11-09 Daniel Jacobowitz <dan@codesourcery.com> |
4865 | ||
4866 | * config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete. | |
4867 | ||
6b651543 | 4868 | 2006-11-09 Serge Belyshev <belyshev@depni.sinp.msu.ru> |
4869 | ||
4870 | PR middle-end/29726 | |
4871 | * fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name. | |
4872 | ||
8187c3ba | 4873 | 2006-11-09 Andreas Krebbel <krebbel1@de.ibm.com> |
4874 | ||
84eba009 | 4875 | * simplify-rtx.c (avoid_constant_pool_reference): Avoid calling |
8187c3ba | 4876 | simplify_subreg with BLKmode outer mode. |
4877 | ||
7a8cf5f4 | 4878 | 2006-11-08 Brooks Moses <brooks.moses@codesourcery.com> |
4879 | ||
4880 | * doc/invoke.texi: Minor formatting fixes in option lists. | |
4881 | ||
bfa30570 | 4882 | 2006-11-08 Zdenek Dvorak <dvorakz@suse.cz> |
4883 | ||
4884 | PR tree-optimization/29738 | |
4885 | * tree-ssa-ccp.c: Remove UNKNOWN_VAL from comments. | |
4886 | (ccp_lattice_t): Remove UNKNOWN_VAL. | |
4887 | (dump_lattice_value, ccp_lattice_meet, ccp_visit_phi_node): | |
4888 | Do not handle UNKNOWN_VAL. | |
4889 | (get_default_value): Set initial value of virtual operands to | |
4890 | VARYING. | |
4891 | (get_value): Always use get_default_value on uninitialized | |
4892 | operands. | |
4893 | (set_value_varying, surely_varying_stmt_p): New functions. | |
4894 | (set_lattice_value): Do not pass argument to get_value. | |
4895 | Do not handle UNKNOWN_VAL. | |
4896 | (likely_value): Follow the semantics described in the comment. | |
4897 | (ccp_initialize): Use surely_varying_stmt_p. Do not mark | |
4898 | phi nodes DONT_SIMULATE_AGAIN. | |
4899 | (ccp_fold): Do not pass argument to get_value. | |
4900 | (fold_const_aggregate_ref, visit_assignment): Ditto. Do not | |
4901 | handle UNKNOWN_VAL. | |
4902 | ||
e4a7b8dc | 4903 | 2006-11-08 Andrew Pinski <Andrew_Pinski@playstation.sony.com> |
4904 | ||
84eba009 | 4905 | * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use |
e4a7b8dc | 4906 | HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer. |
4907 | ||
f2532264 | 4908 | 2006-11-08 Roger Sayle <roger@eyesopen.com> |
4909 | ||
4910 | * tree-ssa-propagate.c (set_rhs): Restructure validity tests as a | |
4911 | test for inclusion rather than as a test for exclusion. | |
4912 | * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify | |
4913 | the condition after calling fold_binary. | |
4914 | * fold-const.c (fold_inf_compare): Remove in_gimple_form check. | |
4915 | (fold_binary) <LT_EXPR, GT_EXPR, LE_EXPR, GE_EXPR>: Likewise. | |
4916 | * builtins.c (fold_builtin_isascii): Likewise. | |
4917 | (fold_builtin_isdigit): Likewise. | |
4918 | ||
41c555b5 | 4919 | 2006-11-08 Carlos O'Donell <carlos@codesourcery.com> |
4920 | ||
4921 | * configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE. | |
4922 | * configure: Regenerate. | |
4923 | ||
c6c91d61 | 4924 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> |
4925 | ||
84eba009 | 4926 | * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): Take |
c6c91d61 | 4927 | enum argument instead of bool. |
4928 | (vect_analyze_operations): Call vectorizable_type_promotion. | |
4929 | * tree-vectorizer.h (type_promotion_vec_info_type): New enum | |
4930 | stmt_vec_info_type value. | |
4931 | (supportable_widening_operation, vectorizable_type_promotion): New | |
4932 | function declarations. | |
4933 | * tree-vect-transform.c (vect_gen_widened_results_half): New function. | |
4934 | (vectorizable_type_promotion): New function. | |
4935 | (vect_transform_stmt): Call vectorizable_type_promotion. | |
4936 | * tree-vect-analyze.c (supportable_widening_operation): New function. | |
84eba009 | 4937 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): |
c6c91d61 | 4938 | Add implementation. |
4939 | * tree-vect-generic.c (expand_vector_operations_1): Consider correct | |
4940 | mode. | |
84eba009 | 4941 | |
c6c91d61 | 4942 | * tree.def (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR): |
4943 | (VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR): New tree-codes. | |
84eba009 | 4944 | * tree-inline.c (estimate_num_insns_1): Add cases for above new |
c6c91d61 | 4945 | tree-codes. |
4946 | * tree-pretty-print.c (dump_generic_node, op_prio): Likewise. | |
4947 | * expr.c (expand_expr_real_1): Likewise. | |
4948 | * optabs.c (optab_for_tree_code): Likewise. | |
4949 | (init_optabs): Initialize new optabs. | |
4950 | * genopinit.c (vec_widen_umult_hi_optab, vec_widen_smult_hi_optab, | |
4951 | vec_widen_smult_hi_optab, vec_widen_smult_lo_optab, | |
4952 | vec_unpacks_hi_optab, vec_unpacks_lo_optab, vec_unpacku_hi_optab, | |
4953 | vec_unpacku_lo_optab): Initialize new optabs. | |
4954 | * optabs.h (OTI_vec_widen_umult_hi, OTI_vec_widen_umult_lo): | |
4955 | (OTI_vec_widen_smult_h, OTI_vec_widen_smult_lo, OTI_vec_unpacks_hi, | |
84eba009 | 4956 | OTI_vec_unpacks_lo, OTI_vec_unpacku_hi, OTI_vec_unpacku_lo): New |
c6c91d61 | 4957 | optab indices. |
4958 | (vec_widen_umult_hi_optab, vec_widen_umult_lo_optab): | |
4959 | (vec_widen_smult_hi_optab, vec_widen_smult_lo_optab): | |
4960 | (vec_unpacks_hi_optab, vec_unpacku_hi_optab, vec_unpacks_lo_optab): | |
4961 | (vec_unpacku_lo_optab): New optabs. | |
84eba009 | 4962 | * doc/md.texi (vec_unpacks_hi, vec_unpacks_lo, vec_unpacku_hi): |
4963 | (vec_unpacku_lo, vec_widen_umult_hi, vec_widen_umult_lo): | |
c6c91d61 | 4964 | (vec_widen_smult_hi, vec_widen_smult_lo): New. |
4965 | * doc/c-tree.texi (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR): | |
4966 | (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR, VEC_UNPACK_HI_EXPR): | |
4967 | (VEC_UNPACK_LO_EXPR, VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New. | |
84eba009 | 4968 | |
c6c91d61 | 4969 | * config/rs6000/altivec.md (UNSPEC_VMULWHUB, UNSPEC_VMULWLUB): |
4970 | (UNSPEC_VMULWHSB, UNSPEC_VMULWLSB, UNSPEC_VMULWHUH, UNSPEC_VMULWLUH): | |
4971 | (UNSPEC_VMULWHSH, UNSPEC_VMULWLSH): New. | |
4972 | (UNSPEC_VPERMSI, UNSPEC_VPERMHI): New. | |
4973 | (vec_vperm_v8hiv4si, vec_vperm_v16qiv8hi): New patterns used to | |
4974 | implement the unsigned unpacking patterns. | |
4975 | (vec_unpacks_hi_v16qi, vec_unpacks_hi_v8hi, vec_unpacks_lo_v16qi): | |
4976 | (vec_unpacks_lo_v8hi): New signed unpacking patterns. | |
4977 | (vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi): | |
4978 | (vec_unpacku_lo_v8hi): New unsigned unpacking patterns. | |
4979 | (vec_widen_umult_hi_v16qi, vec_widen_umult_lo_v16qi): | |
84eba009 | 4980 | (vec_widen_smult_hi_v16qi, vec_widen_smult_lo_v16qi): |
c6c91d61 | 4981 | (vec_widen_umult_hi_v8hi, vec_widen_umult_lo_v8hi): |
4982 | (vec_widen_smult_hi_v8hi, vec_widen_smult_lo_v8hi): New widening | |
4983 | multiplication patterns. | |
4984 | ||
4985 | * target.h (builtin_mul_widen_even, builtin_mul_widen_odd): New. | |
4986 | * target-def.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): | |
4987 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New. | |
4988 | * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): New. | |
4989 | (rs6000_builtin_mul_widen_odd): New. | |
4990 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined. | |
4991 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined. | |
4992 | * tree-vectorizer.h (enum vect_relevant): New enum type. | |
4993 | (_stmt_vec_info): Field relevant chaned from bool to enum | |
4994 | vect_relevant. | |
4995 | (STMT_VINFO_RELEVANT_P): Updated. | |
4996 | (STMT_VINFO_RELEVANT): New. | |
4997 | * tree-vectorizer.c (new_stmt_vec_info): Use STMT_VINFO_RELEVANT | |
4998 | instead of STMT_VINFO_RELEVANT_P. | |
4999 | * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): | |
5000 | Replace calls to STMT_VINFO_RELEVANT_P with STMT_VINFO_RELEVANT, | |
5001 | and boolean variable with enum vect_relevant. | |
5002 | (vect_mark_stmts_to_be_vectorized): Likewise + update documentation. | |
5003 | * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New. | |
5004 | (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New. | |
5005 | ||
5006 | 2006-11-08 Richard Henderson <rth@redhat.com> | |
5007 | ||
5008 | * config/i386/sse.md (vec_widen_umult_hi_v8hi, | |
5009 | vec_widen_umult_lo_v8hi): New. | |
5010 | (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si, | |
5011 | vec_widen_umult_hi_v4si, vec_widen_umult_lo_v4si): New. | |
5012 | ||
84eba009 | 5013 | * config/i386/i386.c (ix86_expand_sse_unpack): New. |
5014 | * config/i386/i386-protos.h (ix86_expand_sse_unpack): New. | |
c6c91d61 | 5015 | * config/i386/sse.md (vec_unpacku_hi_v16qi, vec_unpacks_hi_v16qi, |
5016 | vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi, vec_unpacku_hi_v8hi, | |
5017 | vec_unpacks_hi_v8hi, vec_unpacku_lo_v8hi, vec_unpacks_lo_v8hi, | |
5018 | vec_unpacku_hi_v4si, vec_unpacks_hi_v4si, vec_unpacku_lo_v4si, | |
5019 | vec_unpacks_lo_v4si): New. | |
5020 | ||
5021 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
5022 | ||
5023 | * tree-vect-transform.c (vectorizable_type_demotion): New function. | |
5024 | (vect_transform_stmt): Add case for type_demotion_vec_info_type. | |
5025 | (vect_analyze_operations): Call vectorizable_type_demotion. | |
84eba009 | 5026 | * tree-vectorizer.h (type_demotion_vec_info_type): New enum |
c6c91d61 | 5027 | stmt_vec_info_type value. |
5028 | (vectorizable_type_demotion): New function declaration. | |
5029 | * tree-vect-generic.c (expand_vector_operations_1): Consider correct | |
5030 | mode. | |
5031 | ||
5032 | * tree.def (VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New tree-codes. | |
5033 | * expr.c (expand_expr_real_1): Add case for VEC_PACK_MOD_EXPR and | |
5034 | VEC_PACK_SAT_EXPR. | |
5035 | * tree-iniline.c (estimate_num_insns_1): Likewise. | |
5036 | * tree-pretty-print.c (dump_generic_node, op_prio): Likewise. | |
5037 | * optabs.c (optab_for_tree_code): Likewise. | |
5038 | ||
84eba009 | 5039 | * optabs.c (expand_binop): In case of vec_pack_*_optabs the mode |
5040 | compared against the predicate of the result is not 'mode' (the input | |
c6c91d61 | 5041 | to the function) but a mode with half the size of 'mode'. |
5042 | (init_optab): Initialize new optabs. | |
5043 | * optabs.h (OTI_vec_pack_mod, OTI_vec_pack_ssat, OTI_vec_pack_usat): | |
5044 | New optab indices. | |
5045 | (vec_pack_mod_optab, vec_pack_ssat_optab, vec_pack_usat_optab): New | |
5046 | optabs. | |
5047 | * genopinit.c (vec_pack_mod_optab, vec_pack_ssat_optab): | |
5048 | (vec_pack_usat_optab): Initialize new optabs. | |
5049 | * doc/md.texi (vec_pack_mod, vec_pack_ssat, vec_pack_usat): New. | |
5050 | * config/rs6000/altivec.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): New. | |
5051 | ||
5052 | 2006-11-08 Richard Henderson <rth@redehat.com> | |
5053 | ||
5054 | * config/i386/sse.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): | |
5055 | (vec_pack_mod_v2di, vec_interleave_highv16qi, vec_interleave_lowv16qi): | |
5056 | (vec_interleave_highv8hi, vec_interleave_lowv8hi): | |
5057 | (vec_interleave_highv4si, vec_interleave_lowv4si): | |
5058 | (vec_interleave_highv2di, vec_interleave_lowv2di): New. | |
5059 | ||
5060 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
5061 | ||
84eba009 | 5062 | * tree-vect-transform.c (vectorizable_reduction): Support multiple |
c6c91d61 | 5063 | datatypes. |
5064 | (vect_transform_stmt): Removed redundant code. | |
5065 | ||
5066 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
5067 | ||
84eba009 | 5068 | * tree-vect-transform.c (vectorizable_operation): Support multiple |
c6c91d61 | 5069 | datatypes. |
5070 | ||
5071 | 2006-11-08 Dorit Nuzman <dorit@il.ibm.com> | |
5072 | ||
5073 | * tree-vect-transform.c (vect_align_data_ref): Removed. | |
84eba009 | 5074 | (vect_create_data_ref_ptr): Added additional argument - ptr_incr. |
c6c91d61 | 5075 | Updated function documentation. Return the increment stmt in ptr_incr. |
5076 | (bump_vector_ptr): New function. | |
5077 | (vect_get_vec_def_for_stmt_copy): New function. | |
5078 | (vect_finish_stmt_generation): Create a stmt_info to newly created | |
5079 | vector stmts. | |
5080 | (vect_setup_realignment): Call vect_create_data_ref_ptr with additional | |
5081 | argument. | |
5082 | (vectorizable_reduction, vectorizable_assignment): Not supported yet if | |
5083 | VF is greater than the number of elements that can fit in one vector | |
5084 | word. | |
5085 | (vectorizable_operation, vectorizable_condition): Likewise. | |
5086 | (vectorizable_store, vectorizable_load): Support the case that the VF | |
5087 | is greater than the number of elements that can fit in one vector word. | |
5088 | (vect_transform_loop): Don't fail in case of multiple data-types. | |
84eba009 | 5089 | * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't fail |
c6c91d61 | 5090 | in case of multiple data-types; the smallest type determines the VF. |
5091 | (vect_analyze_data_ref_dependence): Don't record datarefs as same_align | |
5092 | if they are of different sizes. | |
5093 | (vect_update_misalignment_for_peel): Compare misalignments in terms of | |
5094 | number of elements rather than number of bytes. | |
5095 | (vect_enhance_data_refs_alignment): Fix/Add dump printouts. | |
5096 | (vect_can_advance_ivs_p): Fix a dump printout | |
5097 | ||
5a06917c | 5098 | 2006-11-07 Eric Christopher <echristo@apple.com> |
5099 | ||
5100 | * libgcc2.c (__bswapdi2): Rename from bswapDI2. | |
5101 | (__bswapsi2): Ditto. | |
5102 | * libgcc2.h: Remove transformation of bswap routines. | |
5103 | * config/i386/i386.md (bswapsi2): New. | |
5104 | (bswapdi2): Ditto. | |
5105 | ||
541e4101 | 5106 | 2006-11-07 Jakub Jelinek <jakub@redhat.com> |
5107 | ||
5108 | * c-common.c (c_common_attributes): Add gnu_inline attribyte. | |
5109 | (handle_gnu_inline_attribute): New function. | |
5110 | * c-decl.c (diagnose_mismatched_decls): Handle gnu_inline attribute. | |
5111 | (merge_decls, start_decl, start_function): Likewise. | |
5112 | * doc/extend.texi: Document gnu_inline attribute. | |
5113 | ||
09969f33 | 5114 | 2006-11-07 Steve Ellcey <sje@cup.hp.com> |
5115 | ||
5116 | PR other/25028 | |
5117 | * config/ia64/t-hpux (LIB1ASMFUNCS): Filter out _fixtfdi, | |
5118 | _fixunstfdi, and _floatditf | |
5119 | ||
ab3a6ef8 | 5120 | 2006-11-06 Anatoly Sokolov <aesok@post.ru> |
5121 | ||
5a06917c | 5122 | * config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove |
ab3a6ef8 | 5123 | prototype. |
5124 | * config/avr/avr.c (mask_one_bit_p, const_int_pow2_p): Remove. | |
5125 | (output_movhi, ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, | |
5126 | lshrhi3_out, lshrsi3_out): Remove unnecessary code for handling value | |
5127 | which start in an odd register. | |
5128 | ||
b17207c0 | 5129 | 2006-11-07 Richard Sandiford <richard@codesourcery.com> |
5130 | ||
5131 | * config/mips/mips.h (ISA_HAS_PREFETCHX): Fix typo. | |
5132 | ||
ea18f022 | 5133 | 2006-11-07 Josh Conner <jconner@apple.com> |
5134 | ||
5135 | * doc/invoke.texi (fstrict-aliasing): Move implementation | |
5136 | details... | |
5137 | * doc/tree-ssa.texi (Alias analysis): ...here. | |
5138 | ||
fc78ca67 | 5139 | 2006-11-07 Richard Guenther <rguenther@suse.de> |
5140 | ||
5141 | PR tree-optimization/29610 | |
5142 | * tree-cfgcleanup.c (cleanup_control_flow): Honor return value | |
5143 | of tree_purge_dead_eh_edges as it may free dominators. | |
5144 | ||
5145 | * g++.dg/other/pr29610.C: New testcase. | |
5146 | ||
c8c043b2 | 5147 | 2006-11-07 David Ung <davidu@mips.com> |
5148 | ||
5149 | * config/mips/mips.c (mips_rtx_cost_optimize_size): New table of | |
5150 | costs when optimizing for size. | |
5151 | (override_options): Use mips_rtx_cost_optimize_size table for cost | |
5152 | calculations. | |
5153 | ||
fb244a46 | 5154 | 2006-11-07 Jie Zhang <jie.zhang@analog.com> |
5155 | ||
5156 | * gcc.c (process_command): Treat -b as normal switch if its argument | |
5157 | has no dash. | |
5a06917c | 5158 | |
832474fe | 5159 | 2006-11-07 David Ung <davidu@mips.com> |
5a06917c | 5160 | |
832474fe | 5161 | * config/mips/mips.h (ISA_HAS_PREFETCHX): Add ISA_MIPS32R2 to the |
5162 | list. | |
5163 | ||
4a839b30 | 5164 | 2006-11-06 Eric Christopher <echristo@apple.com> |
5165 | ||
5166 | * config.gcc: Add x86_64-darwin host support. | |
5167 | * config.host: Ditto. | |
5168 | * config/i386/darwin64.h: New file. | |
5169 | * config/i386/t-darwin64: Ditto. | |
5170 | ||
3dfef819 | 5171 | 2006-11-06 Janis Johnson <janis187@us.ibm.com> |
5172 | ||
5173 | * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists | |
5174 | and output-exists-not. | |
5175 | ||
9fbc4e9e | 5176 | 2006-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com> |
5177 | ||
5178 | PR tree-opt/29439 | |
5179 | * tree-vrp.c (vrp_int_const_binop): Use the correct tree when | |
5180 | checking for overflow. | |
5181 | ||
55a5bb1e | 5182 | 2006-11-06 Jan van Dijk <jan@etpmod.phys.tue.nl> |
5183 | ||
5184 | * configure.ac: Fixed typo in case statement: :: changed to ;; | |
5185 | ||
8e8c0c04 | 5186 | 2006-11-06 Bob Wilson <bob.wilson@acm.org> |
5187 | ||
5188 | * longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3, | |
5189 | count_leading_zeros, and count_trailing_zeros. | |
5190 | * config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define. | |
5191 | (TARGET_FOLD_BUILTIN): Define. | |
5192 | (TARGET_EXPAND_BUILTIN): Define. | |
5193 | (xtensa_init_builtins): New. | |
5194 | (xtensa_fold_builtin): New. | |
5195 | (xtensa_expand_builtin): New. | |
5196 | (xtensa_rtx_costs): Add CTZ and CLZ. Adjust costs for MULT. | |
5197 | * config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define. | |
5198 | (CLZ_DEFINED_VALUE_AT_ZERO): Define. | |
5199 | (CTZ_DEFINED_VALUE_AT_ZERO): Define. | |
5200 | * config/xtensa/xtensa.md (UNSPEC_NSAU): Remove. | |
5201 | (any_extend): New code macro. | |
5202 | (u, su): New code attributes. | |
5203 | (<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New. | |
5204 | (nsau): Remove; replaced by clzsi2. | |
5205 | (ffssi2): Use clzsi2. | |
5206 | * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3, | |
5207 | _clzsi2, _ctzsi2, and _ffssi2. Rename _nsau to _clz. | |
5208 | * config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option. | |
5209 | (__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New. | |
5210 | (__nsau_data): Guard with ifdef L_clz instead of L_nsau. | |
5211 | ||
28e7852b | 5212 | 2006-11-06 Vladimir Prus <vladimir@codesourcery.com> |
5213 | ||
5214 | * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no | |
5215 | set inhibit_libc. | |
5216 | * config/arm/t-strongarm-elf: Likewise. | |
5217 | * config/arm/t-pe: Likewise. | |
5218 | * config/arm/t-arm-elf: Likewise. | |
5219 | * config/arm/t-xscale-elf: Likewise. | |
5220 | * config/arm/t-arm-coff: Likewise. | |
5221 | * config/arm/t-xscale-coff: Likewise. | |
5222 | * config/arm/t-wince-pe: Likewise. | |
4a839b30 | 5223 | |
517e1e47 | 5224 | 2006-11-05 Kaz Kojima <kkojima@gcc.gnu.org> |
5225 | ||
5226 | * config/sh/lib1funcs-4-300.asm: Guard entire file with | |
f309fd62 | 5227 | #if !__SHMEDIA__ . |
517e1e47 | 5228 | |
71f1bd0c | 5229 | 2006-11-05 Jakub Jelinek <jakub@redhat.com> |
5230 | ||
5231 | PR middle-end/29695 | |
5232 | * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0 | |
5233 | simplification. | |
5234 | ||
9463bbd3 | 5235 | 2006-11-04 Uros Bizjak <ubizjak@gmail.com> |
5236 | ||
5237 | PR target/26915 | |
5238 | * config/i386/i386.c (standard_80387_constant_p): Treat -0.0 and -1.0 | |
5239 | as a valid 80387 constant. | |
5240 | (standard_80387_constant_opcode): Return "#" for -0.0 and -1.0. | |
5241 | * config/i386/i386.md (unnamed splitter): Split the load of | |
5242 | constant -0.0 or -1.0 into the load of 0.0 or 1.0, followed | |
5243 | by negation. | |
5244 | ||
2e9ff3c0 | 5245 | 2006-11-04 Richard Earnshaw <rearnsha@arm.com> |
5246 | ||
5247 | * arm.c (thumb_legitimate_addres_p): Allow any constant offset | |
5248 | from the soft-frame, argument and virtual registers. | |
5249 | ||
a348d038 | 5250 | 2006-11-04 Uros Bizjak <ubizjak@gmail.com> |
5251 | ||
5252 | * config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable | |
5253 | patterns for standard 80387 constants. | |
5254 | ||
42a3a38b | 5255 | 2006-11-03 Paolo Bonzini <bonzini@gnu.org> |
a348d038 | 5256 | Steven Bosscher <steven@gcc.gnu.org> |
5257 | ||
5258 | * fwprop.c: New file. | |
5259 | * Makefile.in: Add fwprop.o. | |
5260 | * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New. | |
5261 | * passes.c (init_optimization_passes): Schedule forward propagation. | |
5262 | * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second | |
5263 | parameter. | |
5264 | * timevar.def (TV_FWPROP): New. | |
5265 | * common.opt (-fforward-propagate): New. | |
5266 | * opts.c (decode_options): Enable forward propagation at -O2. | |
5267 | * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps. | |
5268 | * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr, | |
5269 | canon_for_address, table_size): Remove. | |
5270 | (new_basic_block, insert, remove_from_table): Remove references to | |
5271 | table_size. | |
5272 | (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make | |
5273 | simplification loop more straightforward by not calling fold_rtx | |
5274 | recursively. | |
5275 | (equiv_constant): Move here a small part of fold_rtx_subreg, | |
5276 | do not call fold_rtx. Call avoid_constant_pool_reference | |
5277 | to process MEMs. | |
5278 | * recog.h (canonicalize_change_group): New. | |
5279 | ||
5280 | * doc/invoke.texi (Optimization Options): Document fwprop. | |
5281 | * doc/passes.texi (RTL passes): Document fwprop. | |
42a3a38b | 5282 | |
b8dcd8a1 | 5283 | 2006-11-03 Geoffrey Keating <geoffk@apple.com> |
5284 | ||
5285 | * c-decl.c (WANT_C99_INLINE_SEMANTICS): New, set to 1. | |
5286 | (merge_decls): Implement WANT_C99_INLINE_SEMANTICS. | |
5287 | (grokdeclarator): Likewise. | |
5288 | ||
15b8fe07 | 5289 | 2006-11-03 Steven Bosscher <steven@gcc.gnu.org> |
5290 | ||
5291 | * tree-dump.c (dump_enable_all): Rename local variable | |
5292 | ir_type to avoid name conflicts. | |
5293 | * cfgloopmanip.c (lv_adjust_loop_entry_edge): Check for IR_GIMPLE | |
5294 | instead of using ir_type(). | |
5295 | * profile.c (tree_register_profile_hooks): Likewise. | |
5296 | * value-prof.c (tree_register_value_prof_hooks): Likewise. | |
5297 | * basic-block.h (struct edge_def): Likewise. | |
5298 | * config/arm/arm.c (legitimize_pic_address): Likewise. | |
5299 | * coretypes.h (ir_type): New enum of all intermediate languages | |
5300 | used in GCC. | |
5301 | * cfghooks.c (ir_type): Rename to... | |
5302 | (current_ir_type): ...this. Distinguish between cfgrtl and | |
5303 | cfglayout mode when the current IR is RTL. Return enum ir_type. | |
5304 | * cfghooks.h (ir_type): Replace with current_ir_type prototype. | |
5305 | ||
5fad5123 | 5306 | 2006-11-03 Paul Brook <paul@codesourcery.com> |
5307 | ||
5fad5123 | 5308 | * config/arm/arm.c (arm_file_start): New function. |
5309 | (TARGET_ASM_FILE_START): Define. | |
5310 | (arm_default_cpu): New variable. | |
5311 | (arm_override_options): Set arm_default_cpu. | |
5312 | ||
6a84bf76 | 5313 | 2006-11-03 David Ung <davidu@mips.com> |
4a839b30 | 5314 | |
0fa429d4 | 5315 | * config/mips/mips.h (processor_type): Removed PROCESSOR_24K, add |
5316 | PROCESSOR_24KC and PROCESSOR_24KF. | |
5317 | * config/mips/mips.c (mips_cpu_info_table): Add processor names | |
5318 | and aliases for 4kec/4kem/4kep/24kec/24kef/24kex/34kc/34kf/34kx. | |
5319 | (mips_rtx_cost_data): Add costs for the 24kc. | |
5320 | * config/mips/mips.md ("cpu"): Remove 24k, add 24kc and 24kf. | |
5321 | * config/mips/24k.md: Remove references to 24k and replace with | |
5322 | uses of 24kc/24kf in the appropriate reservations. | |
4a839b30 | 5323 | * doc/invoke.texi (MIPS Options): Updated. |
5324 | ||
5be30882 | 5325 | 2006-11-03 J"orn Rennecke <joern.rennecke@st.com> |
5326 | ||
5327 | * config/sh/crt1.asm: Fix #ifdef indent. | |
5328 | ||
5329 | 2006-11-03 J"orn Rennecke <joern.rennecke@st.com> | |
5330 | Merged from STMicroelectronics sources: | |
5331 | 2006-10-06 Andrew Stubbs <andrew.stubbs@st.com> | |
5332 | * config/sh/crt1.asm (vbr_600): Add missing #if. | |
5333 | 2006-08-03 J"orn Rennecke <joern.rennecke@st.com> | |
5334 | * sh.opt (mfused-madd): New option. | |
5335 | * sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC. | |
5336 | 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com> | |
5337 | * config/sh/crt1.asm (vbr_start): Move to new section .test.vbr. | |
5338 | Remove pointless handler at VBR+0. | |
5339 | (vbr_200, vbr_300, vbr_500): Remove pointless handler. | |
5340 | (vbr_600): Save and restore mach and macl, fpul and fpscr and fr0 to | |
5341 | fr7. Make sure the timer handler is called with the correct FPU | |
5342 | precision setting, according to the ABI. | |
5343 | 2006-06-14 J"orn Rennecke <joern.rennecke@st.com> | |
5344 | * config/sh/sh.opt (m2a-single, m2a-single-only): Fix Condition. | |
5345 | * config/sh/sh.h (SUPPORT_SH2A_NOFPU): Fix condition. | |
5346 | (SUPPORT_SH2A_SINGLE_ONLY, SUPPORT_SH2A_SINGLE_ONLY): Likewise. | |
5347 | 2006-06-09 J"orn Rennecke <joern.rennecke@st.com> | |
5348 | * sh.md (cmpgeusi_t): Change into define_insn_and_split. Accept | |
5349 | zero as second operand. | |
5350 | 2006-04-28 J"orn Rennecke <joern.rennecke@st.com> | |
5351 | * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm: | |
5352 | Fixed some bugs related to negative values, in particular -0 | |
5353 | and overflow at -0x80000000. | |
5354 | * config/sh/divcost-analysis: Added sh4-300 figures. | |
5355 | 2006-04-27 J"orn Rennecke <joern.rennecke@st.com> | |
5356 | * config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options. | |
5357 | 2006-04-26 J"orn Rennecke <joern.rennecke@st.com> | |
5358 | * config/sh/t-sh (OPT_EXTRA_PARTS): Add libgcc-4-300.a. | |
5359 | ($(T)div_table-4-300.o, $(T)libgcc-4-300.a): New rules. | |
5360 | * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm: | |
5361 | New files. | |
5362 | * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-4-300 for -m4-300* / | |
5363 | -m4-340. | |
5364 | 2006-04-24 J"orn Rennecke <joern.rennecke@st.com> | |
5365 | SH4-300 scheduling description & fixes to SH4-[12]00 description: | |
5366 | * sh.md: New instruction types: fstore, movi8, fpscr_toggle, gp_mac, | |
5367 | mac_mem, mem_mac, dfp_mul, fp_cmp. | |
5368 | (insn_class, dfp_comp, any_fp_comp): Update. | |
5369 | (push_fpul, movsf_ie, fpu_switch, toggle_sz, toggle_pr): Update type. | |
5370 | (cmpgtsf_t, "cmpeqsf_t, cmpgtsf_t_i4, cmpeqsf_t_i4): Likewise. | |
5371 | (muldf3_i): Likewise. | |
5372 | (movsi_i): Split rI08 alternative into two separate alternatives. | |
5373 | Update type. | |
5374 | (movsi_ie, movsi_i_lowpart): Likewise. | |
5375 | (movqi_i): Split ri alternative into two separate alternatives. | |
5376 | Update type. | |
5377 | * sh1.md (sh1_load_store, sh1_fp): Update. | |
5378 | * sh4.md (sh4_store, sh4_mac_gp, fp_arith, fp_double_arith): Update. | |
5379 | (mac_mem, sh4_fpscr_toggle): New insn_reservations. | |
5380 | * sh4a.md (sh4a_mov, sh4a_load, sh4a_store, sh4a_fp_arith): Update. | |
5381 | (sh4a_fp_double_arith): Likewise. | |
5382 | * sh4-300.md: New file. | |
5383 | * sh.c (sh_handle_option): Handle m4-300* options. | |
5384 | (sh_adjust_cost): Fix latency of auto-increments. | |
5385 | Handle SH4-300 differently than other SH4s. Check for new insn types. | |
5386 | * sh.h (OVERRIDE_OPTIONS): Initilize sh_branch_cost if it has not | |
5387 | been set by an option. | |
5388 | * sh.opt (m4-300, m4-100-nofpu, m4-200-nofpu): New options. | |
5389 | (m4-300-nofpu, -m4-340, m4-300-single, m4-300-single-only): Likewise. | |
5390 | (mbranch-cost=): Likewise. | |
5391 | * superh.h (STARTFILE_SPEC): Take -m4-340 into account. | |
5392 | ||
5393 | * sh.md (mulsf3): Remove special expansion code. | |
5394 | (mulsf3_ie): Now a define_insn_and_split. | |
5395 | (macsf3): Allow for TARGET_SH4. | |
5396 | ||
5397 | * sh.md (cbranchsi4, cbranchdi4, cbranchdi4_i): New patterns. | |
5398 | * sh.c (prepare_cbranch_operands, expand_cbranchsi4): New functions. | |
5399 | (expand_cbranchdi4): Likewise. | |
5400 | (sh_rtx_costs): Give lower cost for certain CONST_INT values and for | |
5401 | CONST_DOUBLE if the outer code is COMPARE. | |
5402 | * sh.h (OPTIMIZATION_OPTIONS): If not optimizing for size, set | |
5403 | TARGET_CBRANCHDI4 and TARGET_EXPAND_CBRANCHDI4. | |
5404 | (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, clear TARGET_CBRANCHDI4. | |
5405 | (LEGITIMATE_CONSTANT_P): Also allow DImode and VOIDmode CONST_DOUBLEs. | |
5406 | Remove redundant fp_{zero,one}_operand checks. | |
5407 | * sh.opt (mcbranchdi, mexpand-cbranchdi, mcmpeqdi): New options. | |
5408 | * sh-protos.h (prepare_cbranch_operands, expand_cbranchsi4): Declare. | |
5409 | (expand_cbranchdi4): Likewise. | |
5410 | 2006-04-20 J"orn Rennecke <joern.rennecke@st.com> | |
5411 | * sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT. | |
5412 | ||
7c12eaee | 5413 | 2006-11-02 Andrew Pinski <andrew_pinski@playstation.sony.com> |
5414 | ||
5415 | * doc/md.texi (RS6000 constraints): Document H, Z, a, t, and W | |
5416 | constraints. | |
5417 | ||
ebe0b5dd | 5418 | 2006-11-02 Brooks Moses <brooks.moses@codesourcery.com> |
5419 | ||
5420 | * doc/invoke.texi: Fix mfp-trap-mode typo. | |
5421 | ||
9ffe2f5a | 5422 | 2006-11-02 Carlos O'Donell <carlos@codesourcery.com> |
5423 | ||
5424 | * config/arm/linux-elf.h (NEED_INDICATE_EXEC_STACK): Define as 1. | |
4a839b30 | 5425 | * arm.c (arm_file_end): If NEED_INDICATE_EXEC_STACK call |
5426 | file_end_indicate_exec_stack. | |
5427 | * arm.h [!NEED_INDICATE_EXEC_STACK] (NEED_INIDCATE_EXEC_STACK): | |
9ffe2f5a | 5428 | Define as 0. |
5429 | * lib1funcs.asm [__ELF__ && __linux__]: Emit .note.GNU-stack section | |
5430 | for a non-executable stack. | |
5431 | * crti.asm: Likewise. | |
5432 | * crtn.asm: Likewise. | |
4a839b30 | 5433 | * libunwind.S: Likewise. |
9ffe2f5a | 5434 | |
960217d2 | 5435 | 2006-11-02 Ben Elliston <bje@au.ibm.com> |
5436 | ||
5437 | * tree-ssa.c (warn_uninit): Use expand_location variables for | |
5438 | locus and declaration locus. | |
5439 | ||
cae0e216 | 5440 | 2006-11-02 Kaz Kojima <kkojima@gcc.gnu.org> |
5441 | ||
5442 | PR target/27405 | |
5443 | * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove. | |
5444 | (cmpsi{eq,gt,gtu}{si,di}_media): Rename to | |
5445 | cmp{eq,gt,gtu}{si,di}_media. | |
5446 | (*cmpne0si_media): Remove. | |
5447 | (*movsicc_umin): Adjust gen_cmp*_media call. | |
5448 | (unordered): Change the mode of unordered and operands[1] to | |
5449 | SImode. | |
5450 | (seq): Adjust gen_cmp*_media calls. Make the mode of | |
5451 | a temporary result of compare SImode if needed. If the mode | |
5452 | of operands[0] is DImode, extend the temporary result to DImode. | |
5453 | (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise. | |
5454 | (sunorderd): Change the mode of match_operand and unorderd to | |
5455 | SImode. | |
5456 | (cmpeq{sf,df}_media): Remove. | |
5457 | (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media. | |
5458 | (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand | |
5459 | and compare operation to SImode. | |
5460 | ||
f057a173 | 5461 | 2006-11-02 Eric Botcazou <ebotcazou@libertysurf.fr> |
5462 | ||
5463 | * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build | |
5464 | instructions. | |
5465 | (sparc64-sun-solaris2*): Likewise. | |
5466 | ||
df816ae6 | 5467 | 2006-11-02 Paul Brook <paul@codesourcery.com> |
5468 | ||
df816ae6 | 5469 | * config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED |
5470 | from priority argument. Use different section for non-default | |
5471 | priority. | |
5472 | * config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY. | |
5473 | ||
f1d76faf | 5474 | 2006-11-02 Eric Botcazou <ebotcazou@adacore.com> |
5475 | ||
5476 | PR other/29639 | |
5477 | * except.c (switch_to_exception_section): Do not cache the section | |
5478 | if named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined | |
5479 | and flag_function_sections is set. | |
5480 | ||
d92f994c | 5481 | 2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
5482 | ||
5483 | PR middle-end/29335 | |
5484 | * builtins.c (do_mpfr_sincos): New. | |
5485 | (fold_builtin_1): Use it to fold builtin sincos. | |
5486 | ||
34553227 | 5487 | 2006-11-01 Roger Sayle <roger@eyesopen.com> |
5488 | ||
5489 | * config/darwin.h (CPP_SPEC): Handle -pthread, transforming | |
5490 | it into -D_REENTRANT. | |
5491 | ||
95792072 | 5492 | 2006-11-01 Roger Sayle <roger@eyesopen.com> |
5493 | ||
5494 | * configure.ac (HAVE_AS_IX86_DIFF_SECT_DELTA): New test to determine | |
5495 | whether the assembler supports taking the difference of symbols in | |
5496 | different sections. On x86/Solaris, GAS does but Solaris as doesn't. | |
5497 | * configure: Regenerate. | |
5498 | * config.in: Regenerate. | |
5499 | * config/i386/sol2-10.h (JUMP_TABLES_IN_TEXT_SECTION): Define if | |
5500 | the assembler doesn't support taking the difference of symbols in | |
5501 | different sections, i.e. we're using the native solaris assembler. | |
5502 | ||
c15fcd1f | 5503 | 2006-11-01 Pete Steinmetz <steinmtz@us.ibm.com> |
5504 | Peter Bergner <bergner@vnet.ibm.com> | |
5505 | ||
5506 | * doc/invoke.texi: Add cpu_type power6x | |
5507 | (RS/6000 and PowerPC Options): Add -mmfpgpr. | |
5508 | * config.gcc: Add cpu_type power6x. | |
5509 | * configure.ac: Add test for mf{t,f}gpr instructions. | |
5510 | (HAVE_AS_MFPGPR): New. | |
5511 | * config.in: Regenerate. | |
5512 | * configure: Regenerate. | |
5513 | * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x. | |
5514 | * config/rs6000/rs6000.md (define_attr "type"): Add insert_dword, | |
5515 | shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr | |
5516 | and mftgpr attributes. | |
5517 | (define_attr "cpu"): Add power6. | |
5518 | Change instruction sequences to use new attributes. | |
5519 | (floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR. | |
5520 | (fix_truncdfsi2_mfpgpr): New. | |
5521 | (floatsidf_ppc64_mfpgpr): New. | |
5522 | (floatsidf_ppc64): Added !TARGET_MFPGPR condition. | |
5523 | (movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New. | |
5524 | (movdf_hardfloat64): Added !TARGET_MFPGPR condition. | |
5525 | (movdi_internal64): Added !TARGET_MFPGPR and related conditions. | |
5526 | (fix_truncdfsi2): Use gpc_reg_operand constraint. | |
5527 | * config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md, | |
5528 | 7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}: | |
5529 | Add descriptions for insert_dword, shift,trap,var_shift_rotate, | |
5530 | cntlz,exts and var_delayed_compare. | |
5531 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
5532 | _ARCH_PWR6X, if features enabled. | |
5533 | * config/rs6000/rs6000.opt (mmfpgpr): New. | |
5534 | * config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable. | |
5535 | (cached_can_issue_more): New variable. | |
5536 | (processor_costs): Add power6_cost. | |
5537 | (rs6000_sched_init): New function. | |
5538 | (is_dispatch_slot_restricted): Deleted. | |
5539 | (set_to_load_agen): New function. | |
5540 | (is_load_insn,is_store_insn): New functions. | |
5541 | (adjacent_mem_locations): New function. | |
5542 | (insn_must_be_first_in_group): New function. | |
5543 | (insn_must_be_last_in_group): New function. | |
5544 | (rs6000_sched_reorder): New function. | |
5545 | (rs6000_sched_reorder2): New function. | |
5546 | (TARGET_SCHED_INIT,TARGET_SCHED_REORDER, | |
5547 | TARGET_SCHED_REORDER2): Define. | |
5548 | (processor_target_table): Use PROCESSOR_POWER6 for power6. | |
5549 | Add power6x. Add MASK_MFPGPR for power6x. | |
5550 | (POWERPC_MASKS): Add MASK_MFPGPR. | |
5551 | (rs6000_override_options): Set rs6000_always_hint to false | |
5552 | for power6. Set rs6000_align_branch_targets. Replace | |
5553 | rs6000_sched_groups check with rs6000_align_branch_targets. | |
5554 | Use PROCESSOR_POWER6. | |
5555 | (last_scheduled_insn): New variable. | |
5556 | (load_store_pendulum): New variable. | |
5557 | (rs6000_variable_issue): Set last_scheduled_insn and | |
5558 | cached_can_issue_more. | |
5559 | (rs6000_adjust_cost): Add power6 cost adjustments. | |
5560 | (rs6000_adjust_priority): Replace is_dispatch_slot_restricted | |
5561 | with insn_must_be_first_in_group. Add power6 priority adjustments. | |
5562 | (rs6000_issue_rate): Add CPU_POWER6. | |
5563 | (insn_terminates_group_p): Use insn_must_be_{first,last}_in_group. | |
5564 | * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6. | |
5565 | (TARGET_MFPGPR): New. | |
5566 | (SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR. | |
5567 | (ASM_CPU_SPEC): Add power6x. | |
5568 | (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode | |
5569 | conditions. | |
5570 | * config/rs6000/power6.md: New file. | |
5571 | ||
75997a0c | 5572 | 2006-11-01 Adam Nemet <anemet@caviumnetworks.com> |
5573 | ||
5574 | * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use | |
5575 | HOST_WIDE_INT_PRINT to print high and low parts. Use | |
5576 | HOST_BITS_PER_WIDE_INT for the width of HOST_WIDE_INT. When | |
5577 | printing a hexadecimal number prefix it with 0x. | |
5578 | ||
83e5b8a1 | 5579 | 2006-11-01 Chris Johns <chris@contemporary.net.au> |
5580 | ||
5581 | PR bootstrap/28400 | |
5582 | * Makefile.in (install-driver): Use exeext when installing | |
5583 | $target-gcc-$version. | |
5584 | ||
7737bfbc | 5585 | 2006-11-01 Douglas Gregor <doug.gregor@gmail.com> |
5586 | ||
5587 | * c-common.c (flag_cpp0x): New. | |
5588 | * c-common.h (flag_cpp0x): New. | |
5589 | * c-cppbuiltin.c (c_cpp_builtins): If C++0x extensions are | |
5590 | supported, define __GXX_EXPERIMENTAL_CPP0X__. | |
5591 | * c-opts.c (set_std_cxx0x): New. | |
5592 | (c_common_handle_option): Handle -std=c++0x, -std=gnu++0x. | |
5593 | * c.opt (std=c++0x): Document. | |
5594 | (std=gnu++0x): Ditto. | |
5595 | * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CPP0X__. | |
5596 | * doc/invoke.texi: Document -std=c++0x, -std=gnu++0x. | |
5597 | ||
f70c02e6 | 5598 | 2006-11-01 Richard Guenther <rguenther@suse.de> |
5599 | ||
5600 | * config/i386/i386.c (ix86_expand_rint): Fix issues with | |
5601 | signed zeros. | |
5602 | (ix86_expand_floorceildf_32): Likewise. | |
5603 | (ix86_expand_floorceil): Likewise. | |
5604 | (ix86_expand_trunc): Likewise. | |
5605 | ||
e4f4c49b | 5606 | 2006-10-31 Andrew Pinski <pinskia@gmail.com> |
5607 | ||
5608 | * doc/invoke.texi (-fkeep-inline-functions): Change "GNU C" | |
5609 | to "GNU C89". | |
5610 | ||
d91ef9b0 | 5611 | 2006-11-01 Danny Smith <dannysmith@users.sourceforge.net> |
5612 | ||
5613 | * target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target | |
5614 | hook. | |
5615 | * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define | |
5616 | default. | |
5617 | * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): | |
5618 | Override default. | |
5619 | * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document. | |
5620 | * configure.ac (use_cxa_atexit): As a special case, don't test | |
5621 | for libc definition of __cxa_atexit on mingw32 | |
5622 | * configure: Regenerate. | |
5623 | * config.gcc (i[34567]86-pc-mingw32): Default to | |
5624 | enable__cxa_atexit=yes. | |
5625 | ||
8a56a029 | 5626 | 2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
5627 | ||
5628 | * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE. | |
5629 | ||
c8dfb8ef | 5630 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> |
5631 | ||
5632 | PR 23067 | |
5633 | * c-decl.c (start_struct): Don't create self-containing | |
5634 | structures. | |
5635 | * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align): | |
5636 | New. | |
5637 | * config/rs6000/rs6000-protos.h | |
5638 | (darwin_rs6000_special_round_type_align): New. | |
5639 | * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite. | |
5640 | (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align. | |
5641 | ||
15daca6e | 5642 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> |
5643 | ||
5644 | * toplev.c (compile_file): Call final_write_globals | |
5645 | even if there have been errors. | |
4a839b30 | 5646 | |
15daca6e | 5647 | 2006-10-31 Eric Christopher <echristo@apple.com> |
42791117 | 5648 | Falk Hueffner <falk@debian.org> |
5649 | ||
5650 | * doc/extend.texi (__builtin_bswap32): Document. | |
5651 | (__builtin_bswap64): Ditto. | |
5652 | * doc/libgcc.texi (bswapsi2): Document. | |
5653 | (bswapdi2): Ditto. | |
5654 | * doc/rtl.texi (bswap): Document. | |
5655 | * optabs.c (expand_unop): Don't widen a bswap. | |
5656 | (init_optabs): Init bswap. Set libfuncs explicitly | |
5657 | for bswapsi2 and bswapdi2. | |
5658 | * optabs.h (OTI_bswap): New. | |
5659 | (bswap_optab): Ditto. | |
5660 | * genopinit.c (optabs): Handle bswap_optab. | |
5661 | * tree.h (tree_index): Add TI_UINT32_TYPE and | |
5662 | TI_UINT64_TYPE. | |
5663 | (uint32_type_node): New. | |
5664 | (uint64_type_node): Ditto. | |
5665 | * tree.c (build_common_tree_nodes_2): Initialize | |
5666 | uint32_type_node and uint64_type_node. | |
5667 | * builtins.c (expand_builtin_bswap): New. | |
5668 | (expand_builtin): Call. | |
5669 | (fold_builtin_bswap): New. | |
5670 | (fold_builtin_1): Call. | |
5671 | * fold-const.c (tree_expr_nonnegative_p): Return true | |
5672 | for bswap. | |
5673 | * builtin-types.def (BT_UINT32): New. | |
5674 | (BT_UINT64): Ditto. | |
5675 | (BT_FN_UINT32_UINT32): Ditto. | |
5676 | (BT_FN_UINT64_UINT64): Ditto. | |
5677 | * builtins.def (BUILT_IN_BSWAP32): New. | |
5678 | (BUILT_IN_BSWAP64): Ditto. | |
5679 | * rtl.def (BSWAP): New. | |
5680 | * genattrtab.c (check_attr_value): New. | |
5681 | * libgcc2.c (__bswapSI2): New. | |
5682 | (__bswapDI2): Ditto. | |
5683 | * libgcc2.h (__bswapSI2): Declare. | |
5684 | (__bswapDI2): Ditto. | |
5685 | * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2. | |
5686 | * simplify-rtx.c (simplify_const_unary_operation): Return | |
5687 | 0 for BSWAP. | |
5688 | * libgcc-std.ver (__bwapsi2): Add. | |
5689 | (__bswapdi2): Ditto. | |
5690 | * reload1.c (eliminate_regs_1): Add bswap. | |
5691 | (elimination_effects): Ditto. | |
5692 | * config/i386/i386.h (x86_bswap): New. | |
5693 | (TARGET_BSWAP): Use. | |
5694 | * config/i386/i386.c (x86_bswap): Set. | |
5695 | ||
db85cc4f | 5696 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> |
5697 | ||
5698 | * coverage.c (coverage_checksum_string): Update comment. | |
5699 | * dwarf2out.c (switch_to_eh_frame_section): Update for removal | |
5700 | of get_file_function_name. | |
5701 | * cgraphunit.c (cgraph_build_static_cdtor): Update for rename | |
5702 | of get_file_function_name_long. | |
5703 | * tree.c (get_file_function_name): Rename from | |
5704 | get_file_function_name_long; improve comment; handle 'I' and 'D' | |
5705 | specially when the target has ctor/dtor support; remove special | |
5706 | handling for 'F'. | |
5707 | (get_file_function_name): Remove. | |
5708 | * tree.h (get_file_function_name): Rename from | |
a348d038 | 5709 | get_file_function_name_long. |
db85cc4f | 5710 | (get_file_function_name): Remove prototype. |
5711 | ||
079363c6 | 5712 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> |
5713 | ||
5714 | * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove. | |
5715 | * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. | |
5716 | ||
5717 | * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@. | |
5718 | Call dsymutil when compiling and linking one or more source files | |
5719 | in one step. | |
5720 | ||
b67620c6 | 5721 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> |
5722 | ||
5723 | PR 15834 | |
5724 | * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define. | |
5725 | ||
c42cc79e | 5726 | 2006-10-31 Geoffrey Keating <geoffk@apple.com> |
5727 | ||
5728 | * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on | |
5729 | inline static functions in c99 mode. | |
5730 | ||
5731 | PR 16622 | |
5732 | * doc/extend.texi (Inline): Update. | |
5733 | * c-tree.h (struct language_function): Remove field 'extern_inline'. | |
5734 | * c-decl.c (current_extern_inline): Delete. | |
5735 | (pop_scope): Adjust test for an undefined nested function. | |
5736 | Add warning about undeclared inline function. | |
5737 | (diagnose_mismatched_decls): Update comments. Disallow overriding | |
5738 | of inline functions in a translation unit in C99. Allow inline | |
5739 | declarations in C99 at any time. | |
5740 | (merge_decls): Boolize variables. Handle C99 'extern inline' | |
5741 | semantics. | |
5742 | (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle | |
5743 | C99 inline semantics. | |
5744 | (start_function): Don't clear current_extern_inline. Don't set | |
5745 | DECL_EXTERNAL. | |
5746 | (c_push_function_context): Don't push current_extern_inline. | |
5747 | (c_pop_function_context): Don't restore current_extern_inline. | |
5748 | ||
5749 | PR 11377 | |
5750 | * c-typeck.c (build_external_ref): Warn about static variables | |
5751 | used in extern inline functions. | |
5752 | * c-decl.c (start_decl): Warn about static variables declared | |
5753 | in extern inline functions. | |
5754 | ||
cd29ee4b | 5755 | 2006-10-31 Roger Sayle <roger@eyesopen.com> |
5756 | ||
5757 | PR middle-end/23470 | |
5758 | * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int". | |
5759 | * fold-const.c (tree_expr_nonnegative_p): Likewise. Consider | |
5760 | pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative | |
5761 | or y is an even integer. | |
5762 | ||
2f9d7fdd | 5763 | 2006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr> |
5764 | ||
5765 | PR target/24071 | |
5766 | * gthr-posix.h (__gthread_active_p): New implementation on Solaris. | |
5767 | * gthr-posix95.h (__gthread_active_p): Likewise. | |
5768 | ||
803734b5 | 5769 | 2006-10-31 Richard Guenther <rguenther@suse.de> |
5770 | ||
5771 | * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2, | |
5772 | acossf2, acosxf2, log1psf2, log1pdf2, log1pxf2, ilogbsi2, | |
5773 | expsf2, expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, | |
5774 | exp2sf2, exp2df2, exp2xf2, expm1df2, expm1sf2, expm1xf2, | |
5775 | ldexpdf3, ldexpsf3, ldexpxf3, rintxf2, rintdf2, rintsf2, | |
5776 | lround<mode>di2, lround<mode>si2, floorxf2, floordf2, floorsf2, | |
5777 | lfloor<mode>di2, lfloor<mode>si2, ceilxf2, ceildf2, ceilsf2, | |
5778 | btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on | |
5779 | !optimize_size. | |
5780 | ||
0cca903a | 5781 | 2006-10-31 Steven Bosscher <steven@gcc.gnu.org> |
5782 | ||
5783 | * opts.c (decode_options): Disable CSE skip blocks. | |
5784 | ||
3f08e399 | 5785 | 2006-10-30 Dirk Mueller <dmueller@suse.de> |
5786 | ||
5787 | * c-common.h (strict_aliasing_warning): Fix whitespace. | |
5788 | * c-decl (start_function): Move code for main decl warning .. | |
5789 | * c-common.c (check_main_parameter_types): .. here. | |
5790 | * c-common.h (check_main_parameter_types): Declare. | |
a348d038 | 5791 | |
32dba52b | 5792 | 2006-10-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
5793 | ||
5794 | PR middle-end/29335 | |
5795 | * builtins.c (fold_builtin_1): Evaluate tgamma using MPFR. | |
5796 | ||
bdfa3a48 | 5797 | 2006-10-30 Pete Steinmetz <steinmtz@us.ibm.com> |
5798 | ||
5799 | * recog.c (store_data_bypass_p): Add support to allow IN_INSN to | |
5800 | be a PARALLEL containing sets. Return false when out_pat is not | |
5801 | a PARALLEL insn. | |
5802 | ||
1f0fdcb3 | 5803 | 2006-10-30 Richard Sandiford <richard@codesourcery.com> |
5804 | ||
5805 | * config/mips/mips.md (mul<mode>3): Split into... | |
5806 | (mulsi3, muldi3): ...these separate patterns. | |
5807 | ||
bfdafea3 | 5808 | 2006-10-30 Richard Sandiford <richard@codesourcery.com> |
5809 | ||
5810 | * config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec, | |
5811 | but with each set of options separated by spaces. | |
5812 | ||
aff39734 | 5813 | 2006-10-30 J"orn Rennecke <joern.rennecke@st.com> |
5814 | ||
5815 | * unwind-dw2.c (uw_init_context_1): Fix test that checks if | |
5816 | dwarf_reg_size_table has been initialized. | |
5817 | ||
7d4c98bc | 5818 | 2006-10-30 Roger Sayle <roger@eyesopen.com> |
5819 | ||
5820 | * builtins.c (expand_builtin_mathfn_3): Correct coding style. | |
5821 | * ddg.c (print_ddg_edge): Likewise. | |
5822 | * dwarf2out.c (prune_unused_types_walk): Likewise. | |
5823 | * ifcvt.c (noce_try_cmove_arith): Likewise. | |
5824 | * langhooks.c (add_builtin_function): Likewise. | |
5825 | * reg-stack.c (subst_stack_regs_pat): Likewise. | |
5826 | * tree.c (expanded_location): Likewise. | |
5827 | * tree-dump.c (dequeue_and_dump): Likewise. | |
5828 | ||
78f87101 | 5829 | 2006-10-30 David Daney <ddaney@avtrex.com> |
5830 | ||
5831 | * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error. | |
5832 | ||
b2d81d54 | 5833 | 2006-10-30 Jakub Jelinek <jakub@redhat.com> |
5834 | ||
5835 | PR tree-optimization/29637 | |
5836 | * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT | |
5837 | of the innertype is the innertype itself. | |
5838 | ||
8defa33e | 5839 | 2006-10-30 Danny Smith <dannysmith@users.sourceforge.net> |
5840 | ||
5841 | * dwarf2out.c (file_name_acquire): Correct typo. | |
5842 | ||
a3fde7e1 | 5843 | 2006-10-29 Daniel Berlin <dberlin@dberlin.org> |
5844 | ||
4a839b30 | 5845 | * tree.h (tree_value_handle): Remove struct value_set declaration. |
a3fde7e1 | 5846 | Change value_set to bitmap_set. |
5847 | * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann. | |
5848 | * tree-vn.c (get_value_handle): Made inline and moved to | |
5849 | tree-flow-inline.h. | |
5850 | * tree-flow-inline.h: (has_stmt_ann): New function. | |
5851 | * tree-ssa-pre.c (expressions): New variable. | |
5852 | (next_expression_id): Ditto. | |
5853 | (alloc_expression_id): New function. | |
5854 | (struct value_set): Remove. | |
5855 | (get_expression_id): New function. | |
5856 | (get_or_alloc_expression_id): Ditto. | |
5857 | (expression_for_id): Ditto. | |
5858 | (clear_expression_ids): Ditto. | |
5859 | (FOR_EACH_EXPR_ID_IN_SET): New macro. | |
5860 | (bb_value_sets): Renamed to bb_bitmap_sets. | |
5861 | All value sets replaced with bitmap_sets. | |
5862 | Add visited member. | |
5863 | (BB_VISITED): New macro. | |
5864 | (postorder): New variable. | |
5865 | (add_to_value): Removed. | |
5866 | (value_exists_in_set_bitmap): Ditto. | |
5867 | (value_insert_into_set_bitmap): Ditto. | |
5868 | (set_new): Ditto. | |
5869 | (set_copy): Ditto. | |
5870 | (set_remove): Ditto. | |
5871 | (set_contains_value): Ditto. | |
5872 | (insert_into_set): Ditto. | |
5873 | (set_equal): Ditto. | |
5874 | (find_leader): Ditto. | |
5875 | (bitmap_set_subtract_from_value_set): Ditto. | |
5876 | (value_insert_into_set): Ditto. | |
5877 | (print_value_set): Ditto. | |
5878 | (debug_value_set): Ditto. | |
5879 | (constant_expr_p): New function. | |
5880 | (bitmap_remove_from_set): Ditto. | |
5881 | (bitmap_insert_into_set): Ditto. | |
5882 | (bitmap_set_free): Ditto. | |
5883 | (vh_compare): Ditto. | |
5884 | (sorted_array_from_bitmap_set): Ditto. | |
5885 | (bitmap_set_subtract): Ditto. | |
5886 | (bitmap_set_equal): Ditto. | |
5887 | (debug_bitmap_set): Ditto. | |
5888 | (find_leader_in_sets): Ditto. | |
5889 | (bitmap_set_replace_value): Modify for bitmapped sets. | |
5890 | (phi_translate): Ditto. | |
5891 | (phi_translate_set): Ditto. | |
5892 | (bitmap_find_leader): Ditto. | |
5893 | (valid_in_sets): Ditto. | |
5894 | (union_contains_value): Ditto. | |
5895 | (clean): Ditto. | |
5896 | (compute_antic_aux): Ditto. Mark changed blocks. | |
5897 | (compute_antic): Ditto. Iterate in postorder and only over | |
5898 | changing blocks. | |
5899 | (compute_rvuse_and_antic_safe): Reuse postorder. | |
5900 | (create_component_ref_by_pieces): Modify for bitmapped sets. | |
5901 | (find_or_generate_expression): Ditto. | |
5902 | (create_expression_by_pieces): Ditto. | |
5903 | (insert_into_preds_of_block): Ditto. | |
5904 | (changed_blocks): New variable. | |
5905 | (do_regular_insertion): Broken out from insert_aux. | |
5906 | (insert_aux): Modified for bitmapped sets. | |
5907 | (find_existing_value_expr): New function. | |
5908 | (create_value_expr_from): Use it. | |
5909 | (insert_extra_phis): Removed. | |
5910 | (print_bitmap_set): Renamed from bitmap_print_value_set. | |
5911 | (compute_avail): Handle RETURN_EXPR. | |
5912 | (init_pre): Modify for bitmapped sets. | |
5913 | * tree-flow.h (has_stmt_ann): New function. | |
4a839b30 | 5914 | |
30fe8286 | 5915 | 2006-10-29 Roger Sayle <roger@eyesopen.com> |
5916 | ||
5917 | * builtins.c (fold_builtin_floor): Check for the availability of | |
5918 | the C99 trunc function before transforming floor into trunc. | |
5919 | ||
6c95f21c | 5920 | 2006-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
5921 | ||
5922 | * builtins.c (fold_builtin_hypot): Rearrange recursive | |
5923 | transformation before others, and also do ABS_EXPR. When | |
5924 | necessary, check flag_unsafe_math_optimizations. When necessary, | |
5925 | add fabs. | |
5926 | ||
746443a2 | 5927 | 2006-10-29 Roger Sayle <roger@eyesopen.com> |
5928 | ||
5929 | * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X. | |
5930 | Fold ~X op C as X op' ~C, where op' is the swapped comparison. | |
5931 | (fold_binary): ~X eq/ne C is now handled in fold_comparison. | |
5932 | Fold -X eq/ne -Y as X eq/ne Y. | |
5933 | ||
425e1c96 | 5934 | 2006-10-29 Richard Sandiford <richard@codesourcery.com> |
5935 | ||
5936 | * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than | |
5937 | GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3 | |
5938 | rather than GENERATE_MULT3_SI in the various define_peephole2s. | |
5939 | (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI. | |
5940 | Use an inclusive test for "mult" rather than "mul". | |
5941 | (rotr<mode>3): Depend on ISA_HAS_ROR. | |
5942 | * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of | |
5943 | ISA_HAS_MUL3. | |
5944 | (GENERATE_MULT3_DI): Delete. | |
5945 | (ISA_HAS_64BIT_REGS): Use consistent formatting. | |
5946 | (ISA_HAS_MUL3): New macro. | |
5947 | (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting. | |
5948 | (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise. | |
5949 | (ISA_HAS_CLZ_CLO): Likewise. | |
5950 | (ISA_HAS_DCLZ_DCLO): Delete. | |
5951 | (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16. | |
5952 | (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just | |
5953 | the VR4120 and VR4130. | |
5954 | (ISA_HAS_MACCHI): Use consistent formatting. | |
5955 | (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of... | |
5956 | (ISA_HAS_ROR): ...this new macro. | |
5957 | (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting. | |
5958 | (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise. | |
5959 | (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1. | |
5960 | ||
1518c00b | 5961 | 2006-10-29 Roger Sayle <roger@eyesopen.com> |
5962 | ||
5963 | PR tree-optimization/15458 | |
5964 | * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C | |
5965 | is a constant. | |
5966 | ||
f78b4bc1 | 5967 | 2006-10-29 Richard Guenther <rguenther@suse.de> |
5968 | ||
5969 | * config/i386/i386-protos.h (ix86_expand_trunc): Declare. | |
5970 | (ix86_expand_truncdf_32): Likewise. | |
5971 | * config/i386/i386.c (ix86_expand_trunc): New function expanding | |
5972 | trunc inline for SSE math and -fno-trapping-math and if not | |
5973 | optimizing for size. | |
5974 | (ix86_expand_truncdf_32): Same for DFmode on 32bit archs. | |
5975 | * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders | |
5976 | for expanding btrunc inline for SSE math. | |
5977 | ||
54bb64fb | 5978 | 2006-10-29 Joseph Myers <joseph@codesourcery.com> |
5979 | ||
5980 | * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all. | |
5981 | Handle tuning for bi-arch i[34567]86-*-linux* like that for | |
5982 | i[34567]86-*-solaris2.1[0-9]*. | |
5983 | * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS): | |
5984 | Define conditionally depending on TARGET_64BIT_DEFAULT. | |
5985 | (SPEC_32, SPEC_64): Define. | |
5986 | (LINK_SPEC): Use them. | |
5987 | * doc/install.texi (--enable-targets=all): Document for x86-linux. | |
5988 | ||
c3faca24 | 5989 | 2006-10-29 Richard Guenther <rguenther@suse.de> |
5990 | ||
5991 | * config/i386/i386-protos.h (ix86_expand_round): Declare. | |
5992 | (ix86_expand_rounddf_32): Likewise. | |
5993 | * config/i386/i386.c (ix86_expand_round): New function expanding | |
5994 | round inline for SSE math and -fno-trapping-math and if not | |
5995 | optimizing for size. | |
5996 | (ix86_expand_rounddf_32): Same for DFmode on 32bit archs. | |
5997 | * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding | |
5998 | round via ix86_expand_round. | |
5999 | ||
e7fdb903 | 6000 | 2006-10-29 Richard Guenther <rguenther@suse.de> |
6001 | ||
6002 | * config/i386/i386-protos.h (ix86_expand_floorceil): Declare. | |
6003 | (ix86_expand_floorceildf_32): Likewise. | |
6004 | * config/i386/i386.c (ix86_expand_sse_compare_mask): New | |
6005 | static helper function. | |
6006 | (ix86_expand_floorceil): Expander for floor and ceil to SSE | |
6007 | math. | |
6008 | (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs. | |
6009 | * config/i386/i386.md (floordf2): Adjust to enable floor | |
6010 | expansion via ix86_expand_floorceil if TARGET_SSE_MATH and | |
6011 | -fno-trapping-math is enabled and if not optimizing for size. | |
6012 | (floorsf2, ceildf2, ceilsf2): Likewise. | |
6013 | * config/i386/sse.md (sse_maskcmpsf3): New insn. | |
6014 | (sse2_maskcmpdf3): Likewise. | |
6015 | ||
0ddf4ad9 | 6016 | 2006-10-29 Richard Guenther <rguenther@suse.de> |
6017 | ||
6018 | * builtins.c (expand_builtin_mathfn): Expand nearbyint as | |
6019 | rint in case -fno-trapping-math is enabled. | |
6020 | * config/i386/i386-protos.h (ix86_expand_rint): Declare. | |
6021 | * config/i386/i386.c (ix86_gen_TWO52): New static helper function. | |
6022 | (ix86_expand_sse_fabs): Likewise. | |
6023 | (ix86_expand_rint): New function expanding rint to x87 or SSE math. | |
6024 | * config/i386/i386.md (rintdf2): Enable for SSE math if | |
6025 | -fno-trapping-math is enabled, use ix86_expand_rint for expansion. | |
6026 | (rintsf2): Likewise. | |
6027 | ||
9c42dd28 | 6028 | 2006-10-29 Richard Guenther <rguenther@suse.de> |
6029 | ||
6030 | * genopinit.c (optabs): Change lfloor_optab and lceil_optab | |
6031 | to conversion optabs. | |
6032 | * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab | |
6033 | as conversion optab. | |
6034 | * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil. | |
6035 | (enum convert_optab_index): Add COI_lfloor and COI_lceil. | |
6036 | (lfloor_optab, lceil_optab): Adjust defines. | |
6037 | * builtins.c (expand_builtin_int_roundingfn): Adjust for | |
6038 | lfloor and lceil optabs now being conversion optabs. | |
6039 | * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare. | |
6040 | * config/i386/i386.c (ix86_expand_sse_compare_and_jump): | |
6041 | New static helper function. | |
6042 | (ix86_expand_lfloorceil): New function to expand lfloor and | |
6043 | lceil inline. | |
6044 | * config/i386/i386.md (lfloor<mode>2): Split into ... | |
6045 | (lfloorxf<mode>2): ... x87 variant | |
6046 | (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants | |
6047 | using ix86_expand_lfloorceil. | |
6048 | (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2): | |
6049 | Likewise. | |
6050 | * doc/md.texi (lfloorMN, lceilMN): Document. | |
6051 | ||
f863d3e3 | 6052 | 2006-10-29 Richard Sandiford <richard@codesourcery.com> |
6053 | ||
6054 | * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the | |
6055 | -mno-shared assembler option on mips targets. | |
6056 | * configure, config.in: Regenerate. | |
6057 | * config/mips/linux.h (NO_SHARED_SPECS): New macro. | |
6058 | (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty. | |
6059 | * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS. | |
6060 | ||
b760a034 | 6061 | 2006-10-29 Richard Sandiford <richard@codesourcery.com> |
6062 | ||
6063 | * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well | |
6064 | as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL. | |
6065 | ||
26ac986e | 6066 | 2006-10-29 Kazu Hirata <kazu@codesourcery.com> |
6067 | ||
6068 | * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md, | |
6069 | config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix | |
6070 | comment typos. | |
6071 | ||
f0c477f2 | 6072 | 2006-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
6073 | ||
6074 | PR middle-end/29335 | |
6075 | * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New. | |
6076 | (fold_builtin_pow): Evaluate constant arguments at compile-time | |
6077 | using MPFR. | |
6078 | (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT. | |
6079 | (do_mpfr_ckconv): New helper function. | |
6080 | (do_mpfr_arg1): Use do_mpfr_ckconv. | |
6081 | (do_mpfr_arg2): New. | |
6082 | ||
b4b47825 | 6083 | 2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com> |
6084 | ||
6085 | PR tree-opt/29271 | |
6086 | * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number. | |
6087 | (-fdump-rtl-sched): Rename to .. | |
6088 | (-fdump-rtl-sched1): here. Also fix file extension number. | |
6089 | ||
a6d701f9 | 6090 | 2006-10-28 Richard Guenther <rguenther@suse.de> |
6091 | ||
6092 | * fold-const.c (maybe_canonicalize_comparison): Fix code | |
6093 | to match comment. | |
6094 | ||
3cc68209 | 6095 | 2006-10-28 Uros Bizjak <uros@kss-loka.si> |
6096 | ||
6097 | * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM. | |
6098 | (NON_QI_REG_P): Use IN_RANGE. | |
6099 | (REX_INT_REGNO_P): Use IN_RANGE. | |
6100 | (FP_REGNO_P): Use IN_RANGE. | |
6101 | (SSE_REGNO_P): Use IN_RANGE. | |
6102 | (REX_SSE_REGNO_P): Use IN_RANGE. | |
6103 | (MMX_REGNO_P): Use IN_RANGE. | |
6104 | (STACK_REGNO_P): New macro. | |
6105 | (STACK_REG_P): Use STACK_REGNO_P. | |
6106 | (NON_STACK_REG_P): Use STACK_REGNO_P. | |
6107 | (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P. | |
6108 | (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P. | |
6109 | (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P. | |
6110 | (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P. | |
6111 | (HARD_REGNO_RENAME_OK): Use !IN_RANGE. | |
6112 | ||
0a011112 | 6113 | 2006-10-28 Eric Botcazou <ebotcazou@adacore.com> |
6114 | ||
6115 | * except.h (output_function_exception_table): Add 'const char*' param. | |
6116 | * except.c (switch_to_exception_section): Add 'const char*' param. | |
6117 | If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined | |
6118 | and flag_function_sections is set, use a function-specific section. | |
6119 | (output_function_exception_table): Add 'const char*' param. | |
6120 | Adjust call to switch_to_exception_section. | |
6121 | * final.c (rest_of_handle_final): Adjust calls to | |
6122 | output_function_exception_table. | |
6123 | * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check. | |
6124 | * config.in: Regenerate. | |
6125 | * configure: Likewise. | |
6126 | ||
26e1261a | 6127 | 2006-10-28 Richard Guenther <rguenther@suse.de> |
6128 | ||
6129 | PR middle-end/26899 | |
6130 | * fold-const.c (maybe_canonicalize_comparison_1): Helper | |
6131 | for maybe_canonicalize_comparison. | |
6132 | (maybe_canonicalize_comparison): New function for canonicalizing | |
6133 | comparison trees. | |
6134 | (fold_comparison): Call it to canonicalize comparisons with | |
6135 | constants involved. | |
6136 | ||
ef2f1a10 | 6137 | 2006-10-28 Richard Guenther <rguenther@suse.de> |
6138 | ||
6139 | PR target/28806 | |
6140 | * builtins.c (expand_builtin_int_roundingfn_2): Expand | |
6141 | BUILT_IN_LROUND and BUILT_IN_LLROUND from here. | |
6142 | (expand_builtin): Adjust likewise. | |
6143 | * genopinit.c (optabs[]): Add lround optab. | |
6144 | * optabs.c (init_optabs): Initialize lround_optab. | |
6145 | * optabs.h (enum convert_optab_index): Add COI_lround. | |
6146 | (lround_optab): Define. | |
6147 | * config/i386/i386-protos.h (ix86_expand_lround): Declare. | |
6148 | * config/i386/i386.c (ix86_sse_copysign_to_positive): New | |
6149 | static function. | |
6150 | (ix86_expand_lround): New function. | |
6151 | * config/i386/i386.md (lround<mode>di2, lround<mode>si2): | |
6152 | New expanders. | |
6153 | * doc/md.texi (lroundMN2): Document. | |
6154 | ||
959e2f12 | 6155 | 2006-10-28 Uros Bizjak <uros@kss-loka.si> |
6156 | ||
6157 | PR target/29377 | |
6158 | * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size" | |
6159 | argument to HOST_WIDE_INT. Update function prototype. | |
6160 | (round_frame_size): Change return type to HOST_WIDE_INT. Change | |
6161 | "size" argument to HOST_WIDE_INT. Update function prototype. | |
6162 | ||
ce26e70f | 6163 | 2006-10-28 Uros Bizjak <uros@kss-loka.si> |
6164 | ||
6165 | * config/i386/i386.c (output_387_ffreep): Create output from a | |
6166 | template string for !HAVE_AS_IX86_FFREEP. | |
4a839b30 | 6167 | |
c4f8e01f | 6168 | 2006-10-27 Eric Christopher <echristo@apple.com> |
6169 | ||
6170 | * config/darwin.c: Fix formatting and grammar. | |
6171 | ||
a280136a | 6172 | 2006-10-27 Jan Hubicka <jh@suse.cz> |
6173 | ||
6174 | * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going | |
6175 | to be thrown away soon when IGNORE is set. | |
6176 | * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument | |
6177 | indicating when return value shall not be computed. | |
6178 | * gimplify.c (internal_get_tmp_var): Avoid random tree sharing. | |
6179 | ||
5c34451e | 6180 | 2006-10-27 Vladimir Makarov <vmakarov@redhat.com> |
6181 | ||
6182 | * config/i386/i386.h (TARGET_GEODE): | |
6183 | (TARGET_CPU_CPP_BUILTINS): Add code for geode. | |
6184 | (TARGET_CPU_DEFAULT_geode): New macro. | |
6185 | (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2, | |
6186 | TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon, | |
6187 | TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8, | |
6188 | TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott, | |
6189 | TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase | |
6190 | the macro values. | |
6191 | (TARGET_CPU_DEFAULT_NAMES): Add geode. | |
6192 | (processor_type): Add PROCESSOR_GEODE. | |
6193 | ||
6194 | * config/i386/i386.md: Include geode.md. | |
6195 | (cpu): Add geode. | |
6196 | ||
6197 | * config/i386/i386.c (geode_cost): New initialized global | |
6198 | variable. | |
6199 | (m_GEODE, m_K6_GEODE): New macros. | |
6200 | (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf, | |
6201 | x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4, | |
6202 | x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants, | |
6203 | x86_schedule): Use m_K6_GEODE instead of m_K6. | |
6204 | (x86_movx, x86_cmove): Set up m_GEODE. | |
6205 | (x86_integer_DFmode_moves): Clear m_GEODE. | |
6206 | (processor_target_table): Add entry for geode. | |
6207 | (processor_alias_table): Ditto. | |
6208 | ||
6209 | * config/i386/geode.md: New file. | |
6210 | ||
6211 | * doc/invoke.texi: Add entry about geode processor. | |
c4f8e01f | 6212 | |
fbe52fc9 | 6213 | 2006-10-27 Mike Stump <mrs@apple.com> |
6214 | ||
6215 | * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and | |
6216 | __DYNAMIC__ from here back to ... | |
6217 | * config/darwin.h (CPP_SPEC): ... here. | |
6218 | ||
3a1e1e08 | 6219 | 2006-10-26 Nathan Froyd <froydnj@codesourcery.com> |
a348d038 | 6220 | Nathan Sidwell <nathan@codesourcery.com> |
3a1e1e08 | 6221 | |
6222 | * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative | |
6223 | when choosing the minimum heapsize. | |
6224 | ||
ad430e37 | 6225 | 2006-10-26 Nathan Froyd <froydnj@codesourcery.com> |
6226 | ||
6227 | * gcc/unwind-dw2.h: Move cfa-related variables into | |
6228 | struct frame_state_reg_info to ensure that the CFA is properly | |
6229 | handled when executing DW_CFA_{remember,restore}_state. | |
6230 | * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h, | |
6231 | gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h | |
6232 | gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h | |
6233 | gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h | |
6234 | gcc/config/rs6000/linux-unwind.h, | |
6235 | gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h, | |
6236 | gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h: | |
6237 | Modify to use new cfa_* fields. | |
6238 | ||
3ea2a559 | 6239 | 2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com> |
6240 | ||
6241 | * config/s390/s390.c (s390_init_frame_layout): Check positive | |
6242 | frame_size. | |
6243 | ||
07f6cb77 | 6244 | 2006-10-26 Ben Elliston <bje@au.ibm.com> |
6245 | ||
6246 | * gimplify.c (get_name): Remove extraneous break. | |
6247 | (gimplify_omp_for): Initialise ret with GS_OK. | |
6248 | ||
2fa6c4e5 | 6249 | 2006-10-25 Steve Ellcey <sje@cup.hp.com> |
6250 | ||
6251 | * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++. | |
6252 | Add unix98.o to link line. | |
6253 | ||
29f4cd78 | 6254 | 2006-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
6255 | ||
6256 | PR middle-end/29335 | |
6257 | * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm): | |
6258 | Calculate compile-time constants using MPFR. | |
6259 | (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC, | |
6260 | BUILT_IN_EXPM1 and BUILT_IN_LOG1P. | |
6261 | ||
d33ad8b2 | 6262 | 2006-10-25 Bob Wilson <bob.wilson@acm.org> |
6263 | ||
6264 | * config/xtensa/lib2funcs.S: Use C-style comments. | |
6265 | ||
974a92fe | 6266 | 2006-10-24 Nathan Froyd <froydnj@codesourcery.com> |
6267 | ||
a348d038 | 6268 | * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH. |
6269 | (file_table_relative_p): Likewise. | |
6270 | (dwarf2out_finish): Likewise. | |
6271 | (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2. | |
974a92fe | 6272 | |
1767be1e | 6273 | 2006-10-25 Daniel Berlin <dberlin@dberlin.org> |
6274 | ||
6275 | * tree-ssa-structalias.c (intra_create_variable_infos): | |
6276 | Don't recreate nonlocal_all if it already exists. | |
6277 | ||
5f51ee59 | 6278 | 2006-10-25 Richard Guenther <rguenther@suse.de> |
6279 | ||
6280 | PR target/28803 | |
6281 | * optabs.h (enum optab_index): Remove OTI_lrint. | |
6282 | (enum convert_optab_index): Add COI_lrint. | |
6283 | (lrint_optab): Adjust. | |
6284 | (expand_sfix_optab): Declare. | |
6285 | * optabs.c (expand_sfix_optab): New function. | |
6286 | (init_optabs): Init lrint_optab as conversion optab. | |
6287 | * genopinit.c (lrint_optab): Change to a conversion optab. | |
6288 | * builtins.c (expand_builtin_int_roundingfn_2): Adjust to | |
6289 | expansion via conversion optab. | |
6290 | * config/i386/i386.md (*fistdi2_1): Remove | |
6291 | flag_unsafe_math_optimizations guard. | |
6292 | (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2, | |
6293 | fist<mode>2_with_temp): Likewise. | |
6294 | (lrint<mode>2): Split into... | |
6295 | (lrintxf<mode>2): ... x87 part | |
6296 | (lrint<mode>di2, lrint<mode>si2): ... and SSE parts. | |
6297 | * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2, | |
6298 | sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for | |
6299 | UNSPEC_FIX_NOTRUNC matching non-vector float modes. | |
6300 | * doc/md.texi (lrintMN2): Document. | |
6301 | ||
08a09524 | 6302 | 2006-10-25 Uros Bizjak <uros@kss-loka.si> |
6303 | ||
6304 | PR target/28909 | |
6305 | * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"): | |
6306 | Use inc and dec instructions for TARGET_USE_INCDEC. | |
6307 | ("*sync_compare_and_swap<mode>"): Fix -masm=intel template. | |
6308 | ("sync_double_compare_and_swap<mode>"): Likewise. | |
6309 | ("*sync_double_compare_and_swapdi_pic"): Likewise. | |
6310 | ("*sync_compare_and_swap_cc<mode>"): Likewise. | |
6311 | ("sync_double_compare_and_swap_cc<mode>"): Likewise. | |
6312 | ("*sync_double_compare_and_swap_ccdi_pic"): Likewise. | |
6313 | ("sync_old_add<mode>"): Likewise. | |
6314 | ("sync_lock_test_and_set<mode>"): Likewise. | |
6315 | ("sync_lock_test_and_set<mode>"): Likewise. | |
6316 | ("sync_add<mode>"): Likewise. | |
6317 | ("sync_sub<mode>"): Likewise. | |
6318 | ("sync_ior<mode>"): Likewise. | |
6319 | ("sync_and<mode>"): Likewise. | |
6320 | ("sync_xor<mode>"): Likewise. | |
6321 | ||
ef722005 | 6322 | 2006-10-25 Uros Bizjak <uros@kss-loka.si> |
6323 | ||
6324 | * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder. | |
6325 | (remainder_optab): Define corresponding macro. | |
6326 | (drem_optab): Remove. | |
6327 | * optabs.c (init_optabs): Initialize remainder_optab. Remove | |
6328 | drem_optab initialization. | |
6329 | * genopinit.c (optabs): Implement remainder_optab using | |
6330 | remainder?f3 patterns. Remove drem_optab. | |
6331 | * builtins.c (expand_builtin_mathfn_2): Handle | |
6332 | BUILT_IN_REMAINDER{,F,L} using remainder_optab. | |
6333 | (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using | |
6334 | expand_builtin_mathfn_2. | |
6335 | ||
6336 | (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not | |
6337 | depend on flag_unsafe_math_optimizations. | |
6338 | ||
6339 | * config/i386/i386.md ("remaindersf3", "remainderdf3") | |
6340 | ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders. | |
6341 | Do not depend on flag_unsafe_math_optimizations. Use | |
6342 | truncxf?f expander instead of truncxf?f_i387_noop. | |
6343 | ||
6344 | ("fpremxf4", "fprem1xf4"): Do not depend on | |
6345 | flag_unsafe_math_optimizations. | |
6346 | ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on | |
6347 | flag_unsafe_math_optimizations. Use truncxf?f expander | |
6348 | instead of truncxf?f_i387_noop. | |
6349 | ||
6350 | * doc/md.texi (fmod, remainder): Document standard named pattern. | |
6351 | ||
49e98091 | 6352 | 2006-10-24 Richard Sandiford <richard@codesourcery.com> |
6353 | David Daney <ddaney@avtrex.com> | |
6354 | ||
6355 | PR middle-end/29519 | |
6356 | * rtlanal.c (nonzero_address_p): Remove check for values wrapping. | |
6357 | ||
b44d6960 | 6358 | 2006-10-25 Ben Elliston <bje@au.ibm.com> |
6359 | ||
6360 | * doc/extend.texi (Variable Attributes): Typo fix. | |
6361 | ||
d1918706 | 6362 | 2006-10-24 Uros Bizjak <uros@kss-loka.si> |
6363 | ||
6364 | * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54. | |
6365 | (FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register. | |
6366 | (REG_ALLOC_ORDER): Add one element to allocate fpcr register. | |
6367 | (FRAME_POINTER_REGNUM): Update register number to 21. | |
6368 | (REG_CLASS_CONTENTS): Update contents for added fpcr register. | |
6369 | (HI_REGISTER_NAMES): Add "fpcr" for fpcr register. | |
6370 | ||
6371 | * config/i386/i386.c (regclass_map): Add fpcr entry. | |
6372 | (dbx_register_map, dbx64_register_map, svr4_dbx_register_map): | |
6373 | Add fpcr entry. | |
6374 | (print_reg): Assert REGNO (x) != FPCR_REG. | |
6375 | ||
6376 | * config/i386/i386.md (FPCR_REG, R11_REG): New constants. | |
6377 | (DIRFLAG_REG): Renumber. | |
6378 | (x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG. | |
6379 | (*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG. | |
6380 | (sse_prologue_save, *sse_prologue_save_insn): Renumber | |
6381 | hardcoded SSE register numbers. | |
6382 | ||
6383 | * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber | |
6384 | hardcoded MMX register numbers. | |
6385 | ||
728bac60 | 6386 | 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
6387 | ||
6388 | PR middle-end/29335 | |
6389 | * builtins.c (fold_builtin_sin, fold_builtin_atan): Remove. | |
6390 | (do_mpfr_arg1): Add `min', `max' and `inclusive' arguments. | |
6391 | Update all callers. | |
6392 | (BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch. | |
6393 | (BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH, | |
6394 | BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH, | |
6395 | BUILT_IN_TANH): Calculate compile-time arguments using MPFR. | |
6396 | ||
b70bfd00 | 6397 | 2006-10-24 Richard Guenther <rguenther@suse.de> |
6398 | ||
6399 | PR middle-end/28796 | |
6400 | * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES | |
6401 | and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS | |
6402 | for deciding optimizations in consistency with fold-const.c | |
6403 | (fold_builtin_unordered_cmp): Likewise. | |
6404 | ||
acc2b92e | 6405 | 2006-10-24 Richard Guenther <rguenther@suse.de> |
6406 | ||
6407 | * builtins.c (fold_builtin_floor): Fold floor (x) where | |
6408 | x is nonnegative to trunc (x). | |
6409 | (fold_builtin_int_roundingfn): Fold lfloor (x) where x is | |
6410 | nonnegative to FIX_TRUNC_EXPR. | |
6411 | ||
13f7fd91 | 6412 | 2006-10-24 Richard Guenther <rguenther@suse.de> |
6413 | ||
6414 | PR tree-optimization/29567 | |
6415 | * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic | |
6416 | for TRUTH_NOT_EXPR. Clarify comments. | |
6417 | ||
debf9994 | 6418 | 2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
6419 | ||
728bac60 | 6420 | PR middle-end/29335 |
debf9994 | 6421 | * builtins.c (fold_builtin_exponent): Evaluate constant arguments |
6422 | at compile-time using MPFR. Change parameter VALUE to FUNC, | |
6423 | update all callers. | |
6424 | (do_mpfr_arg1): Rename `exact' to `inexact'. Carefully check | |
6425 | for overflow and underflow at all times and avoid folding in | |
6426 | those cases. | |
6427 | ||
7e806a89 | 6428 | 2006-10-24 Ben Elliston <bje@au.ibm.com> |
6429 | ||
6430 | * reload1.c: Formatting fixes. | |
6431 | ||
e9503646 | 6432 | 2006-10-23 Zdenek Dvorak <dvorakz@suse.cz> |
6433 | ||
6434 | PR tree-optimization/14784 | |
6435 | * tree-flow.h (struct var_ann_d): Add is_heapvar bit. | |
6436 | * tree-ssa-structalias.c (get_constraint_for, | |
6437 | intra_create_variable_infos): Set is_heapvar. | |
6438 | * tree-ssa-operands.c (access_can_touch_variable): Do not handle | |
6439 | non-heapvar pointer variables specially. | |
6440 | ||
bffb7645 | 6441 | 2006-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
6442 | ||
6443 | PR middle-end/29335 | |
6444 | * builtins.c (fold_builtin_sin, fold_builtin_cos, | |
6445 | fold_builtin_tan): Fold all constant arguments. Take a "type" | |
6446 | argument as necessary. | |
6447 | (do_mpfr_arg1): New. | |
6448 | * real.c, real.h (real_from_mpfr, mpfr_from_real): New. | |
6449 | ||
021f0557 | 6450 | 2006-10-23 Bob Wilson <bob.wilson@acm.org> |
6451 | ||
6452 | * config/xtensa/lib1funcs.asm: Use C-style comments. | |
6453 | ||
54be5d7e | 6454 | 2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com> |
6455 | ||
6456 | * tree.c (local_define_builtin): Replace calls to | |
6457 | lang_hooks.builtin_function with add_builtin_function. | |
6458 | * c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as | |
6459 | c_builtin_function. | |
6460 | * c-tree.h (builtin_function): Rename to c_builtin_function. Change | |
6461 | the signature. | |
6462 | * c-decl.c (builtin_function): Rename to c_builtin_function. Move | |
6463 | common code to add_builtin_function. | |
6464 | * langhooks.c (add_builtin_function): New function. | |
6465 | (lhd_builtin_function): New function. | |
6466 | * langhooks.h (struct lang_hooks): Change the signature of | |
6467 | builtin_function. | |
6468 | (add_builtin_function): New function. | |
6469 | * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace | |
6470 | calls to lang_hooks.builtin_function with add_builtin_function. | |
6471 | * c-common.c (decl_builtin_1): Replace calls to | |
6472 | lang_hooks.builtin_function with add_builtin_function. | |
6473 | * config/alpha/alpha.c (alpha_init_builtins): Replace calls to | |
6474 | lang_hooks.builtin_function with add_builtin_function. | |
6475 | * config/frv/frv.c (def_builtin): Replace calls to | |
6476 | lang_hooks.builtin_function with add_builtin_function. | |
6477 | * config/s390/s390.c (s390_init_builtins): Replace calls to | |
6478 | lang_hooks.builtin_function with add_builtin_function. | |
6479 | * config/sparc/sparc.c (def_builtin): Replace calls to | |
6480 | lang_hooks.builtin_function with add_builtin_function. | |
6481 | * config/i386/i386.c (def_builtin): Replace calls to | |
6482 | lang_hooks.builtin_function with add_builtin_function. | |
6483 | * config/sh/sh.c (sh_media_init_builtins): Replace calls to | |
6484 | lang_hooks.builtin_function with add_builtin_function. | |
6485 | * config/c4x/c4x.c (c4x_init_builtins): Replace calls to | |
6486 | lang_hooks.builtin_function with add_builtin_function. | |
6487 | * config/stormy16/stormy16.c (xstormy16_init_builtins): | |
6488 | Replace calls to lang_hooks.builtin_function with | |
6489 | add_builtin_function. | |
6490 | * config/iq2000/iq2000.c (def_builtin): | |
6491 | Replace calls to lang_hooks.builtin_function with | |
6492 | add_builtin_function. | |
6493 | * config/ia64/ia64.c (def_builtin): Replace calls to | |
6494 | lang_hooks.builtin_function with add_builtin_function. | |
6495 | * config/rs6000/rs6000.c (def_builtin): Replace calls to | |
6496 | lang_hooks.builtin_function with add_builtin_function. | |
6497 | (altivec_init_builtins): Replace calls to | |
6498 | lang_hooks.builtin_function with add_builtin_function. | |
6499 | * config/arm/arm.c (def_mbuiltin): Replace calls to | |
6500 | lang_hooks.builtin_function with add_builtin_function. | |
6501 | (arm_init_tls_builtins): Replace calls to | |
6502 | lang_hooks.builtin_function with add_builtin_function. | |
6503 | * config/mips/mips.c (mips_init_builtins): Replace calls to | |
6504 | lang_hooks.builtin_function with add_builtin_function. | |
6505 | * config/bfin/bfin.c (def_builtin): Replace calls to | |
6506 | lang_hooks.builtin_function with add_builtin_function. | |
6507 | * langhooks-def.h (lhd_builtin_function): New function. | |
6508 | (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function. | |
6509 | ||
b356dfef | 6510 | 2006-10-23 Jakub Jelinek <jakub@redhat.com> |
6511 | ||
6512 | * builtins.c (expand_builtin, maybe_emit_chk_warning): Handle | |
6513 | BUILT_IN_STRNCAT_CHK. | |
6514 | ||
3b1757a2 | 6515 | 2006-10-23 Jan Hubicka <jh@suse.cz> |
6516 | ||
6517 | * builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument; | |
6518 | don't do conversion from memmove to memcpy here. | |
6519 | (expand_builtin_bcopy, expand_builtin): Update call of | |
6520 | expand_builtin_memmove. | |
6521 | (fold_builtin_memory_op): Do folding of memmove to memcpy here. | |
6522 | ||
546e12a7 | 6523 | 2006-10-23 Paul Brook <paul@codesourcery.com> |
6524 | ||
6525 | * stor-layout.c (start_record_layout): maximum_field_alignment | |
6526 | overrides STRUCTURE_SIZE_BOUNDARY. | |
6527 | ||
88f9884f | 6528 | 2006-10-23 Ulrich Weigand <uweigand@de.ibm.com> |
6529 | ||
6530 | * config/s390/predicates.md ("bras_sym_operand"): Do not accept | |
6531 | nonlocal function symbols if flag_pic. | |
6532 | ||
8a7907c1 | 6533 | 2006-10-23 Richard Guenther <rguenther@suse.de> |
6534 | ||
6535 | PR middle-end/27132 | |
6536 | PR middle-end/23295 | |
6537 | * builtins.c (fold_binary): Remove checks for flag_wrapv | |
6538 | and flag_trapv where negate_expr_p covers these cases. | |
6539 | ||
6540 | 2006-10-23 Richard Guenther <rguenther@suse.de> | |
6541 | ||
6542 | PR middle-end/29548 | |
6543 | * fold-const.c (fold_plusminus_mult_expr): Check exact power | |
6544 | of two on the absolute value. | |
6545 | (fold_binary): Fold x * -C to -x * C if x is easily negatable | |
6546 | and negating -C does not overflow. | |
6547 | ||
6d9936db | 6548 | 2006-10-23 Richard Guenther <rguenther@suse.de> |
6549 | ||
6550 | PR middle-end/21032 | |
6551 | * convert.c (convert_to_real): Fold (float)-x to -(float)x | |
6552 | only if not flag_rounding_math. | |
6553 | ||
23b81129 | 6554 | 2006-10-22 Richard Sandiford <richard@codesourcery.com> |
6555 | Kaz Kojima <kkojima@gcc.gnu.org> | |
6556 | ||
6557 | PR target/28232 | |
6558 | * config/sh/sh.c (expand_block_move): Use a BLKmode rather than | |
6559 | SImode memory reference for the source of a movua. | |
6560 | * config/sh/sh.md (UNSPEC_MOVUA): New macro. | |
6561 | (movua): Use an unspec instead of sign_extract. Expect the source | |
6562 | to have mode BLKmode. | |
6563 | (extv, insv): Use a BLKmode rather than SImode memory reference | |
6564 | for the source of a movua. | |
6565 | ||
fecf3b39 | 6566 | 2006-10-22 Jeff Law <law@redhat.com> |
6567 | Richard Guenther <rguenther@suse.de> | |
6568 | ||
6569 | PR tree-optimization/15911 | |
6570 | * tree-vrp.c (extract_code_and_val_from_cond): New function. | |
6571 | (register_edge_assert_for_1): Likewise. | |
6572 | (register_edge_assert_for): Handle &&/&/||/| in conditionals. | |
6573 | (find_conditional_asserts): Adjust for new function signature. | |
6574 | (find_assert_locations): Likewise. | |
6575 | ||
b6a0d8da | 6576 | 2006-10-22 H.J. Lu <hongjiu.lu@intel.com> |
6577 | ||
6578 | * config/i386/tmmintrin.h: Remove the duplicated content. | |
6579 | ||
2b4894c5 | 6580 | 2006-10-22 H.J. Lu <hongjiu.lu@intel.com> |
6581 | ||
6582 | * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers. | |
6583 | (x86_64-*-*): Likewise. | |
6584 | ||
6585 | * config/i386/i386.c (pta_flags): Add PTA_SSSE3. | |
6586 | (override_options): Check SSSE3. | |
6587 | (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD, | |
6588 | IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD, | |
6589 | IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW, | |
6590 | IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB, | |
6591 | IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND, | |
6592 | IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW, | |
6593 | IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128, | |
6594 | IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128, | |
6595 | IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128, | |
6596 | IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128, | |
6597 | IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128, | |
6598 | IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128, | |
6599 | IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128, | |
6600 | IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and | |
6601 | IX86_BUILTIN_PABSD128. | |
6602 | (bdesc_2arg): Add SSSE3. | |
6603 | (bdesc_1arg): Likewise. | |
6604 | (ix86_init_mmx_sse_builtins): Support SSSE3. | |
6605 | (ix86_expand_builtin): Likewise. | |
6606 | * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise. | |
6607 | ||
6608 | * config/i386/i386.md (UNSPEC_PSHUFB): New. | |
6609 | (UNSPEC_PSIGN): Likewise. | |
6610 | (UNSPEC_PALIGNR): Likewise. | |
6611 | Include mmx.md before sse.md. | |
6612 | ||
6613 | * config/i386/i386.opt: Add -mssse3. | |
6614 | ||
6615 | * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3. | |
6616 | (ssse3_phaddwv4hi3): Likewise. | |
6617 | (ssse3_phadddv4si3): Likewise. | |
6618 | (ssse3_phadddv2si3): Likewise. | |
6619 | (ssse3_phaddswv8hi3): Likewise. | |
6620 | (ssse3_phaddswv4hi3): Likewise. | |
6621 | (ssse3_phsubwv8hi3): Likewise. | |
6622 | (ssse3_phsubwv4hi3): Likewise. | |
6623 | (ssse3_phsubdv4si3): Likewise. | |
6624 | (ssse3_phsubdv2si3): Likewise. | |
6625 | (ssse3_phsubswv8hi3): Likewise. | |
6626 | (ssse3_phsubswv4hi3): Likewise. | |
6627 | (ssse3_pmaddubswv8hi3): Likewise. | |
6628 | (ssse3_pmaddubswv4hi3): Likewise. | |
6629 | (ssse3_pmulhrswv8hi3): Likewise. | |
6630 | (ssse3_pmulhrswv4hi3): Likewise. | |
6631 | (ssse3_pshufbv16qi3): Likewise. | |
6632 | (ssse3_pshufbv8qi3): Likewise. | |
6633 | (ssse3_psign<mode>3): Likewise. | |
6634 | (ssse3_psign<mode>3): Likewise. | |
6635 | (ssse3_palignrti): Likewise. | |
6636 | (ssse3_palignrdi): Likewise. | |
6637 | (abs<mode>2): Likewise. | |
6638 | (abs<mode>2): Likewise. | |
6639 | ||
6640 | * config/i386/tmmintrin.h: New file. | |
6641 | ||
6642 | * doc/extend.texi: Document SSSE3 built-in functions. | |
6643 | ||
6644 | * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches. | |
6645 | ||
5f3637fb | 6646 | 2006-10-22 Ira Rosen <irar@il.ibm.com> |
6647 | ||
a348d038 | 6648 | * tree-vect-transform.c (vectorizable_load): Use the type of the |
6649 | return value of the mask_for_load builtin to create realign_load | |
6650 | stmt. | |
5f3637fb | 6651 | |
e30d194b | 6652 | 2006-10-22 Richard Sandiford <richard@codesourcery.com> |
6653 | ||
6654 | * config/mips/mips.c (mips_split_const): Don't accept bare PLUS | |
6655 | expressions. | |
6656 | ||
eda715e5 | 6657 | 2006-10-21 H.J. Lu <hongjiu.lu@intel.com> |
6658 | ||
6659 | * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ... | |
6660 | (UNSPEC_LDDQU): This. | |
6661 | * config/i386/sse.md (sse3_lddqu): Updated. | |
6662 | ||
7d3afc77 | 6663 | 2006-10-21 Richard Guenther <rguenther@suse.de> |
6664 | ||
6665 | * builtins.c (expand_builtin_int_roundingfn_2): New function. | |
6666 | (expand_builtin): Use it to expand lrint instead of | |
6667 | expand_builtin_mathfn. | |
6668 | ||
feb5b3eb | 6669 | 2006-10-21 Uros Bizjak <uros@kss-loka.si> |
6670 | ||
6671 | PR middle-end/28252 | |
6672 | * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if | |
6673 | flag_unsafe_math_optimizations is set. | |
6674 | ||
fb2989a9 | 6675 | 2006-10-21 Uros Bizjak <uros@kss-loka.si> |
6676 | ||
6677 | PR target/19398 | |
6678 | * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2 | |
6679 | patterns to use memory input operand in x87->mem->XMM | |
6680 | reload sequences. Skip transformation for TARGET_K8. | |
6681 | ||
08513917 | 6682 | 2006-10-21 Uros Bizjak <uros@kss-loka.si> |
6683 | ||
6684 | * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not | |
6685 | force operand1 to register if both operands are memory operands. | |
6686 | (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387) | |
6687 | (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern | |
6688 | if both operands are memory operands. | |
6689 | (truncdfsf2): Do not force operand1 to register if both operands | |
6690 | are memory operands. | |
6691 | ||
6a086156 | 6692 | 2006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
6693 | ||
6694 | * Makefile.in (LIBS): Add $(GMPLIBS). | |
6695 | * doc/install.texi: Update GMP and MPFR requirements. | |
6696 | * doc/sourcebuild.texi (need_gmp): Delete. | |
6697 | ||
cc06222a | 6698 | 2006-10-21 Richard Guenther <rguenther@suse.de> |
6699 | ||
6700 | PR tree-optimization/3511 | |
6701 | * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that | |
6702 | got new invariant arguments during PHI translation. | |
6703 | ||
91ceb6b7 | 6704 | 2006-10-21 Richard Guenther <rguenther@suse.de> |
6705 | ||
6706 | PR middle-end/26898 | |
6707 | * fold-const.c (fold_comparison): Fold signed comparisons | |
6708 | of the form X +- C1 CMP Y +- C2. | |
6709 | ||
b503e57c | 6710 | 2006-10-21 Richard Guenther <rguenther@suse.de> |
6711 | ||
6712 | PR target/19116 | |
6713 | * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP | |
6714 | if flag_unsafe_math_optimizations is specified. We have | |
6715 | flag_finite_math_only for that. | |
6716 | * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP | |
6717 | or flag_unsafe_math_optimizations. | |
6718 | ||
34709e02 | 6719 | 2006-10-21 Richard Guenther <rguenther@suse.de> |
6720 | ||
6721 | * builtins.c (fold_builtin_classify): Fix typo. | |
6722 | ||
b5518e7e | 6723 | 2006-10-21 Richard Guenther <rguenther@suse.de> |
6724 | ||
6725 | PR middle-end/28796 | |
6726 | * simplify-rtx.c (simplify_const_relational_operation): | |
6727 | Do not constant-fold ORDERED and UNORDERED for | |
6728 | flag_unsafe_math_optimizations but only we do not need to | |
6729 | honor NaNs for the given mode. | |
6730 | ||
d11b55fd | 6731 | 2006-10-21 Richard Guenther <rguenther@suse.de> |
6732 | ||
6733 | PR target/29512 | |
6734 | * config/i386/i386.c (classify_argument): Remove redundant | |
6735 | walking of the BINFOs. | |
6736 | (contains_128bit_aligned_vector_p): Likewise. | |
6737 | ||
782f6c8b | 6738 | 2006-10-20 Mark Mitchell <mark@codesourcery.com> |
6739 | ||
6740 | * BASE-VER: Set to 4.3.0. | |
6741 | ||
91fbe448 | 6742 | 2006-10-20 Daniel Berlin <dberlin@dberlin.org> |
6743 | ||
6744 | * tree.h (DECL_PTA_ARTIFICIAL): Remove. | |
6745 | (tree_decl_with_vis): Remove artificial_pta_var flag. | |
6746 | * tree-flow.h (referenced_var_check_and_insert): Expose. | |
6747 | (nonlocal_all): New prototype. | |
6748 | * tree-ssa-structalias.c (nonlocal_for_type): Remove. | |
6749 | (nonlocal_all): Make global. | |
6750 | (nonlocal_lookup): Remove. | |
6751 | (nonlocal_insert): Ditto. | |
6752 | (create_nonlocal_var): Do not call nonlocal_insert. | |
6753 | (get_nonlocal_id_for_type): Remove. | |
6754 | (find_global_initializers): Mark new vars we find for renaming. | |
6755 | (intra_create_variable_infos): Only create one nonlocal. | |
6756 | (expand_nonlocal_solutions): Remove. | |
6757 | (compute_points_to_sets): Don't call it. | |
6758 | (ipa_pta_execute): Ditto. | |
6759 | (init_alias_heapvars): Don't create nonlocal_for_type. | |
6760 | (delete_alias_heapvars): Don't remove it. | |
6761 | * tree-ssa-operands.c (access_can_touch_variable): Don't prune | |
6762 | nonlocal_all. | |
6763 | ||
91f0ba79 | 6764 | 2006-10-19 Brooks Moses <bmoses@stanford.edu> |
6765 | ||
6766 | * doc/install.texi (Downloading GCC): Clarify mention of | |
6767 | Fortran in the "full distribution" description. | |
6768 | ||
499be8ef | 6769 | 2006-10-19 Daniel Berlin <dberlin@dberlin.org> |
6770 | ||
6771 | Fix PR tree-optimization/28778 | |
6772 | Fix PR tree-optimization/29156 | |
6773 | Fix PR tree-optimization/29415 | |
6774 | * tree.h (DECL_PTA_ARTIFICIAL): New macro. | |
6775 | (tree_decl_with_vis): Add artificial_pta_var flag. | |
6776 | * tree-ssa-alias.c (is_escape_site): Remove alias info argument, | |
6777 | pushed into callers. | |
6778 | * tree-ssa-structalias.c (nonlocal_for_type): New variable. | |
6779 | (nonlocal_all): Ditto. | |
6780 | (struct variable_info): Add directly_dereferenced member. | |
6781 | (var_escaped_vars): New variable. | |
6782 | (escaped_vars_tree): Ditto. | |
6783 | (escaped_vars_id): Ditto. | |
6784 | (nonlocal_vars_id): Ditto. | |
6785 | (new_var_info): Set directly_dereferenced. | |
6786 | (graph_size): New variable | |
6787 | (build_constraint_graph): Use graph_size. | |
6788 | (solve_graph): Don't process constraints that cannot change the | |
6789 | solution, don't try to propagate an empty solution to our | |
6790 | successors. | |
6791 | (process_constraint): Set directly_dereferenced. | |
6792 | (could_have_pointers): New function. | |
6793 | (get_constraint_for_component_ref): Don't process STRING_CST. | |
6794 | (nonlocal_lookup): New function. | |
6795 | (nonlocal_insert): Ditto. | |
6796 | (create_nonlocal_var): Ditto. | |
6797 | (get_nonlocal_id_for_type): Ditto. | |
6798 | (get_constraint_for): Allow results vector to be empty in the case | |
6799 | of string constants. | |
6800 | Handle results of calls properly. | |
6801 | (update_alias_info): Update alias info stats on number and type of | |
6802 | calls. | |
6803 | (find_func_aliases): Use could_have_pointers. | |
6804 | (make_constraint_from_escaped): Renamed from | |
6805 | make_constraint_to_anything, and changed to make constraints from | |
6806 | escape variable. | |
6807 | (make_constraint_to_escaped): New function. | |
6808 | (find_global_initializers): Ditto. | |
6809 | (create_variable_info_for): Make constraint from escaped to any | |
6810 | global variable, and from any global variable to the set of | |
6811 | escaped vars. | |
6812 | (intra_create_variable_infos): Deal with escaped instead of | |
6813 | pointing to anything. | |
6814 | (set_uids_in_ptset): Do type pruning on directly dereferenced | |
6815 | variables. | |
6816 | (find_what_p_points_to): Adjust call to set_uids_with_ptset. | |
6817 | (init_base_vars): Fix comment, and initialize escaped_vars. | |
6818 | (need_to_solve): Removed. | |
6819 | (find_escape_constraints): New function. | |
6820 | (expand_nonlocal_solutions): Ditto. | |
6821 | (compute_points_to_sets): Call find_escape_constraints and | |
6822 | expand_nonlocal_solutions. | |
6823 | (delete_points_to_sets): Don't fall off the end of the graph. | |
6824 | (init_alias_heapvars): Initialize nonlocal_for_type and | |
6825 | nonlocal_all. | |
6826 | (delete_alias_heapvars): Free nonlocal_for_type and null out | |
c4f8e01f | 6827 | nonlocal_all. |
499be8ef | 6828 | |
81035ec1 | 6829 | 2006-10-19 Eric Botcazou <ebotcazou@adacore.com> |
6830 | ||
6831 | * fold-const.c (add_double): Rename to add_double_with_sign. | |
6832 | Add 'unsigned_p' parameter and take it into account for the overflow. | |
c4f8e01f | 6833 | (mul_double): Rename to mul_double_with_sign. |
81035ec1 | 6834 | Add 'unsigned_p' parameter and take it into account for the overflow. |
6835 | (fold_div_compare): Call add_double_with_sign instead of add_double | |
6836 | and mul_double_with_sign instead of mul_double, passing them the | |
6837 | unsignedness of the type. | |
6838 | * tree.h (add_double): Macroize. | |
6839 | (add_double_with_sign): New prototype. | |
6840 | (mul_double): Macroize. | |
6841 | (mul_double_with_sign): New prototype. | |
6842 | ||
ee0ff922 | 6843 | 2006-10-19 Chen Liqin <liqin@sunnorth.com.cn> |
6844 | ||
a348d038 | 6845 | * config/score/crti.asm: New file. |
6846 | * config/score/crtn.asm: New file. | |
6847 | * config/score/elf.h: New file. | |
6848 | * config/score/mac.md: New file. | |
6849 | * config/score/misc.md: New file. | |
6850 | * config/score/mul-div.S: New file. | |
6851 | * config/score/predicates.md: New file. | |
6852 | * config/score/score7.md: New file. | |
6853 | * config/score/score.c: New file. | |
6854 | * config/score/score-conv.h: New file. | |
6855 | * config/score/score.h: New file. | |
6856 | * config/score/score.md: New file. | |
6857 | * config/score/score-mdaux.c: New file. | |
6858 | * config/score/score-mdaux.h: New file. | |
6859 | * config/score/score-modes.def: New file. | |
6860 | * config/score/score.opt: New file. | |
6861 | * config/score/score-protos.h: New file. | |
6862 | * config/score/score-version.h: New file. | |
6863 | * config/score/t-score-elf: New file. | |
6864 | * config.gcc: Add score*-*-* configurations(Update before). | |
6865 | * doc/invoke.texi (Score Options): New section. | |
6866 | * doc/md.texi (Score family): New section to document constraints. | |
ee0ff922 | 6867 | |
15b00d63 | 6868 | 2006-10-19 Nick Clifton <nickc@redhat.com> |
6869 | ||
6870 | * config/arm/arm.c: Fix spelling typo. | |
6871 | ||
b5a464e0 | 6872 | 2006-10-18 Tom Tromey <tromey@redhat.com> |
6873 | ||
6874 | * doc/install.texi (Prerequisites): Mention automake 1.9.6. | |
6875 | ||
9aba3cd4 | 6876 | 2006-10-18 Jan Hubicka <jh@suse.cz> |
6877 | ||
6878 | PR middle-end/29299 | |
6879 | * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user | |
6880 | are used. | |
6881 | ||
ef9de318 | 6882 | 2006-10-18 Marcin Dalecki <martin@dalecki.de> |
6883 | ||
6884 | * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of | |
6885 | TSI_SAME_STMT, since that's the desired entity. | |
6886 | ||
59bc01b3 | 6887 | 2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com> |
6888 | ||
6889 | * config/s390/contraints.md: New file. | |
a348d038 | 6890 | * config/s390/s390-protos.h (s390_mem_constraint, |
c4f8e01f | 6891 | s390_O_constraint_str, s390_N_constraint_str, |
59bc01b3 | 6892 | s390_float_const_zero_p): Function prototypes added. |
c4f8e01f | 6893 | * config/s390/s390.c (s390_extra_constraint_str, |
6894 | s390_const_double_ok_for_constraint_p, | |
59bc01b3 | 6895 | s390_const_ok_for_constraint_p): Functions removed. |
a348d038 | 6896 | (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str, |
59bc01b3 | 6897 | s390_float_const_zero_p): New functions. |
6898 | * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P, | |
c4f8e01f | 6899 | CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR, |
6900 | EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN): | |
59bc01b3 | 6901 | Macro definitions removed. |
6902 | (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p, | |
6903 | s390_extra_constraint_str): Functions removed. | |
6904 | ||
06eca8b8 | 6905 | 2006-10-17 Andrew Pinsiki <pinskia@gmail.com> |
6906 | Richard Sandiford <richard@codesourcery.com> | |
6907 | ||
1c67998a | 6908 | PR target/29413 |
06eca8b8 | 6909 | * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override. |
6910 | * config/mips/mips.h (CC1_SPEC): Override any earlier definition. | |
6911 | ||
bc5c9982 | 6912 | 2006-10-16 Geoffrey Keating <geoffk@apple.com> |
6913 | ||
6914 | * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h. | |
6915 | (DWARF2_FRAME_REG_OUT): Likewise. | |
6916 | * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h. | |
6917 | (DWARF2_FRAME_REG_OUT): Likewise. | |
6918 | ||
bd7a45c4 | 6919 | 2006-10-17 Paul Brook <paul@codesourcery.com> |
6920 | ||
6921 | * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate. | |
6922 | ||
0d0147a5 | 6923 | 2006-10-16 Brooks Moses <bmoses@stanford.edu> |
6924 | ||
6925 | * doc/contrib.texi, doc/install.texi, doc/standards.texi: | |
6926 | Standardize on "GNU Fortran" as the official name of the Fortran | |
6927 | compiler. | |
6928 | ||
5b182752 | 6929 | 2006-10-16 Mike Stump <mrs@apple.com> |
6930 | ||
89e055a8 | 6931 | * doc/invoke.texi (Darwin Options): Document -mkernel. |
5b182752 | 6932 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add |
6933 | -mkernel support. | |
6934 | (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add | |
6935 | SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout. | |
6936 | (CC1_SPEC): Don't turn on -fPIC when -mkernel is given. | |
6937 | (OS_MISSING_ALTIVEC): Add. | |
6938 | * config/i386/i386.c (override_options): Add | |
6939 | SUBSUBTARGET_OVERRIDE_OPTIONS callout. | |
6940 | * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when | |
6941 | -mkernel, -static or -mdynamic-no-pic is given. | |
6942 | (C_COMMON_OVERRIDE_OPTIONS): Add. | |
6943 | * config/darwin.opt (fapple-kext): Add. | |
6944 | (mkernel): Add. | |
6945 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add | |
6946 | -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and | |
6947 | -mkernel support. | |
6948 | (SUBSUBTARGET_OVERRIDE_OPTIONS): Add. | |
6949 | (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add. | |
6950 | (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here... | |
6951 | (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility. | |
6952 | (TARGET_CXX_CDTOR_RETURNS_THIS): Add. | |
6953 | (flag_mkernel): Add. | |
6954 | (flag_apple_kext): Add. | |
6955 | (TARGET_KEXTABI): Add. | |
6956 | * config/darwin.c (darwin_handle_kext_attribute): Add. | |
6957 | (DARWIN_VTABLE_P): Add. | |
6958 | (darwin_binds_local_p): Add partial support for rebinding vtables | |
6959 | in kexts. | |
6960 | (darwin_kextabi_p): Add. | |
6961 | (darwin_override_options): Add. | |
6962 | * config/darwin-protos.h (darwin_handle_kext_attribute): Add. | |
6963 | (darwin_kextabi_p): Add. | |
6964 | (darwin_override_options): Add. | |
6965 | * config/darwin-c.c (darwin_cpp_builtins): ... move defines for | |
6966 | __DYNAMIC__ and __STATIC__ here. | |
6967 | ||
bf8eaea9 | 6968 | 2006-10-16 Brooks Moses <bmoses@stanford.edu> |
6969 | ||
6970 | * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi: | |
6971 | Added mention of "make pdf" target, and Texinfo requirements for | |
6972 | same. | |
6973 | ||
5c61fcb6 | 6974 | 2006-10-16 DJ Delorie <dj@redhat.com> |
6975 | ||
6976 | * config/s390/s390.c (s390_decompose_address): Allow symbol+offset | |
6977 | into the GOT in case we need a subreg of the address. | |
6978 | ||
e2d5ef68 | 6979 | 2006-10-16 Richard Guenther <rguenther@suse.de> |
6980 | ||
6981 | PR target/25519 | |
6982 | * doc/extend.texi (X86 Built-in Functions): Fix typos in | |
6983 | SSE builtin documentation. Document SSE2 builtins. | |
6984 | ||
4699015f | 6985 | 2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
6986 | ||
22ae655f | 6987 | * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined |
6988 | symbol in the output file for non-shared links when -nostdlib or | |
6989 | -nodefaultlibs isn't specified. | |
6990 | ||
4699015f | 6991 | * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to |
6992 | posix thread support. | |
6993 | ||
46b2c17d | 6994 | 2006-10-15 Jan Hubicka <jh@suse.cz> |
6995 | ||
6996 | PR middle-end/29241 | |
6997 | * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions | |
6998 | declared always_inline even when not inlining. | |
6999 | ||
189575ff | 7000 | 2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr> |
a348d038 | 7001 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
7002 | Andrew Pinski <pinskia@gmail.com> | |
189575ff | 7003 | |
7004 | PR middle-end/29111 | |
7005 | * builtins.c (get_pointer_alignment): Return 0 if TER is not run. | |
7006 | ||
c17d0de1 | 7007 | 2006-10-15 Jan Hubicka <jh@suse.cz> |
a348d038 | 7008 | Richard Guenther <rguenther@suse.de> |
c17d0de1 | 7009 | |
7010 | PR middle-end/29299 | |
7011 | * cgraphunit.c (cgraph_finalize_compilation_unit): Call | |
7012 | process_function_and_variable_attributes on all variables, including | |
7013 | those discovered during cgraph construction phase. | |
7014 | ||
312f4798 | 7015 | 2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org> |
7016 | ||
7017 | * final.c: Update Copyright year. Commentary typo fix. Fix whitespace | |
7018 | ||
33f5c1b6 | 7019 | 2006-10-14 Uros Bizjak <uros@kss-loka.si> |
7020 | ||
7021 | * config/i386/athlon.md (athlon_fist): Add fisttp. | |
7022 | ||
17e11d99 | 7023 | 2006-10-13 David Edelsohn <edelsohn@gnu.org> |
7024 | Ian Lance Taylor <ian@airs.com> | |
7025 | ||
7026 | PR middle-end/29250 | |
7027 | * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR, | |
7028 | CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when | |
7029 | recursing. | |
7030 | ||
c5c5ead9 | 7031 | 2006-10-14 Kazu Hirata <kazu@codesourcery.com> |
7032 | ||
7033 | * config/score/score.c, config/score/score.h: Fix comment | |
7034 | typos. | |
7035 | ||
424b35f3 | 7036 | 2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
7037 | ||
7038 | PR bootstrap/29402 | |
7039 | * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of | |
7040 | shell pipeline. | |
7041 | ||
119bf763 | 7042 | 2006-10-13 Eric Christopher <echristo@apple.com> |
7043 | ||
7044 | * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. | |
7045 | ||
d42924e0 | 7046 | 2006-10-13 Carlos O'Donell <carlos@codesourcery.com> |
7047 | ||
7048 | Revert this change: | |
7049 | 2006-10-13 Carlos O'Donell <carlos@codesourcery.com> | |
7050 | * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest | |
7051 | alignment supported by 32-bit ELF. | |
7052 | ||
3469b0cf | 7053 | 2006-10-13 Eric Christopher <echristo@apple.com> |
7054 | ||
7055 | * config/darwin.c (darwin_emit_unwind_label): Strip | |
7056 | name encoding. Use DECL_ASSEMBLER_NAME_SET_P. | |
7057 | ||
79f0a894 | 7058 | 2006-10-13 Richard Guenther <rguenther@suse.de> |
7059 | ||
7060 | PR tree-optimization/29446 | |
7061 | * tree-vrp.c (fix_equivalence_set): Remove. | |
7062 | (extract_range_from_assert): Do not call fix_equivalence_set. | |
7063 | (debug_value_range): Print a newline. | |
7064 | (compare_name_with_value): For equivalence sets with | |
7065 | inconsistent value ranges conservatively bail out. | |
7066 | (compare_names): Likewise. | |
7067 | ||
7fe61202 | 7068 | 2006-10-13 David Edelsohn <edelsohn@gnu.org> |
7069 | ||
7070 | * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP | |
7071 | and MPFR for gfortran. | |
7072 | ||
ef37832c | 7073 | 2006-10-13 Carlos O'Donell <carlos@codesourcery.com> |
7074 | ||
7075 | * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest | |
7076 | alignment supported by 32-bit ELF. | |
7077 | ||
b7d1b569 | 7078 | 2006-10-13 Paolo Bonzini <bonzini@gnu.org> |
7079 | ||
7080 | PR c/29092 | |
7081 | ||
ca2832e4 | 7082 | * c-typeck.c (digest_init): Always allow initializing vectors |
b7d1b569 | 7083 | that have static storage duration with compound literals. |
7084 | * tree.c (build_type_attribute_qual_variant): New, based on | |
7085 | build_type_attribute_variant. | |
7086 | (build_type_attribute_variant): Rewrite using the former. | |
7087 | (make_vector_type): Use build_type_attribute_qual_variant to build | |
7088 | type variants. Use type_hash_canon on the others. | |
7089 | ||
28661157 | 7090 | 2006-10-13 Daniel Berlin <dberlin@dberlin.org> |
7091 | Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com> | |
7092 | ||
7093 | * tree-flow-inline.h (zero_ssa_operands): Fix comment. | |
7094 | ||
c902ba74 | 7095 | 2006-10-12 Jan Hubicka <jh@suse.cz> |
7096 | ||
7097 | PR c/28419 | |
7098 | * c-decl.c (c_make_fname_decl): Do not segfault in case where | |
7099 | current_function_decl is set but current_function_scope is not. | |
7100 | ||
acc51120 | 7101 | 2006-10-12 Jie Zhang <jie.zhang@analog.com> |
7102 | ||
7103 | * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of | |
7104 | emit_insn to emit eh_return_internal instruction. | |
7105 | (eh_return_internal): Explicitly set pc. | |
7106 | ||
e3625844 | 7107 | 2006-10-11 Richard Guenther <rguenther@suse.de> |
7108 | ||
7109 | PR tree-optimization/28230 | |
7110 | * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling | |
7111 | to the correct place. | |
7112 | ||
4948a3d6 | 7113 | 2006-10-11 Richard Guenther <rguenther@suse.de> |
7114 | ||
7115 | PR inline-asm/29119 | |
7116 | * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue | |
7117 | addressable. | |
7118 | ||
51f93521 | 7119 | 2006-10-10 Brooks Moses <bmoses@stanford.edu> |
7120 | ||
7121 | * configure.ac: Added pdf to "Make-hooks" | |
7122 | * Makefile.in: Added TEXI2PDF definition, and various pdf-file | |
7123 | targets and *.pdf file patterns in cleanup targets. | |
7124 | * configure: Regenerated. | |
7125 | ||
dbe3755b | 7126 | 2006-10-10 Anatoly Sokolov <aesok@post.ru> |
7127 | ||
7128 | * config/avr/predicates.md: New file. | |
7129 | * config/avr/avr.md: Include it. | |
7130 | (REG_SP): New constant. | |
7131 | (peepholes): Use predicates. | |
7132 | (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch, | |
7133 | difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch, | |
7134 | sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto. | |
7135 | ||
86e5a972 | 7136 | 2006-10-10 Adam Nemet <anemet@caviumnetworks.com> |
7137 | ||
7138 | * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to | |
7139 | avoid alias set 0. | |
7140 | ||
e973ffcc | 7141 | 2006-10-10 Jakub Jelinek <jakub@redhat.com> |
7142 | ||
7143 | PR middle-end/29272 | |
7144 | * builtins.c (var_decl_component_p): New function. | |
7145 | (fold_builtin_memset, fold_builtin_memory_op): Restrict | |
7146 | single entry optimization to variables and components thereof. | |
7147 | ||
cf7c4516 | 7148 | 2006-10-10 Richard Guenther <rguenther@suse.de> |
7149 | ||
7150 | PR rtl-optimization/29323 | |
7151 | * except.c (set_nothrow_function_flags): For functions | |
7152 | that do not bind local bail out early. | |
7153 | ||
5d5733c6 | 7154 | 2006-10-10 Ben Elliston <bje@au.ibm.com> |
7155 | ||
7156 | * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the | |
7157 | -mdlmzb option. | |
7158 | ||
5c3667a1 | 7159 | 2006-10-09 Richard Henderson <rth@redhat.com> |
7160 | ||
7161 | Revert emutls patch. | |
7162 | ||
bd09cd3e | 7163 | 2006-10-09 Richard Guenther <rguenther@suse.de> |
7164 | ||
7165 | PR middle-end/29254 | |
7166 | * cgraphunit.c (verify_cgraph_node): Bail out on earlier | |
7167 | errors. | |
7168 | ||
f406e07e | 7169 | 2006-10-09 Steve Ellcey <sje@cup.hp.com> |
7170 | ||
7171 | PR target/27880 | |
7172 | * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo. | |
7173 | * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo. | |
7174 | * configure: Regenerate. | |
7175 | * config.in: Regenerate. | |
7176 | ||
28f1e21f | 7177 | 2006-10-09 Aldy Hernandez <aldyh@redhat.com> |
7178 | ||
ca2832e4 | 7179 | * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE. |
28f1e21f | 7180 | |
73816ab1 | 7181 | 2006-10-08 Richard Sandiford <richard@codesourcery.com> |
7182 | ||
7183 | * config/mips/mips.c (mips_legitimize_tls_address): Implement | |
7184 | all TLS models in the same way as local exec if !TARGET_ABICALLS. | |
7185 | Remove stray newline. | |
7186 | ||
345b1590 | 7187 | 2006-10-08 Richard Sandiford <richard@codesourcery.com> |
7188 | ||
7189 | * config/mips/mips.c (mips_classify_symbol): Do not return | |
7190 | SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK. | |
7191 | (mips_in_small_data_p): Tweak comments. | |
7192 | ||
3aa446da | 7193 | 2006-10-08 Richard Sandiford <richard@codesourcery.com> |
7194 | ||
7195 | * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define. | |
7196 | ||
eed50407 | 7197 | 2006-10-07 Kazu Hirata <kazu@codesourcery.com> |
7198 | ||
7199 | * gimplify.c, sched-int.h: Fix comment typos. | |
7200 | ||
8e3eaeaf | 7201 | * sched-int.h: Fix comment typos. |
7202 | ||
fd27912f | 7203 | 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
7204 | ||
7205 | * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P): | |
7206 | New macros. | |
7207 | * sched-ebb.c (begin_schedule_ready): Use them. | |
7208 | * haifa-sched.c (schedule_insn, move_insn, try_ready, | |
7209 | add_to_speculative_block, create_check_block_twin, speculate_insn, | |
7210 | fix_jump_move, move_block_after_check): Ditto. | |
7211 | * sched-rgn.c (new_ready): Ditto. | |
7212 | ||
2521f35f | 7213 | 2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
7214 | ||
7215 | PR rtl-optimization/29128 | |
7216 | * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro. | |
7217 | * sched-ebb.c (advance_target_bb): Use it to fix condition to | |
7218 | allow interblock movement of speculation checks. | |
7219 | ||
9b6564b5 | 7220 | 2006-10-06 Zdenek Dvorak <dvorakz@suse.cz> |
7221 | ||
7222 | PR middle-end/29256 | |
7223 | * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers | |
7224 | casted to integer type. | |
7225 | (get_address_cost): Decrease cost of [symbol + index] addressing modes | |
7226 | if they are significantly more expensive than [reg + index] ones. | |
7227 | ||
3e69d97d | 7228 | 2006-10-06 Jakub Jelinek <jakub@redhat.com> |
7229 | ||
62761183 | 7230 | PR tree-optimization/29330 |
7231 | * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro. | |
7232 | (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer | |
7233 | on newly allocated ddrs. | |
7234 | (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer | |
7235 | to VEC (loop_p, heap) pointer. | |
7236 | (compute_data_dependences_for_loop): Adjust caller. | |
7237 | (free_dependence_relations): Free DDR_LOOP_NEST. | |
7238 | ||
7239 | * tree-loop-linear.c (linear_transform_loops): Don't forget to | |
7240 | free DEPENDENCE_RELATIONS and DATAREFS. | |
7241 | ||
3e69d97d | 7242 | PR target/28924 |
7243 | * builtins.c (expand_builtin_sync_operation, | |
7244 | expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set): | |
7245 | Use convert_to_mode to handle promoted arguments. | |
7246 | ||
85a76dc8 | 7247 | 2006-10-06 J"orn Rennecke <joern.rennecke@st.com> |
7248 | ||
7249 | * print-tree.c (print_node_brief, print_node): Print sign of Inf. | |
7250 | ||
d44c5496 | 7251 | 2006-10-06 J"orn Rennecke <joern.rennecke@st.com> |
7252 | ||
7253 | * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define. | |
7254 | ||
c6307a1e | 7255 | 2006-10-05 Uros Bizjak <uros@kss-loka.si> |
7256 | ||
7257 | * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>", | |
7258 | "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"): | |
7259 | Use <modeconstraint> instead of "r" as operand 1 constraint. | |
7260 | ||
6e8435a1 | 7261 | 2006-10-06 Olivier Hainque <hainque@adacore.com> |
3469b0cf | 7262 | |
6e8435a1 | 7263 | * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]: |
7264 | Don't recurse on the pointed-to type. | |
7265 | * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or | |
7266 | DECL context, attach an artificial TYPE_DECL to anonymous pointed-to | |
7267 | types with components of variable size. | |
7268 | ||
8057d305 | 7269 | 2006-10-06 Danny Smith <dannysmith@users.sourceforge.net> |
7270 | ||
8defa33e | 7271 | * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp. |
8057d305 | 7272 | |
69d99d08 | 7273 | 2006-10-06 Jakub Jelinek <jakub@redhat.com> |
7274 | ||
3be2994e | 7275 | PR tree-optimization/29290 |
7276 | * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has | |
7277 | multiple exits. | |
7278 | ||
8d3480ed | 7279 | PR target/29198 |
7280 | * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols. | |
7281 | * config/i386/predicates.md (local_symbolic_operand): Likewise. | |
7282 | ||
69d99d08 | 7283 | PR c/29091 |
7284 | * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than | |
7285 | the number of vector elements fill the rest with zeros. | |
7286 | ||
12b49fa5 | 7287 | 2006-10-05 Richard Sandiford <richard@codesourcery.com> |
7288 | ||
7289 | * config/mips/mips.c (mips_pass_by_reference): Do not return false | |
7290 | for EABI if type is NULL. Use a size check based on GET_MODE_SIZE | |
7291 | instead. | |
7292 | ||
8c9eef63 | 7293 | 2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com> |
7294 | ||
7295 | * config/bfin/bfin.md (subsi3): Lose expander, change previously | |
7296 | unnamed pattern into subsi3. Use correct constraints/predicates. | |
7297 | * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7". | |
7298 | * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New. | |
7299 | ||
009860bf | 7300 | 2006-10-05 Ira Rosen <irar@il.ibm.com> |
7301 | ||
7302 | * doc/loop.texi: Add data references analysis description. | |
7303 | ||
7be3c866 | 7304 | 2006-10-04 Brooks Moses <bmoses@stanford.edu> |
7305 | ||
7306 | * doc/gcov.texi: Add formatting to "Invoking gcov" section head. | |
7307 | ||
2551f8e0 | 7308 | 2006-10-04 Richard Henderson <rth@redhat.com> |
7309 | Jakub Jelinek <jakub@redhat.com> | |
7310 | ||
7311 | * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c. | |
ca2832e4 | 7312 | * builtin-types.def (BT_WORD): Make unsigned. |
7313 | (BT_FN_VOID_PTR_WORD_WORD_PTR): New. | |
7314 | * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New. | |
7315 | (BUILT_IN_EMUTLS_REGISTER_COMMON): New. | |
7316 | * c-decl.c (grokdeclarator): Don't error if !have_tls. | |
7317 | * c-parser.c (c_parser_omp_threadprivate): Likewise. | |
2551f8e0 | 7318 | * cgraph.c (decide_is_variable_needed): Look at force_output. |
7319 | Recurse for emulated tls. | |
7320 | * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove | |
7321 | checks redundant with decide_is_variable_needed. | |
7322 | (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls. | |
ca2832e4 | 7323 | * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for |
7324 | emulated tls. | |
7325 | * expr.c (emutls_var_address): New. | |
2551f8e0 | 7326 | (expand_expr_real_1): Expand emulated tls. |
7327 | (expand_expr_addr_expr_1): Likewise. | |
ca2832e4 | 7328 | * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common. |
7329 | * output.h (emutls_finish): Declare. | |
7330 | * toplev.c (compile_file): Call it. | |
2551f8e0 | 7331 | * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the |
7332 | address before wrapping in CONST. | |
ca2832e4 | 7333 | * varasm.c (emutls_htab, emutls_object_type): New. |
7334 | (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New. | |
2551f8e0 | 7335 | (get_emutls_object_name, get_emutls_object_type): New. |
7336 | (get_emutls_init_templ_addr, emutls_decl): New. | |
7337 | (emutls_common_1, emutls_finish): New. | |
ca2832e4 | 7338 | (assemble_variable): When emulating tls, swap decls; generate |
2551f8e0 | 7339 | constructor for the emutls objects. |
7340 | (do_assemble_alias): When emulating tls, swap decl and target name. | |
ca2832e4 | 7341 | (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT |
7342 | for emulated tls. | |
2551f8e0 | 7343 | * emutls.c: New file. |
ca2832e4 | 7344 | * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit |
7345 | tls_object for real tls. | |
2551f8e0 | 7346 | |
5e156a9d | 7347 | 2006-10-04 Zack Weinberg <zackw@panix.com> |
7348 | ||
7349 | Fix bug in constraint-check generator, reported by Rask Ingemann | |
7350 | Lambertsen: | |
7351 | * genpreds.c (add_constraint): Don't remove anything from the | |
7352 | expression here. | |
7353 | (write_tm_constrs_h): Detect whether "op" argument is used, and | |
7354 | mark it ARG_UNUSED if it isn't. | |
7355 | (write_insn_const_int_ok_for_constraint): Skip the part of the | |
7356 | expression that would test whether "op" (which is not available | |
7357 | here) is a CONST_INT. | |
7358 | ||
9a0aa4d3 | 7359 | 2006-10-04 Ryan Mansfield <rmansfield@qnx.com> |
7360 | ||
7361 | PR c++/28448 | |
7362 | * doc/invoke.texi (fdiagnostics-show-option): Fix typos. | |
7363 | ||
affc4a5b | 7364 | 2006-10-03 Geoffrey Keating <geoffk@apple.com> |
7365 | ||
7366 | * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for | |
7367 | current Leopard versions. | |
7368 | * config/rs6000/darwin-libgcc.10.5.ver: Likewise. | |
7369 | ||
cdab3c63 | 7370 | 2006-10-03 Kazu Hirata <kazu@codesourcery.com> |
7371 | ||
7372 | * doc/install.texi: Fix typos. | |
7373 | ||
3a69c60c | 7374 | 2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr> |
7375 | ||
7376 | * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX. | |
7377 | * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX. | |
7378 | * config/sparc/sparc.h (FRAME_ADDR_RTX): Define. | |
7379 | ||
c7b5e79e | 7380 | 2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu> |
7381 | ||
7382 | * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first | |
7383 | arg to be struct mach_header_64* instead. | |
7384 | ||
0aa655a0 | 7385 | 2006-10-02 Jakub Jelinek <jakub@redhat.com> |
7386 | ||
7387 | PR c/29154 | |
7388 | * gimplify.c (gimplify_self_mod_expr): Run inner expression's post | |
7389 | side effects after the outer expression's post side effects. | |
7390 | ||
9f35f9b2 | 7391 | 2006-10-01 Sandra Loosemore <sandra@codesourcery.com> |
7392 | ||
7393 | * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix | |
7394 | comments to reflect actual behavior and relationship between | |
7395 | DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN. | |
7396 | ||
7397 | * doc/c-tree.texi (Working with declarations): Fix documentation | |
7398 | of FIELD_DECL likewise. | |
7399 | ||
b7aa2b22 | 7400 | 2006-10-01 Ryan Mansfield <rmansfield@qnx.com> |
7401 | ||
7402 | PR c/20533 | |
5e156a9d | 7403 | * doc/extend.texi: Add used variable attribute description. |
b7aa2b22 | 7404 | |
f1f157ae | 7405 | 2006-09-30 Joseph S. Myers <joseph@codesourcery.com> |
7406 | ||
7407 | PR c/24010 | |
7408 | * c.opt (Woverride-init): New. | |
7409 | * c-opts.c (c_common_post_options): Default warn_override_init to | |
7410 | extra_warnings. | |
7411 | * c-typeck.c (add_pending_init, output_init_element): Warn for | |
7412 | overriding initializers without side effects. | |
7413 | * doc/invoke.texi (-Woverride-init): Document. | |
7414 | (-Wextra): Update. | |
7415 | ||
0264b815 | 7416 | 2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr> |
7417 | ||
7418 | PR rtl-optimization/28096 | |
7419 | * ifcvt.c (check_cond_move_block): Return FALSE if the source of an | |
7420 | assignment has already been used as a destination earlier in the block. | |
7421 | ||
7422 | 2006-09-29 Eric Botcazou <ebotcazou@adacore.com> | |
2c8a1497 | 7423 | |
7424 | * builtins.c (expand_builtin_setjmp): Delete. | |
7425 | (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable. | |
7426 | <BUILT_IN_SETJMP_SETUP>: New case. | |
7427 | <BUILT_IN_SETJMP_DISPATCHER>: Likewise. | |
7428 | <BUILT_IN_SETJMP_RECEIVER>: Likewise. | |
7429 | * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub. | |
7430 | (BUILT_IN_SETJMP_DISPATCHER): Likewise. | |
7431 | (BUILT_IN_SETJMP_RECEIVER): Likewise. | |
7432 | * gimple-low.c (struct lower_data): New field calls_builtin_setjmp. | |
7433 | (lower_function_body): Initialize it to false. If it is set to true | |
7434 | at the end of the processing, emit the setjmp dispatcher. | |
7435 | (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee | |
7436 | is __builtin_setjmp and set calls_builtin_setjmp to true as well. | |
7437 | <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR | |
7438 | on the rhs of the assignment. | |
7439 | (lower_builtin_setjmp): New function. | |
7440 | * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP, | |
7441 | BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes. | |
7442 | * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate | |
7443 | to detect calls that can go to non-local labels. Use specific | |
7444 | helper to create the abnormal edges associated with them. | |
7445 | <MODIFY_EXPR>: Likewise. | |
7446 | (make_abnormal_goto_edges): New function extracted from... | |
7447 | (make_goto_expr_edges): ...here. Call it for computed gotos. | |
7448 | (simple_goto_p): Minor tweak. | |
7449 | (tree_can_make_abnormal_goto): New predicate. | |
7450 | (tree_redirect_edge_and_branch): Return zero on all abnormal edges. | |
7451 | (tree_purge_dead_abnormal_call_edges): New function. | |
7452 | * tree-flow.h (tree_can_make_abnormal_goto): Declare. | |
7453 | (tree_purge_dead_abnormal_call_edges): Likewise. | |
7454 | (make_abnormal_goto_edges): Likewise. | |
7455 | * tree-inline.c (expand_call_inline): Simplify statement frobbing. | |
7456 | Purge all dead abnormal edges if the call was in the last statement. | |
7457 | * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate. | |
7458 | (execute_fixup_cfg): If there are non-local labels in the function, | |
7459 | scan the basic blocks and split them at calls that can go to non-local | |
7460 | labels or add missing abnormal call edges. Write down the CFG in the | |
7461 | dump file. | |
7462 | (pass_fixup_cfg): Remove TODO_dump_func flag. | |
7463 | * unwind-sjlj.c: Poison setjmp. | |
7464 | * doc/install.texi (enable-sjlj-exceptions): Use more general wording. | |
7465 | * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise. | |
7466 | (TARGET_UNWIND_TABLES_DEFAULT): Fix typo. | |
7467 | (DONT_USE_BUILTIN_SETJMP): Document it. | |
7468 | ||
23e97733 | 7469 | 2006-09-28 Geoffrey Keating <geoffk@apple.com> |
7470 | ||
7471 | PR target/28617 | |
7472 | * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define | |
7473 | to 1 when __ppc64__ is defined. | |
7474 | * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and | |
7475 | darwin-64.c. | |
7476 | * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined. | |
7477 | ||
620f139b | 7478 | 2006-09-28 Steve Ellcey <sje@cup.hp.com> |
7479 | ||
7480 | * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c. | |
7481 | * config/ia64/unwind-hpux.c: Delete. | |
7482 | ||
18272fb7 | 7483 | 2006-09-28 Eric Botcazou <ebotcazou@adacore.com> |
7484 | ||
7485 | * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr | |
7486 | on the element before gimplifying it, instead of punting if it is of | |
7487 | variable size. | |
7488 | ||
93d414c9 | 7489 | 2006-09-28 Zdenek Dvorak <dvorakz@suse.cz> |
7490 | ||
7491 | * doc/loop.texi: New file. | |
7492 | * doc/gccint.texi: Reference loop.texi. | |
7493 | * Makefile.in (loop.texi): Add. | |
7494 | ||
6a53b02d | 7495 | 2006-09-27 Geoffrey Keating <geoffk@apple.com> |
7496 | ||
7497 | * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not | |
7498 | __sysctl. | |
7499 | * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove. | |
7500 | * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove. | |
7501 | ||
8d737105 | 7502 | 2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org> |
7503 | ||
7504 | * config/sh/sh.md (divsi_inv_m0): Remove unused variable. | |
7505 | ||
112f3d57 | 7506 | 2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org> |
7507 | ||
7508 | * doc/install.texi: Document required versions of GMP and MPFR. | |
7509 | ||
cdb1295a | 7510 | 2006-09-27 Paul Brook <paul@codesourcery.com> |
7511 | ||
7512 | PR target/29230 | |
7513 | * config/arm/arm.md (arith_adjacentmem): Handle large offsets. | |
7514 | ||
595d62e9 | 7515 | 2006-09-27 Richard Sandiford <richard@codesourcery.com> |
7516 | ||
7517 | * reload1.c (alter_reg): Require the alignment of the stack slot to | |
7518 | be at least reg_max_ref_width bytes. | |
7519 | (scan_paradoxical_subregs): Record the largest width in | |
7520 | reg_max_ref_width. | |
7521 | ||
76d042ab | 7522 | 2006-09-26 Jakub Jelinek <jakub@redhat.com> |
7523 | ||
7524 | PR middle-end/25261 | |
7525 | PR middle-end/28790 | |
7526 | * tree-nested.c (struct nesting_info): Added static_chain_added. | |
7527 | (convert_call_expr): Set static_chain_added when adding static | |
7528 | chain. Handle OMP_PARALLEL and OMP_SECTION. | |
7529 | ||
abcb6ae7 | 7530 | 2006-09-25 Matthias Klose <doko@debian.org> |
7531 | ||
7532 | * doc/invoke.texi: Add missing full stop. | |
7533 | ||
8acdd6b3 | 7534 | 2006-09-25 Richard Henderson <rth@redhat.com> |
7535 | ||
7536 | * cgraph.c (dump_cgraph_varpool_node): Don't crash if called | |
7537 | before cgraph_function_flags_ready. | |
7538 | ||
4d9f13e4 | 7539 | 2006-09-24 Zdenek Dvorak <dvorakz@suse.cz> |
7540 | Adam Nemet <anemet@caviumnetworks.com> | |
7541 | ||
7542 | * tree-ssa-loop-ivopts.c (aff_combination_convert, | |
7543 | determine_common_wider_type): New functions. | |
7544 | (get_computation_aff): Use them to simplify arithmetic between | |
7545 | UBASE and CBASE if they are shortened from the same type. | |
7546 | ||
7f2a4bd2 | 7547 | 2006-09-24 Kazu Hirata <kazu@codesourcery.com> |
7548 | ||
7549 | PR target/28911 | |
7550 | * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use | |
7551 | -2147483647 - 1 instead of 0x80000000. | |
7552 | ||
64a46f56 | 7553 | 2006-09-23 Revital1 Eres <ERES@il.ibm.com> |
7554 | ||
7555 | * flags.h (HONOR_NANS): Fix typo in comment. | |
7556 | ||
eada9ddd | 7557 | 2006-09-23 Uros Bizjak <uros@kss-loka.si> |
7558 | ||
7559 | * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype. | |
7560 | ||
9369a09f | 7561 | 2006-09-23 Jakub Jelinek <jakub@redhat.com> |
7562 | ||
7563 | PR c/28706 | |
7564 | PR c/28712 | |
7565 | * tree.c (merge_attributes, attribute_list_contained): If both | |
7566 | TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of | |
7567 | simple_cst_equal. | |
7568 | * c-typeck.c (comptypes_internal): Don't consider aggregates | |
7569 | in different TUs as compatible if there one set of attributes is | |
7570 | not a subset of the other type's attributes. | |
7571 | (composite_type): Try harder not to create a new aggregate type. | |
7572 | ||
0f4f6f1c | 7573 | 2006-09-22 Geoffrey Keating <geoffk@apple.com> |
7574 | ||
852c5acb | 7575 | * config/i386/driver-i386.c: Always define host_detect_local_cpu. |
7576 | * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386 | |
7577 | or x86_64 host. Define HAVE_LOCAL_CPU_DETECT. | |
7578 | (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather | |
7579 | than replicating condition above. | |
7580 | * config.host (i[34567]86-*-*): Always use driver-i386.o. | |
7581 | ||
0f4f6f1c | 7582 | * config/darwin.h (LINK_SYSROOT_SPEC): New. |
7583 | (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to | |
7584 | the linker by default. | |
7585 | ||
70026e8a | 7586 | 2006-09-22 Mike Stump <mrs@apple.com> |
7587 | ||
7588 | * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with | |
7589 | code. | |
7590 | ||
7615883a | 7591 | 2006-09-22 Richard Guenther <rguenther@suse.de> |
7592 | ||
7593 | PR middle-end/28964 | |
7594 | * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make | |
7595 | sort of stack variables stable. | |
7596 | ||
9a28c846 | 7597 | 2006-09-22 Peter Bergner <bergner@vnet.ibm.com> |
7598 | ||
7599 | PR middle-end/28690 | |
7600 | * explow.c (force_reg): Set REG_POINTER flag according to | |
7601 | MEM_POINTER flag. | |
7602 | ||
71cfcaa2 | 7603 | 2006-09-22 Zdenek Dvorak <dvorakz@suse.cz> |
7604 | ||
7605 | PR tree-optimization/28888 | |
7606 | * tree-if-conv.c (combine_blocks): Rewritten. | |
7607 | * tree-cfg.c (tree_verify_flow_info): Check that edges with | |
7608 | EDGE_TRUE/FALSE_VALUE follow COND_EXPR. | |
7609 | ||
5a7c6119 | 7610 | 2006-09-22 Jakub Jelinek <jakub@redhat.com> |
7611 | ||
7612 | * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if | |
7613 | needed. | |
7614 | ||
9357a254 | 7615 | 2006-09-21 Richard Sandiford <richard@codesourcery.com> |
7616 | ||
7617 | * varasm.c (copy_constant): Fix reversed gcc_assert check. | |
7618 | ||
5d820dff | 7619 | 2006-09-21 Janis Johnson <janis187@us.ibm.com> |
7620 | ||
7621 | * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins. | |
7622 | ||
3036ecbe | 7623 | 2006-09-21 Roger Sayle <roger@eyesopen.com> |
7624 | ||
7625 | PR debug/29132 | |
7626 | * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label, | |
7627 | dw_fde_current_label, to be the start of the function, i.e. the same | |
7628 | value as dw_fde_begin. | |
7629 | ||
15ea25ad | 7630 | 2006-09-20 Richard Sandiford <richard@codesourcery.com> |
7631 | ||
7632 | * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete. | |
7633 | * config/mips/mips.md (UNSPEC_ABS_PS): New constant. | |
7634 | (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2) | |
7635 | (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1. | |
7636 | (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS. | |
7637 | (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise. | |
7638 | (abs<mode>2, neg<mode>2): Likewise. | |
7639 | * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand. | |
7640 | (*mips_abs_ps): New define_insn. | |
7641 | ||
dee3c9dd | 7642 | 2006-09-20 Josh Conner <jconner@apple.com> |
7643 | ||
7644 | PR middle-end/25505 | |
7645 | * calls.c (expand_call): Allow reuse of structure return stack | |
7646 | temp. | |
7647 | ||
a341fc0c | 7648 | 2006-09-20 Paul Brook <paul@codesourcery.com> |
7649 | ||
a341fc0c | 7650 | * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for |
7651 | positive offsets. | |
7652 | ||
cded8ad2 | 7653 | 2006-09-20 Janis Johnson <janis187@us.ibm.com> |
7654 | ||
7655 | * doc/extend.texi (Decimal Float): Update for latest draft TR, | |
7656 | clean up terminology. | |
7657 | ||
fa4578c6 | 7658 | 2006-09-20 Steve Ellcey <sje@cup.hp.com> |
7659 | ||
7660 | PR target/28574 | |
7661 | * ifcvt.c (dead_or_predicable): Don't predicate then blocks | |
7662 | with tablejumps in them. | |
7663 | ||
eaa3785f | 7664 | 2006-09-20 Jakub Jelinek <jakub@redhat.com> |
7665 | ||
7666 | PR middle-end/28046 | |
7667 | * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough, | |
7668 | wrap it into TARGET_EXPR. | |
7669 | ||
99efba31 | 7670 | 2006-09-20 Eric Christopher <echristo@apple.com> |
7671 | ||
7672 | * config/i386/i386.c (x86_fisttp): Remove. | |
7673 | * config/i386/i386.h (x86_fisttp): Ditto. | |
7674 | (TARGET_FISTTP): Ditto. | |
7675 | ||
6db57367 | 7676 | 2006-09-19 Eric Christopher <echristo@apple.com> |
7677 | ||
7678 | * doc/tm.texi (OBJC_JBLEN): Describe. | |
7679 | * config/i386/darwin.h (OBJC_JBLEN): Define. | |
7680 | * config/rs6000/darwin.h: Ditto. | |
7681 | ||
1b575dc7 | 7682 | 2006-09-19 Steven Bosscher <steven@gcc.gnu.org> |
7683 | ||
7684 | PR rtl-optimization/21299 | |
7685 | * reload1.c (reload): Purge invalid ASMs in the final pass. | |
7686 | ||
27ab60b9 | 7687 | 2006-09-19 Steve Ellcey <sje@cup.hp.com> |
7688 | ||
7689 | PR 28490 | |
7690 | * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function | |
7691 | pointers as legitimate constants. | |
7692 | ||
d105e3e2 | 7693 | 2006-09-19 Paul Brook <paul@codesourcery.com> |
7694 | ||
7695 | PR target/28516 | |
7696 | * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const. | |
7697 | ||
6dce7ee9 | 7698 | 2006-09-17 Zdenek Dvorak <dvorakz@suse.cz> |
7699 | ||
7700 | PR tree-optimization/28887 | |
7701 | * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable | |
7702 | component parts from the reference. | |
7703 | (gather_memory_references_ref): Record the reference without the | |
7704 | nonaddressable component parts. | |
7705 | ||
bc7ab021 | 7706 | 2006-09-17 Steven Bosscher <steven@gcc.gnu.org> |
7707 | ||
7708 | PR c/25993 | |
7709 | * c-opts.c (c_common_handle_option): Ignore the -std options | |
7710 | if the input language is assembly. | |
7711 | ||
e6c961dd | 7712 | 2006-09-17 Ira Rosen <irar@il.ibm.com> |
7713 | ||
467bcbd9 | 7714 | PR tree-opt/21591 |
e6c961dd | 7715 | * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory |
467bcbd9 | 7716 | tag first. |
7717 | (ptr_ptr_may_alias_p): Likewise. | |
7718 | (record_record_differ_p): New function. | |
7719 | (base_object_differ_p): Call record_record_differ_p. | |
e6c961dd | 7720 | |
f5911bbe | 7721 | 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu> |
7722 | ||
7723 | PR tree-opt/29059 | |
7724 | * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right | |
7725 | away for the expr argument. | |
7726 | ||
5be4eedf | 7727 | 2006-09-16 Steven Bosscher <steven@gcc.gnu.org> |
7728 | ||
f5911bbe | 7729 | PR tree-opt/27742 |
5be4eedf | 7730 | * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location |
7731 | before using it for dumping after vectorizing loops. | |
7732 | ||
f5911bbe | 7733 | 2006-09-16 Andrew Pinski <pinskia@physics.uc.edu> |
7734 | Jack Howarth <howarth@bromo.med.uc.edu> | |
aa8b5d07 | 7735 | |
7736 | PR target/29030 | |
7737 | * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse) | |
7738 | skip on error_mark_node. | |
7739 | (rs6000_darwin64_record_arg_recurse): Likewise. | |
7740 | ||
0d26f707 | 7741 | 2006-09-16 Steven Bosscher <steven@gcc.gnu.org> |
7742 | ||
7743 | * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove. | |
7744 | * doc/rtl.texi: Remove related documentation. | |
7745 | ||
2ce55c0b | 7746 | 2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com> |
7747 | ||
7748 | * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging | |
7749 | printf. | |
7750 | ||
1a29d5df | 7751 | 2006-09-15 Jim Wilson <wilson@specifix.com> |
7752 | ||
7753 | * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST): | |
7754 | Handle symbol offsets same as they are handled in ia64_expand_move | |
7755 | and move_operand. | |
7756 | ||
9cab63d0 | 7757 | 2006-09-16 Andreas Tobler <a.tobler@schweiz.org> |
7758 | ||
7759 | * loop-doloop.c (doloop_optimize): Change type of max_cost to int. | |
7760 | Add forgotten parameter to the fprintf call. | |
7761 | ||
066cf272 | 7762 | 2006-09-15 Steve Ellcey <sje@cup.hp.com> |
7763 | ||
7764 | * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define. | |
7765 | ||
35ca3ada | 7766 | 2006-09-15 Uros Bizjak <uros@kss-loka.si> |
7767 | ||
7768 | * doc/contrib.texi: Add my entry. | |
7769 | ||
c2a5aadd | 7770 | 2006-09-15 Nick Clifton <nickc@redhat.com> |
7771 | ||
7772 | * doc/md.texi (Processor pipeline description): Fix typo in | |
7773 | example of how to use the absence_set directive and reword the | |
7774 | description to make it slightly easier to read. | |
7775 | ||
2ce55c0b | 7776 | 2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com> |
883bb2bb | 7777 | |
7778 | * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New. | |
7779 | * loop-doloop.c (doloop_optimize): Use it to limit costs of | |
7780 | expanding the number of iterations. | |
ff7e43ad | 7781 | * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD. |
883bb2bb | 7782 | |
aa02fa19 | 7783 | * cfgrtl.c (emit_insn_at_entry): New function. |
7784 | * rtl.h (emit_insn_at_entry): Declare it. | |
7785 | * integrate.c (emit_initial_value_sets): Use it. | |
7786 | ||
1db61145 | 7787 | * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort. |
7788 | ||
e82f36f5 | 7789 | * config/bfin/bfin.c (struct loop_info): New members block_bitmap and |
7790 | bad. | |
7791 | (struct loop_work and related VEC declarations): Delete. | |
7792 | (bfin_dump_loops): Print out new member bad. | |
7793 | (bfin_bb_in_loop): Use plain bitmap test. Don't recurse. | |
7794 | (bfin_scan_loop): Don't recurse. | |
7795 | (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad | |
7796 | loops. No longer need to update outer loops if the current one is | |
7797 | found bad. Move some validitiy checks to bfin_discover_loop. | |
7798 | (bfin_discover_loop): New function, mostly split from bfin_reorg_loops, | |
7799 | but changed not to check for nesting. Also changed to use the new bad | |
7800 | flag. | |
7801 | (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a | |
7802 | time. Use bitmap based test to discover loop nesting. | |
7803 | ||
f9c7c7fb | 7804 | 2006-09-15 Kazu Hirata <kazu@codesourcery.com> |
7805 | ||
7806 | * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in | |
7807 | one line. | |
7808 | ||
62419968 | 7809 | 2006-09-14 Richard Guenther <rguenther@suse.de> |
7810 | Kazu Hirata <kazu@codesourcery.com> | |
7811 | ||
7812 | PR middle-end/28884. | |
7813 | * doc/tm.texi (TARGET_FUNCTION_VALUE): Document. | |
7814 | (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate. | |
7815 | Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE | |
7816 | with TARGET_FUNCTION_VALUE. | |
7817 | ||
7882a2f9 | 7818 | 2006-09-14 Anatoly Sokolov <aesok@post.ru> |
7819 | ||
7820 | PR target/26504 | |
7821 | * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define. | |
7822 | ||
09fa572c | 7823 | 2006-09-13 Aldy Hernandez <aldyh@redhat.com> |
7824 | ||
467bcbd9 | 7825 | * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand |
7826 | of a RETURN_EXPR | |
09fa572c | 7827 | |
cfdab332 | 7828 | 2006-09-13 Andrew Pinski <pinskia@physics.uc.edu> |
7829 | ||
7830 | PR debug/28980 | |
7831 | * dwarf2out.c (loc_descriptor_from_tree_1): Handle | |
7832 | FUNCTION_DECL. | |
7833 | ||
a5517fc0 | 7834 | 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com> |
7835 | ||
7836 | * basic_block.h (bb_has_eh_pred): Fix comment. | |
7837 | ||
467b5d37 | 7838 | 2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com> |
7839 | ||
7840 | * flow.c (calculate_global_regs_live): Invalidate eh registers | |
7841 | on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge. | |
7842 | (propagate_block): Handle eh registers as if they were set at basic | |
7843 | block start. | |
7844 | * except.c (dw2_build_landing_pads): Don't emit clobbers for eh | |
7845 | registers. | |
7846 | * global.c (global_conflicts): Make eh registers to conflict with | |
7847 | pseudos live at basic block begin. | |
7848 | * basic_block.h (bb_has_eh_pred): New function. | |
7849 | ||
23c79c0f | 7850 | 2006-09-13 Richard Sandiford <richard@codesourcery.com> |
7851 | ||
7852 | PR rtl-optimization/28982 | |
7853 | * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the | |
7854 | index of a PRE_MODIFY or POST_MODIFY address. | |
7855 | * reload1.c (inc_for_reload): Use find_replacement on the original | |
7856 | base and index registers. | |
7857 | ||
dd7bdc90 | 7858 | 2006-09-12 H.J. Lu <hongjiu.lu@intel.com> |
7859 | ||
7860 | * doc/invoke.texi (mpreferred-stack-boundary): Remove exception | |
7861 | for -Os. Update __m128 alignment requirement. | |
7862 | ||
8a14140c | 7863 | 2006-09-13 Jan Hubicka <jh@suse.cz> |
7864 | ||
7865 | * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic. | |
7866 | ||
ac24e06b | 7867 | 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr> |
7868 | ||
7869 | PR rtl-optimization/28243 | |
7870 | * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past | |
7871 | the insn to which the note was originally attached. | |
7872 | ||
62435250 | 7873 | 2006-09-12 Andrew Pinski <pinskia@physics.uc.edu> |
7874 | Roger Sayle <roger@eyesopen.com> | |
7875 | ||
7876 | * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration | |
7877 | outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure | |
7878 | on platforms that don't use dwarf for debug info. | |
7879 | ||
5a1c3f40 | 7880 | 2006-09-12 Jason Merrill <jason@redhat.com> |
7881 | ||
7882 | PR middle-end/28493 | |
7883 | * builtins.c (expand_builtin_setjmp_receiver): Clobber | |
7884 | hard_frame_pointer_rtx after using it to update the frame pointer. | |
7885 | ||
6e2ff8f8 | 7886 | 2006-09-12 Roger Sayle <roger@eyesopen.com> |
7887 | ||
7888 | * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef. | |
7889 | (TARGET_ASM_CLOSE_PAREN): Likewise. | |
7890 | * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define. | |
7891 | (TARGET_ASM_CLOSE_PAREN): Likewise. | |
7892 | ||
6dbdfeeb | 7893 | 2006-09-12 Roger Sayle <roger@eyesopen.com> |
7894 | ||
7895 | PR target/22223 | |
7896 | * config/alpha/alpha.c (alpha_start_function): Don't emit stack | |
7897 | frame information for frames larger than 512 Kbytes on Tru64 when | |
7898 | using the native assembler. | |
7899 | ||
9ab183e3 | 7900 | 2006-09-12 Roger Sayle <roger@eyesopen.com> |
7901 | ||
7902 | PR middle-end/4520 | |
7903 | PR bootstrap/28784 | |
7904 | * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels | |
7905 | and symbols. Instead use the implementation from cse.c's hash_rtx. | |
7906 | ||
8fde4b5b | 7907 | 2006-09-12 Jan Hubicka <jh@suse.cz> |
7908 | ||
7909 | PR rtl-optimization/28071 | |
7910 | * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast. | |
7911 | (vect_transform_loop): Likewise. | |
7912 | * tree-vectorizer.c (new_loop_vec_info): Likewise. | |
7913 | (new_loop_vec_info): Likewise. | |
7914 | (destroy_loop_vec_info): Likewise. | |
7915 | * tree-dfa.c (create_var_ann): Use GCC_CNEW. | |
7916 | (create_stmt_ann): Likewise. | |
7917 | (create_tree_ann): Rename to ... | |
7918 | (create_tree_common_ann): ... this one; allocate only the common part | |
7919 | of annotations. | |
7920 | * tree-vn.c (set_value_handle): Use get_tree_common_ann. | |
7921 | (get_value_handle): Likewise. | |
7922 | * tree-ssa-pre.c (phi_translate): Delay annotation allocation for | |
7923 | get_tree_common_ann. | |
7924 | * tree-vectorizer.h (set_stmt_info): Take stmt annotation. | |
7925 | (vinfo_for_stmt): Use stmt annotations. | |
7926 | * tree-flow.h (tree_ann_common_t): New type. | |
7927 | (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New. | |
7928 | (tree_ann, get_tree_ann, create_tree_ann): New. | |
7929 | * tree-flow-inline.h (get_function_ann): Do more type checking. | |
7930 | (stmt_ann): Likewise. | |
7931 | (tree_ann): Rename to ... | |
7932 | (tree_common_ann): ... this one; return ony common_ann | |
7933 | (get_tree_ann): Rename to ... | |
7934 | (tree_common_ann): This one; return only common_ann. | |
7935 | * tree-vect-patterns.c (vect_pattern_recog_1): Update call | |
7936 | of set_stmt_info. | |
7937 | ||
69278c24 | 7938 | 2006-09-11 Geoffrey Keating <geoffk@apple.com> |
7939 | ||
a5efd1bc | 7940 | * config.gcc (i[34567]86-*-darwin*): Set with_arch and |
7941 | with_cpu by default. | |
7942 | ||
69278c24 | 7943 | * dwarf2out.c (dwarf_file_data): New. |
7944 | (enum dw_val_class): Add dw_val_class_file. | |
7945 | (struct dw_val_struct): Add val_file. | |
7946 | (file_table): Change to a hash table. | |
7947 | (file_table_emitted): Delete. | |
7948 | (file_table_last_lookup_index): Delete. | |
7949 | (emitcount): Delete. | |
7950 | (last_emitted_file): New. | |
7951 | (lookup_filename): Change prototype to return a struct dwarf_file_data. | |
7952 | (init_file_table): Delete. | |
7953 | (maybe_emit_file): Change prototype to take a struct dwarf_file_data. | |
7954 | (AT_addr): Add comment. | |
7955 | (add_AT_file): New. | |
7956 | (AT_file): New. | |
7957 | (get_AT_file): New. | |
7958 | (print_die): Handle dw_val_class_file. | |
7959 | (print_dwarf_line_table): Update for new file table structure. | |
7960 | (attr_checksum): Do checksum a filename. | |
7961 | (same_dw_val_p, same_attr_p): Do compare a filename. | |
7962 | (size_of_die): Handle dw_val_class_file. | |
7963 | (value_format): Likewise. | |
7964 | (output_die): Likewise. Also, call maybe_emit_file here. | |
7965 | (struct file_info): Constify filenames. Make file_idx a pointer | |
7966 | to a struct dwarf_file_data. | |
7967 | (struct dir_info): Constify directory names. Remove 'used' field. | |
7968 | (struct file_name_acquire_data): New. | |
7969 | (file_name_acquire): New. | |
7970 | (output_file_names): Modify to handle new file data structures. | |
7971 | (add_src_coords_attributes): Use add_AT_file. | |
7972 | (add_call_src_coords_attributes): Likewise. | |
7973 | (dwarf2out_imported_module_or_decl): Likewise. | |
7974 | (gen_subprogram_die): Modify for new file data structures. | |
7975 | (gen_variable_die): Likewise. | |
7976 | (file_table_eq): New. | |
7977 | (file_table_hash): New. | |
7978 | (file_table_last_lookup): New. | |
7979 | (lookup_filename): Rewrite to handle new file data structures. | |
7980 | (maybe_emit_file): Rewrite to handle new file data structures. | |
7981 | (dwarf2out_source_line): Always call lookup_filename and | |
7982 | maybe_emit_file. | |
7983 | (dwarf2out_init): Create file_table here. | |
7984 | (prune_unused_types_walk_attribs): Don't call maybe_emit_file here. | |
7985 | (file_table_relative_p): New. | |
7986 | (dwarf2out_finish): Change detection of relative filenames | |
7987 | to work with new file data structures. Move output_line_info call | |
7988 | after debug_info output. | |
7989 | ||
fc5c8662 | 7990 | 2006-09-11 H.J. Lu <hongjiu.lu@intel.com> |
7991 | ||
7992 | PR target/13685 | |
7993 | PR target/27537 | |
7994 | PR target/28621 | |
7995 | * config/i386/i386.c (override_options): Always default to 16 | |
7996 | byte stack boundary. | |
7997 | ||
2a964ec6 | 7998 | 2006-09-11 Alexandre Oliva <aoliva@redhat.com> |
7999 | ||
8000 | PR target/28672 | |
8001 | * var-tracking.c (dump_dataflow_set): Start dumping at | |
8002 | register zero. | |
8003 | (clobber_variable_part): Kill only the variable part in | |
8004 | registers holding it, leaving other variables alone. | |
8005 | ||
57bcf24d | 8006 | 2006-09-11 Josh Triplett <josh@freedesktop.org> |
8007 | ||
8008 | * doc/extend.texi (Other Builtins): Actually use the macro | |
8009 | argument in the documentation example for | |
8010 | __builtin_types_compatible_p. | |
8011 | ||
8ad6f16d | 8012 | 2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr> |
8013 | ||
8014 | PR rtl-optimization/28726 | |
8015 | * sched-deps.c (sched_analyze_reg): New function extracted from... | |
8016 | (sched_analyze_1): ...here. Call it to analyze references to | |
8017 | registers. Treat again writes to a stack register as writing to the | |
8018 | register. | |
8019 | (sched_analyze_2): ...and here. Call it to analyze references to | |
8020 | registers. Treat again reads of a stack register as reading the | |
8021 | register. | |
8022 | ||
73f4dbb0 | 8023 | 2006-09-11 Guenter Roeck <guenter@roeck-us.net> |
8024 | David Edelsohn <edelsohn@gnu.org> | |
8025 | ||
8026 | PR target/27287 | |
8027 | * config/rs6000/spe.md (frob_df_di): Remove %H. | |
8028 | (frob_di_df): Remove %H. Change evmergelo to mr. | |
8029 | (frob_di_df_2): Remove %H. Change evldd to two loads. | |
8030 | ||
39d6b9c8 | 8031 | 2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp> |
8032 | ||
8033 | * doc/cpp.texi: Fix names of charset options. | |
8034 | ||
d0e3a920 | 8035 | 2006-09-10 Andrew Pinski <pinskia@physics.uc.edu> |
8036 | ||
8037 | PR target/29009 | |
8038 | * config/i386/i386.c (override_options): Use 128-bit | |
8039 | stack boundary always for 64bits. | |
8040 | ||
7bb0bd01 | 8041 | 2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr> |
8042 | ||
8043 | PR rtl-optimization/28636 | |
8044 | * combine.c (force_to_mode): Test for side-effects before | |
8045 | substituting by zero. | |
8046 | (simplify_shift_const): Likewise for zero or other constants. | |
8047 | ||
32acc84a | 8048 | 2006-09-10 Steven Bosscher <steven@gcc.gnu.org> |
8049 | ||
8050 | PR middle-end/26983 | |
8051 | * builtins.c (expand_builtin_setjmp): Force next_lab to be | |
8052 | preserved. | |
8053 | ||
ee116d2b | 8054 | 2006-09-10 Richard Sandiford <richard@codesourcery.com> |
8055 | ||
8056 | PR target/29006 | |
8057 | * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare. | |
8058 | * config/mips/mips.c (mips_expand_unaligned_store): Use the mode | |
8059 | returned by mode_for_size, rather than the mode of src itself, | |
8060 | to choose between 32-bit and 64-bit patterns. | |
8061 | (mips_mem_fits_mode_p): New function. | |
8062 | * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check | |
8063 | that the size of the source matches the size of the destination. | |
8064 | (mov_<store>l, mov_<store>r): Likewise. | |
8065 | ||
2805e80b | 8066 | 2006-09-10 Eric Christopher <echristo@apple.com> |
8067 | ||
8068 | * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR | |
8069 | for literal16. | |
8070 | ||
7463cbdf | 8071 | 2006-09-09 Eric Christopher <echristo@apple.com> |
8072 | ||
8073 | PR target/28995 | |
8074 | * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT | |
8075 | for literal16. | |
8076 | ||
bea04f76 | 8077 | 2006-09-09 Roger Sayle <roger@eyesopen.com> |
8078 | Nicolas Setton <setton@adacore.com> | |
8079 | ||
8080 | * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc. | |
8081 | ||
71a703eb | 8082 | 2006-09-10 Andreas Schwab <schwab@suse.de> |
8083 | ||
8084 | * config/m68k/m68k.md (bungt_rev): New pattern. | |
8085 | ||
8ee7afab | 8086 | 2006-09-09 Paolo Bonzini <bonzini@gnu.org> |
8087 | Dale Johannesen <dalej@apple.com> | |
8088 | ||
8089 | PR target/26778 | |
8090 | * regclass.c (struct reg_pref): Update documentation. | |
8091 | (regclass): Set prefclass to NO_REGS if memory is the best option. | |
8092 | (record_reg_classes): Cope with a prefclass set to NO_REGS. | |
8093 | ||
3ebc7dec | 8094 | 2006-09-08 Eric Christopher <echristo@apple.com> |
8095 | ||
8096 | * config.gcc (i?86-*-darwin): Add 64-bit HWI support. | |
8097 | * config/t-slibgcc-darwin: Support x86_64 multilib. | |
8098 | * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): | |
8099 | Return 1 for x86_64-darwin. | |
8100 | * config/i386/t-darwin: Add m64 multilib. | |
8101 | (LIB2_SIDITI_CONV_FUNCS): Use. | |
8102 | (LIB2FUNCS_EXTRA): Ditto. | |
8103 | * config/i386/darwin.h: Support x86_64. | |
8104 | * config/i386/i386.c (override_options): Turn on flag_pic | |
8105 | for x86_64-darwin. Disable flag_omit_pointer. | |
8106 | (get_pc_thunk_name): Assert !TARGET_64BIT. | |
8107 | (legitimate_address_p): Disable machopic addressing for | |
8108 | x86_64. | |
8109 | (legitimize_pic_address): Ditto. | |
8110 | (ix86_expand_move): Ditto. | |
8111 | (ix86_expand_call): Ditto. | |
8112 | (machopic_output_stub): Ditto. | |
8113 | * config/darwin.c (machopic_select_section): Support literal16. | |
8114 | (machopic_select_rtx_section): Ditto. | |
8115 | * config/darwin-sections.def: Ditto. | |
8116 | * config/darwin-64.c: New. | |
8117 | ||
2e3bc123 | 8118 | 2006-09-08 Joseph S. Myers <joseph@codesourcery.com> |
8119 | ||
8120 | PR c/28504 | |
8121 | * c-tree.h (struct c_arg_info): Add pending_sizes. | |
8122 | * c-parser.c (c_parser_parms_declarator, | |
8123 | c_parser_parms_list_declarator): Initialize pending_sizes. | |
8124 | * c-decl.c (get_parm_info): Initialize pending_sizes. | |
8125 | (get_parm_info): Set pending_sizes. | |
8126 | (grokdeclarator): Call put_pending_sizes for parameters for | |
8127 | function definition only. | |
8128 | ||
88cea5cf | 8129 | 2006-09-07 Jason Merrill <jason@redhat.com> |
8130 | ||
f3fd6db7 | 8131 | PR middle-end/27724 |
8132 | * varasm.c (output_constant): Only strip actual no-op conversions. | |
8133 | ||
88cea5cf | 8134 | PR target/13685 |
8135 | * config/i386/i386.c (override_options): Use 128-bit | |
8136 | stack boundary if -msse. | |
8137 | ||
ddb2c0eb | 8138 | 2006-09-07 Eric Christopher <echristo@apple.com> |
8139 | ||
8140 | * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update | |
8141 | comment. | |
8142 | * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): | |
8143 | Redefine. | |
8144 | ||
85fdc672 | 8145 | 2006-09-07 Geoffrey Keating <geoffk@apple.com> |
8146 | ||
8147 | * dwarf2out.c: Remove strange characters from comment above | |
8148 | dwarf2out_frame_debug_expr. | |
8149 | ||
2e55afeb | 8150 | 2006-09-07 Eric Christopher <echristo@apple.com> |
8151 | ||
8152 | * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here... | |
8153 | * config/darwin.h: ... to here. | |
8154 | ||
bb758671 | 8155 | 2006-09-07 H.J. Lu <hongjiu.lu@intel.com> |
8156 | ||
8157 | * config/i386/i386.c (x86_partial_flag_reg_stall): New. | |
8158 | ||
8159 | * config/i386/i386.h (x86_partial_flag_reg_stall): New. | |
8160 | (TARGET_PARTIAL_FLAG_REG_STALL): New. | |
8161 | ||
8162 | * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for | |
8163 | TARGET_PARTIAL_FLAG_REG_STALL. | |
8164 | (*ashldi3_cconly_rex64): Likewise. | |
8165 | (*ashlsi3_cmp): Likewise. | |
8166 | (*ashlsi3_cconly): Likewise. | |
8167 | (*ashlsi3_cmp_zext): Likewise. | |
8168 | (*ashlhi3_cmp): Likewise. | |
8169 | (*ashlhi3_cconly): Likewise. | |
8170 | (*ashlqi3_cmp): Likewise. | |
8171 | (*ashlqi3_cconly): Likewise. | |
8172 | (*ashrdi3_cmp_rex64): Likewise. | |
8173 | (*ashrdi3_cconly_rex64): Likewise. | |
8174 | (*ashrsi3_cmp): Likewise. | |
8175 | (*ashrsi3_cconly): Likewise. | |
8176 | (*ashrsi3_cmp_zext): Likewise. | |
8177 | (*ashrhi3_cmp): Likewise. | |
8178 | (*ashrhi3_cconly): Likewise. | |
8179 | (*ashrqi3_cmp): Likewise. | |
8180 | (*ashrqi3_cconly): Likewise. | |
8181 | (*lshrdi3_cmp_rex64): Likewise. | |
8182 | (*lshrdi3_cconly_rex64): Likewise. | |
8183 | (*lshrsi3_cmp): Likewise. | |
8184 | (*lshrsi3_cconly): Likewise. | |
8185 | (*lshrsi3_cmp_zext): Likewise. | |
8186 | (*lshrhi3_cmp): Likewise. | |
8187 | (*lshrhi3_cconly): Likewise. | |
8188 | (*lshrqi2_cmp): Likewise. | |
8189 | (*lshrqi2_cconly): Likewise. | |
8190 | ||
062db9f3 | 8191 | 2006-09-07 Uros Bizjak <uros@kss-loka.si> |
8192 | ||
8193 | PR target/28946 | |
8194 | * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly", | |
8195 | "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64", | |
8196 | "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly", | |
8197 | "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly", | |
8198 | "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly", | |
8199 | "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64", | |
8200 | "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly", | |
8201 | "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly", | |
8202 | "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to | |
8203 | implement only CC setting effects of shift instructions. | |
8204 | ||
c69dbba0 | 8205 | 2006-09-07 Martin Michlmayr <tbm@cyrius.com> |
8206 | ||
8207 | * doc/contrib.texi: Add myself. | |
8208 | ||
950474d6 | 8209 | 2006-09-07 Andrew Pinski <pinskia@physics.uc.edu> |
8210 | ||
8211 | PR middle-end/28862 | |
8212 | * stor-layout.c (relayout_decl): Don't zero the alignment if it | |
8213 | was set by the user. | |
8214 | ||
15256eba | 8215 | 2006-09-07 Paolo Bonzini <bonzini@gnu.org> |
8216 | ||
8217 | PR target/27117 | |
8218 | * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns. | |
8219 | (divsi_inv_m1): Use them. | |
8220 | (UNSPEC_DIV_INV_TABLE): New constant. | |
8221 | ||
34c971f6 | 8222 | 2006-09-06 James E Wilson <wilson@specifix.com> |
8223 | ||
8224 | PR rtl-opt/27883 | |
8225 | * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES | |
8226 | then call count_or_remove_death_notes. | |
8227 | ||
25b3017b | 8228 | 2006-09-06 Jason Merrill <jason@redhat.com> |
8229 | ||
8230 | PR c++/27371 | |
8231 | * tree-inline.c (copy_result_decl_to_var): New fn. | |
8232 | (declare_return_variable): Use it. Call declare_inline_vars here. | |
8233 | (expand_call_inline): Not here. | |
8234 | ||
959fee9a | 8235 | 2006-09-06 Diego Novillo <dnovillo@redhat.com> |
8236 | ||
8237 | * doc/contrib.texi: Update my entry. | |
8238 | ||
f003f386 | 8239 | 2006-09-06 Nick Clifton <nickc@redhat.com> |
8240 | ||
8241 | * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define. | |
8242 | ||
4c641bf8 | 8243 | 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu> |
8244 | ||
8245 | PR tree-opt/28937 | |
8246 | * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int. | |
8247 | (canonicalize_induction_variables): Likewise. | |
8248 | (tree_unroll_loops_completely): Likewise. | |
8249 | (tree_ssa_prefetch_arrays): Likewise. | |
8250 | (remove_empty_loops): Likewise. | |
8251 | * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return | |
8252 | TODO_cleanup_cfg instead of directly calling | |
8253 | cleanup_tree_cfg_loop. | |
8254 | * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): | |
8255 | Likewise. | |
8256 | (tree_unroll_loops_completely): Likewise. | |
8257 | (remove_empty_loops): Likewise. | |
8258 | * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise. | |
8259 | * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value | |
8260 | of tree_ssa_unswitch_loops. | |
8261 | (tree_ssa_loop_ivcanon): Use the return value of | |
8262 | canonicalize_induction_variables. | |
8263 | (tree_ssa_empty_loop): Use the return value of | |
8264 | remove_empty_loops. | |
8265 | (tree_complete_unroll): Use the return value of | |
8266 | tree_unroll_loops_completely. | |
8267 | (tree_ssa_loop_prefetch): Use the return value of | |
8268 | tree_ssa_prefetch_arrays. | |
8269 | * passes.c (execute_todo): Before Cleanup CFG, set | |
8270 | updating_used_alone and after cleanup CFG, call | |
8271 | recalculate_used_alone. | |
8272 | ||
4ff650b4 | 8273 | 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu> |
8274 | ||
8275 | PR tree-opt/28952 | |
8276 | * tree-vect-transform.c (vectorizable_condition): Move the check | |
8277 | for the type after the check for simple condition. | |
8278 | ||
9e236a59 | 8279 | 2006-09-05 J"orn Rennecke <joern.rennecke@st.com> |
8280 | Kaz Kojima <kkojima@gcc.gnu.org> | |
8281 | ||
8282 | PR target/28764 | |
8283 | * mode-switching.c (optimize_mode_switching): Make the destination | |
8284 | block of an abnormal edge have no anticipatable mode. Don't | |
8285 | insert mode switching code at the end of the source block of | |
8286 | an abnormal edge. | |
8287 | ||
8d7243cc | 8288 | 2006-09-05 Paolo Bonzini <bonzini@gnu.org> |
8289 | ||
8290 | PR rtl-optimization/26847 | |
8291 | * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix. | |
8292 | (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno. | |
8293 | (simplify_plus_minus): Count n_constants while filling ops. Replace | |
8294 | qsort with insertion sort. Before going through the array to simplify | |
8295 | pairs, sort it. Delay early exit until after the first sort, exiting | |
8296 | only if no swaps occurred. Simplify pairs in reversed order, without | |
8297 | special-casing the first iteration. Pack ops after simplifying pairs. | |
8298 | ||
8299 | 2006-09-05 Anatoly Sokolov <aesok@post.ru> | |
79fe0612 | 8300 | |
4ff650b4 | 8301 | * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device. |
8302 | * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). | |
8303 | * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). | |
8304 | (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED. | |
79fe0612 | 8305 | |
2228ea8f | 8306 | 2006-09-05 Richard Guenther <rguenther@suse.de> |
8307 | ||
8308 | PR tree-optimization/28900 | |
8309 | * tree-if-conv.c (find_phi_replacement_condition): Gimplify | |
8310 | compound conditional before creating COND_EXPR condition. | |
8311 | ||
fd2730c0 | 8312 | 2006-09-05 Richard Guenther <rguenther@suse.de> |
8313 | ||
8314 | PR tree-optimization/28905 | |
8315 | * tree-vrp.c (fix_equivalence_set): Manually implement | |
8316 | !value_ranges_intersect_p to also handle symbolic ranges. | |
8317 | ||
bb8a9715 | 8318 | 2006-09-05 Richard Guenther <rguenther@suse.de> |
8319 | ||
8320 | PR middle-end/28935 | |
8321 | * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition | |
8322 | of a COND_EXPR. | |
8323 | ||
8f353ea8 | 8324 | 2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
8325 | ||
8326 | PR rtl-optimization/27616 | |
8327 | * cse.c (table_size): New static variable. | |
8328 | (new_basic_block): Initialize it to 0. | |
8329 | (remove_from_table): Decrement it. | |
8330 | (insert): Increment it. | |
8331 | (fold_rtx_mem_1): New function, renamed from fold_rtx_mem. | |
8332 | (fold_rtx_mem): Enforce a cap on the recursion depth. Call | |
8333 | fold_rtx_mem_1 if under the cap. | |
8334 | (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little | |
8335 | the lookup of the equivalent expression and test for equality of the | |
8336 | first operand of the equivalent expression before in turn looking up | |
8337 | an equivalent constant for the second operand. | |
8338 | ||
46b2b3c8 | 8339 | 2006-09-02 Geoffrey Keating <geoffk@apple.com> |
8340 | ||
8341 | Revert this change: | |
8342 | 2006-03-17 Alexandre Oliva <aoliva@redhat.com> | |
8343 | * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack | |
8344 | pointer, instead of assuming it is possible to derive the | |
8345 | correct args size from a call insn. | |
8346 | ||
4f46f2b9 | 8347 | 2006-09-02 Jakub Jelinek <jakub@redhat.com> |
8348 | ||
8349 | PR middle-end/27567 | |
8350 | * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove. | |
8351 | (fold_builtin_mempcpy): Rename to... | |
8352 | (fold_builtin_memory_op): ... this. Optimize one element copy | |
8353 | into an assignment. | |
8354 | (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New | |
8355 | functions. | |
8356 | (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR. | |
8357 | (expand_builtin_memcpy, expand_builtin_mempcpy, | |
8358 | expand_builtin_memmove): Likewise. Use fold_builtin_memory_op. | |
8359 | (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and | |
8360 | BUILT_IN_BCOPY. Use fold_builtin_memory_op for | |
8361 | BUILT_IN_MEM{CPY,PCPY,MOVE}. | |
8362 | ||
3d594561 | 8363 | 2006-09-01 DJ Delorie <dj@redhat.com> |
8364 | ||
8365 | * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload. | |
8366 | (stzx_16): Likewise. | |
8367 | ("stzx_24_<mode>"): Likewise. | |
8368 | ("stzx_reversed_<mode>"): Likewise, and make mode-specific. | |
8369 | ("cmp<mode>_op"): New. | |
8370 | (cmp<mode>): Change to expander; just save operands. | |
8371 | (b<code>_op): New. | |
8372 | (b<code>): Change to expander, emit compare here. | |
8373 | (s<code>_op): Change to use split and expander. | |
8374 | (s<code>_24_op): Likewise. | |
8375 | (s<code>_<mode>): New. | |
8376 | (s<code>_<mode>_24): New. | |
8377 | (movqicc_<code>_<mode): New. | |
8378 | (movhicc_<code>_<mode>): New. | |
8379 | (s<code>): New. | |
8380 | (s<code>_24): New. | |
8381 | * config/m32c/m32c.c (compare_op0, compare_op1): New. | |
8382 | (m32c_pend_compare): New. | |
8383 | (m32c_unpend_compare): New. | |
8384 | (m32c_expand_scc): New. | |
8385 | (m32c_expand_movcc): Emit the compare also. | |
8386 | * config/m32c/predicates.md (mra_nopp_operand): New. | |
8387 | ||
d2df7679 | 8388 | 2006-09-01 J"orn Rennecke <joern.rennecke@st.com> |
8389 | Richard Guenther <rguenther@suse.de> | |
8390 | Adam Nemet <anemet@caviumnetworks.com> | |
8391 | ||
8392 | PR middle-end/27226 | |
8393 | * builtins.c (get_pointer_alignment): Handle more forms | |
8394 | of base addresses that can be used to derive more precise | |
8395 | information about alignment. | |
8396 | ||
09607d08 | 8397 | 2006-09-01 Jason Merrill <jason@redhat.com> |
8398 | ||
8399 | PR c++/28899 | |
8400 | * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle | |
8401 | want_value. | |
8402 | ||
8403 | * gimplify.c (voidify_wrapper_expr): Handle null type. | |
8404 | ||
166cf564 | 8405 | 2006-09-01 Josh Conner <jconner@apple.com> |
8406 | ||
8407 | PR c++/25505 | |
8408 | * tree-nrv.c (dest_safe_for_nrv_p): New function. | |
8409 | (execute_return_slot_opt): Use it. | |
8410 | ||
f1e06d36 | 8411 | 2006-08-31 Josh Conner <jconner@apple.com> |
8412 | ||
8413 | PR c++/25505 | |
8414 | * tree-gimple.c (is_gimple_mem_rhs): Recognize functions | |
8415 | returning aggregates. | |
8416 | ||
94858f65 | 8417 | 2006-08-31 Zdenek Dvorak <dvorakz@suse.cz> |
8418 | ||
8419 | PR tree-optimization/28839 | |
8420 | * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in | |
8421 | blocks in that phi arguments appear. | |
8422 | ||
d8eb7025 | 8423 | 2006-08-31 Roger Sayle <roger@eyesopen.com> |
8424 | ||
8425 | PR other/22313 | |
8426 | * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is | |
2e55afeb | 8427 | NULL, otherwise use an advance_loc4 to adjust relative to the |
d8eb7025 | 8428 | current label. |
8429 | (output_cfi) <DW_CFA_set_loc>: Update the current label. | |
8430 | (dwarf2out_switch_text_section): Reset the current label to avoid | |
8431 | using advance_loc4 over section boundaries. | |
8432 | ||
abbcecd2 | 8433 | 2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com> |
8434 | ||
8435 | PR target/24367 | |
8436 | * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like | |
8437 | r12 + SYMBOLIC_CONST. | |
8438 | ||
e0a02196 | 8439 | 2006-08-30 Richard Guenther <rguenther@suse.de> |
8440 | ||
8441 | * Makefile.in (see.o): Add $(EXPR_H) dependency. | |
8442 | ||
afd8eb66 | 8443 | 2006-08-30 Zdenek Dvorak <dvorakz@suse.cz> |
8444 | ||
8445 | PR rtl-optimization/27735 | |
8446 | * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop): | |
8447 | Add new argument to keep track of whether an irreducible region | |
8448 | was affected. All callers changed. | |
8449 | (fix_irreducible_loops): Removed. | |
8450 | (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP | |
8451 | flags were invalidated. | |
8452 | ||
65881f79 | 8453 | 2006-08-29 H.J. Lu <hongjiu.lu@intel.com> |
8454 | ||
8455 | * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands | |
8456 | instead of SF operands. | |
8457 | (*fop_df_comm_sse): Likewise. | |
8458 | (*fop_df_comm_i387): Likewise. | |
8459 | (*fop_df_1_mixed): Likewise. | |
8460 | (*fop_df_1_sse): Likewise. | |
8461 | ||
bf07aa0a | 8462 | 2006-08-29 Andrew Pinski <pinskia@physics.uc.edu> |
4f652d47 | 8463 | J"orn Rennecke <joern.rennecke@st.com> |
8464 | ||
8465 | PR tree-optimization/17506 | |
8466 | * tree-ssa.c (warn_uninit): If warning about a location outside of | |
8467 | the current function, note where the variable was declared. | |
8468 | ||
58f43b90 | 8469 | 2006-08-28 Zdenek Dvorak <dvorakz@suse.cz> |
8470 | ||
8471 | PR tree-optimization/28411 | |
8472 | * double-int.c (double_int_div): Use double_int_divmod. | |
8473 | (double_int_divmod, double_int_sdivmod, double_int_udivmod, | |
8474 | double_int_mod, double_int_smod, double_int_umod): New functions. | |
8475 | * double-int.h (double_int_divmod, double_int_sdivmod, | |
8476 | double_int_udivmod, double_int_mod, double_int_smod, double_int_umod): | |
8477 | Declare. | |
8478 | * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result | |
8479 | in double_int. | |
8480 | (get_computation_aff, get_computation_cost_at): Handle double_int | |
8481 | return type of constant_multiple_of. | |
8482 | ||
9c6fee9d | 8483 | 2006-08-28 Kazu Hirata <kazu@codesourcery.com> |
8484 | ||
8485 | PR middle-end/26632 | |
8486 | * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on | |
8487 | an implicit conversion. | |
8488 | ||
51136ff4 | 8489 | 2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com> |
8490 | ||
8491 | * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New. | |
8492 | ||
8b5eeb90 | 8493 | 2006-08-27 Roger Sayle <roger@eyesopen.com> |
8494 | ||
8495 | * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute | |
8496 | x87 instructions. | |
8497 | ||
1078d25d | 8498 | 2006-08-27 Kazu Hirata <kazu@codesourcery.com> |
8499 | ||
8500 | * config/i386/crtfastmath.c: Fix a comment typo. | |
8501 | ||
359d87c6 | 8502 | 2006-08-26 Roger Sayle <roger@eyesopen.com> |
8503 | ||
8504 | * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating | |
8505 | temporary visit flags on CASE_LABEL_EXPRs. | |
8506 | * c-common.c (match_case_to_enum): Add function comment. Avoid | |
8507 | O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN. | |
8508 | (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and | |
8509 | CASE_HIGH_SEEN for enumerated types. If the switch expression is | |
8510 | a constant, only warn if that constant value isn't handled. | |
8511 | ||
18a3d34c | 8512 | 2006-08-26 Joseph S. Myers <joseph@codesourcery.com> |
8513 | ||
8514 | PR c++/24009 | |
8515 | * input.h (restore_input_file_stack): Declare. | |
8516 | (INPUT_FILE_STACK_BITS): Define. | |
8517 | * toplev.c (fs_p, input_file_stack_history, | |
8518 | input_file_stack_restored, restore_input_file_stack): New. | |
8519 | (push_srcloc, pop_srcloc): Check for input_file_stack_tick | |
8520 | overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack. | |
8521 | (pop_srcloc): Don't free old state of stack. | |
8522 | ||
268b2718 | 8523 | 2006-08-26 David Edelsohn <edelsohn@gnu.org> |
8524 | ||
8525 | PR target/27544 | |
8526 | * doc/extend.texi (PowerPC Variable Attributes): Mention altivec. | |
8527 | (PowerPC Type Attributes): New. | |
8528 | ||
81c44390 | 8529 | 2006-08-26 Bob Wilson <bob.wilson@acm.org> |
8530 | ||
8531 | * config/xtensa/xtensa.c (function_arg_boundary): New. | |
8532 | (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to | |
8533 | STACK_BOUNDARY. | |
8534 | * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new | |
8535 | function_arg_boundary function that limits alignment to STACK_BOUNDARY. | |
8536 | ||
4a121d41 | 8537 | 2006-08-26 Jakub Jelinek <jakub@redhat.com> |
8538 | ||
8539 | PR middle-end/28683 | |
8540 | * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly | |
8541 | 3 following insns. | |
8542 | ||
35a10db8 | 8543 | 2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
8544 | ||
8545 | * flow.c (verify_wide_reg): Use internal_error for consistency failure. | |
8546 | (verify_local_live_at_start): Likewise. | |
8547 | ||
00fde275 | 8548 | 2006-08-25 Joseph S. Myers <joseph@codesourcery.com> |
8549 | ||
8550 | PR c/27893 | |
8551 | * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval, | |
8552 | omp_add_variable): Treat sizes as variable whenever not | |
8553 | INTEGER_CST. | |
8554 | ||
a73dee2b | 8555 | 2006-08-26 Richard Guenther <rguenther@suse.de> |
8556 | ||
8557 | PR middle-end/28814 | |
8558 | * fold-const.c (fold_binary): Fold temporary to correct | |
8559 | type before constructing new comparison. | |
8560 | ||
e6b3b120 | 8561 | 2006-08-25 Fariborz Jahanian <fjahanian@apple.com> |
8562 | ||
8563 | PR c/28418 | |
8564 | * c-gimplify.c (gimplify_compound_literal_expr): Don't add | |
8565 | variable again if DECL_SEEN_IN_BIND_EXPR_P. | |
8566 | ||
4d5ac30e | 8567 | 2006-08-25 Joseph S. Myers <joseph@codesourcery.com> |
8568 | ||
8569 | PR c/28299 | |
8570 | * c-decl.c (start_function): Don't try to process prototype | |
8571 | information from old declaration that isn't a function. | |
8572 | ||
376d0610 | 8573 | 2006-08-25 Jan Hubicka <jh@suse.cz> |
8574 | ||
8575 | PR target/28621 | |
8576 | * config/i386/crtfastmath.c (set_fast_math): Force stack alignment. | |
8577 | ||
1f496736 | 8578 | 2006-08-25 Alan Modra <amodra@bigpond.net.au> |
8579 | ||
8580 | PR target/27075 | |
8581 | * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax | |
8582 | for 8 byte objects. | |
8583 | ||
7989f7bd | 8584 | 2006-08-25 J"orn Rennecke <joern.rennecke@st.com> |
8585 | ||
8586 | PR tree-optimization/16876 | |
8587 | * c-typeck.c (c_convert_parm_for_inlining): Don't take early | |
8588 | exit if PARM doesn't match VALUE. | |
8589 | ||
de46f109 | 8590 | 2006-08-25 Bob Wilson <bob.wilson@acm.org> |
8591 | ||
8592 | * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a | |
8593 | literal_prefix directive. | |
8594 | (XTENSA_DECLARE_FUNCTION_SIZE): Delete. | |
8595 | * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete. | |
8596 | * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete. | |
8597 | ||
5b4e7458 | 8598 | 2006-08-25 David Edelsohn <edelsohn@gnu.org> |
8599 | ||
8600 | PR target/28753 | |
8601 | * config/rs6000/rs6000.md (movcc_internal1): Change operand 1 | |
8602 | predicate to general_operand. Add 0->y and I->r alternatives. | |
8603 | ||
ab4f0a13 | 8604 | 2006-08-25 Kazu Hirata <kazu@codesourcery.com> |
8605 | ||
8606 | * doc/tm.texi: Fix a typo. | |
8607 | * predict.c: Fix comment typos. | |
8608 | ||
c419de76 | 8609 | 2006-08-25 Nick Clifton <nickc@redhat.com> |
8610 | ||
8611 | * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add | |
8612 | assertions of "cpu" and "machine". | |
8613 | ||
b745b656 | 8614 | 2006-08-24 Andrew Pinski <pinskia@physics.uc.edu> |
8615 | ||
8616 | PR tree-opt/28807 | |
8617 | * tree-ssa-operands.c (access_can_touch_variable): Don't say | |
8618 | the access through a base which has an alias set of 0 cannot | |
8619 | touch the variable. | |
8620 | ||
8621 | 2006-08-24 Bill Wendling <wendling@apple.com> | |
300c667a | 8622 | |
8623 | * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English. | |
2e55afeb | 8624 | |
f9b7f54d | 8625 | 2006-08-24 Jan Hubicka <jh@suse.cz> |
8626 | ||
8627 | * reload1.c (emit_reload_insns): Fix yet another typo in my patch. | |
8628 | ||
cd6bca02 | 8629 | 2006-08-24 Jan Hubicka <jh@suse.cz> |
8630 | ||
8631 | PR debug/26881 | |
8632 | * cgraph.c: Fix comments. | |
8633 | (cgraph_varpool_mark_needed_node): Mark only variables not already | |
8634 | output to file. | |
8635 | * cgraphunit.c: Update comments; include gt-cgraphunit.h | |
8636 | (cgraph_varpool_assembled_nodes_queue): New static variable. | |
8637 | (cgraph_varpool_assemble_decl): Record output decls for debug out code. | |
8638 | (cgraph_varpool_output_debug_info): New function. | |
8639 | (cgraph_finalize_compilation_unit, cgraph_optimize): Call it. | |
8640 | * Makefile.in: Add gt-cgraphunit.h | |
8641 | ||
b41438e5 | 8642 | 2006-08-24 Jan Hubicka <jh@suse.cz> |
8643 | ||
8644 | * predict.c (probability_reliable_p): New predicate. | |
8645 | (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise. | |
8646 | (predict_loops): Do not predict loop exit with less than 2% | |
8647 | probability. | |
8648 | * basic-block.h (edge_probability_reliable_p, | |
8649 | br_prob_note_reliable_p): Declare. | |
8650 | * ia64.h (ia64_print_operand): Do not disable on-chip branch | |
8651 | prediction when static predictor is not reliable. | |
8652 | * rs6000.c (output_cbranch): Likewise. | |
8653 | ||
1315e264 | 8654 | 2006-08-23 Stuart Hastings <stuart@apple.com> |
8655 | ||
8656 | PR 28825 | |
8657 | * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate, | |
8658 | ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test. | |
8659 | ||
bf591863 | 8660 | 2006-08-21 Geoffrey Keating <geoffk@apple.com> |
8661 | ||
8662 | PR debug/28692 | |
8663 | * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for | |
8664 | complex values, nor for generic vector values. | |
8665 | ||
78350879 | 8666 | 2006-08-22 Richard Guenther <rguenther@suse.de> |
8667 | ||
8668 | PR middle-end/28776 | |
8669 | * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt | |
8670 | parameter. Convert arguments to arithmetic expression to the | |
8671 | chrecs type. | |
8672 | (analyze_scalar_evolution_1): Adjust caller. | |
8673 | ||
47df8084 | 8674 | 2006-08-22 Jan Hubicka <jh@suse.cz> |
8675 | ||
8676 | Patch by Paolo Bonzini | |
8677 | * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by | |
8678 | my previous patch. | |
8679 | ||
9e80b67b | 8680 | 2006-08-22 Daniel Berlin <dberlin@dberlin.org> |
8681 | ||
8682 | PR tree-optimization/28003 | |
8683 | * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered | |
8684 | before grouping aliases. | |
8685 | ||
eca54dee | 8686 | 2006-08-22 Roger Sayle <roger@eyesopen.com> |
8687 | ||
8688 | * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG | |
8689 | if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE. | |
8690 | ||
c3d09d4d | 8691 | 2006-08-21 Jason Merrill <jason@redhat.com> |
8692 | ||
8693 | PR c++/27115 | |
8694 | * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a | |
8695 | wrapper. Loop to handle nested wrappers. | |
8696 | (gimplify_bind_expr): Remove temp parameter. | |
8697 | (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR | |
8698 | and STATEMENT_LIST on the rhs. | |
8699 | (gimplify_statement_list): Voidify the STATEMENT_LIST. | |
8700 | (gimplify_expr): Pass pre_p to gimplify_statement_list. | |
8701 | (gimplify_target_expr): Remove special BIND_EXPR handling. | |
8702 | ||
bd494d23 | 8703 | 2006-08-21 J"orn Rennecke <joern.rennecke@st.com> |
8704 | ||
8705 | * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with | |
8706 | #if !__SHMEDIA__ . | |
8707 | ||
e1685698 | 8708 | 2006-08-21 Olivier Hainque <hainque@adacore.com> |
8709 | ||
8710 | * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>: | |
8711 | Arrange for the temporary captures of components overlapping the lhs | |
8712 | to happen before the lhs is possibly cleared. | |
2e55afeb | 8713 | |
41c5a437 | 8714 | 2006-08-21 Mark Shinwell <shinwell@codesourcery.com> |
6993cbc4 | 8715 | |
41c5a437 | 8716 | * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in |
8717 | necessary places to pass the correct "number of registers" values | |
8718 | to _Unwind_VRS_Pop. | |
8719 | ||
844ea20e | 8720 | 2006-08-20 Jan Hubicka <jh@suse.cz> |
8721 | ||
8722 | * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function. | |
8723 | (create_name_tags): Instead of quadratic checking use hashtable. | |
8724 | * bitmap.h: Include hashtab.h. | |
8725 | (bitmap_hash): Declare. | |
8726 | * bitmap.c (bitmap_hash): New function. | |
8727 | ||
8df22c5c | 8728 | 2006-08-20 Jan Hubicka <jh@suse.cz> |
8729 | ||
8730 | PR rtl-optimization/28071 | |
8731 | * tree-optimize.c (tree_rest_of_compilation): Do not remove edges | |
8732 | twice. | |
8733 | * tree-inline.c (copy_bb): Use cgraph_set_call_stmt. | |
8734 | * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument. | |
8735 | (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function, | |
8736 | cgraph_decide_inlining_incrementally): Update use of | |
8737 | cgraph_check_inline_limits. | |
8738 | * cgraph.c (edge_hash, edge_eq): New function. | |
8739 | (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge, | |
8740 | cgraph_edge_remove_caller, cgraph_node_remove_callees, | |
8741 | cgraph_remove_node): Maintain call site hash. | |
8742 | * cgraph.h (struct cgraph_node): Add call_site_hash. | |
8743 | (cgraph_set_call_stmt): New function. | |
8744 | ||
7d742877 | 8745 | 2006-08-20 Jan Hubicka <jh@suse.cz> |
8746 | ||
8747 | PR rtl-optimization/28071 | |
8748 | * reload1.c (reg_has_output_reload): Turn into regset. | |
8749 | (reload_as_needed, forget_old_reloads_1, forget_marked_reloads, | |
8750 | choose_reload_regs, emit_reload_insns): Update to new | |
8751 | reg_has_output_reload. | |
8752 | ||
6f30959a | 8753 | 2006-08-20 Jan Hubicka <jh@suse.cz> |
8754 | ||
8755 | PR middle-end/28779 | |
8756 | * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute | |
8757 | function body sizes. | |
8758 | * cgraphunit.c (cgraph_analyze_function): Don't do so. | |
8759 | ||
8760 | 2006-08-20 Danny Smith <dannysmith@users.sourceforge.net> | |
27e0de67 | 8761 | |
8762 | PR target/28648 c: | |
8763 | * tree.c (handle_dll_attribute): Return early if not a | |
6993cbc4 | 8764 | var or function decl. |
27e0de67 | 8765 | |
ff5e5248 | 8766 | 2006-08-18 Joseph Myers <joseph@codesourcery.com> |
8767 | ||
8768 | PR target/27565 | |
8769 | * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust | |
8770 | alignment of SPE vector types. | |
8771 | ||
beb68f4a | 8772 | 2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr> |
8773 | ||
8774 | * tree.c (is_attribute_with_length_p): Remove a duplicated assert. | |
8775 | ||
ba12ea31 | 8776 | 2006-08-17 Jakub Jelinek <jakub@redhat.com> |
8777 | ||
8778 | PR c/28744 | |
8779 | * cgraph.h (struct cgraph_node): Remove externally_visible | |
8780 | bitfield. | |
8781 | * cgraphunit.c (process_function_and_variable_attributes): Set | |
8782 | local.externally_visible rather than externally_visible. | |
8783 | ||
8784 | PR c/28744 | |
8785 | * c-common.c (handle_externally_visible_attribute): First look | |
8786 | at TREE_CODE and only if it is function or var decl, check for | |
8787 | non-public objects. Don't warn for DECL_EXTERNAL. | |
8788 | * cgraphunit.c (process_function_and_variable_attributes): Warn | |
8789 | if externally_visible attribute is used on non-public object. | |
8790 | ||
94aa2a3c | 8791 | 2006-08-17 Jan Hubicka <jh@suse.cz> |
8792 | ||
8793 | PR tree-optimization/27865 | |
8794 | * reload1.c (forget_marked_reloads): New function. | |
8795 | (forget_old_reloads_1): When data are passed, just mark the registers | |
8796 | for later removal. | |
8797 | (reload_as_needed): Use the new mechanizm. | |
8798 | ||
d51b37c2 | 8799 | 2006-08-17 Alexandre Oliva <aoliva@redhat.com> |
8800 | ||
8801 | PR target/28146 | |
8802 | * reload.h (reg_equiv_alt_mem_list): New declaration. | |
8803 | * reload1.c (reg_equiv_alt_mem_list): New definition. | |
8804 | (reload): Initialize it and release it. | |
8805 | (delete_output_reload): Use it. | |
8806 | * reload.c (push_reg_equiv_alt_mem): New function. | |
8807 | (find_reloads_toplev): Call it. | |
8808 | (find_reloads_address, find_reloads_address_1): Likewise. | |
8809 | (find_reloads_subreg_address): Likewise. | |
8810 | ||
6fcfdb19 | 8811 | 2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
8812 | ||
8813 | PR rtl-optimization/28489 | |
8814 | * sched-ebb.c (begin_schedule_ready): Create basic block | |
8815 | at the right place. | |
8816 | (advance_target_bb): Skip empty blocks. | |
8817 | * haifa-sched.c (bb_note): Make global. | |
8818 | * sched-int.h (bb_note): Add prototype. | |
8819 | ||
318a3281 | 8820 | 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> |
8821 | ||
8822 | PR tree-optimization/27865 | |
8823 | * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE | |
8824 | for pointer types. | |
8825 | * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p, | |
8826 | fold_used_pointer, pointer_used_p): New functions. | |
8827 | (analyze_scalar_evolution_1): Use fold_used_pointer. | |
8828 | * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly. | |
8829 | * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type | |
8830 | for pointers. | |
8831 | ||
d897f7c2 | 8832 | 2006-08-17 Paolo Bonzini <bonzini@gnu.org> |
8833 | ||
8834 | PR c++/28573 | |
8835 | * c-common.c (fold_offsetof_1): Add an argument and recurse down to it | |
2e55afeb | 8836 | or the INTEGER_CST. Fail on a CALL_EXPR. |
d897f7c2 | 8837 | (fold_offsetof): Pass new argument to fold_offsetof_1. |
8838 | * c-parser.c (c_parser_postfix_expression): Don't include a NULL | |
2e55afeb | 8839 | operand into an INDIRECT_REF. |
d897f7c2 | 8840 | * c-typeck.c (build_unary_op): Adjust call to fold_offsetof. |
8841 | ||
102a5b98 | 8842 | 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> |
8843 | ||
8844 | PR gcov/profile/26570 | |
8845 | * value-prof.c (static_values): Removed. | |
8846 | (tree_find_values_to_profile): Do not set static_values. | |
8847 | (find_values_to_profile): Do not free static_values. | |
8848 | * profile.c (instrument_values): Do not free the values. | |
8849 | (branch_prob): Free the values. | |
8850 | ||
09fc0c2b | 8851 | 2006-08-16 Naveen.H.S <naveenh@kpitcummins.com> |
8852 | ||
8853 | * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest. | |
8854 | ||
62e58612 | 8855 | 2006-08-16 Joseph S. Myers <joseph@codesourcery.com> |
8856 | ||
8857 | PR c/27697 | |
8858 | * c-typeck.c (build_component_ref): Combine qualifiers of | |
8859 | structure or union and field. | |
8860 | ||
f50cf978 | 8861 | 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> |
8862 | ||
8863 | PR rtl-optimization/28071 | |
8864 | * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare. | |
8865 | * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions. | |
8866 | * tree-into-ssa.c (struct dom_dfsnum): New. | |
8867 | (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New | |
8868 | functions. | |
8869 | (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of | |
8870 | compute_global_livein. | |
8871 | (prepare_block_for_update, prepare_use_sites_for): Mark the uses | |
8872 | in phi nodes in the correct blocks. | |
8873 | ||
026ea634 | 8874 | 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> |
8875 | ||
8876 | PR tree-optimization/28364 | |
8877 | * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero | |
8878 | correctly. | |
8879 | (fold_affine_expr): New function. | |
8880 | (may_eliminate_iv): Use fold_affine_expr. | |
8881 | ||
55d7e60b | 8882 | 2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
8883 | ||
8884 | PR c/27489 | |
8885 | * c-typeck.c (c_start_case): Handle invalid orig_type correctly. | |
8886 | Clean up. | |
8887 | ||
5eec57e0 | 8888 | 2006-08-16 Mike Stump <mrs@apple.com> |
8889 | ||
8890 | * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref. | |
8891 | * doc/cppopts.texi (-MD): Likewise. | |
8892 | ||
f948b309 | 8893 | 2006-08-15 Danny Smith <dannysmith@users.sourceforge.net> |
8894 | ||
8895 | PR c/28287 | |
8896 | * c-common.c (handle_weak_attribute): Ignore and warn if | |
8897 | not a FUNCTION_ or VAR_DECL. | |
8898 | ||
0e9b75a8 | 8899 | 2006-07-15 Mike Stump <mrs@apple.com> |
8900 | ||
8901 | PR c/28280 | |
8902 | * c-parser.c (c_parser_typeof_specifier): Don't use | |
8903 | c_finish_expr_stmt, open code desired semantics instead. | |
8904 | ||
a05c50de | 8905 | 2006-08-15 Nick Clifton <nickc@redhat.com> |
8906 | ||
8907 | * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile | |
8908 | fragment to tmake_file only if threads are enabled. | |
8909 | * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to... | |
8910 | * config/i386/t-gthr-win32: New file. ... here. | |
8911 | ||
d038ab63 | 8912 | 2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
8913 | ||
8914 | PR c/28649 | |
8915 | * c-parser.c (c_parser_compound_statement_nostart): Reset | |
8916 | parser->error after each statement. | |
8917 | ||
8adefd57 | 8918 | 2006-08-15 Jakub Jelinek <jakub@redhat.com> |
8919 | ||
cc6b725b | 8920 | PR middle-end/28713 |
8921 | * omp-low.c (lower_omp_parallel): Convert t to | |
8922 | receiver_decl's type. | |
8923 | (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR | |
8924 | source before comparison. | |
8925 | ||
8adefd57 | 8926 | PR middle-end/28724 |
8927 | * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival | |
8928 | to itype in assignment to oldival2. | |
8929 | ||
47adf96b | 8930 | 2006-07-14 Andrew Pinski <pinksia@physics.uc.edu> |
8931 | ||
8932 | PR c/27490 | |
8933 | PR c/27489 | |
8934 | * c-typeck.c (build_compound_expr): If the second expression | |
8935 | is an error mark, then just return an error mark instead of | |
8936 | creating a COMPOUND_EXPR. | |
8937 | ||
ef7a32fb | 8938 | 2006-07-14 Mike Stump <mrs@apple.com> |
8939 | ||
8940 | * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES. | |
8941 | ||
a8b99ef6 | 8942 | 2006-08-14 Kazu Hirata <kazu@codesourcery.com> |
8943 | ||
8944 | * c-decl.c, var-tracking.c: Fix comment typos. | |
8945 | ||
44382350 | 8946 | 2006-08-14 Richard Sandiford <richard@codesourcery.com> |
8947 | ||
8948 | PR rtl-optimization/28634 | |
8949 | * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A | |
8950 | for floating-point modes unless flag_unsafe_math_optimizations. | |
8951 | ||
ce675af0 | 8952 | 2006-08-13 Alexandre Oliva <aoliva@redhat.com> |
8953 | Andrew Pinski <pinskia@physics.uc.edu> | |
8954 | ||
8955 | PR c/27184 | |
8956 | * tree.c (build_array_type): Unify array types with | |
8957 | unspecified index_type. | |
8958 | * c-decl.c (grokdeclarator): Make sure we do not modify a | |
8959 | unified incomplete array type. | |
8960 | * c-typeck.c (store_init_value): Create distinct type before | |
8961 | filling in the index type in an initializer from a compound | |
8962 | literal. | |
8963 | ||
8964 | * c-decl.c (grokdeclarator): Remove code where we copy the | |
8965 | array type over. | |
8966 | ||
138fbfd0 | 8967 | 2006-08-13 Andrew Pinski <pinskia@physics.uc.edu> |
8968 | ||
8969 | * tree-pass.h (TODO_update_ssa): Fix which bit is used to take | |
8970 | into account for TODO_dump_cgraph. | |
8971 | (TODO_update_ssa_no_phi): Likewise. | |
8972 | (TODO_update_ssa_full_phi): Likewise. | |
8973 | (TODO_update_ssa_only_virtuals): Likewise. | |
8974 | (TODO_remove_unused_locals): Likewise. | |
8975 | (TODO_set_props): Likewise. | |
8976 | (TODO_update_stmt_usage): Likewise. | |
8977 | ||
1e31ff37 | 8978 | 2006-08-13 Dirk Mueller <dmueller@suse.de> |
8979 | ||
8980 | * c-common.c (strict_aliasing_warning): Fix formatting. | |
8981 | ||
79d18c70 | 8982 | 2006-08-13 Matthias Klose <doko@debian.org> |
8983 | ||
8984 | * doc/invoke.texi: Fix spelling errors. | |
8985 | ||
8ce4be4f | 8986 | 2006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr> |
8987 | ||
8988 | PR rtl-optimization/23454 | |
8989 | * reorg.c (relax_delay_slots): Update comment. | |
8990 | ||
3cea28d7 | 8991 | 2006-08-11 Richard Guenther <rguenther@suse.de> |
8992 | ||
8993 | PR middle-end/28651 | |
8994 | * simplify-rtx.c (simplify_const_relational_operation): | |
8995 | Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison | |
8996 | codes. | |
8997 | ||
e8c64570 | 8998 | 2006-08-10 Eric Botcazou <ebotcazou@adacore.com> |
25a7cbe1 | 8999 | |
9000 | * tree.c (build1_stat): Also propagate the TREE_CONSTANT and | |
9001 | TREE_INVARIANT flags for a VIEW_CONVERT_EXPR. | |
9002 | ||
168bf671 | 9003 | 2006-08-10 Paul Brook <paul@codesourcery.com> |
9004 | ||
9005 | * final.c (final_scan_insn): Clear current_insn_predicate before | |
9006 | outputting inline asm. | |
9007 | ||
ac926412 | 9008 | 2006-08-10 Dorit Nuzman <dorit@il.ibm.com> |
9009 | ||
9010 | PR tree-optimization/26197 | |
9011 | * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls | |
9012 | get_ref_base_and_extent and overlap_subvar to add only relevant | |
9013 | subvars as may-aliases. | |
9014 | (add_may_alias_for_new_tag): New function, factored out of | |
9015 | new_type_alias. | |
9016 | * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias | |
9017 | with additional argument. | |
9018 | * tree-flow.h (new_type_alias): Takes additional argument. | |
9019 | ||
fb6e7e82 | 9020 | 2006-08-09 Nathan Sidwell <nathan@codesourcery.com> |
9021 | ||
9022 | * gcov.c (no_data_file): New flag. | |
9023 | (read_count_file): Set it if data file not present. Assume counts | |
9024 | zero if not found. | |
9025 | (output_lines): Don't name the data file, if there wasn't one. | |
9026 | ||
3a1af930 | 9027 | 2006-08-09 Eric Botcazou <ebotcazou@adacore.com> |
9028 | ||
9029 | * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust. | |
9030 | (rs6000_generate_compare): Tweak comments. | |
9031 | * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment. | |
9032 | ||
96414f01 | 9033 | 2006-08-09 Alexandre Oliva <aoliva@redhat.com> |
9034 | ||
9035 | * var-tracking.c (enum micro_operation_type): Add MO_COPY. | |
9036 | (var_debug_decl): New function. | |
9037 | (var_reg_set): Follow debug decl link. Add location even if | |
9038 | reg is already known to hold some other variable. | |
9039 | (var_mem_set): Follow debug decl link. | |
9040 | (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug | |
9041 | decl link. Delete other known locations of the variable part | |
9042 | if requested. | |
9043 | (var_reg_delete, var_mem_delete): Delete other known locations | |
9044 | of the variable part if requested. | |
9045 | (same_variable_part_p): New function. | |
9046 | (add_stores): Select MO_COPY when appropriate. | |
9047 | (vt_initialize): Handle it. | |
9048 | (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete | |
9049 | known locations for MO_SET and MO_CLOBBER. | |
9050 | (find_variable_location_part): New function. | |
9051 | (set_variable_part, delete_variable_part): Use it. | |
9052 | (clobber_variable_part): New function. | |
9053 | * dwarf2out.c (dwarf2out_var_location): Do not follow debug | |
9054 | decl link. | |
9055 | ||
0bf7f847 | 9056 | 2006-08-07 Victor Kaplansky <victork@il.ibm.com> |
f1ee72f7 | 9057 | |
6993cbc4 | 9058 | PR tree-optimization/26969 |
9059 | * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch | |
9060 | with an empty list of PHIs. | |
f1ee72f7 | 9061 | |
3e3ebec6 | 9062 | 2006-08-06 Paolo Bonzini <bonzini@gnu.org> |
9063 | ||
9064 | PR target/27827 | |
9065 | ||
9066 | * conffig/i386/i386.md: Add peephole2 to avoid "fld %st" | |
9067 | instructions. | |
9068 | ||
ef2ee7d3 | 9069 | 2006-08-06 Andreas Schwab <schwab@suse.de> |
9070 | ||
9071 | * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format | |
9072 | string. Whitespace and comment fixup. | |
9073 | ||
481f0237 | 9074 | 2006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
9075 | ||
cd27e3ac | 9076 | PR c/28502 |
9077 | * c-decl.c (validate_proto_after_old_defn): Return false on invalid | |
9078 | argument. | |
9079 | ||
ab774101 | 9080 | PR c/27721 |
9081 | * c-typeck.c (build_modify_expr): Test earlier for non-lvalues. | |
9082 | ||
481f0237 | 9083 | PR c/28136 |
9084 | * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify. | |
9085 | ||
7c679c65 | 9086 | 2006-08-04 Jan Hubicka <jh@suse.cz> |
9087 | ||
9088 | PR target/26655 | |
9089 | PR target/28270 | |
481f0237 | 9090 | * reload.c (push_reload): Patch out the mismatching instruction; |
9091 | return early. | |
7c679c65 | 9092 | (find_reload): Bail out if the instruction was patched out. |
9093 | ||
8e224d28 | 9094 | 2006-08-04 Jan Hubicka <jh@suse.cz> |
9095 | ||
9096 | PR tree-optimization/24888 | |
9097 | * tree-inline.c (expand_call_inline): Do not re-record variables. | |
9098 | (declare_inline_vars): Add variable to unexpanded_var_list. | |
9099 | ||
0518a465 | 9100 | 2006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
9101 | Roger Sayle <roger@eyesopen.com> | |
9102 | ||
9103 | PR rtl-optimization/26244 | |
9104 | * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or | |
9105 | inner_const are negative or greater than or equal to the bitsize of | |
9106 | MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated. | |
9107 | Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1. | |
9108 | Simplify complicated if statement. For ASHIFT and LSHIFTRT, return | |
9109 | CONST0_RTX (mode) when the new shift count is greater than or equal to | |
9110 | to the bitsize of the object being shifted and XEXP (y, 0) has no side | |
9111 | effects. | |
9112 | ||
54311699 | 9113 | 2006-08-04 Kazu Hirata <kazu@codesourcery.com> |
9114 | ||
9115 | * tree-cfg.c: Fix a comment typo. | |
9116 | ||
393cc65b | 9117 | 2006-08-03 Mark Mitchell <mark@codesourcery.com> |
9118 | ||
9119 | PR c++/28148 | |
9120 | * varasm.c (output_constant): Give the front end another chance to | |
9121 | expand constants, after stripping NOPs. | |
9122 | ||
3100c298 | 9123 | 2006-08-03 Jan Hubicka <jh@suse.cz> |
9124 | ||
9125 | * domwalk.c (walk_dominator_tree): Reorganize to non-recursive | |
9126 | implementation. | |
9127 | ||
9896f25b | 9128 | 2006-08-03 Dorit Nuzman <dorit@il.ibm.com> |
9129 | ||
6993cbc4 | 9130 | PR tree-optimization/27770 |
9131 | * tree-vectorizer.h (get_vectype_for_scalar_type): Function | |
9132 | declaration removed (moved to tree-flow.h). | |
9133 | (vect_can_force_dr_alignment_p): Likewise. | |
9134 | * tree-flow.h (get_vectype_for_scalar_type): New function declaration | |
9135 | (moved from tree-vectorizer.h). | |
9136 | (vect_can_force_dr_alignment_p): Likewise. | |
9137 | * tree-vectorizer.c (vect_print_dump_info): Allow calling this function | |
9138 | from outside the vectorizer - in particular from cgraph stage. | |
9139 | * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase | |
9140 | the alignment of global arrays when -fsection-anchors is enabled. | |
9141 | * cgraphunit.c (cgraph_increase_alignment): New function. | |
9142 | (cgraph_optimize): Call cgraph_increase_alignment. | |
9896f25b | 9143 | |
0620b8e0 | 9144 | 2006-08-03 David Edelsohn <edelsohn@gnu.org> |
9145 | ||
9146 | PR target/27566 | |
9147 | * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do | |
9148 | not reload a SPE symbol_ref into a lo_sum address. | |
9149 | ||
4533b23c | 9150 | 2006-08-02 Daniel Jacobowitz <dan@codesourcery.com> |
9151 | ||
9152 | PR debug/28063 | |
9153 | * dwarf2out.c (prune_unused_types_prune): Move call to | |
9154 | prune_unused_types_update_strings to cover the parent DIE also. | |
9155 | ||
986c559b | 9156 | 2006-08-02 Jan Hubicka <jh@suse.cz> |
9157 | ||
9158 | PR gcov/profile/28480 | |
9159 | * tree-cfg.c (change_bb_for_stmt): New function. | |
9160 | (tree_merge_blocks, tree_split_blocks): Use it. | |
9161 | ||
cb2b5570 | 9162 | 2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
9163 | ||
9164 | PR c++/28250 | |
9165 | PR c++/28257 | |
9166 | PR c++/28259 | |
9167 | PR c++/28267 | |
9168 | * toplev.c (compile_file): Return early on errorcount or sorrycount. | |
9169 | * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise. | |
9170 | (cgraph_optimize): Likewise. | |
9171 | ||
02fd0f2d | 9172 | 2006-08-01 Stuart Hastings <stuart@apple.com> |
9173 | ||
9174 | * rtl.h (UINTVAL) New. | |
9175 | * config/rs6000/rs6000.c (SMALL_INT) Use it. | |
9176 | * testsuite/gcc.dg/20060801-1.c: New. | |
2e55afeb | 9177 | |
89c30811 | 9178 | 2006-08-01 Daniel Jacobowitz <dan@codesourcery.com> |
9179 | ||
9180 | PR debug/23336 | |
9181 | * c-typeck.c (build_external_type): Mark used enum types. | |
9182 | * dwarf2out.c (dwarf2out_abstract_function): Save and restore | |
9183 | cfun also. | |
9184 | (gen_subprogram_die): Whitespace fix. | |
9185 | ||
6ec39557 | 9186 | 2006-08-01 Jan Hubicka <jh@suse.cz> |
9187 | ||
9188 | * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars | |
9189 | bitmap when not needed. | |
9190 | * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary | |
9191 | bitmaps. | |
9192 | ||
c0c6c140 | 9193 | 2006-08-01 Dirk Mueller <dmueller@suse.de> |
9194 | ||
9195 | * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak. | |
9196 | ||
0846098b | 9197 | 2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
9198 | ||
9199 | * Makefile.in: Revert part of previous patch: | |
9200 | Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H | |
9201 | and REGS_H. | |
9202 | ||
c4e8a4d4 | 9203 | 2006-07-30 Eric Christopher <echristo@apple.com> |
9204 | ||
9205 | PR target/27543 | |
9206 | * doc/extend.texi (i386 Variable Attributes): Add anchor. | |
9207 | (PowerPC Variable Attributes): New section. | |
9208 | ||
b4306b43 | 9209 | 2006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
9210 | ||
9211 | PR target/28126 (partial fix) | |
9212 | * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no. | |
9213 | ||
2344b440 | 9214 | 2006-07-28 Jan Hubicka <jh@suse.cz> |
9215 | ||
9216 | PR rtl-optimization/28071 | |
9217 | * cfgrtl.c (rtl_delete_block): Free regsets. | |
9218 | * flow.c (allocate_bb_life_data): Re-use regsets if available. | |
9219 | ||
e85b0b9f | 9220 | 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
9221 | ||
9222 | * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies | |
9223 | and variables used in dependencies. | |
9224 | ||
c61aff47 | 9225 | 2006-07-27 Arjan van de Ven <arjan@linux.intel.com> |
9226 | ||
9227 | * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than | |
9228 | %fs for -mcmodel=kernel. | |
9229 | (stack_tls_protect_test_di): Likewise. | |
9230 | ||
581a3a99 | 9231 | 2006-07-27 Carlos O'Donell <carlos@codesourcery.com> |
9232 | ||
9233 | * Makefile.in: Use mkinstalldirs. | |
9234 | ||
f8d1124d | 9235 | 2006-07-27 H.J. Lu <hongjiu.lu@intel.com> |
9236 | ||
9237 | PR driver/28437 | |
9238 | * opts-common.c (prune_options): Skip joined switches. | |
9239 | ||
b0d535b8 | 9240 | 2006-07-27 Jan Hubicka <jh@suse.cz> |
9241 | ||
9242 | PR rtl-optimization/28071 | |
9243 | * cselib.c (cselib_process_insn): Don't remove useless values too | |
9244 | often for very large hashtables. | |
9245 | ||
7824554a | 9246 | 2006-07-27 Jan Hubicka <jh@suse.cz> |
9247 | ||
9248 | PR rtl-optimization/28071 | |
9249 | * global.c (greg_obstack): New obstack. | |
9250 | (allocate_bb_info): Use it. | |
9251 | (free_bb_info): Likewise. | |
9252 | (modify_reg_pav): Likewise. | |
9253 | ||
73a0da56 | 9254 | 2006-07-27 Roger Sayle <roger@eyesopen.com> |
9255 | ||
9256 | * builtins.c (fold_fixed_mathfn): When long and long long are the | |
9257 | same size, canonicalize llceil*, llfloor*, llround* and llrint* | |
9258 | functions to their lceil*, lfloor*, lround* and lrint* forms. | |
9259 | ||
579e8d56 | 9260 | 2006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
9261 | ||
9262 | PR gcc/28508 | |
9263 | * config/m32r/m32r.md (branch_insn): Reduce pc range for short | |
9264 | branch. | |
9265 | (rev_branch_insn): Likewise. | |
9266 | ||
681f6fc5 | 9267 | 2006-07-27 Jan Hubicka <jh@suse.cz> |
9268 | ||
9269 | PR rtl-optimization/28071 | |
9270 | * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour. | |
9271 | (reg_set_in_bb, max_reg_computed): New static variables. | |
9272 | (regmove_optimize): Free the new array. | |
9273 | (fixup_match_1): Update call of reg_is_remote_constant_p. | |
9274 | ||
f4ec5ce1 | 9275 | 2006-07-26 Jan Hubicka <jh@suse.cz> |
9276 | ||
9277 | PR tree-optimization/27882 | |
9278 | * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous | |
9279 | and decl fields. | |
9280 | * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill | |
9281 | next pointer | |
9282 | (cgraph_analyze_compilation_unit): Likewise. | |
9283 | * ipa.c (cgraph_remove_unreachable_nodes): Likewise. | |
9284 | * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise. | |
9285 | (cgraph_early_inlinine): Make order garbage collected. | |
9286 | * Makefile.in (gt-ipa-inline): New garbagecollected file. | |
9287 | ||
c32222a3 | 9288 | 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> |
9289 | ||
9290 | * dbxout.c (output_types_sort): Add a comment. | |
9291 | (output_used_types): Free the VEC. | |
9292 | ||
70392493 | 9293 | 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> |
9294 | ||
9295 | * function.c (reorder_fix_fragments): Delete. | |
9296 | (reorder_blocks): Don't call it. | |
9297 | (reorder_blocks_1): Put all subblocks under the origin block. | |
9298 | ||
e40df2f5 | 9299 | 2006-07-26 Zdenek Dvorak <dvorakz@suse.cz> |
9300 | ||
9301 | PR rtl-optimization/27907 | |
9302 | * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and | |
9303 | FLOAT_TRUNCATE. | |
9304 | ||
a2d0445d | 9305 | 2006-07-25 Roger Sayle <roger@eyesopen.com> |
9306 | ||
9307 | PR middle-end/28473 | |
9308 | * convert.c (convert_to_integer): When transforming (T)foo(x) into | |
9309 | bar(x) check that bar's result type can represent all the values of T. | |
9310 | ||
01b1b46d | 9311 | 2006-07-25 Zdenek Dvorak <dvorakz@suse.cz> |
9312 | ||
9313 | * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure. | |
9314 | ||
f68513d3 | 9315 | 2006-07-25 Nick Clifton <nickc@redhat.com> |
9316 | ||
9317 | * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the | |
9318 | size_lookup[] array. | |
9319 | (ggc_alloc_stat): Use NUM_SIZE_LOOKUP. | |
9320 | (ggc_pch_count_object): Likewise. | |
9321 | (ggc_pch_alloc_object): Likewise. | |
9322 | (ggc_pch_write_object): Likewise. | |
9323 | (init_ggc): Do not attempt to initialize entries in the | |
9324 | size_lookup[] array for objects whose size is greater than than | |
9325 | the length of the array. | |
9326 | ||
18247eca | 9327 | 2006-07-25 Daniel Jacobowitz <dan@codesourcery.com> |
9328 | ||
9329 | * dbxout.c (output_used_types_helper): Push queued types | |
9330 | on a VEC. | |
9331 | (output_types_sort): New. | |
9332 | (output_used_types): Collect used types on a VEC and sort them | |
9333 | before emission. | |
9334 | ||
01ded803 | 9335 | 2006-07-24 Richard Guenther <rguenther@suse.de> |
9336 | ||
9337 | PR middle-end/28463 | |
9338 | * cgraph.c (cgraph_remove_node): Do not check if dumps | |
9339 | are enabled. | |
9340 | * cgraphunit.c (cgraph_optimize): Likewise. | |
9341 | ||
2f30597a | 9342 | 2006-07-24 Jan Hubicka <jh@suse.cz> |
9343 | ||
9344 | PR rtl-optimization/28071 | |
9345 | * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes. | |
9346 | * tree-iterator.c (tsi_split_statement_list_before): Do not crash when | |
9347 | splitting before first stmt. | |
9348 | ||
109bf1e3 | 9349 | 2006-07-24 Jan Hubicka <jh@suse.cz> |
9350 | ||
9351 | PR rtl-optimization/28071 | |
9352 | * ipa-inline.c (update_caller_keys): Remove edges that | |
9353 | are no longer inline candidates. | |
9354 | ||
c8c04e0d | 9355 | 2006-07-23 Daniel Jacobowitz <dan@codesourcery.com> |
9356 | ||
9357 | PR debug/27473 | |
9358 | * dbxout.c (output_used_types_helper, output_used_types): New. | |
9359 | (dbxout_symbol): Call output_used_types. | |
9360 | ||
05806473 | 9361 | 2006-07-23 Jan Hubicka <jh@suse.cz> |
9362 | ||
9363 | PR c/25795 | |
9364 | PR c++/27369 | |
9365 | * cgraph.c (cgraph_varpool_nodes): Export. | |
9366 | (decide_is_variable_needed): Ignored "used" attribute in | |
9367 | unit-at-a-time mode. | |
9368 | * cgraph.h (cgraph_varpool_nodes): Declare. | |
9369 | * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in | |
9370 | unit-at-a-time mode. | |
9371 | ||
c54654b7 | 9372 | 2006-07-23 Roger Sayle <roger@eyesopen.com> |
9373 | ||
9374 | PR target/28247 | |
9375 | * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and | |
9376 | mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of | |
9377 | the __gthrw form of thr_keycreate. | |
9378 | (__gthread_key_delete): Silence the unused argument warning. | |
9379 | ||
500973f9 | 9380 | 2006-07-23 Steven Bosscher <steven@gcc.gnu.org> |
9381 | ||
9382 | PR debug/25468 | |
9383 | * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks. | |
9384 | Cache the last found '\0' marker to avoid quadratic behavior. | |
9385 | ||
c98a8335 | 9386 | 2006-07-23 Jan Hubicka <jh@suse.cz> |
9387 | ||
9388 | * i386.md (subsi_3_zext): Fix output template. | |
9389 | ||
f05a163e | 9390 | 2006-07-21 Mike Stump <mrs@apple.com> |
9391 | ||
9392 | * doc/invoke.texi (C++ Dialect Options): Note that | |
9393 | -fvisibility-inlines-hidden doesn't affect explicitly | |
9394 | instantiationed inline methods. | |
9395 | ||
8b3b32fb | 9396 | 2006-07-20 Roger Sayle <roger@eyesopen.com> |
9397 | ||
9398 | * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file | |
9399 | if the target assembler is GNU binutils' gas. | |
9400 | * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine | |
9401 | whether to pass GNU gas or native as command line options. | |
9402 | ||
6a47600c | 9403 | 2006-07-20 Jason Merrill <jason@redhat.com> |
9404 | ||
9405 | * tree.c (remove_attribute): New fn. | |
b85623b5 | 9406 | * tree.h: Declare it. |
6a47600c | 9407 | |
977ffed2 | 9408 | 2006-07-20 Paul Brook <paul@codesourcery.com> |
9409 | ||
9410 | PR 27363 | |
9411 | * cse.c (cse_insn): Add destination addresses to hash table. Check if | |
9412 | they are invalidated by this instruction. | |
9413 | ||
ec9719e1 | 9414 | 2006-07-21 Danny Smith <dannysmith@users.sourceforge.net> |
9415 | ||
9416 | PR target/28427 | |
6993cbc4 | 9417 | * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define. |
ec9719e1 | 9418 | |
3e883b09 | 9419 | 2006-07-20 Eric Christopher <echristo@apple.com> |
9420 | ||
9421 | PR target/26877 | |
9422 | * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder. | |
9423 | ||
52d22316 | 9424 | 2006-07-19 Eric Christopher <echristo@apple.com> |
9425 | ||
9426 | * config/t-slibgcc-darwin (stmp-lipo): Remove. | |
9427 | Rewrite dependencies for libgcc_s.1.dylib. | |
9428 | ||
e6855db0 | 9429 | 2006-07-19 Jakub Jelinek <jakub@redhat.com> |
9430 | ||
9431 | * except.c (duplicate_eh_regions_1): Clear next_peer. | |
9432 | ||
e3eb8567 | 9433 | 2006-07-17 Nathan Sidwell <nathan@codesourcery.com> |
9434 | ||
9435 | * doc/invoke.texi (RS/6000 and PowerPC Options): Document that | |
9436 | -mlongcall does not guarantee all calls will be long. | |
9437 | * doc/extend.texi (long_call/short_call): Document that longcall | |
9438 | does not guarantee a long call will be used. | |
9439 | (longcall/shortcall): Likewise. | |
9440 | ||
99d2e279 | 9441 | 2006-07-18 Roger Sayle <roger@eyesopen.com> |
9442 | ||
9443 | PR middle-end/28283 | |
9444 | * expmed.c (expand_shift): Additionally check that the shift_cost | |
9445 | is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD | |
9446 | before implementing a LSHIFT_EXPR as a sequence of additions. | |
9447 | * config/sh/sh.c (shift_costs): Return MAX_COST to inform the | |
9448 | middle-end that DImode shifts need to be synthesized by expand. | |
9449 | ||
8443c80c | 9450 | 2006-07-18 Diego Novillo <dnovillo@redhat.com> |
9451 | ||
9452 | PR 28410 | |
9453 | * tree-ssa-operands.c (access_can_touch_variable): Update | |
9454 | comment. | |
9455 | Return true if ALIAS is .GLOBAL_VAR. | |
9456 | ||
6702edc2 | 9457 | 2006-07-18 David Daney <ddaney@avtrex.com> |
9458 | ||
9459 | * gcc.c (display_help): Fix typo in help text. | |
9460 | ||
20169a64 | 9461 | 2006-07-18 Olivier Hainque <hainque@adacore.com> |
9462 | ||
9463 | * tree.h (categorize_ctor_elements): Adjust prototype and add | |
9464 | descriptive comment, both in accordance with the interface change | |
9465 | described below. | |
9466 | * varasm.c (constructor_static_from_elts_p): New function. | |
9467 | Whether a constructor node is a valid static constant initializer | |
9468 | if all its elements are. | |
9469 | (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it. | |
52d22316 | 9470 | * output.h: Declare it. |
20169a64 | 9471 | * expr.c (categorize_ctor_elements_1): Return whether the constructor |
9472 | is a valid constant initializer instead of computing the number of | |
9473 | non-constant elements. Use constructor_static_from_elts_p for this | |
9474 | purpose. Replace the head comment with an indication that this is a | |
9475 | helper for categorize_ctor_elements. | |
9476 | (categorize_ctor_elements): Same interface change as for the _1 | |
9477 | helper. Former head comment from this helper moved here, adjusted to | |
9478 | account for the interface changes. | |
9479 | (mostly_zeros_p): Adjust call to categorize_ctor_elements. | |
52d22316 | 9480 | (all_zeros_p): Likewise. |
20169a64 | 9481 | * gimplify.c (gimplify_init_constructor): Decide whether we can make |
9482 | static versions of the constructor from the categorize_ctor_elements | |
9483 | return value instead of the formerly computed number of non-constant | |
9484 | elements. | |
9485 | ||
3e427a9c | 9486 | 2006-07-18 Paolo Bonzini <bonzini@gnu.org> |
9487 | ||
6993cbc4 | 9488 | * configure: Regenerate. |
9489 | * Makefile.in (build_libsubdir): New configure substitution | |
9490 | (build_libobjdir): New variable. | |
9491 | (BUILD_LIBIBERTY): Use it. | |
3e427a9c | 9492 | |
6e890d9c | 9493 | 2006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
9494 | ||
9495 | PR c/28286 | |
9496 | * c-pragma.c (handle_pragma_pack): Handle invalid constants. | |
9497 | ||
83852912 | 9498 | 2006-07-18 Alexandre Oliva <aoliva@redhat.com> |
9499 | ||
9500 | PR c/26993 | |
9501 | * c-common.c (handle_weakref_attribute): Ignore attribute in | |
9502 | the same conditions the alias attribute is ignored. | |
9503 | ||
ff1a5b4a | 9504 | 2006-07-17 Carlos O'Donell <carlos@codesourcery.com> |
9505 | ||
9506 | * dbxout.c (dbxout_function_end): Do not increment scope_labelno. | |
9507 | (dbxout_begin_prologue): Increment scope_labelno. | |
9508 | ||
a4b6566a | 9509 | 2006-07-17 Richard Henderson <rth@redhat.com> |
9510 | ||
9511 | PR 27889 | |
9512 | * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P | |
9513 | if needed. | |
9514 | ||
78ab4d5e | 9515 | 2006-07-17 Roger Sayle <roger@eyesopen.com> |
9516 | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
9517 | ||
9518 | * config/i386/gmon-sol2.c: Silence compilation warnings by partially | |
9519 | synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0 | |
9520 | blocks. #include "tconfig.h" and "tsystem.h" to prototype system | |
9521 | functions such as sbrk, write, etc.. Add function prototypes. | |
9522 | Convert function declarations from K&R to ISO C. Cast pointers | |
9523 | to "long" and "unsigned long" instead of "int" and "unsigned int". | |
9524 | Convert tokens following #endif into comments. | |
9525 | ||
b7c18eb3 | 9526 | 2006-07-17 Toon Moene <toon@moene.indiv.nluug.nl> |
9527 | ||
9528 | * invoke.texi: Remove mention of f77; Reformat table for | |
9529 | inline parameter options correctly; mention that -malign-double | |
9530 | is default on x86-64 targets. | |
9531 | ||
85cf2bcd | 9532 | 2006-07-17 Zdenek Dvorak <dvorakz@suse.cz> |
9533 | ||
9534 | * tree-chrec.c (avoid_arithmetics_in_type_p): New. | |
9535 | (convert_affine_scev, chrec_convert_aggressive): Use | |
9536 | avoid_arithmetics_in_type_p. Do not check for the subtypes | |
9537 | separately. | |
9538 | ||
ed4439b1 | 9539 | 2006-07-17 Richard Sandiford <richard@codesourcery.com> |
9540 | ||
9541 | PR middle-end/28403 | |
9542 | * optabs.c (expand_doubleword_shift): Wrap the call to | |
9543 | do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP. | |
9544 | ||
36271919 | 9545 | 2006-07-17 Richard Sandiford <richard@codesourcery.com> |
9546 | ||
9547 | PR middle-end/28402 | |
9548 | * optabs.c (expand_binop): Pass next_methods rather than methods | |
9549 | to expand_doubleword_shift. | |
9550 | ||
969239ad | 9551 | 2006-07-17 J"orn Rennecke <joern.rennecke@st.com> |
9552 | ||
9553 | PR other/28251 | |
9554 | * tree.h (dump_addr): Declare. | |
9555 | * print-tree.c (dump_addr): New function. | |
9556 | (print_node_brief, print_node): Use it. | |
9557 | * print-rtl.c (print_rtx): Likewise. | |
9558 | * common.opt (-fdump-noaddr): New option. | |
9559 | * doc/invoke.texi (-fdump-noaddr): Document. | |
9560 | * loop-unroll.c (si_info_hash): Make hash independent of addresses. | |
9561 | (ve_info_hash): Likewise. | |
9562 | ||
8e659d30 | 9563 | 2006-07-13 Andrew Haley <aph@redhat.com> |
9564 | ||
9565 | PR tree-optimization/19505 | |
9566 | * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH | |
9567 | edge leaving this block, make sure that the destination of this | |
9568 | block has only one predecessor. | |
9569 | ||
5bfb60b4 | 9570 | 2006-07-17 Richard Guenther <rguenther@suse.de> |
9571 | ||
9572 | PR tree-optimization/28238 | |
9573 | * tree-inline.c (copy_bb): Check if we produced valid | |
9574 | gimple copying and substituting a stmt. If not, gimplify | |
9575 | it. | |
9576 | ||
8ccaf1c3 | 9577 | 2006-07-16 Eric Botcazou <ebotcazou@adacore.com> |
9578 | ||
9579 | * optabs.c (maybe_encapsulate_block): New function extracted from... | |
9580 | (emit_libcall_block): ...here. Invoke it on the block of insns to | |
9581 | maybe emit REG_LIBCALL/REG_RETVAL notes around the block. | |
9582 | (emit_no_conflict_block): Likewise. | |
9583 | ||
5c9156d2 | 9584 | 2006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr> |
9585 | ||
62426a9d | 9586 | * doc/install.texi (sparc-sun-solaris2*): Add GMP version number. |
5c9156d2 | 9587 | |
f2f31d94 | 9588 | 2006-07-15 Roger Sayle <roger@eyesopen.com> |
9589 | ||
9590 | * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into | |
9591 | a new NOP_EXPR case of the switch statement. | |
9592 | ||
8aea3a7e | 9593 | 2006-07-15 Kaz Kojima <kkojima@gcc.gnu.org> |
9594 | ||
9595 | PR middle-end/28160 | |
9596 | * stor-layout.c (place_field): Take the bit field with | |
9597 | an excessive size into account in the ms-bitfiled case. | |
9598 | ||
9599 | PR middle-end/28161 | |
9600 | * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of | |
9601 | the previous bit field. | |
9602 | ||
d45d6318 | 9603 | 2006-07-14 Eliot Dresselhaus <eliot@sonic.net> |
9604 | ||
9605 | PR target/27287 | |
9606 | * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative. | |
9607 | ||
199f9baa | 9608 | 2006-07-14 Ulrich Weigand <uweigand@de.ibm.com> |
9609 | ||
9610 | * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect | |
9611 | signal frames correctly even when the signal was installed with | |
9612 | sa_restorer set. | |
9613 | ||
14571b8c | 9614 | 2006-07-14 Carlos O'Donell <carlos@codesourcery.com> |
a6e8892a | 9615 | |
9616 | * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start. | |
52d22316 | 9617 | (dbxout_function_end): Use local label LFBB. Remove hook |
14571b8c | 9618 | DBX_OUTPUT_NFUN. |
a6e8892a | 9619 | (dbxout_source_line): Use local label LFBB. |
9620 | (dbxout_block): Likewise. | |
9621 | (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC. | |
9622 | (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC. | |
9623 | * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC, | |
9624 | and DBX_OUTPUT_NFUN. | |
9625 | ||
c7a67206 | 9626 | 2006-07-13 Janis Johnson <janis187@us.ibm.com> |
9627 | ||
9628 | * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail. | |
9629 | ||
e3a1de9d | 9630 | 2006-07-13 Jan Hubicka <jh@suse.cz> |
9631 | ||
9632 | * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call | |
9633 | align_variable. | |
9634 | * output.h (align_variable): Declare. | |
9635 | * varasm.c (align_variable): Export. | |
9636 | * value-prof.c (tree_value_profile_transformations): Recompute iterator | |
9637 | when basic block changed. | |
9638 | ||
8bd02423 | 9639 | 2006-07-13 Nick Clifton <nickc@redhat.com> |
9640 | ||
9641 | * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst | |
9642 | walking the LOG_LINKS chain. | |
52d22316 | 9643 | |
825957d0 | 9644 | 2006-07-12 Geoffrey Keating <geoffk@apple.com> |
9645 | ||
9646 | * doc/invoke.texi (C++ Dialect Options): Explain difference | |
9647 | between -fvisibility-inlines-hidden and setting hidden | |
9648 | visibility explicitly. | |
9649 | ||
296ac38d | 9650 | 2006-07-12 Eric Christopher <echristo@apple.com> |
9651 | ||
9652 | * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo. | |
9653 | (stmp-lipo): Depend on libgcc.a. | |
9654 | ||
a3a710ae | 9655 | 2006-07-12 Kazu Hirata <kazu@codesourcery.com> |
9656 | ||
9657 | * tree.c: Fix a comment typo. | |
9658 | ||
03ed61bd | 9659 | 2006-07-12 Naveen.H.S <naveenh@kpitcummins.com> |
9660 | ||
296ac38d | 9661 | * config/m32c/muldiv.md (umulhisi3_c): Use only registers for |
03ed61bd | 9662 | dest. |
9663 | (umulhisi3_r): Likewise. | |
9664 | ||
2be9ef44 | 9665 | 2006-07-12 Paolo Carlini <pcarlini@suse.de> |
9666 | ||
9667 | PR libstdc++/27878 | |
9668 | * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x, | |
9669 | x < 19, vs wchar_t support. | |
9670 | ||
a363d423 | 9671 | 2006-07-12 Nick Clifton <nickc@redhat.com> |
9672 | ||
9673 | * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up | |
9674 | instead of -isa=sh4. | |
9675 | ||
b1acb195 | 9676 | 2006-07-12 Mike Stump <mrs@apple.com> |
9677 | ||
9678 | * protoize.c (edit_fn_definition): Add volatile to clean_text_p. | |
9679 | ||
4bd2ed91 | 9680 | 2006-07-10 Eric Christopher <echristo@apple.com> |
9681 | ||
9682 | * config/t-slibgcc-darwin: Rewrite. | |
9683 | ||
53d9fa56 | 9684 | 2006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
9685 | ||
9686 | PR bootstrap/20437 | |
9687 | * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4 | |
9688 | dependencies. | |
9689 | ||
52e76f50 | 9690 | 2006-07-08 Matthias Klose <doko@debian.org> |
9691 | ||
9692 | * doc/sourcebuild.texi: Fix typo. | |
9693 | ||
61025e42 | 9694 | 2006-07-07 Mike Stump <mrs@apple.com> |
9695 | ||
9696 | * toplev.c (process_options): Don't give -ffunction-sections may | |
9697 | affect debugging warning for Mach-O. | |
9698 | ||
2ca4dfa4 | 9699 | 2006-07-07 James E Wilson <wilson@specifix.com> |
9700 | ||
9701 | * config/mips/mips.md (cpu): Add sb1a. | |
9702 | * config/mips/sb1.md: Modify almost all patterns to accept sb1a in | |
9703 | addition to sb1. Adjust comments to clarify SB-1A differences from | |
9704 | SB-1. | |
9705 | (ir_sb1a_load): New. Modify bypasses to use it. | |
9706 | (ir_sb1a_simple_alu): Likewise. | |
9707 | * config/mips/mips.c (mips_cpu_info_table): Add sb1a. | |
9708 | (mips_rtx_cost_data): Add PROCESSOR_SB1A support. | |
9709 | (mips_issue_rate): Add PROCESSOR_SB1A. | |
9710 | (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1. | |
9711 | * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A. | |
9712 | (TARGET_SB1): Add PROCESSOR_SB1A check. | |
9713 | (TUNE_SB1): Likewise. | |
9714 | ||
9715 | * config/mips/mips-protos.h (mips_store_data_bypass_p): New. | |
9716 | * config/mips/mips.c (mips_store_data_bypass_p): New. | |
9717 | * config/mips/sb1.md: Use mips_store_data_bypass_p instead of | |
9718 | store_data_bypass_p. | |
9719 | ||
463b8e0b | 9720 | 2006-07-08 Paul Brook <paul@codesourcery.com> |
9721 | ||
9722 | PR target/27991 | |
9723 | * config/m68k/m68k.md: Add r-m patterns for 68881 movxf. | |
9724 | ||
ba56cb50 | 9725 | 2006-07-07 Richard Guenther <rguenther@suse.de> |
9726 | ||
9727 | PR middle-end/28268 | |
9728 | * tree.h (build_one_cst): Declare. | |
9729 | * tree.c (build_one_cst): New function. | |
9730 | * tree-ssa-math-opts.c (get_constant_one): Remove. | |
9731 | (insert_reciprocals): Use build_one_cst. | |
9732 | * fold-const.c (fold_plusminus_mult): Likewise. | |
9733 | ||
2e2fd8fe | 9734 | 2006-07-07 Roger Sayle <roger@eyesopen.com> |
9735 | ||
9736 | * pointer-set.c (pointer_set_destroy): Correct whitespace. | |
9737 | * cfgloopanal.c (dump_graph): Likewise. | |
9738 | * dojump.c (discard_pending_stack_adjust): Likewise. | |
9739 | * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES): | |
9740 | Likewise. | |
9741 | * alloc-pool.c (dump_alloc_pool_statistics): Likewise. | |
9742 | * function.c (finalize_block_changes): Likewise. | |
9743 | * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise. | |
9744 | * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise. | |
9745 | * rtl.c (dump_rtx_statistics): Likewise. | |
4bd2ed91 | 9746 | * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars): |
2e2fd8fe | 9747 | Likewise. |
9748 | * varray.c (dump_varray_statistics): Likewise. | |
9749 | * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64, | |
9750 | decode_decimal64, encode_decimal128, decode_decimal128, | |
9751 | decimal_real_to_decimal): Likewise. | |
9752 | ||
238ad80e | 9753 | 2006-07-07 Richard Guenther <rguenther@suse.de> |
9754 | ||
9755 | PR tree-optimization/28187 | |
9756 | * tree-vrp.c (vrp_operand_equal_p): New function. | |
9757 | (vrp_bitmap_equal_p): Likewise. | |
9758 | (update_value_range): Use them to compare old and new | |
9759 | max and min values. | |
9760 | ||
3ab72ef0 | 9761 | 2006-07-06 Roger Sayle <roger@eyesopen.com> |
9762 | ||
9763 | * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add | |
9764 | a default case to switch statement to silence compiler warnings. | |
9765 | ||
97f2677a | 9766 | 2006-07-06 Roger Sayle <roger@eyesopen.com> |
9767 | ||
9768 | PR target/27968 | |
4bd2ed91 | 9769 | * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether |
97f2677a | 9770 | the configured assembler supports the x87's ffreep mnemonic. |
9771 | * configure: Regenerate. | |
9772 | * config.in: Regenerate. | |
9773 | ||
9774 | * config/i386/i386.c (output_387_ffreep): New function. | |
9775 | (output_fp_compare): Use output_387_ffreep to emit ffreep insns. | |
9776 | (output_387_reg_move): Likewise. | |
9777 | ||
108cf177 | 9778 | 2006-07-06 Paul Eggert <eggert@cs.ucla.edu> |
9779 | ||
9780 | Port to hosts whose 'sort' and 'tail' implementations | |
9781 | treat operands with leading '+' as file names, as POSIX | |
9782 | has required since 2001. However, make sure the code still | |
9783 | works on pre-POSIX hosts. | |
9784 | * Makefile.in (slowcompare): Port to POSIX 1003.1-2001, | |
9785 | which says you should use "tail -c +N" rather than "tail +Nc". | |
9786 | Fix a bug: the old code incorrectly skipped 15 bytes, not 16. | |
9787 | ||
499c8b1e | 9788 | 2006-07-06 Zdenek Dvorak <dvorakz@suse.cz> |
9789 | ||
97f2677a | 9790 | * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in |
9791 | argument name. | |
499c8b1e | 9792 | |
0c3d4c89 | 9793 | 2006-07-06 David Edelsohn <edelsohn@gnu.org> |
9794 | ||
9795 | PR target/28150 | |
9796 | * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow | |
9797 | PRE_{INC,DEC} of TFmode. | |
9798 | ||
9799 | 2006-07-06 David Edelsohn <edelsohn@gnu.org> | |
9800 | Alan Modra <amodra@bigpond.net.au> | |
9801 | ||
9802 | PR target/28170 | |
9803 | * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop | |
9804 | bounds. Simplify. | |
9805 | ||
c1d0c676 | 9806 | 2006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
9807 | ||
9808 | PR target/28285 | |
9809 | * config/alpha/predicates.md (alpha_swapped_comparison_operator): | |
9810 | Remove duplicate gtu. | |
9811 | ||
2bc7da70 | 9812 | 2006-07-05 Jason Merrill <jason@redhat.com> |
9813 | ||
9814 | PR c++/13983 | |
9815 | PR c++/17519 | |
9816 | * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants. | |
9817 | * c-common.c (handle_packed_attribute): So don't copy it here. | |
9818 | * c-decl.c (finish_struct): Don't copy TYPE_ALIGN. | |
9819 | ||
d2f36968 | 9820 | 2006-07-05 Mike Stump <mrs@apple.com> |
9821 | ||
9822 | * doc/invoke.texi (Invoking G++): Clarify prose for g++. | |
9823 | ||
a2e127ea | 9824 | 2006-07-05 H.J. Lu <hongjiu.lu@intel.com> |
9825 | ||
9826 | PR target/26146 | |
9827 | * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*. | |
9828 | ||
547f0055 | 9829 | 2006-07-05 Richard Guenther <rguenther@suse.de> |
9830 | ||
9831 | PR target/28158 | |
9832 | * config/i386/i386.md (*negdf2_1): Restrict pattern to | |
9833 | TARGET_SSE2 targets if using SSE math. | |
9834 | (*absdf2_1): Likewise. | |
9835 | ||
47652819 | 9836 | 2006-07-05 Richard Guenther <rguenther@suse.de> |
9837 | ||
9838 | PR tree-optimization/28162 | |
9839 | * fold-const.c (fold_binary): For (-A) * (-B) -> A * B | |
9840 | make sure to convert the operands to the correct type. | |
9841 | ||
c136ae61 | 9842 | 2006-07-04 Paolo Bonzini <bonzini@gnu.org> |
9843 | ||
9844 | PR tree-optimization/28218 | |
9845 | ||
9846 | * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls | |
9847 | to calculate and free the dominator information. | |
4bd2ed91 | 9848 | |
46276eaf | 9849 | 2006-07-04 Peter O'Gorman <peter@pogma.com> |
9850 | ||
9851 | * mklibgcc.in: chmod 644 before ranlib during install. | |
9852 | ||
a9e7d751 | 9853 | 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com> |
9854 | J"orn Rennecke <joern.rennecke@st.com> | |
9855 | ||
9856 | * configure.ac (.eh_frame data check): Use diff -b. | |
9857 | ||
f508ba97 | 9858 | 2006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
9859 | ||
9860 | PR bootstrap/18058 | |
9861 | * Makefile.in (BUILD_RTL): Add build/vec.o. | |
9862 | (build/gencondmd.o): Filter out -fkeep-inline-functions. | |
9863 | (build/genextract): Delete. | |
9864 | (build/genautomata): Likewise. | |
9865 | ||
487b16e9 | 9866 | 2006-07-04 Alan Modra <amodra@bigpond.net.au> |
9867 | ||
9868 | PR target/28207 | |
9869 | * config/rs6000/rs6000.c (function_arg_boundary): Double-word align | |
9870 | 128-bit IBM long doubles for ABI_V4. | |
9871 | ||
2100c228 | 9872 | 2006-07-03 Eric Botcazou <ebotcazou@adacore.com> |
9873 | ||
9874 | * tree.c (range_in_array_bounds_p): New predicate. | |
9875 | * tree.h (range_in_array_bounds_p): Declare it. | |
9876 | * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to | |
9877 | return a less conservative answer. | |
9878 | * tree-sra.c (struct sra_elt): Add new pointer field 'groups' | |
9879 | and flag 'is_group'. | |
9880 | (IS_ELEMENT_FOR_GROUP): New macro. | |
9881 | (FOR_EACH_ACTUAL_CHILD): Likewise. | |
9882 | (next_child_for_group): New helper function. | |
9883 | (can_completely_scalarize_p): Take into account groups. | |
9884 | (sra_hash_tree): Handle RANGE_EXPR. | |
9885 | (sra_elt_eq): Likewise. | |
9886 | (lookup_element): Be prepared for handling groups. | |
9887 | (is_valid_const_index): Delete. | |
9888 | (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p | |
9889 | instead of is_valid_const_index. | |
9890 | <ARRAY_RANGE_REF>: New case. | |
9891 | (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of | |
9892 | is_valid_const_index. | |
9893 | <ARRAY_RANGE_REF>: Do not unconditionally punt. | |
9894 | (scan_dump): Dump info for groups too. | |
9895 | (decide_instantiation_1): Likewise. | |
9896 | (decide_block_copy): Assert that the element is not a group. | |
9897 | Propagate decision to groups. | |
9898 | (generate_one_element_ref): Handle RANGE_EXPR. | |
9899 | (mark_no_warning): Iterate over actual childs. | |
9900 | (generate_copy_inout): Likewise. | |
9901 | (generate_element_copy): Likewise. | |
9902 | (generate_element_zero): Likewise. | |
9903 | (generate_element_init_1): Likewise. | |
9904 | (dump_sra_elt_name): Handle RANGE_EXPR. | |
9905 | ||
aed95130 | 9906 | 2006-07-03 Roger Sayle <roger@eyesopen.com> |
9907 | ||
9908 | PR tree-optimization/26251 | |
9909 | * tree-ssa-threadupdate.c (redirection_block_p): New function. | |
9910 | (thread_block): When optimizing for size refuse to thread jumps | |
9911 | that would require duplication of blocks other than redirection | |
9912 | blocks. | |
9913 | ||
3891e7d9 | 9914 | 2006-07-03 Paolo Bonzini <bonzini@gnu.org> |
9915 | ||
9916 | * configure.ac: Fix thinko in previous check-in. | |
9917 | * configure: Regenerate. | |
9918 | ||
5dee13c2 | 9919 | 2006-07-03 Paolo Bonzini <bonzini@gnu.org> |
9920 | ||
9921 | PR other/27063 | |
9922 | * configure.ac (for lang...): Simplify nesting of conditionals. | |
9923 | Test subdir_requires for non-enabled languages. Move processing | |
9924 | of lang_opt_files and lang_tree_fiels below that test. | |
9925 | * configure: Regenerate. | |
9926 | * doc/sourcebuild.texi (Front End Config): Document subdir_requires. | |
9927 | ||
0cda8c30 | 9928 | 2006-07-01 Martin Michlmayr <tbm@cyrius.com> |
9929 | ||
9930 | * doc/gcov.texi (Invoking Gcov): Add a missing word. | |
9931 | ||
588ce679 | 9932 | 2006-06-30 Kazu Hirata <kazu@codesourcery.com> |
9933 | ||
9934 | * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix | |
9935 | comment typos. | |
9936 | ||
4a2849cb | 9937 | 2006-06-29 Jason Merrill <jason@redhat.com> |
9938 | ||
9939 | PR c++/26905 | |
9940 | PR c++/26612 | |
9941 | PR c++/27000 | |
9942 | PR c++/26984 | |
9943 | PR c++/19134 | |
9944 | * tree.c (build_decl_stat): Don't hande #pragma visibility here. | |
9945 | * c-common.c (c_determine_visibility): Handle it here. | |
4bd2ed91 | 9946 | * c-decl.c (finish_decl): Call c_determine_visibility for |
4a2849cb | 9947 | functions, too. |
9948 | * flags.h (enum symbol_visibility): Sort from most to least visibility. | |
9949 | * tree.h: Likewise. | |
9950 | * varasm.c (default_assemble_visibility): Likewise. | |
9951 | * c-common.c (handle_visibility_attribute): Complain about trying | |
9952 | to give visibility to an already defined class, or trying to change | |
9953 | declared visibility. Always attach the attribute. | |
9954 | ||
9955 | PR c++/26905 | |
9956 | PR c++/21675 | |
9957 | PR c++/17470 | |
9958 | * attribs.c (decl_attributes): Ignore type-in-place attributes | |
9959 | once the type has been defined. | |
9960 | ||
7a8c1294 | 9961 | 2006-06-29 Roger Sayle <roger@eyesopen.com> |
9962 | ||
9963 | PR middle-end/27428 | |
9964 | * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount | |
9965 | to indicate the cpplib has issued an error message for us. | |
9966 | ||
6c6fd108 | 9967 | 2006-06-29 Asher Langton <langton2@llnl.gov> |
9968 | ||
9969 | PR target/25765 | |
9970 | * config/i386/i386.c (ix86_output_function_epilogue): Don't | |
9971 | insert a label at the end of an function under Mach-O. | |
4bd2ed91 | 9972 | |
c0933680 | 9973 | 2006-06-29 Eric Christopher <echristo@apple.com> |
9974 | Evan Cheng <evan.cheng@apple.com> | |
9975 | ||
9976 | * predicates.md (vector_all_ones_operand): New. | |
9977 | (nonimmediate_or_sse_const_operand): Ditto. | |
9978 | * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare. | |
9979 | * config/i386/i386.c (standard_sse_constant_opcode): Define. | |
9980 | (standard_sse_mode_p): Ditto. | |
9981 | (standard_sse_constant_p): Add case for -1 vector. | |
9982 | (ix86_expand_vector_move): Try to use. | |
9983 | * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand. | |
9984 | Call standard_sse_constant_opcode. | |
9985 | (*movv4sf_internal): Ditto. | |
9986 | (*movv2df_internal): Ditto. | |
9987 | ||
c062b0d1 | 9988 | 2006-06-29 Roger Sayle <roger@eyesopen.com> |
9989 | ||
9990 | * genpreds.c (write_match_code_switch): Correctly use XSTR instead | |
9991 | of XEXP to extract the operands of a MATCH_CODE rtx. | |
9992 | ||
4043066e | 9993 | 2006-06-28 Andrew Pinski <pinskia@gmail.com> |
9994 | ||
9995 | * tree.c (tree_size): Do not waste tail padding in | |
9996 | struct tree_string and make the size be the same as | |
9997 | build_string will generate. | |
9998 | ||
d0fb9d56 | 9999 | 2006-06-28 Jason Merrill <jason@redhat.com> |
10000 | ||
10001 | PR c++/27768 | |
10002 | * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add | |
10003 | may_aliases already in the tag's annotations to the bitmap. | |
10004 | ||
21455936 | 10005 | 2006-06-28 Roger Sayle <roger@eyesopen.com> |
10006 | ||
10007 | * genpreds.c (write_predicate_stmts) <IOR>: Add missing break. | |
10008 | ||
868178ed | 10009 | 2006-06-28 Roger Sayle <roger@eyesopen.com> |
10010 | ||
10011 | * genpreds.c (generate_switch_p): New function. | |
10012 | (add_mode_tests): Push the new mode test down inside an AND expr | |
10013 | if this allows the switch-suitable MATCH_CODE to be near the root. | |
10014 | (write_match_code_switch): New function to write a MATCH_CODE as | |
10015 | a switch statement. | |
10016 | (write_predicate_stmts): New function to write a predicate RTX | |
10017 | expression as a sequence of statements. | |
10018 | (write_one_predicate_function): Use write_predicate_stmts. | |
10019 | (write_tm_constrs_h): Likewise. | |
10020 | ||
68b77226 | 10021 | 2006-06-26 Fred Fish <fnf@specifix.com> |
10022 | ||
10023 | * config/mips/t-sb1: New file. | |
10024 | * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to | |
10025 | tmake_file list. | |
10026 | ||
54536dfe | 10027 | 2006-06-26 DJ Delorie <dj@redhat.com> |
10028 | ||
10029 | * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic. | |
10030 | ||
10031 | 2006-06-26 Naveen H.S <naveenh@kpitcummins.com> | |
10032 | Jayant Sonar <jayants@kpitcummins.com> | |
10033 | Jaydeep Vipradas <jaydeepv@kpitcummins.com> | |
10034 | ||
10035 | * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New. | |
10036 | (subsi3, subsi3_1, subsi3_2): New. | |
10037 | * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New. | |
10038 | * config/m32c/mov.md (SI mov peephole): New. | |
10039 | * config/m32c/m32.c (m32c_immd_dbl_mov): New. | |
10040 | * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New. | |
c0933680 | 10041 | |
6f18455e | 10042 | 2006-06-26 Olivier Hainque <hainque@adacore.com> |
10043 | ||
10044 | * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on | |
10045 | a CALL_EXPR target function declaration. | |
10046 | ||
65c79db3 | 10047 | 2006-06-26 Richard Guenther <rguenther@suse.de> |
10048 | ||
10049 | * tree.c (build_string): Do not waste tail padding in | |
10050 | struct tree_string. | |
10051 | ||
5da2078a | 10052 | 2006-06-26 Richard Guenther <rguenther@suse.de> |
10053 | ||
10054 | * ggc-page.c (init_ggc): Add missing element to size_lookup | |
10055 | table. | |
10056 | ||
10057 | Revert | |
10058 | 2006-06-23 Richard Guenther <rguenther@suse.de> | |
10059 | ||
10060 | * ggc-page.c (init_ggc): Do not round up the extra_order_size_table | |
10061 | sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour | |
10062 | alignment requests instead. Add verification code. | |
10063 | Add struct tree_function_decl and struct tree_binfo size to | |
10064 | extra_order_size_table. Add missing element to size_lookup | |
10065 | table. | |
10066 | ||
0b6fa2ba | 10067 | 2006-06-25 Eric Botcazou <ebotcazou@adacore.com> |
10068 | ||
10069 | PR middle-end/28151 | |
10070 | * fold-const.c (const_binop): Be prepared for self returning zero. | |
10071 | Simplify code handling complex values. | |
10072 | ||
9c530f25 | 10073 | 2006-06-24 Olivier Hainque <hainque@adacore.com> |
10074 | ||
10075 | * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function. | |
10076 | (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode | |
10077 | aggregate types. | |
10078 | ||
10079 | 2006-06-24 Olivier Hainque <hainque@adacore.com> | |
10080 | ||
10081 | * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as | |
10082 | ARRAY_REF, so have the callback called for the low bound expression. | |
10083 | ||
e5d0ba06 | 10084 | 2006-06-23 Janis Johnson <janis187@us.ibm.com> |
10085 | ||
10086 | * tree.h (DECIMAL_FLOAT_TYPE_P): New. | |
10087 | * c-typeck.c (c_common_type): Disallow operations on decimal float | |
10088 | types and other float types. | |
10089 | * convert.c (convert_to_real): Don't ignore conversions involving | |
10090 | decimal float types. | |
10091 | ||
150edb07 | 10092 | 2006-06-23 Olivier Hainque <hainque@adacore.com> |
10093 | ||
10094 | * tree.c (max_int_size_in_bytes): New function, inspired from | |
10095 | code in function.c:assign_temp. | |
10096 | * tree.h (max_int_size_in_bytes): Declare. | |
10097 | * function.c (assign_temp): Use it. | |
10098 | * gimplify.c (create_tmp_var): Relax the assertions on the type | |
10099 | properties, not mandating constant size any more. | |
10100 | (force_constant_size): New static function. | |
10101 | (gimple_add_tmp_var): Use it, forcing variable size to a | |
10102 | constant upper bound if it is not constant on entry. | |
10103 | ||
768d7d97 | 10104 | 2006-06-23 Danny Smith <dannysmith@users.sourceforge.net> |
10105 | ||
10106 | PR target/27789 | |
10107 | * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check | |
10108 | for initialization and setting of one_only flag to ... | |
10109 | (i386_pe_encode_section_info): ...here. | |
10110 | (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also. | |
10111 | Recheck that the symbol has not been defined. | |
10112 | ||
8c14f57e | 10113 | 2006-06-23 Richard Guenther <rguenther@suse.de> |
10114 | ||
10115 | * ggc-page.c (init_ggc): Do not round up the extra_order_size_table | |
10116 | sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour | |
10117 | alignment requests instead. Add verification code. | |
10118 | Add struct tree_function_decl and struct tree_binfo size to | |
10119 | extra_order_size_table. Add missing element to size_lookup | |
10120 | table. | |
10121 | ||
231c1565 | 10122 | 2006-06-22 Roger Sayle <roger@eyesopen.com> |
10123 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
10124 | ||
10125 | PR middle-end/28131 | |
10126 | * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the | |
10127 | call to lang_hooks.types.type_for_mode returned NULL_TREE. | |
10128 | ||
f11164aa | 10129 | 2006-06-23 Ben Elliston <bje@au.ibm.com> |
10130 | ||
10131 | * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to | |
10132 | negate dn -- manipulate it directly. | |
10133 | ||
493488c1 | 10134 | 2006-06-22 Roger Sayle <roger@eyesopen.com> |
10135 | Steven Bosscher <stevenb.gcc@gmail.com> | |
10136 | ||
10137 | PR target/27531 | |
10138 | * reload1.c (gen_reload): Call mark_jump_label on the new insns | |
10139 | generated by gen_move_insn to add REG_LABEL notes if necessary. | |
10140 | ||
da0eb3fd | 10141 | 2006-06-22 Bob Wilson <bob.wilson@acm.org> |
10142 | ||
10143 | * config/xtensa/lib1funcs.asm (MIN_ESA): Delete. | |
10144 | (leaf_entry): Remove use of MIN_ESA. | |
10145 | ||
ea06d49f | 10146 | 2006-06-22 Zdenek Dvorak <dvorakz@suse.cz> |
10147 | ||
10148 | PR rtl-optimization/28121 | |
10149 | * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from | |
10150 | the entry edge. | |
10151 | ||
387715e2 | 10152 | 2006-06-21 DJ Delorie <dj@redhat.com> |
10153 | ||
10154 | * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest | |
10155 | (TN-16C-A156A/E). | |
10156 | (mulhisi3_r): Likewise. | |
10157 | ||
82e15b07 | 10158 | 2006-06-21 Richard Sandiford <richard@codesourcery.com> |
10159 | ||
10160 | PR middle-end/28034 | |
10161 | * coverage.c (coverage_counter_alloc): Leave the index type | |
10162 | unspecified. | |
10163 | (coverage_counter_alloc): Use null arguments for operands 2 and 3 | |
10164 | of the ARRAY_REF. | |
10165 | ||
1c661d17 | 10166 | 2006-06-21 Andrew Pinski <pinskia@physics.uc.edu> |
10167 | ||
10168 | * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect" | |
10169 | section from the "Options for Code Generation Conventions". | |
10170 | ||
2702343c | 10171 | 2006-06-21 Richard Henderson <rth@redhat.com> |
10172 | ||
10173 | PR target/26347 | |
10174 | PR target/27082 | |
10175 | * config/alpha/predicates.md (small_symbolic_operand): Deny weak | |
10176 | symbols. | |
10177 | (global_symbolic_operand): Allow weak symbols, even if local_p. | |
10178 | ||
8ee578c8 | 10179 | 2006-06-21 Eric Botcazou <ebotcazou@adacore.com> |
10180 | ||
10181 | * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function. | |
10182 | (find_interesting_uses_address): Punt if above function returns true. | |
10183 | ||
b1ef404e | 10184 | 2006-06-21 Richard Guenther <rguenther@suse.de> |
10185 | ||
10186 | * configure: Regenerated. | |
10187 | ||
9fc4153e | 10188 | 2006-06-21 Joseph Myers <joseph@codesourcery.com> |
10189 | ||
10190 | * config/mips/mips.c (function_arg): Where one part of a | |
10191 | complex argument is in registers and the other part in the stack, | |
10192 | return a REG not a PARALLEL. | |
10193 | ||
0bf9691e | 10194 | 2006-06-21 Mark Mitchell <mark@codesourcery.com> |
10195 | ||
10196 | * configure.ac: Set gcc_gxx_include_dir to $target/include/c++ | |
10197 | when cross-compiling. Do not substitute libstdcxx_incdir. | |
10198 | * configure: Regenerated. | |
10199 | ||
1fc5c8af | 10200 | 2006-06-21 Jakub Jelinek <jakub@redhat.com> |
10201 | ||
10202 | * varasm.c (mergeable_string_section): Check for embedded NULs and | |
10203 | NUL termination in the first int_size_in_bytes (TREE_TYPE (decl)) | |
10204 | rather than TREE_STRING_LENGTH bytes. | |
10205 | ||
7a0c37de | 10206 | 2006-06-21 Richard Guenther <rguenther@suse.de> |
10207 | ||
10208 | * ggc-page.c (extra_order_size_table): Add var_ann_d, | |
10209 | tree_ssa_name, bitmap_element and phi_node with 4 arguments | |
10210 | sizes. | |
10211 | ||
86159992 | 10212 | 2006-06-21 Richrad Guenther <rguenther@suse.de> |
10213 | ||
10214 | * tree-ssa-loop-niter.c (simplify_using_initial_conditions): | |
10215 | Limit iteration over the dominators. | |
10216 | ||
d72835ba | 10217 | 2006-06-20 Roger Sayle <roger@eyesopen.com> |
10218 | ||
10219 | * config/mips/iris6.h (LIB_SPEC): Add support for -pthread. | |
10220 | (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified. | |
10221 | ||
0a06d4f0 | 10222 | 2006-06-20 Richard Guenther <rguenther@suse.de> |
10223 | Michael Matz <matz@suse.de> | |
10224 | ||
10225 | * alloc-pool.h (free_alloc_pool_if_empty): Prototype new | |
10226 | function. | |
10227 | * alloc-pool.c (free_alloc_pool_if_empty): New function. | |
10228 | * et-forest.h (et_free_pools): Prototype new function. | |
c0933680 | 10229 | * et-forest.c (et_free_tree_force): Free parent occurrence. |
0a06d4f0 | 10230 | (et_free_pools): New function. |
10231 | * dominance.c (free_dominance_info): Free et-forest alloc | |
10232 | pools. | |
10233 | ||
9fd22806 | 10234 | 2006-06-20 Roger Sayle <roger@eyesopen.com> |
10235 | ||
10236 | * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with | |
10237 | integer modes, attempt to directly construct an integer constant. | |
10238 | ||
10239 | * fold-const.c (native_encode_vector): Determine the size of each | |
10240 | element from the vector type instead of the first vector element. | |
10241 | ||
10242 | * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant, | |
10243 | if all of its elements/components are constant. | |
10244 | (build_constructor_from_list): Likewise. | |
10245 | ||
31e389a2 | 10246 | 2006-06-20 Zdenek Dvorak <dvorakz@suse.cz> |
10247 | ||
10248 | PR tree-optimization/27331 | |
10249 | * tree-data-ref.c (free_data_ref): New function. | |
10250 | (create_data_ref): Fail if the data reference has unknown access | |
10251 | function. | |
10252 | (free_data_refs): Use free_data_ref. | |
10253 | ||
aee8cc15 | 10254 | 2006-06-19 Andrew Pinski <pinskia@gmail.com> |
10255 | ||
10256 | PR middle-end/28075 | |
10257 | * tree-inline.c (setup_one_parameter): Strip useless | |
10258 | type conversion before adding it to the IR. | |
10259 | (declare_return_variable): Likewise. | |
10260 | ||
4d9f60cc | 10261 | 2006-06-19 Martin Michlmayr <tbm@cyrius.com> |
10262 | ||
10263 | PR c/27149 | |
10264 | * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning. | |
10265 | ||
de8dea22 | 10266 | 2006-06-19 Mike Stump <mrs@apple.com> |
10267 | ||
10268 | * tree.c (variably_modified_type_p): VM arguments don't make the | |
10269 | type a VM type. | |
10270 | ||
9404b9c6 | 10271 | 2006-06-19 Richard Guenther <rguenther@suse.de> |
10272 | ||
10273 | * tree-ssa-pre.c (try_combine_conversion): Strip useless | |
10274 | type conversions after folding. | |
10275 | ||
1c2a6a66 | 10276 | 2006-06-19 Richard Guenther <rguenther@suse.de> |
10277 | ||
10278 | * ggc-page.c (extra_order_size_tab): Add entries with | |
10279 | size of struct function and basic_block. | |
10280 | (size_lookup): Extend to cover sizes up to 511. | |
10281 | (ggc_alloc_stat): Adjust user. | |
10282 | (ggc_pch_count_object): Likewise. | |
10283 | (ggc_pch_alloc_object): Likewise. | |
10284 | (ggc_pch_write_object): Likewise. | |
10285 | ||
30b9be29 | 10286 | 2006-06-19 Zdenek Dvorak <dvorakz@suse.cz> |
10287 | ||
10288 | * tree-ssa-loop-niter.c (implies_ge_p): New function. | |
10289 | (derive_constant_upper_bound): Handle OP0 - CST in unsigned types | |
10290 | correctly. | |
10291 | ||
88aaa76d | 10292 | 2006-06-19 Denis Chertykov <denisc@overta.ru> |
10293 | ||
10294 | * config/avr/libgcc.S : Correct my wrong previous commit. | |
10295 | ||
b7ba5735 | 10296 | 2006-06-19 Roger Sayle <roger@eyesopen.com> |
10297 | ||
10298 | PR target/27861 | |
10299 | * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may | |
10300 | have stripped a SUBREG from the shift count, so we may need to | |
10301 | convert_to_mode back to the type's mode before calling make_tree. | |
10302 | Use new_amount instead of amount to avoid expanding a tree twice. | |
10303 | ||
68826b15 | 10304 | 2006-06-19 Richard Guenther <rguenther@suse.de> |
10305 | ||
10306 | PR middle-end/28045 | |
10307 | * fold-const.c (operand_equal_p): Check if the argument types | |
10308 | have the same precision before stripping NOPs. | |
10309 | ||
714d1260 | 10310 | 2006-06-19 Daniel Berlin <dberlin@dberlin.org> |
10311 | ||
10312 | Fix PR tree-optimization/27341 | |
10313 | * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the | |
10314 | statement we get. | |
c0933680 | 10315 | * tree-complex.c (pass_lower_complex): Update SMT usage. |
714d1260 | 10316 | |
65092884 | 10317 | 2006-06-19 Andreas Krebbel <krebbel1@de.ibm.com> |
10318 | ||
c0933680 | 10319 | * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"): |
65092884 | 10320 | Add a new alternative to the constraint strings. Add move of |
10321 | operand 1 to 3 to the splitter definition. | |
10322 | ("doloop_si_long"): Second contraint alternative removed. | |
10323 | ||
0aab73c2 | 10324 | 2006-06-08 Anatoly Sokolov <aesok@post.ru> |
10325 | ||
10326 | * config/avr/avr.h (avr_have_movw_lpmx_p): Declare. | |
c0933680 | 10327 | (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and |
0aab73c2 | 10328 | __AVR_HAVE_LPMX__. |
10329 | (AVR_HAVE_MOVW) Define. | |
10330 | (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW. | |
10331 | (ASM_SPEC): Add avr25. | |
10332 | (LINK_SPEC): Add avr25. | |
10333 | * config/avr/avr.c (avr_have_movw_lpmx_p): Add. | |
10334 | (base_arch_s): Add new member 'have_movw_lpmx'. | |
10335 | (avr_arch_types): Init 'have_movw_lpmx'. | |
10336 | (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24, | |
10337 | attiny44, attiny84, attiny25, attiny45, attiny85, attiny261, | |
10338 | attiny461, attiny861 and at86rf401 in 'avr25' arhitecture. | |
10339 | (avr_override_options): Init 'avr_have_movw_lpmx_p'. | |
c0933680 | 10340 | (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use |
0aab73c2 | 10341 | AVR_HAVE_MOVW. |
10342 | (avr_file_start): Do not output '.arh' derective. | |
10343 | * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__. | |
10344 | (__do_copy_data): Use __AVR_HAVE_LPMX__. | |
10345 | * config/avr/avr.md (mcu_enhanced): Delete. | |
10346 | (mcu_have_movw): Define. | |
10347 | (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'. | |
10348 | (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__. | |
10349 | * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25. | |
10350 | (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44, | |
c0933680 | 10351 | attiny84, attiny25, attiny45, attiny85, attiny261, attiny461, |
0aab73c2 | 10352 | attiny861 and at86rf401 devices. |
10353 | ||
b6cf30ce | 10354 | 2006-06-18 Jie Zhang <jie.zhang@analog.com> |
10355 | ||
10356 | * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead | |
10357 | of 4096. | |
10358 | ||
9249a3df | 10359 | 2006-06-17 Karl Berry <karl@gnu.org> |
10360 | ||
10361 | * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi, | |
10362 | doc/gccint.texi, doc/install.texi (@dircategory): Use | |
10363 | "Software development" instead of "Programming", following | |
10364 | the Free Software Directory. | |
10365 | ||
ca5e9d0e | 10366 | 2006-06-17 Alexandre Oliva <aoliva@redhat.com> |
10367 | ||
10368 | * config/i386/i386.c (legitimate_tls_address) | |
10369 | <TARGET_GNU2_TLS>: Add tp after DTPOFF. | |
10370 | * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust. | |
10371 | (*tls_dynamic_gnu2_combine_64): Likewise. | |
10372 | ||
58b22aa6 | 10373 | 2006-06-16 Richard Guenther <rguenther@suse.de> |
10374 | ||
10375 | PR middle-end/27116 | |
10376 | * fold-const.c (negate_expr_p): Do not introduce undefined | |
10377 | overflow in negating INTEGER_CSTs. | |
10378 | (fold_negate_expr): Rename from negate_expr. Revert last | |
10379 | change for folding BIT_NOT_EXPR. Change semantics to | |
10380 | return NULL_TREE for non-simplified negations. Do not | |
10381 | strip type conversions and unify type handling. | |
10382 | (negate_expr): New function, wrap around fold_negate_expr | |
10383 | but ensure building a tree always. Strip type conversions | |
10384 | here, fold to result type. | |
10385 | (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR. | |
10386 | ||
50e6dbf3 | 10387 | 2006-06-16 Roger Sayle <roger@eyesopen.com> |
10388 | ||
10389 | PR middle-end/27802 | |
10390 | * reg-stack.c (subst_stack_regs): Handle noreturn function calls | |
10391 | that (would) return their results in stack registers. | |
10392 | ||
40c3c1b3 | 10393 | 2006-06-16 Michael Matz <matz@suse.de> |
10394 | Richard Guenther <rguenther@suse.de> | |
10395 | ||
10396 | * fold-const.c (fold_truthop): Only return new tree node if | |
10397 | we canonicalized something. | |
10398 | ||
ee5142f6 | 10399 | 2006-06-16 Richard Guenther <rguenther@suse.de> |
10400 | ||
10401 | * function.h (enum function_frequency): Move declaration | |
10402 | out of struct function. | |
10403 | (struct function): Move bool fields and the enum to the bitfield | |
10404 | section. Reorder elements to avoid padding. Remove unused | |
10405 | fields left over from the RTL inliner removal. | |
10406 | * function.c (free_after_compilation): Do not zero removed fields. | |
10407 | * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency. | |
10408 | (ipa-type-escape.o): Likewise. | |
10409 | ||
a16eb452 | 10410 | 2006-06-16 Richard Guenther <rguenther@suse.de> |
10411 | ||
10412 | * cgraph.h (struct cgraph_local_info): Turn bool elements | |
10413 | into a bitfield. | |
10414 | (struct cgraph_node): Likewise. | |
10415 | (struct cgraph_varpool_node): Likewise. | |
10416 | ||
6758b11c | 10417 | 2006-06-15 Richard Guenther <rguenther@suse.de> |
10418 | ||
10419 | * fold-const.c (fold_truth_not_expr): Rename from | |
10420 | invert_truthvalue. Give it fold_* semantics to avoid | |
10421 | generating garbage. | |
10422 | (invert_truthvalue): New function. Wrapper around | |
10423 | fold_truth_not_expr. | |
10424 | (optimize_minmax_comparison): Avoid creating garbage. | |
10425 | (fold_unary): Use fold_truth_not_expr for folding | |
10426 | TRUTH_NOT_EXPR. | |
10427 | (fold_ternary): Replace uses of invert_truthvalue with | |
10428 | fold_truth_not_expr where applicable. | |
10429 | * tree.h (fold_truth_not_expr): Prototype. | |
10430 | ||
959fce68 | 10431 | 2006-06-16 Richard Guenther <rguenther@suse.de> |
10432 | ||
10433 | PR tree-optimization/27781 | |
10434 | * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency. | |
10435 | * ipa-pure-const.c (target.h): Include. | |
10436 | (analyze_function): Do not analyze functions that do not | |
10437 | bind locally. | |
10438 | ||
c0296575 | 10439 | 2006-06-15 Andrew MacLeod <amacleod@redhat.com> |
c0933680 | 10440 | |
c0296575 | 10441 | PR middle-end/27793 |
10442 | * tree-dfa.c (referenced_vars_dup_list): Remove. | |
10443 | (find_referenced_vars): Remove assert. | |
10444 | (referenced_var_check_and_insert): Replace dup list with assert. | |
10445 | * tree-ssa.c (delete_tree_ssa): Remove dup list processing. | |
10446 | * tree-flow.h (referenced_vars_dup_list): Remove extern decl. | |
10447 | ||
a04b3e37 | 10448 | 2006-06-15 Richard Guenther <rguenther@suse.de> |
10449 | ||
10450 | * tree-ssa-structalias.c (alias_get_name): Avoid creating | |
10451 | extra unused identifiers if not dumping. | |
10452 | (create_variable_info_for): Likewise. | |
10453 | ||
d8a99c17 | 10454 | 2006-06-15 Zdenek Dvorak <dvorakz@suse.cz> |
10455 | ||
10456 | * tree-ssa-loop-niter.c (implies_nonnegative_p): New function. | |
10457 | (derive_constant_upper_bound): Derive more precise upper bound in | |
10458 | common cases. Return type changed to double_int. | |
10459 | (record_estimate): Reflect the changed return type of | |
10460 | derive_constant_upper_bound. | |
10461 | * double-int.c (double_int_zext, double_int_sext): Fix. | |
10462 | ||
c81c13fb | 10463 | 2006-06-15 Paolo Bonzini <bonzini@gnu.org> |
10464 | ||
10465 | * configure.ac (CFLAGS): Get them from the toplevel or from the | |
10466 | configure invocation. | |
10467 | * configure: Regenerate. | |
10468 | * Makefile.in (CFLAGS): Substitute value provided by configure. | |
10469 | ||
d377303f | 10470 | 2006-06-14 Mark Mitchell <mark@codesourcery.com> |
10471 | ||
10472 | PR c++/26559 | |
10473 | * c-common.h (c_finish_omp_atomic): Adjust declaration. | |
10474 | * c-omp.c (c_finish_omp_atomic): Return the expression to perform, | |
10475 | rather than calling add_stmt on it. | |
10476 | * c-parser.c (c_parser_omp_atomic): Adjust accordingly. | |
10477 | ||
0aacf12c | 10478 | 2006-06-14 Andreas Krebbel <krebbel1@de.ibm.com> |
10479 | ||
10480 | PR middle-end/27959 | |
10481 | * reload1.c (reload): Remove registers returned by update_eliminables | |
10482 | from used_spill_regs. | |
10483 | ||
718a81bb | 10484 | 2006-06-13 DJ Delorie <dj@redhat.com> |
10485 | ||
10486 | * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants. | |
10487 | ||
18f327f7 | 10488 | 2006-06-13 Carlos O'Donell <carlos@codesourcery.com> |
10489 | ||
10490 | * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL, | |
10491 | html__strip_dir, html__mkdir_p. Enhance install-html target. | |
c0933680 | 10492 | * configure.ac: AC_SUBST datarootdir, docdir and htmldir. |
18f327f7 | 10493 | * configure: Regenerate. |
10494 | ||
d0911b8e | 10495 | 2006-06-13 Fariborz Jahanian <fjahanian@apple.com> |
10496 | ||
c0933680 | 10497 | * fold-const.c (fold_cond_expr_with_comparison): Check for |
d0911b8e | 10498 | Objective-C++ as language in deciding COND_EXPR transformation. |
10499 | ||
2b2f5cfb | 10500 | 2006-06-06 J"orn Rennecke <joern.rennecke@st.com> |
10501 | ||
10502 | PR target/28014: | |
10503 | * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16 | |
10504 | * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'. | |
10505 | * config/sh/lib1funcs.h (SL, SL1): Define. | |
10506 | * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function. | |
10507 | * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss. | |
10508 | * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule. | |
10509 | (OBJS_Os_4_200): New variable. | |
10510 | ($(T)libgcc-Os-4-200.a): Use it. | |
10511 | * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call | |
10512 | when dividing 1 and/or by 0. | |
10513 | ||
679f19b4 | 10514 | 2006-06-13 Roger Sayle <roger@eyesopen.com> |
10515 | ||
10516 | * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h> | |
10517 | before <ucontext.h> to define sigset_t required by <sys/ucontext.h>. | |
10518 | * configure: Regenerate. | |
10519 | ||
7196637a | 10520 | 2006-06-13 Jie Zhang <jie.zhang@analog.com> |
10521 | ||
10522 | * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized () | |
10523 | for real instruction. | |
10524 | ||
45bfe09b | 10525 | 2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
10526 | ||
10527 | PR middle-end/26807 | |
10528 | * haifa-sched.c (check_cfg): Handle special case. | |
10529 | ||
0c2f12e9 | 10530 | 2006-06-13 Eric Botcazou <ebotcazou@adacore.com> |
10531 | ||
10532 | PR debug/26754 | |
10533 | * gimplify.c (declare_tmp_vars): Rename into declare_vars. | |
10534 | Add debug_info parameter. Chain the vars to the BLOCK instead | |
10535 | of the BIND_EXPR if debug info are requested for them. | |
10536 | (pop_gimplify_context): Adjust for above change. | |
10537 | (gimple_add_tmp_var): Likewise. | |
10538 | * tree-gimple.h (declare_tmp_vars): Rename into declare_vars. | |
10539 | Add bool parameter. | |
10540 | * tree-nested.c (convert_nonlocal_reference): Adjust for above change. | |
10541 | (convert_local_reference): Likewise. | |
10542 | (get_local_debug_decl): Set DECL_IGNORED_P on the original variable. | |
10543 | (finalize_nesting_tree_1): Request that debug info be emitted | |
10544 | for debug_var_chain. | |
10545 | ||
ec469632 | 10546 | 2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
10547 | ||
10548 | * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch | |
10549 | for PR target/27863. | |
10550 | ||
3669a8aa | 10551 | 2006-06-13 Richard Guenther <rguenther@suse.de> |
10552 | ||
10553 | PR middle-end/27536 | |
10554 | * except.c (output_ttype): Expand type with EXPAND_INITIALIZER. | |
10555 | ||
52a7bd0e | 10556 | 2006-06-13 Richard Guenther <rguenther@suse.de> |
10557 | ||
10558 | PR tree-optimization/27830 | |
10559 | * tree-inline.c (copy_body_r): For copying the operand | |
10560 | of an ADDR_EXPR make sure to fold &* afterwards. | |
10561 | ||
e1f5655d | 10562 | 2006-06-12 Eric Botcazou <ebotcazou@adacore.com> |
10563 | ||
10564 | * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other | |
10565 | lvalues in the fb_none case with side-effects. | |
10566 | ||
edbe946e | 10567 | 2006-06-12 Kazu Hirata <kazu@codesourcery.com> |
10568 | ||
10569 | * tree-flow.h: Remove the prototype for | |
10570 | compute_phi_arg_on_exit. | |
10571 | * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use, | |
10572 | protect_loop_closed_ssa_form, compute_phi_arg_on_exit): | |
10573 | Remove. | |
10574 | ||
1b74fde7 | 10575 | 2006-06-12 Mark Shinwell <shinwell@codesourcery.com> |
10576 | ||
10577 | * builtins.c (expand_builtin_return_addr): Only use | |
10578 | frame_pointer_rtx when count == 0 and we are expanding | |
10579 | __builtin_return_address. | |
10580 | ||
4266946e | 10581 | 2006-06-12 Fred Fish <fnf@specifix.com> |
10582 | ||
10583 | * config/mips/mips.c (mips_file_start): Create special section | |
10584 | ".gcc_compiled_longXX" for o64 ABI as well as EABI. | |
10585 | ||
a6cf93fb | 10586 | 2006-06-11 Eric Christopher <echristo@apple.com> |
10587 | ||
10588 | PR middle-end/27948 | |
10589 | * stor-layout.c (place_field): Remove check for | |
10590 | remaining_in_alignment when aligning at the end of a run. | |
10591 | ||
114d1545 | 10592 | 2006-06-11 Eric Christopher <echristo@apple.com> |
10593 | ||
10594 | PR 27542 | |
10595 | * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct | |
10596 | pragma. | |
10597 | ||
622e3537 | 10598 | 2006-06-11 Roger Sayle <roger@eyesopen.com> |
10599 | ||
10600 | PR target/27858 | |
10601 | Revert incorrect fix for PR target/27158 | |
10602 | 2006-05-08 Roger Sayle <roger@eyesopen.com> | |
10603 | * reload.c (find_reloads_toplev): Only return the simplified SUBREG | |
10604 | of a reg_equiv_constant if the result is a legitimate constant. | |
10605 | ||
e4152f24 | 10606 | 2006-06-11 Roger Sayle <roger@eyesopen.com> |
10607 | ||
10608 | PR target/27158 | |
10609 | * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to | |
10610 | extract a CONST_VECTOR element and interpret it as an integer. | |
10611 | (vspltis_constant): Use const_vector_elt_as_int instead of the | |
10612 | macro CONST_VECTOR_ELT in order to handle FP vector modes. | |
10613 | * config/rs6000/predicates.md (easy_vector_const): Consider | |
10614 | floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant. | |
10615 | ||
089ea875 | 10616 | 2006-06-11 Kaz Kojima <kkojima@gcc.gnu.org> |
10617 | ||
10618 | PR middle-end/27942 | |
10619 | * stor-layout.c (update_alignment_for_field): Don't add extra | |
10620 | alignment for packed non-bitfield fields in ms_bitfield_layout_p | |
10621 | code. | |
10622 | ||
2137eaa9 | 10623 | 2006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org> |
10624 | ||
10625 | * config/mips/t-rtems: Add EL/EB multilib variants. | |
10626 | ||
bd4e1b5a | 10627 | 2006-06-09 Mike Stump <mrs@apple.com> |
10628 | ||
10629 | * c-typeck.c (c_begin_vm_scope): Fix file_scope processing. | |
10630 | ||
28143dbb | 10631 | 2006-06-09 David Daney <ddaney@avtrex.com> |
10632 | ||
10633 | * doc/install.texi: Add binutils version recommendation for mips-*-*. | |
10634 | ||
5f2bd98f | 10635 | 2006-06-09 Andreas Krebbel <krebbel1@de.ibm.com> |
10636 | ||
10637 | * reload.c (find_reloads): Unset force_reload for 'X' constraint. | |
10638 | ||
0086a3d6 | 10639 | 2006-06-09 Richard Guenther <rguenther@suse.de> |
10640 | ||
10641 | PR tree-optimization/26998 | |
10642 | * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR | |
10643 | of signed types, only TYPE_MIN_VALUE is special, but for both, | |
10644 | minimum and maximum value. Likewise VR_ANTI_RANGE is special | |
10645 | in this case, as is -fwrapv. | |
10646 | ||
f13da317 | 10647 | 2006-06-08 Mike Stump <mrs@apple.com> |
10648 | ||
10649 | PR target/26427 | |
10650 | * config/darwin.c (darwin_asm_output_anchor): Disable | |
10651 | -fsection-anchors on darwin for now. | |
10652 | * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise. | |
10653 | * rs6000/rs6000.c (optimization_options): Likewise. | |
10654 | ||
95de4d5a | 10655 | 2006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
10656 | ||
10657 | PR target/27421 | |
10658 | * config/i386/i386.c (classify_argument): Skip fields with invalid | |
10659 | types in unions. | |
10660 | ||
4c958a22 | 10661 | 2006-06-08 Steven Bosscher <steven@gcc.gnu.org> |
10662 | ||
10663 | * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG. | |
10664 | (cse_insn): Likewise for the stack_pointer_rtx. | |
10665 | ||
c4124729 | 10666 | 2006-06-08 Roger Sayle <roger@eyesopen.com> |
10667 | ||
10668 | * tree-ssa-dom.c (record_conditions): Only record "unordered" | |
10669 | conditions from floating point comparisons. | |
10670 | ||
65801c1c | 10671 | 2006-06-08 Paolo Bonzini <bonzini@gnu.org> |
10672 | ||
10673 | PR middle-end/27733 | |
10674 | * expmed.c (struct alg_hash_entry): Fix type of field T | |
10675 | to match synth_mult argument. | |
10676 | (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT. | |
10677 | ||
792f1838 | 10678 | 2006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
10679 | ||
10680 | PR target/27863 | |
10681 | * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic | |
10682 | block boundaries. | |
10683 | ||
2ba580f0 | 10684 | 2006-06-08 Richard Guenther <rguenther@suse.de> |
10685 | ||
10686 | PR middle-end/27116 | |
10687 | * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR | |
10688 | only, if overflow is defined and not trapping. | |
10689 | (negate_expr): Likewise. | |
10690 | ||
89c8b802 | 10691 | 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz> |
10692 | ||
10693 | PR tree-optimization/27872 | |
10694 | * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP | |
10695 | flag on the new exit edge of the unrolled loop. | |
10696 | ||
bd7519f0 | 10697 | 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz> |
10698 | ||
10699 | PR rtl-optimization/26449 | |
10700 | * loop-invariant.c (move_invariant_reg): Fail if force_operand fails. | |
10701 | ||
d328c4ab | 10702 | 2006-06-07 Andrew MacLeod <amacleod@redhat.com> |
10703 | ||
10704 | PR middle-end/27793 | |
114d1545 | 10705 | * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate |
d328c4ab | 10706 | referenced_variables with matching DECL_UID's. |
10707 | (find_referenced_vars): Make sure duplicate list is empty to start. | |
10708 | (referenced_var_p): Remove. | |
114d1545 | 10709 | (referenced_var_check_and_insert): Renamed from referenced_var_insert. |
d328c4ab | 10710 | Check if var is in the list, and add if needed. Update the duplicate |
10711 | list if a different var is in the list with the same DECL_UID. | |
10712 | (add_referenced_var): Call routine to check and insert. | |
10713 | * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates. | |
10714 | * tree-flow.h (referenced_vars_dup_list): External declaration. | |
10715 | ||
55f80fd5 | 10716 | 2006-06-07 Fred Fish <fnf@specifix.com> |
10717 | ||
10718 | * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries | |
10719 | into single entry. | |
10720 | ||
389d0d04 | 10721 | 2006-06-07 Paolo Bonzini <bonzini@gnu.org> |
10722 | ||
10723 | PR target/27390 | |
10724 | * reg-stack.c (subst_stack_regs_pat): Reorder resetting of | |
10725 | the imaginary and real parts of a clobbered register. | |
10726 | Emit insn to set the imaginary part. | |
10727 | ||
7b8afd5d | 10728 | 2006-06-06 Peter Lemieszewski <lemie@us.ibm.com> |
10729 | ||
10730 | * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c | |
10731 | in lieu of unwind-dw2-fde.c. | |
10732 | ||
5fbe6585 | 10733 | 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> |
10734 | ||
10735 | * config/i386/mingw32.h (GOMP_SELF_SPECS): Define. | |
10736 | ||
19155a13 | 10737 | 2006-06-06 Ulrich Weigand <uweigand@de.ibm.com> |
10738 | ||
10739 | PR target/27842 | |
10740 | * config/rs6000/altivec.md (UNSPEC_VSLW): Remove. | |
10741 | ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove. | |
10742 | ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use | |
10743 | V4SImode temporaries and operations instead. | |
10744 | ||
feb71a63 | 10745 | 2006-06-06 Joseph S. Myers <joseph@codesourcery.com> |
10746 | ||
10747 | * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not | |
10748 | dp-bit.c. | |
10749 | ||
85690e4d | 10750 | 2006-06-06 Mike Stump <mrs@apple.com> |
10751 | ||
10752 | * Makefile.in: Rename to htmldir to build_htmldir to avoid | |
10753 | installing during build. | |
10754 | ||
475a74e0 | 10755 | 2006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
10756 | ||
10757 | * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default | |
10758 | value to 0. | |
10759 | * doc/invoke.texi (max-sched-extend-regions-iters): Document. | |
10760 | * config/ia64/ia64.c (params.h): New header. | |
10761 | (ia64_optimization_options): New function to adjust parameters. | |
10762 | * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype. | |
10763 | * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro. | |
10764 | * config/ia64/t-ia64 (ia64.o): Add dependence from params.h . | |
10765 | ||
674b377b | 10766 | 2006-06-05 Kazu Hirata <kazu@codesourcery.com> |
10767 | ||
10768 | * stor-layout.c (debug_rli): Fix a typo in a debug message. | |
10769 | ||
71685250 | 10770 | 2006-06-05 Steve Ellcey <sje@cup.hp.com> |
10771 | ||
10772 | PR target/27051 | |
10773 | * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA. | |
10774 | ||
e47352fb | 10775 | 2006-06-05 Dorit Nuzman <dorit@il.ibm.com> |
10776 | Victor Kaplansky <victork@il.ibm.com> | |
10777 | ||
6993cbc4 | 10778 | PR tree-optimization/26360 |
10779 | * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern | |
10780 | stmts. | |
e47352fb | 10781 | |
a0a37ffc | 10782 | 2006-06-04 Roger Sayle <roger@eyesopen.com> |
10783 | Andrew Pinski <pinskia@physics.uc.edu> | |
10784 | ||
10785 | PR middle-end/27382 | |
10786 | * c-common.c (c_common_truthvalue_conversion): Explicitly check | |
10787 | for LABEL_DECL before calling DECL_WEAK. | |
10788 | ||
10789 | PR c/27150 | |
10790 | * c-typeck.c (build_binary_op): Likewise, explicitly check for | |
10791 | LABEL_DECL and PARM_DECL. | |
10792 | ||
dc95eae2 | 10793 | 2006-06-05 Joseph S. Myers <joseph@codesourcery.com> |
10794 | ||
10795 | PR c/25161 | |
10796 | PR c/27020 | |
10797 | * c-decl.c (grokdeclarator): Disallow variably modified types at | |
10798 | file scope. Avoid marking shared array type of constant size as | |
10799 | VLA. | |
10800 | ||
6b11d2e3 | 10801 | 2006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
10802 | ||
10803 | PR c++/27601 | |
10804 | * c-common.c (fold_offsetof_1): Handle static members. | |
10805 | ||
7bd4091f | 10806 | 2006-06-04 Eric Christopher <echristo@apple.com> |
10807 | ||
10808 | * stor-layout.c (start_record_layout): Initialize remaining_in_alignment. | |
10809 | (debug_rli): Output value for remaining_in_alignment. | |
10810 | (update_alignment_for_field): Unconditionalize | |
10811 | ms_bitfield_layout_p code. Handle non-bitfield fields. Remove | |
10812 | extra alignment code. | |
10813 | (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize | |
10814 | ms_bitfield_layout_p code. Rewrite handling of structure fields. | |
10815 | * tree.h (record_layout_info_s): Remove prev_packed. | |
10816 | * doc/extend.texi (ms_struct): Add documentation of format. | |
10817 | ||
47be647d | 10818 | 2006-06-04 Mark Shinwell <shinwell@codesourcery.com> |
10819 | ||
10820 | * tree.h: Declare folding_initializer. | |
10821 | * builtins.c (fold_builtin_constant_p): Give definite answer | |
10822 | if folding inside an initializer. | |
10823 | * fold-const.c: Define folding_initializer. | |
10824 | (START_FOLD_INIT): Save and then set folding_initializer. | |
10825 | (END_FOLD_INIT): Restore folding_initializer. | |
10826 | ||
f9ea6ec6 | 10827 | 2006-06-04 Richard Guenther <rguenther@suse.de> |
10828 | ||
10829 | PR tree-optimization/27039 | |
10830 | * fold-const.c (fold_comparison): Handle pointer comparison | |
10831 | again for all comparison codes. Compare offsets in signed | |
10832 | size type. | |
10833 | (fold_binary): Move code from here. | |
10834 | ||
944e7877 | 10835 | 2006-06-03 Roger Sayle <roger@eyesopen.com> |
10836 | ||
10837 | PR target/26223 | |
10838 | * config/i386/i386.c (construct_container): Split static issued_error | |
10839 | flag into issued_sse_arg_error, issued_sse_ret_error and | |
10840 | issued_x87_ret_error. Issue a daignostic if the x86-64 ABI | |
10841 | requires the use of x87 registers and the user explicitly | |
10842 | specified the -mno-80387 command line option. | |
10843 | ||
168c58e0 | 10844 | 2006-06-02 Geoffrey Keating <geoffk@apple.com> |
10845 | ||
10846 | * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with | |
10847 | HAVE_DECL_SIGALTSTACK. | |
10848 | (MC_FLD): New. | |
10849 | (segv_handler): Use MC_FLD. | |
10850 | * configure.ac: Check for a sigaltstack declaration. | |
10851 | Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin. | |
10852 | * configure: Regenerate. | |
10853 | * config.in: Regenerate. | |
10854 | ||
36eb5072 | 10855 | 2006-06-03 J"orn Rennecke <joern.rennecke@st.com> |
10856 | ||
10857 | PR other/27850 | |
10858 | * Makefile.in (stmp-fixinc): Fix typo. | |
10859 | ||
75e3ef6e | 10860 | 2006-06-02 Roger Sayle <roger@eyesopen.com> |
10861 | ||
10862 | * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions | |
10863 | are type correct. Clean-up. | |
10864 | <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z). | |
10865 | <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z). | |
10866 | ||
e3a89ab1 | 10867 | 2006-06-01 DJ Delorie <dj@redhat.com> |
10868 | ||
10869 | * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the | |
10870 | shift, as we've disabled the "switch" insn that needs it. | |
10871 | ||
2e1e73b6 | 10872 | 2006-06-01 Per Bothner <bothner@bothner.com> |
10873 | ||
10874 | Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output. | |
10875 | * c-opts.c (finish_options): Use internal line 0 for <command-line>. | |
10876 | * c-ppoutput.c (cb_define): Don't increment line 0. | |
10877 | ||
52f78840 | 10878 | 2006-06-01 Pete Steinmetz <steinmtz@us.ibm.com> |
10879 | ||
10880 | * doc/invoke.texi: Add cpu_type power6. | |
10881 | * config.gcc: Add cpu_type power6. | |
10882 | * config/rs6000/rs6000.c (rs6000_override_options): Alias power6 | |
10883 | to power5+ with Altivec. | |
10884 | * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6. | |
10885 | * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6. | |
10886 | ||
e4ac826f | 10887 | 2006-05-30 Anatoly Sokolov <aesok@post.ru> |
10888 | ||
10889 | * config/avr/avr.h (SET_ASM_OP): Define. | |
10890 | ||
1a4340cd | 10891 | 2006-06-01 Kazu Hirata <kazu@codesourcery.com> |
10892 | ||
10893 | * config/bfin/bfin.c: Fix comment typos. | |
10894 | ||
a0092fa5 | 10895 | 2006-06-01 Paolo Bonzini <bonzini@gnu.org> |
10896 | ||
10897 | PR 25453 | |
10898 | * doc/install.texi: Document --enable-bootstrap and | |
10899 | --disable-bootstrap. | |
10900 | ||
63a06cfe | 10901 | 2006-06-01 Paolo Bonzini <bonzini@gnu.org> |
10902 | ||
10903 | * doc/install.texi: Document that InfoZIP can replace jar. | |
10904 | ||
ee308124 | 10905 | 2006-05-31 Roger Sayle <roger@eyesopen.com> |
10906 | ||
10907 | * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE | |
10908 | isn't available, directly generate the simpler x87 patterns without | |
10909 | the (use (const_int 0)). | |
10910 | * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE | |
10911 | implementation isn't available. | |
10912 | (*negdf2_1): Likewise. | |
10913 | (*negxf2_1): XF mode negation is always done using the x87. | |
10914 | (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs. | |
10915 | ||
749891b2 | 10916 | 2006-05-31 Roger Sayle <roger@eyesopen.com> |
10917 | ||
10918 | * builtins.c (fold_builtin_cabs): Delete prototype. Require an | |
10919 | additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as | |
10920 | cabs(z). | |
10921 | (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call. | |
10922 | ||
3c1905a4 | 10923 | 2006-05-31 Jie Zhang <jie.zhang@analog.com> |
10924 | ||
10925 | * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare. | |
10926 | * config/bfin/bfin.c (basic-block.h): Include. | |
10927 | (struct machine_function): New. | |
10928 | (bfin_init_machine_status): New. | |
10929 | (override_options): Initialize init_machine_status. | |
10930 | (bfin_hardware_loop): New. | |
10931 | (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define. | |
10932 | (DEF_VEC_P (loop_info)): New. | |
10933 | (DEF_VEC_ALLOC_P (loop_info,heap)): New. | |
10934 | (struct loop_info): New. | |
10935 | (loop_info): New typedef. | |
10936 | (struct loop_work): New. | |
10937 | (loop_work): New typedef. | |
10938 | (DEF_VEC_O (loop_work)): New. | |
10939 | (DEF_VEC_ALLOC_O (loop_work,heap)): New. | |
10940 | (bfin_dump_loops): New. | |
10941 | (bfin_bb_in_loop): New. | |
10942 | (bfin_scan_loop): New. | |
10943 | (bfin_optimize_loop): New. | |
10944 | (bfin_reorg_loops): New. | |
10945 | (bfin_reorg): Use bfin_reorg_loops. | |
10946 | * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding | |
10947 | loop registers. | |
10948 | (I_REGNO_P): Simplify. | |
10949 | (DP_REGNO_P, DPREG_P): New macros. | |
10950 | (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS, | |
10951 | REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1. | |
10952 | (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): | |
10953 | Add LT_REGS, LC_REGS, LB_REGS. | |
10954 | (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS, | |
10955 | 'l' for LB_REGS. | |
10956 | (REGNO_REG_CLASS): Deal with loop registers. | |
10957 | * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint | |
10958 | letters. | |
10959 | (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1): | |
10960 | New constants for loop registers. | |
10961 | (UNSPEC_LSETUP_END): New. | |
10962 | (seq_insns): New define_attr. Set it for appropriate insns. | |
10963 | (movsi_insn): Add alternatives for move from/to | |
10964 | loop count registers. | |
10965 | (doloop_end): New define_expand. | |
10966 | (loop_end): New define_insn. | |
10967 | (define_split for bad doloop_end): New. | |
10968 | (lsetup_with_autoinit): New define_insn. | |
10969 | (lsetup_without_autoinit): New define_insn. | |
10970 | (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1. | |
10971 | * config/bfin/predicates.md (lc_register_operand): New. | |
10972 | (lt_register_operand): New. | |
10973 | (lb_register_operand): New. | |
10974 | (nondp_register_operand): New. | |
10975 | (nondp_reg_or_memory_operand): New. | |
10976 | * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters. | |
10977 | ||
6833eae4 | 10978 | 2006-05-31 Jie Zhang <jie.zhang@analog.com> |
10979 | ||
10980 | * config/bfin/bfin.c (bfin_delegitimize_address): New. | |
10981 | (TARGET_DELEGITIMIZE_ADDRESS): Define. | |
10982 | ||
49688a56 | 10983 | 2006-05-31 Daniel Jacobowitz <dan@codesourcery.com> |
10984 | ||
10985 | * Makefile.in (CATALOGS): Add po/ prefix. | |
10986 | * configure: Regenerated. | |
10987 | ||
26dff611 | 10988 | 2006-05-31 Richard Earnshaw <richard.earnshaw@arm.com> |
10989 | ||
73f7ec8b | 10990 | PR target/27829 |
26dff611 | 10991 | * arm.c (arm_print_operand case 'S'): Validate that the operand is |
10992 | a shift operand before calling shift_op. Avoid redundant call of | |
10993 | shift_op. | |
10994 | ||
7b4716cf | 10995 | 2006-05-30 Naveen.H.S <naveenh@kpitcummins.com> |
10996 | DJ Delorie <dj@redhat.com> | |
10997 | ||
10998 | * config/m32c/m32c.c (m32c_expand_insv): Check that the value | |
10999 | we're inserting is a singlt-bit constant. | |
11000 | ||
885fe2d1 | 11001 | 2006-05-30 Roger Sayle <roger@eyesopen.com> |
11002 | ||
11003 | * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast | |
11004 | width to HOST_WIDE_INT to avoid comparison warnings on some targets. | |
11005 | ||
5f4f3617 | 11006 | 2006-05-30 Roger Sayle <roger@eyesopen.com> |
11007 | ||
11008 | PR tree-optimization/23452 | |
11009 | * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary, | |
11010 | to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2. | |
11011 | (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral | |
11012 | complex values and with -ffast-math for FP complex values. | |
11013 | ||
ce0e61fe | 11014 | 2006-05-30 Kazu Hirata <kazu@codesourcery.com> |
11015 | ||
11016 | * c-common.h: Remove the prototype for yyparse. | |
11017 | * rtl.h: Remove the prototype for init_loop. | |
11018 | ||
0c0acbaa | 11019 | 2006-05-30 Andreas Krebbel <krebbel1@de.ibm.com> |
11020 | ||
11021 | * cse.c (validate_canon_reg, cse_insn): Don't change insns without | |
11022 | calling recog. | |
11023 | ||
445e5fbb | 11024 | 2006-05-30 Roger Sayle <roger@eyesopen.com> |
11025 | ||
11026 | * simplify-rtx.c (simplify_binary_operation): Unfactor the shift | |
11027 | and rotate cases. | |
11028 | <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is | |
11029 | log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics. | |
11030 | ||
72370f24 | 11031 | 2006-05-30 Dirk Mueller <dmueller@suse.de> |
11032 | ||
11033 | PR c/27273 | |
11034 | * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW | |
11035 | for CONSTANT_CLASS_P expresisons. | |
11036 | ||
8a98ec4a | 11037 | 2006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
11038 | ||
11039 | PR c/27718 | |
11040 | * c-typeck.c (c_expr_sizeof_type): Handle invalid types. | |
11041 | ||
df71b940 | 11042 | 2006-05-30 Zdenek Dvorak <dvorakz@suse.cz> |
11043 | ||
11044 | PR tree-optimization/27779 | |
11045 | * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use | |
11046 | initial_condition instead of CHREC_LEFT. | |
11047 | ||
347a25f7 | 11048 | 2006-05-30 Steven Bosscher <stevenb.gcc@gmail.com> |
11049 | ||
11050 | * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label. | |
11051 | * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors): | |
11052 | Make prototypes ISO C90. | |
11053 | ||
528dbbba | 11054 | 2006-05-30 Mircea Namolaru <namolaru@il.ibm.com> |
df71b940 | 11055 | Leehod Baruch <leehod.baruch@weizmann.ac.il> |
528dbbba | 11056 | |
df71b940 | 11057 | * see.c (see_analyze_one_def): Correct check. |
11058 | (see_get_extension_data): Check if extension is parallel. | |
11059 | (see_get_extension_reg): Likewise. | |
528dbbba | 11060 | |
dc674af7 | 11061 | 2006-05-30 Uros Bizjak <uros@kss-loka.si> |
11062 | ||
11063 | PR target/27790 | |
11064 | * config/i386/i386.c (ix86_expand_int_vcond): Force cop0 | |
11065 | into register for (code == GTU). | |
11066 | ||
c9b0adad | 11067 | 2006-05-29 Roger Sayle <roger@eyesopen.com> |
11068 | ||
11069 | PR tree-optimization/24964 | |
11070 | * simplify-rtx.c (simplify_binary_operation_1): Add function comment. | |
11071 | <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor | |
11072 | signaling NaNs. Optimize -x*-x as x*x for all float modes, and | |
11073 | abs(x)*abs(x) as x*x for scalar floating point modes. | |
11074 | ||
bb9243aa | 11075 | 2006-05-29 Sebastian Pop <pop@cri.ensmp.fr> |
11076 | ||
11077 | PR middle-end/27745 | |
11078 | * lambda-code.c (perfect_nestify): Don't copy statements | |
11079 | in the inner loop: move them to the inner loop header. | |
11080 | ||
d5ea8306 | 11081 | 2006-05-29 Diego Novillo <dnovillo@redhat.com> |
11082 | ||
11083 | PR 26237 | |
11084 | * c-tree.texi: Document OpenMP directives and clauses. | |
11085 | ||
9bbaa634 | 11086 | 2006-05-29 Kazu Hirata <kazu@codesourcery.com> |
11087 | ||
11088 | * varasm.c (globalize_decl): Fix indentation. | |
11089 | ||
9fc508b2 | 11090 | 2006-05-29 Diego Novillo <dnovillo@redhat.com> |
11091 | ||
11092 | PR 26242 | |
11093 | * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta, | |
11094 | pass_fre, pass_store_ccp, pass_copy_prop, | |
11095 | pass_store_copy_prop, pass_merge_phi, pass_nrv, | |
11096 | pass_return_slot, pass_object_size, pass_lim, | |
11097 | pass_linear_transform, pass_empty_loop, pass_complete_unroll, | |
11098 | pass_loop_prefetch and pass_stdarg. | |
11099 | ||
55be0e32 | 11100 | 2005-05-29 Bernd Schmidt <bernd.schmidt@analog.com> |
11101 | ||
11102 | * config/bfin/bfin.opt (mfdpic): New option. | |
11103 | * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o. | |
11104 | (EXTRA_MULTILIB_PARTS): Likewise. | |
11105 | (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic. | |
11106 | (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic | |
11107 | multilib. | |
11108 | * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared. | |
11109 | (CRT_CALL_STATIC_FUNCTION): New. | |
11110 | * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if | |
11111 | -shared. | |
11112 | (CRT_CALL_STATIC_FUNCTION): New. | |
11113 | * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle | |
11114 | FD-PIC moves. | |
11115 | (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC. | |
11116 | (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4. | |
11117 | (initialize_trampoline): Changed to handle FD-PIC code generation. | |
11118 | (expand_move): If TARGET_FDPIC, use emit_pic_move as needed. | |
11119 | (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC. | |
11120 | (override_options): Disallow -mid-shared-library -mfdpic combination. | |
11121 | Can't do unaligned ops if FD-PIC. | |
11122 | Turn off flag_pic if trying to generate non-id-shared-library | |
11123 | non-fdpic code, since it's not supported. | |
11124 | (bfin_assemble_integer): New function. | |
11125 | (TARGET_ASM_INTEGER): Define. | |
11126 | * config/bfin/crti.s (__init, __fini): Save P3 on the stack if | |
11127 | __BFIN_FDPIC__. | |
11128 | * config/bfin/crtn.s: Restore them. | |
11129 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__ | |
11130 | if TARGET_FDPIC. | |
11131 | (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS, | |
11132 | LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros. | |
11133 | (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros. | |
11134 | (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC. | |
11135 | (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is | |
11136 | call-used. | |
11137 | (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add | |
11138 | FDPIC_REGS and FDPIC_FPTR_REGS. | |
11139 | (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them. | |
11140 | * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4, | |
11141 | UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants. | |
11142 | (load_funcdescsi): New pattern. | |
11143 | (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic, | |
11144 | sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic, | |
11145 | call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns. | |
11146 | ||
67a5e20a | 11147 | 2006-05-29 Kazu Hirata <kazu@codesourcery.com> |
11148 | ||
11149 | * gcse.c, rtlanal.c: Remove obsolete comments associated with | |
11150 | loop.c. | |
11151 | ||
d5744dca | 11152 | * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove. |
11153 | ||
d470ecbd | 11154 | * tree-flow.h: Remove the prototype for add_type_alias. |
11155 | * tree-ssa-alias.c (add_type_alias): Remove. | |
11156 | ||
554f2707 | 11157 | 2006-05-28 Kazu Hirata <kazu@codesourcery.com> |
11158 | ||
11159 | * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c, | |
11160 | config/fr30/fr30.md, config/i386/i386-interix.h, | |
11161 | config/i386/i386.c, config/i386/i386.md, config/sh/superh.h, | |
11162 | config/sh/superh64.h, config/v850/v850.c, df-core.c, | |
11163 | df-problems.c, df.h, except.c, final.c, haifa-sched.c, | |
11164 | lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c, | |
11165 | reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c, | |
11166 | tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos. | |
11167 | Follow spelling conventions. | |
11168 | * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos. | |
11169 | Follow spelling conventions. | |
11170 | ||
735eed27 | 11171 | 2006-05-27 Richard Guenther <rguenther@suse.de> |
11172 | ||
11173 | PR middle-end/27773 | |
11174 | * fold-const.c (fold_plusminus_mult_expr): Use fold_convert | |
11175 | to produce a constant of value 1 of generic type. | |
11176 | ||
95da6220 | 11177 | 2006-05-27 Dirk Mueller <dmueller@suse.de> |
11178 | ||
11179 | * cgraphunit.c (decide_is_function_needed): Fix wrong | |
11180 | PR reference. | |
11181 | ||
91e1886d | 11182 | 2006-05-26 Ulrich Weigand <uweigand@de.ibm.com> |
11183 | ||
11184 | PR rtl-optimization/27661 | |
11185 | * reload.c (find_reloads): When reloading a VOIDmode constant | |
11186 | as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint, | |
11187 | use Pmode as mode of the reload register. | |
11188 | ||
0f9af572 | 11189 | 2006-05-26 Eric Botcazou <ebotcazou@adacore.com> |
11190 | ||
11191 | * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time | |
11192 | is enabled at -O and above. | |
11193 | ||
11194 | 2006-05-26 Steven Bosscher <steven@gcc.gnu.org> | |
449b6e20 | 11195 | |
11196 | PR target/27571 | |
11197 | * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump | |
11198 | table data. | |
11199 | ||
788f3e3e | 11200 | 2006-05-25 Mark Mitchell <mark@codesourcery.com> |
11201 | ||
11202 | PR c++/20103 | |
11203 | * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var | |
7bd4091f | 11204 | for anonymous variables explicitly declared by front ends. |
788f3e3e | 11205 | |
a478a521 | 11206 | 2006-05-25 Eric Botcazou <ebotcazou@adacore.com> |
11207 | ||
11208 | * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro. | |
11209 | (struct alias_info): Add new field ref_all_symbol_mem_tag. | |
11210 | * tree-ssa-alias.c (compute_may_aliases): If the program contains | |
11211 | ref-all pointers, run a finalization pass for them. | |
11212 | (compute_flow_insensitive_aliasing): Skip ref-all pointers. | |
11213 | (finalize_ref_all_pointers): New function. | |
11214 | (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a | |
11215 | regular pointer type to a ref-all pointer type. | |
11216 | (get_tmt_for): Return the special memory tag for ref-all pointers. | |
11217 | ||
2b2c6e11 | 11218 | 2006-05-25 Richard Guenther <rguenther@suse.de> |
11219 | ||
11220 | PR middle-end/27743 | |
11221 | * fold-const.c (fold_binary): Do not look at the stripped | |
11222 | op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization. | |
11223 | ||
ad2a47a5 | 11224 | 2006-05-25 Eric Botcazou <ebotcazou@adacore.com> |
11225 | ||
11226 | * tree-vrp.c (extract_range_from_assert): Set the range to VARYING | |
11227 | for LT and GT if the computed range is effectively empty. | |
11228 | ||
11229 | 2006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
0c7b5a46 | 11230 | |
11231 | PR target/27627 | |
11232 | * pa/pa-modes.def: Use mips_single_format, mips_double_format and | |
11233 | mips_quad_format formats instead of ieee_single_format, | |
11234 | ieee_double_format and ieee_quad_format formats, respectively. | |
11235 | ||
57e3f39a | 11236 | 2006-05-24 Zdenek Dvorak <dvorakz@suse.cz> |
11237 | ||
11238 | PR tree-optimization/27639 | |
11239 | PR tree-optimization/26719 | |
11240 | * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust | |
11241 | call to scev_probably_wraps_p. | |
11242 | * tree-ssa-loop-niter.c (compare_trees, convert_step_widening, | |
11243 | used_in_pointer_arithmetic_p, convert_step): Removed. | |
11244 | (nowrap_type_p): New function. | |
11245 | (scev_probably_wraps_p): Rewritten. | |
11246 | * tree-scalar-evolution.c (instantiate_parameters_1): Do not call | |
11247 | chrec_convert if chrec_convert_aggressive might have been used. | |
11248 | * tree-chrec.c (convert_affine_scev, chrec_convert_1, | |
11249 | scev_direction): New functions. | |
11250 | (chrec_convert): Changed to a wrapper over chrec_convert_1. | |
11251 | * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev | |
11252 | instead of convert_step. | |
11253 | * tree-flow.h (scev_probably_wraps_p): Declaration changed. | |
11254 | (convert_step): Declaration removed. | |
11255 | (convert_affine_scev, nowrap_type_p, scev_direction): Declare. | |
11256 | ||
aa7aac1f | 11257 | 2006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com> |
11258 | ||
57e3f39a | 11259 | * df-core.c: Added to header comments. |
aa7aac1f | 11260 | * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, |
11261 | df_ur_bb_info, df_urec_bb_info): Added comments. | |
7bd4091f | 11262 | * df-problems (df_ref_bitmap, ru, rd, lr, ur, |
aa7aac1f | 11263 | urec, ri problems): Fixed header comments. |
7bd4091f | 11264 | (df_ru_transfer_function): Fixed in-out set dyslexia when copying |
aa7aac1f | 11265 | code from df_rd_transfer_function. |
7bd4091f | 11266 | |
943e5a87 | 11267 | 2006-05-23 Richard Sandiford <richard@codesourcery.com> |
11268 | ||
11269 | * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro. | |
11270 | (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than | |
11271 | MIN_UNITS_PER_WORD to set the default. Also use it in the guard. | |
11272 | ||
8dfa1b7f | 11273 | 2006-05-23 Joseph Myers <joseph@codesourcery.com> |
11274 | ||
11275 | * expr.c (undefined_operand_subword_p): New. | |
11276 | (emit_move_multi_word): Do not generate move from undefined bits | |
11277 | of a paradoxical subreg. | |
11278 | ||
98c26c78 | 11279 | 2006-05-23 Richard Sandiford <richard@codesourcery.com> |
11280 | ||
11281 | PR rtl-optimization/27736 | |
11282 | * combine.c (replaced_rhs_value): New variable. | |
11283 | (combine_instructions): Set it. | |
11284 | (distribute_notes): When distributing a note in replaced_rhs_insn, | |
11285 | check whether the value was used in replaced_rhs_value. | |
11286 | ||
987392e5 | 11287 | 2006-05-23 Andrew MacLeod <amacleod@redhat.com> |
11288 | ||
11289 | PR c++/26757 | |
7bd4091f | 11290 | * tree-ssa-loop-im.c (determine_invariantness_stmt): Use |
987392e5 | 11291 | add_referenced_var instead of add_referenced_tmp_var. |
11292 | * tree-complex.c (create_one_component_var): Use add_referenced_var. | |
11293 | * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use | |
11294 | add_referenced_var. | |
11295 | * tree-tailcall.c (adjust_accumulator_values, adjust_return_value, | |
11296 | tree_optimize_tail_calls_1): Use add_referenced_var. | |
11297 | * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var. | |
11298 | * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft): | |
11299 | Use add_referenced_var. | |
11300 | * tree-if-conv.c (ifc_temp_var): Use add_referenced_var. | |
11301 | * gimplify.c (force_gimple_operand): Use add_referenced_var. | |
11302 | * tree-ssa-phiopt.c (conditional_replacement, abs_replacement): | |
11303 | Use add_referenced_var. | |
11304 | * tree-dfa.c (struct walk_state): Remove. | |
11305 | (find_referenced_vars): Remove walk state and vars_found hash table. | |
11306 | (make_rename_temp): Use add_referenced_var. | |
11307 | (find_vars_r): Pass less parameters to add_referenced_var. | |
11308 | (referenced_var_p): New. Is var in referenced_var hash table. | |
11309 | (referenced_var_insert): Assert var isn't already in hash table. | |
11310 | (add_referenced_var): Don't need walk_state parameter. Add var if it | |
11311 | isn't already in the hash table. | |
11312 | (add_referenced_tmp_var): Remove. | |
11313 | (find_new_referenced_vars_1): Use add_referenced_var. | |
7bd4091f | 11314 | * tree-ssa-pre.c (create_expression_by_pieces, |
987392e5 | 11315 | insert_into_preds_of_block, insert_extra_phis, realify_fake_stores): |
11316 | Use add_referenced_var. | |
11317 | * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var. | |
11318 | * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression, | |
7bd4091f | 11319 | lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use |
987392e5 | 11320 | add_referenced_var. |
11321 | * tree-vect-transform.c (vect_create_addr_base_for_vector_ref, | |
11322 | vect_create_data_ref_ptr, vect_create_destination_var, | |
7bd4091f | 11323 | vect_init_vector, vect_build_loop_niters, |
987392e5 | 11324 | vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer, |
11325 | vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks): | |
11326 | Use add_referenced_var. | |
11327 | * tree-outof-ssa.c (create_temp): Use add_referenced_var. | |
11328 | * tree-flow.h (add_referenced_tmp_var): Remove prototype | |
11329 | (add_referenced_var): Add prototype. | |
7bd4091f | 11330 | * tree-ssa-structalias.c (get_constraint_for, |
987392e5 | 11331 | intra_create_variable_infos): Use add_referenced_var. |
11332 | ||
9a8a3ff4 | 11333 | 2006-05-23 Alexandre Oliva <aoliva@redhat.com> |
11334 | ||
11335 | * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for | |
11336 | big-endian paradoxical subregs. | |
11337 | * var-tracking.c (struct micro_operation_def): Document that, | |
11338 | for modify micro operations, insn is the subsequent instruction. | |
11339 | (var_reg_delete_and_set, var_mem_delete_and_set): Split into... | |
11340 | (var_reg_set, var_mem_set): ... new functions. | |
11341 | (add_stores): Record subsequent insn. | |
11342 | (compute_bb_dataflow): Use new functions for MO_USE. | |
11343 | (emit_notes_in_bb): Use new functions for MO_USE. Emit use | |
11344 | notes after the insn, and modify notes before the insn known | |
11345 | to be the subsequent one. | |
11346 | (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs. | |
11347 | ||
b9612c36 | 11348 | 2006-05-23 Kazu Hirata <kazu@codesourcery.com> |
11349 | ||
11350 | PR target/27696 | |
11351 | * config/i386/i386.c (ix86_expand_builtin): Use | |
11352 | gen_sse3_monitor64 for TARGET_64BIT. | |
11353 | ||
02a8ad7e | 11354 | 2006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com> |
11355 | ||
11356 | PR rtl-optimization/26375 | |
11357 | PR rtl-optimization/26855 | |
11358 | * df-problems (df_ru_bb_local_compute_process_def): Removed update | |
11359 | to gen set. | |
11360 | (df_ru_bb_local_compute): Reversed statements and removed bogus | |
11361 | comment explaining why they should be in wrong order. | |
7bd4091f | 11362 | (df_ru_dump, df_rd_dump): Enhanced debug info. |
02a8ad7e | 11363 | * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced |
7bd4091f | 11364 | debug info. |
02a8ad7e | 11365 | * ddg.c (add_deps_for_def): Converted use of reaching defs to |
57e3f39a | 11366 | reaching uses and fixed space problem. |
02a8ad7e | 11367 | |
d3d410e1 | 11368 | 2006-05-23 Jan Hubicka <jh@suse.cz> |
11369 | ||
11370 | * cgraphunit.c (decide_is_function_needed): Also nested functions | |
11371 | and functions declared inline can be optimized out at -O0. | |
11372 | ||
82307148 | 11373 | 2006-05-22 Gerald Pfeifer <gerald@pfeifer.com> |
11374 | ||
11375 | * doc/install.texi (Configuration): Remove reference to CrossGCC | |
5aa6d4f0 | 11376 | FAQ which was gone. |
82307148 | 11377 | (Building): Ditto. |
11378 | ||
27c7a7c4 | 11379 | 2006-05-22 Kazu Hirata <kazu@codesourcery.com> |
11380 | ||
11381 | PR target/27266 | |
11382 | * config/i386/i386.c (ix86_expand_branch): Jump to simple if | |
11383 | ix86_compare_emitted is non-NULL. | |
11384 | ||
b3790f16 | 11385 | 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
11386 | ||
11387 | PR c++/27451 | |
11388 | * stmt.c (expand_asm_operands): Skip asm statement with erroneous | |
11389 | clobbers. | |
11390 | ||
810d7bbd | 11391 | 2006-05-22 Richard Sandiford <richard@codesourcery.com> |
11392 | ||
11393 | PR rtl-optimization/25514 | |
11394 | * combine.c (replaced_rhs_insn): New variable. | |
11395 | (combine_instructions): Set replaced_rhs_insn when trying to replace | |
11396 | a SET_SRC with a REG_EQUAL note. | |
11397 | (distribute_notes): Use replaced_rhs_insn when determining the live | |
11398 | range of a REG_DEAD register. | |
11399 | ||
346f625e | 11400 | 2006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> |
5e156a9d | 11401 | Anatoly Sokolov <aesok@post.ru> |
346f625e | 11402 | |
11403 | * config/avr/avr.c (avr_mcu_types): Add support for attiny261, | |
11404 | attiny461, attiny861, attiny25, attiny45, attiny85, attiny24, | |
7bd4091f | 11405 | attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p, |
11406 | atmega164p, atmega324p, atmega644p, atmega644, atmega329, | |
11407 | atmega3290, atmega649, atmega6490, atmega406, atmega640, | |
11408 | atmega1280, atmega1281, at90can32, at90can64, at90usb646, | |
11409 | at90usb647, at90usb1286 and at90usb1287 devices. | |
346f625e | 11410 | * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). |
11411 | * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). | |
11412 | ||
01672744 | 11413 | 2006-05-22 Richard Sandiford <richard@codesourcery.com> |
11414 | ||
11415 | * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment. | |
11416 | ||
37f85f50 | 11417 | 2006-05-22 Richard Guenther <rguenther@suse.de> |
11418 | ||
11419 | Revert | |
11420 | 2006-01-31 Richard Guenther <rguenther@suse.de> | |
11421 | Paolo Bonzini <bonzini@gnu.org> | |
11422 | ||
11423 | * doc/install.texi (--disable-libgcc-math): Document. | |
11424 | ||
b21d5608 | 11425 | 2006-05-22 Richard Guenther <rguenther@suse.de> |
11426 | ||
11427 | Revert | |
11428 | 2006-01-31 Richard Guenther <rguenther@suse.de> | |
11429 | ||
11430 | * doc/invoke.texi (-msselibm): Document. | |
11431 | * target.h (expand_library_builtin): New target hook. | |
11432 | * builtins.c (expand_builtin): Use expand_library_builtin. | |
11433 | (default_expand_library_builtin): New function. | |
11434 | * gcc.c (LINK_GCC_MATH_SPEC): Define. | |
11435 | (LINK_COMMAND_SPEC): Handle %(link_gcc_math). | |
11436 | (link_gcc_math_spec): Declare. | |
11437 | (static_specs): Add link_gcc_math_spec. | |
11438 | * expr.h (default_expand_library_builtin): Declare. | |
11439 | * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. | |
11440 | (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. | |
11441 | * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. | |
11442 | * config/i386/i386.opt (msselibm): New target option. | |
11443 | * config/i386/i386.c (ix86_builtin_function_variants): New array. | |
11444 | (ix86_init_sse_abi_builtins): New function. | |
11445 | (ix86_expand_library_builtin): Likewise. | |
11446 | (TARGET_EXPAND_LIBRARY_BUILTIN): Define. | |
11447 | (override_options): Handle error conditions wrt -msselibm. | |
11448 | (ix86_builtins): Add function codes for SSE2 ABI builtins. | |
11449 | (ix86_init_builtins): Call ix86_init_sse_abi_builtins. | |
11450 | * doc/extend.texi (__builtin_sse2_*): Document new target specific | |
11451 | builtins. | |
11452 | ||
b4b63acb | 11453 | 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
11454 | ||
e1d8e198 | 11455 | PR c/27420 |
11456 | * c-common.c (self_promoting_args_p): Skip erroneous args. | |
11457 | ||
b4b63acb | 11458 | PR c/26818 |
11459 | * c-decl.c (finish_struct): Skip erroneous fields. | |
11460 | ||
4a967fbe | 11461 | 2006-05-22 Nick Clifton <nickc@redhat.com> |
11462 | ||
11463 | * config/cris/cris.opt (march): Remove VarExists attribute. | |
11464 | (max-stackframe=): Likewise. | |
11465 | ||
13f378e2 | 11466 | 2006-05-22 Kazu Hirata <kazu@codesourcery.com> |
11467 | ||
11468 | * doc/rtl.texi: Fix a typo. | |
11469 | * see.c: Fix comment typos. | |
11470 | ||
1ed52621 | 11471 | * tree-ssa-structalias.h (alias_info): Remove num_references. |
11472 | ||
616e9486 | 11473 | 2006-05-21 Mike Stump <mrs@apple.com> |
11474 | ||
11475 | * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas. | |
11476 | (BAD2): Add. | |
c1fe988d | 11477 | (darwin_pragma_options): Use BAD instead. |
11478 | (darwin_pragma_unused): Likewise. | |
11479 | (darwin_pragma_ms_struct): Likewise. | |
11480 | ||
d1a0f7ec | 11481 | 2006-05-21 David Edelsohn <edelsohn@gnu.org> |
11482 | ||
11483 | * config/rs6000/rs6000.md (floatsitf2): Remove constraints. | |
11484 | ||
d76f0821 | 11485 | 2006-05-21 Kazu Hirata <kazu@codesourcery.com> |
11486 | ||
11487 | PR rtl-optimization/27671 | |
11488 | * simplify-rtx.c (simplify_relational_operation_1): Fix | |
11489 | simplifications of (eq/ne (xor x y) y) and | |
11490 | (eq/ne (xor x y) x). | |
11491 | ||
f0d3e909 | 11492 | PR tree-optimization/26622. |
11493 | * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert | |
11494 | on arg1. | |
11495 | ||
13b96211 | 11496 | 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org> |
11497 | ||
11498 | * tree-cfg.c: Prune whitespace. | |
11499 | (debug_tree_cfg): Point to correct header containing the | |
11500 | TDF_* defines. | |
11501 | ||
5cd75817 | 11502 | 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org> |
11503 | ||
11504 | PR middle-end/25776 | |
11505 | * cgraphunit.c (verify_cgraph_node): Typo in error message. | |
11506 | ||
be4d0974 | 11507 | 2006-05-20 Andrew Pinski <pinskia@physics.uc.edu> |
11508 | ||
11509 | PR middle-end/25776 | |
11510 | * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error | |
11511 | or sorry count is non zero. | |
11512 | ||
629da55a | 11513 | 2006-05-20 Andreas Schwab <schwab@suse.de> |
82c65053 | 11514 | |
11515 | * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab. | |
11516 | ||
f6682f83 | 11517 | 2006-05-19 Daniel Berlin <dberlin@dberlin.org> |
5e156a9d | 11518 | Kenneth Zadeck <zadeck@naturalbridge.com> |
f6682f83 | 11519 | |
11520 | PR rtl-optimization/26855 | |
11521 | ||
11522 | * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for | |
11523 | multiword refs. | |
11524 | (df_scan_alloc): Added code to properly handle multiword hard | |
11525 | registers and add all_blocks parameter. | |
11526 | (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added | |
11527 | code to properly handle multiword hard registers. | |
11528 | (df_rescan_blocks): Added code to remove deleted blocks from | |
11529 | bitmap. | |
11530 | (df_ref_create_structure, df_ref_record): Added code to properly | |
11531 | handle subregs. | |
11532 | (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER | |
11533 | and set DF_REF_PARTIAL. | |
11534 | (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER. | |
7bd4091f | 11535 | (df_uses_record): Added DF_REF_PARTIAL for subreg. |
f6682f83 | 11536 | (df_scan_add_problem): Added flags parameter. |
11537 | (df_ref_create_structure): Changed switching structure. | |
11538 | (df_bb_refs_record): Fixed case where duplicate artificial refs | |
11539 | were created. Changed location of flags. | |
11540 | (df_record_entry_block_defs): Added code to make stack pointer | |
11541 | live in entry block. Refined cases where frame pointer is needed. | |
11542 | Changed location of flags. | |
11543 | (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags. | |
11544 | (df_set_state): Removed function. | |
11545 | (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove, | |
7bd4091f | 11546 | df_insn_create_insn_record, df_insn_refs_delete, |
11547 | df_ref_create_structure): Formatting changes. | |
f6682f83 | 11548 | * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags, |
11549 | df_delete_basic_block): New function. | |
11550 | (df_init): Changed location of flags. | |
11551 | (df_add_problem): Added flags parameter and the way flags are | |
11552 | processed. | |
11553 | (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref, | |
11554 | debug_df_chain): Improved debugging output. | |
11555 | (df_insn_debug, df_insn_uid_debug): Added multiword reg support. | |
11556 | (df_refs_chain_dump): Removed df parameter. | |
11557 | (df_iterative_dataflow): Added consistency check. | |
11558 | (df_prune_to_subcfg): Made public. | |
11559 | (df_analyze_problem): Added blocks_to_init parameter and made | |
11560 | public. | |
7bd4091f | 11561 | (df_ref_record, df_bb_refs_record, df_mark_reg, |
f6682f83 | 11562 | df_record_exit_block_uses): Whitespace changes. |
11563 | (df_dump): Whitespace changes. | |
11564 | * df.h: Some reordering to remove forward references. | |
11565 | (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL, | |
11566 | DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields. | |
11567 | (df_ref_flags.DF_REF_CLOBBER): Deleted field. | |
11568 | (dataflow.flags): New field. | |
11569 | (df.flag): Deleted field. | |
11570 | (df_alloc_function): Added additional bitmap parameter. | |
11571 | (df_dependent_problem_function): New type. | |
11572 | (df_problem.changeable_flags): New field. | |
11573 | (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL, | |
11574 | DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed. | |
11575 | (df_mw_hardreg): New struct. | |
11576 | (DF_INSN_UID_MWS): New macro. | |
11577 | (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df | |
11578 | parameter. | |
11579 | (df_add_problem, df_ru_add_problem, df_rd_add_problem, | |
11580 | df_lr_add_problem, df_ur_add_problem, df_urec_add_problem, | |
11581 | df_ri_add_problem, df_scan_add_problem): Added flags parameter. | |
11582 | (df_set_state): Removed function. | |
11583 | (df_set_flags, df_clear_flags, df_delete_basic_block) New functions. | |
11584 | * df-problems.c (df_chain_dump): Removed df parameter. | |
11585 | (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc, | |
11586 | df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks | |
11587 | parameter. | |
11588 | (df_ru_alloc, df_rd_alloc): Now resets all blocks. | |
11589 | (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute, | |
11590 | df_chain_create_bb, df_create_unused_note, df_ri_bb_compute): | |
11591 | Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and | |
11592 | DF_REF_MUST_CLOBBER cases. | |
11593 | (df_ru_bb_local_compute_process_def, | |
11594 | df_rd_bb_local_compute_process_def, df_lr_bb_local_compute, | |
11595 | df_lr_bb_local_compute, df_ur_bb_local_compute, | |
11596 | df_chain_create_bb): Made subreg aware. | |
11597 | (df_ru_bb_local_compute, df_rd_bb_local_compute, | |
11598 | df_lr_bb_local_compute, df_lr_bb_local_compute, | |
11599 | df_chain_create_bb): Cleanup to use proper macros. | |
11600 | (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary | |
11601 | code to fixup bitvectors. | |
11602 | (df_ri_alloc): Cleared lifetime. | |
11603 | (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw, | |
11604 | df_create_unused_note): New function. | |
11605 | (df_ri_bb_compute, df_ri_compute): Added code to create/update | |
11606 | REG_DEAD and REG_UNUSED notes as well as register information. | |
11607 | (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump, | |
11608 | df_chains_dump): Fixed crash if problem was never run. | |
11609 | (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem, | |
11610 | df_ur_add_problem, df_urec_add_problem, df_chain_add_problem, | |
11611 | df_ri_add_problem): Processes flags in uniform manner. | |
11612 | (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free, | |
11613 | df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free, | |
11614 | df_rd_dump, df_urec_free_bb_info): Formatting changes. | |
11615 | (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump, | |
11616 | df_rd_free_bb_info, df_rd_bb_local_compute_process_def, | |
11617 | df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info, | |
11618 | df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info, | |
11619 | df_ur_dump, df_urec_free_bb_info, df_urec_dump, | |
11620 | df_chain_create_bb, df_ri_bb_compute): Whitespace changes. | |
11621 | * modulo-sched.c (sms_schedule): Added flag parameter to calls. | |
11622 | * see.c (see_initialize_data): Ditto. | |
11623 | * final.c (rest_of_clean_state) Added regstack_completed. | |
11624 | * rtl.h (regstack_completed): Ditto. | |
11625 | * reg-stack.c (regstack_completed): Ditto. | |
11626 | ||
8f0d6fd4 | 11627 | 2006-05-19 Mike Stump <mrs@apple.com> |
11628 | ||
11629 | * c-tree.h (default_conversion): Remove. | |
11630 | * c-common.h (default_conversion): Add. | |
11631 | ||
7587869b | 11632 | 2006-05-19 Zdenek Dvorak <dvorakz@suse.cz> |
11633 | ||
11634 | * tree-vrp.c (valid_value_p): New function. | |
11635 | (adjust_range_with_scev): Fail if the value of bound is not | |
11636 | simple. | |
11637 | ||
0848ddff | 11638 | 2006-05-19 Richard Sandiford <richard@codesourcery.com> |
11639 | ||
11640 | * config/mips/linux-unwind.h: Include <asm/unistd.h> | |
11641 | (mips_fallback_frame_state): Use syscall numbers to determine | |
11642 | the appropriate li instruction for the current ABI. Only use | |
11643 | __NR_sigreturn for o32. | |
11644 | ||
7d709201 | 11645 | 2006-05-19 Nicolas Setton <setton@adacore.com> |
11646 | ||
11647 | * langhooks.h (struct lang_hooks): Add dwarf_name language hook. | |
11648 | * langhooks.c (lhd_dwarf_name): New function. | |
11649 | * langhooks-def.h (lhd_dwarf_name): Declare. | |
11650 | (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name. | |
11651 | * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook. | |
7bd4091f | 11652 | |
0e8499c7 | 11653 | 2006-05-19 Richard Sandiford <richard@codesourcery.com> |
11654 | ||
11655 | * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from | |
11656 | libgcc2.h. | |
11657 | (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old | |
11658 | MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if | |
11659 | LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD. | |
11660 | * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here. | |
11661 | Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to | |
11662 | determine the size of Wtype, etc. | |
11663 | * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument. | |
11664 | (swfloatfuncs): New variable. | |
11665 | (dwfloatfuncs): Likewise. | |
11666 | (lib2funcs): Remove floating-point conversion functions from | |
11667 | initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine | |
11668 | the set of conversion routines needed. Allow entries to specify | |
11669 | an object name, filename and word size. Update users accordingly. | |
11670 | * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS. | |
11671 | * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define. | |
11672 | ||
11673 | Revert: | |
11674 | ||
11675 | 2006-02-08 Roger Sayle <roger@eyesopen.com> | |
11676 | ||
11677 | PR target/22209 | |
11678 | * config/fixtfdi.c: New libgcc source file. | |
11679 | * config/fixunstfdi.c: New source file. | |
11680 | * config/floatditf.c: New source file. | |
11681 | * config/floatunditf.c: New souce file. | |
11682 | * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source | |
11683 | files above instead of config/mips/_tilib.c. | |
11684 | * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. | |
11685 | ||
56967b5b | 11686 | 2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
11687 | ||
11688 | * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'. | |
11689 | * pa/pa-hpux11.h (LIB_SPEC): Update comment. | |
11690 | ||
32d33ab2 | 11691 | 2006-05-18 Mike Stump <mrs@apple.com> |
11692 | ||
11693 | Fix up vla, vm and [*] sematics. | |
11694 | ||
11695 | PR c/18740 | |
11696 | PR c/7948 | |
11697 | PR c/25802 | |
7d67118d | 11698 | PR c/27673 |
32d33ab2 | 11699 | * c-tree.h (struct c_arg_info): Add had_vla_unspec. |
11700 | (c_vla_unspec_p): Add. | |
11701 | (c_vla_type_p): Add. | |
11702 | * c-decl.c (struct c_scope): Add had_vla_unspec. | |
11703 | (build_array_declarator): Add support for [*]. | |
11704 | (grokdeclarator): Likewise. | |
11705 | (grokparms): Likewise. | |
11706 | (get_parm_info): Likewise. | |
11707 | * c-objc-common.c (c_vla_unspec_p): Likewise. | |
11708 | * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise. | |
11709 | * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to | |
11710 | typeof when argument is a variably modified type not inside sizeof or alignof. | |
11711 | (c_parser_direct_declarator_inner): Propagate errors. | |
11712 | (c_parser_sizeof_expression): Add support for [*]. | |
7d67118d | 11713 | (c_parser_parms_declarator): Initialize had_vla_unspec. |
11714 | (c_parser_parms_list_declarator): Likewise. | |
32d33ab2 | 11715 | * c-typeck.c (c_vla_type_p): Add. |
11716 | (composite_type): Add support for vla compositing. | |
11717 | (comptypes_internal): Add support for vla compatibility. | |
11718 | (c_expr_sizeof_expr): Evaluate vla arguments. | |
11719 | * tree.c (variably_modified_type_p): Update comment for [*]. | |
11720 | ||
96034e28 | 11721 | 2006-05-18 Michael Matz <matz@suse.de> |
11722 | ||
11723 | PR target/27599 | |
11724 | * config.host: Make assignments to host_xmake_file cumulative. | |
11725 | * config.host (*-darwin*): Test $host, not $target. | |
11726 | ||
124c0201 | 11727 | 2006-05-12 Stuart Hastings <stuart@apple.com> |
11728 | ||
cf8cdd54 | 11729 | * config/i386/i386.opt (-mstackrealign): New flag. |
11730 | * config/i386/i386.c (force_align_arg_pointer): New attribute. | |
124c0201 | 11731 | (ix86_handle_cconv_attribute): Emit error when |
11732 | force_align_arg_pointer attribute collides with too many regparms. | |
11733 | (ix86_function_regparm): Limit regparms when used with | |
11734 | force_align_arg_pointer attribute. (ix86_internal_arg_pointer): | |
11735 | Support stack-realigning prologue in non-main functions. Emit | |
11736 | warning for nested functions under -mstackrealign, emit error for | |
11737 | nested functions with force_align_arg_pointer attribute. | |
cf8cdd54 | 11738 | * doc/extend.texi (force_align_arg_pointer): Document it. |
11739 | * doc/invoke.texi (-mstackrealign): Document it. | |
522701ef | 11740 | |
f3cc7f79 | 11741 | 2006-05-17 Kazu Hirata <kazu@codesourcery.com> |
11742 | ||
11743 | PR rtl-optimization/27477 | |
11744 | * combine.c (try_combine): Don't split a parallel consisting | |
11745 | of two sets into two individual sets if both sets reference | |
11746 | cc0. | |
11747 | ||
a492433f | 11748 | 2006-05-17 H.J. Lu <hongjiu.lu@intel.com> |
11749 | ||
11750 | * config/arm/arm.opt (target_fpe_name): Remove VarExists. | |
11751 | * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise. | |
11752 | ||
11753 | * doc/options.texi (VarExists): Updated. | |
11754 | ||
68528f68 | 11755 | 2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
11756 | ||
11757 | * unwind-dw2.c: Add declarations for uw_update_context and | |
11758 | uw_frame_state_for. | |
11759 | * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is | |
11760 | detected, advance frame state and context once to skip over stub. | |
11761 | ||
dfe210e4 | 11762 | 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> |
11763 | ||
11764 | PR middle-end/20256 | |
11765 | PR middle-end/26435 | |
11766 | * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p. | |
11767 | Call rewrite_into_loop_closed_ssa only when something changed. | |
11768 | * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration. | |
11769 | * lambda-code.c (can_convert_to_perfect_nest): Declared. | |
11770 | (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter. | |
11771 | Test for perfect_nest_p here. Fix formating. | |
11772 | (replace_uses_equiv_to_x_with_y): Fix formating. | |
11773 | (stmt_uses_op): Removed. | |
11774 | (can_convert_to_perfect_nest): Removed loopivs parameter. | |
11775 | Complete the test by checking the scalar dependences. | |
11776 | (perfect_nestify): Remove the test for can_convert_to_perfect_nest. | |
11777 | Fix formating. | |
11778 | ||
4a62cbb1 | 11779 | 2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com> |
11780 | ||
11781 | PR bootstrap/22541 | |
11782 | From Dan Kegel <dank@kegel.com>: | |
11783 | * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR. | |
11784 | ||
6726ef59 | 11785 | 2006-05-17 Eric Botcazou <ebotcazou@adacore.com> |
11786 | ||
11787 | * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true | |
11788 | if the element type is variably modified without recursing. | |
11789 | ||
e0cf06e1 | 11790 | 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> |
11791 | ||
11792 | PR middle-end/27332 | |
522701ef | 11793 | * tree-loop-linear.c (try_interchange_loops): Test for |
e0cf06e1 | 11794 | no data dependences. |
11795 | ||
72079d62 | 11796 | 2006-05-17 Zdenek Dvorak <dvorakz@suse.cz> |
11797 | ||
11798 | PR tree-optimization/27548 | |
11799 | * tree-scalar-evolution.c (scev_const_prop): Do not prolong life | |
11800 | range of ssa names that appear on abnormal edges. | |
11801 | * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export. | |
11802 | * tree-flow.h (contains_abnormal_ssa_name_p): Declare. | |
11803 | ||
a5b684d2 | 11804 | 2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com> |
11805 | ||
11806 | PR middle-end/27620 | |
11807 | * expr.c (safe_from_p): Handle CONSTRUCTOR again. | |
11808 | ||
87f7c31e | 11809 | 2006-05-17 Jakub Jelinek <jakub@redhat.com> |
11810 | ||
11811 | PR middle-end/27415 | |
11812 | * tree.h (OMP_PARALLEL_COMBINED): Define. | |
11813 | * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field. | |
11814 | (new_omp_context): Add is_combined_parallel argument. | |
11815 | (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust | |
11816 | new_omp_context caller. | |
11817 | (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare): | |
11818 | Adjust gimplify_scan_omp_clauses callers. | |
11819 | (omp_is_private): Issue errors if iteration variable is firstprivate | |
11820 | or reduction in the current context. | |
11821 | * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED | |
11822 | on combined parallel workshare constructs. | |
11823 | ||
486ae7e7 | 11824 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
11825 | ||
11826 | * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o. | |
11827 | (gcc-options.o): New rule. | |
11828 | ||
11829 | * optc-gen.awk: Protect variables for gcc-options.o with | |
11830 | #ifdef GCC_DRIVER/#endif. | |
11831 | ||
6b5a5c42 | 11832 | 2006-05-16 Daniel Berlin <dberlin@dberlin.org> |
522701ef | 11833 | |
6b5a5c42 | 11834 | Fix PR tree-optimization/27373 |
11835 | * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument. | |
11836 | (forward_propagate_addr_expr): Update call. | |
11837 | ||
a91c04b7 | 11838 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
11839 | ||
11840 | * doc/options.texi: Move the Negative option. | |
11841 | ||
4f61cce6 | 11842 | 2006-05-16 Richard Guenther <rguenther@suse.de> |
11843 | ||
11844 | PR tree-optimization/22303 | |
11845 | * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads | |
11846 | from STRING_CSTs. | |
11847 | (evaluate_stmt): Fall back to fold_const_aggregate_ref, if | |
11848 | ccp_fold did not simplify the statement. | |
11849 | ||
a1baa5f1 | 11850 | 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
11851 | ||
11852 | PR driver/26885 | |
11853 | * Makefile.in (GCC_OBJS): New. | |
11854 | (OBJS-common): Add opts-common.o. | |
11855 | (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS). | |
11856 | (cpp$(exeext)): Likewise. | |
11857 | (gcc.o): Also depend on opts.h. | |
11858 | (opts-common.o): New. | |
11859 | ||
11860 | * common.opt (gcoff): Add Negative(gdwarf-2). | |
11861 | (gdwarf-2): Add Negative(gstabs). | |
11862 | (gstabs): Add Negative(gstabs+). | |
11863 | (gstabs+): Add Negative(gvms). | |
11864 | (gvms): Add Negative(gxcoff). | |
11865 | (gxcoff): Add Negative(gxcoff+). | |
11866 | (gxcoff+): Add Negative(gcoff). | |
11867 | * config/i386/i386.opt (m32): Add Negative(m64). | |
11868 | (m64): Add Negative(m32). | |
11869 | ||
11870 | * doc/options.texi: Document the Negative option. | |
11871 | ||
11872 | * gcc.c: Include "opts.h". | |
11873 | (main): Call prune_options after expandargv. | |
11874 | ||
11875 | * optc-gen.awk: Generate common declarations for all flag | |
11876 | variables in options.c. Output the neg_index field. | |
11877 | ||
11878 | * opts.c (find_opt): Moved to ... | |
11879 | * opts-common.c: Here. New file. | |
11880 | ||
11881 | * opts.h (cl_option): Add a neg_index field. | |
11882 | (find_opt): New. | |
11883 | (prune_options): Likewise. | |
11884 | ||
cc63cb7d | 11885 | 2006-05-16 Jakub Jelinek <jakub@redhat.com> |
11886 | ||
3480139d | 11887 | PR middle-end/27573 |
11888 | * omp-low.c (expand_omp_parallel): Don't assert | |
11889 | .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block, | |
11890 | instead search for it. | |
11891 | ||
cc63cb7d | 11892 | PR c/27499 |
11893 | * gimplify.c (gimplify_omp_for): Remove assertion that iteration var | |
11894 | is signed. | |
11895 | ||
f7df448c | 11896 | 2006-05-16 Andreas Schwab <schwab@suse.de> |
11897 | ||
11898 | * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end | |
11899 | defmac. | |
11900 | ||
f3af78f1 | 11901 | 2006-05-15 Roger Sayle <roger@eyesopen.com> |
11902 | ||
11903 | PR target/26600 | |
11904 | * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode | |
11905 | integer constants other than zero are only legitimate on TARGET_64BIT. | |
11906 | <CONST_VECTOR> Only zero vectors are legitimate. | |
11907 | (ix86_cannot_force_const_mem): Integral and vector constants can | |
11908 | always be put in the constant pool. | |
11909 | ||
91e8ab5c | 11910 | 2006-05-16 DJ Delorie <dj@redhat.com> |
11911 | ||
11912 | * crtstuff.c (__dso_handle): Set section from | |
11913 | TARGET_LBIGCC_SDATA_SECTION if defined. | |
f7df448c | 11914 | * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document. |
91e8ab5c | 11915 | * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define. |
11916 | ||
c0af1519 | 11917 | 2006-05-16 Danny Smith <dannysmith@users.sourceforge.net> |
11918 | ||
96034e28 | 11919 | PR target/27599 |
c0af1519 | 11920 | * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to |
11921 | host_xmake_file. | |
11922 | ||
0055dbde | 11923 | 2006-05-16 Ben Elliston <bje@au.ibm.com> |
11924 | ||
11925 | * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'. | |
11926 | ||
0085bb71 | 11927 | 2006-05-15 Per Bothner <per@bothner.com> |
11928 | ||
c4f77c27 | 11929 | * tree.c: (last_annotated_node): Use source_locus typedef. |
0085bb71 | 11930 | This permits bootstrapping with --enable-mapped-location. |
11931 | ||
2920559d | 11932 | 2006-05-15 Zdenek Dvorak <dvorakz@suse.cz> |
11933 | ||
11934 | PR tree-optimization/26830 | |
11935 | * tree-into-ssa.c (struct ssa_name_info): Add age field. | |
11936 | (info_for_ssa_name, current_info_for_ssa_name_age, | |
11937 | blocks_to_update): New variables. | |
11938 | (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX. | |
11939 | (clear_ssa_name_info, initialize_flags_in_bb, | |
11940 | mark_block_for_update): New functions. | |
11941 | (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL. | |
11942 | (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update, | |
11943 | prepare_def_site_for): Use mark_block_for_update. | |
11944 | (mark_def_interesting): Assert that the processed block is marked in | |
11945 | blocks_to_update. Do not take blocks argument. | |
11946 | (prepare_use_sites_for, prepare_names_to_update): Do not take blocks | |
11947 | argument. | |
11948 | (rewrite_update_init_block, rewrite_update_stmt): Only process | |
11949 | blocks with statements to rewrite. | |
11950 | (delete_update_ssa): Do not clear SSA_NAME_AUX. | |
11951 | (update_ssa): Initialize and free blocks_to_update. Do not | |
11952 | clear flags on statements. Do not use blocks bitmap. | |
11953 | * tree.h (SSA_NAME_AUX): Removed. | |
11954 | (struct tree_ssa_name): Removed aux field. | |
11955 | * print-tree.c (print_node): Do not print SSA_NAME_AUX. | |
11956 | ||
d4eedd54 | 11957 | 2006-05-15 Richard Guenther <rguenther@suse.de> |
11958 | ||
11959 | PR tree-optimization/27603 | |
11960 | * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): | |
11961 | Do computations in original type. | |
11962 | ||
8a667709 | 11963 | 2006-05-15 Mircea Namolaru <namolaru@il.ibm.com> |
11964 | ||
c6b897fe | 11965 | * see.c: Code style changes such as redundant paranthesis, |
11966 | redundant intialization of local variables etc. | |
11967 | (see_main): Declared now as static. | |
11968 | * doc/invoke.texi: Update that -fsee is not enabled by | |
11969 | default at -O3. | |
8a667709 | 11970 | |
9438af57 | 11971 | 2006-05-15 Jakub Jelinek <jakub@redhat.com> |
11972 | ||
c1d127dd | 11973 | * omp-low.c (check_omp_nesting_restrictions): New function. |
11974 | (scan_omp_1): Call it. | |
11975 | ||
9438af57 | 11976 | PR middle-end/27416 |
11977 | * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned | |
11978 | construct, return *VAR. | |
11979 | ||
bc26d495 | 11980 | 2006-05-14 Kaz Kojima <kkojima@gcc.gnu.org> |
11981 | ||
11982 | PR rtl-optimization/27406 | |
11983 | * bt-load.c (migrate_btr_def): Skip the block having abnormal | |
11984 | edges. | |
11985 | ||
dcfc98c1 | 11986 | 2006-05-14 Roger Sayle <roger@eyesopen.com> |
11987 | ||
11988 | PR rtl-optimization/27538 | |
11989 | * combine.c (expand_compound_operation): Call gen_lowpart | |
11990 | before calling simplify_shift_const. | |
11991 | ||
f31d1dc3 | 11992 | 2006-05-14 Roger Sayle <roger@eyesopen.com> |
11993 | ||
11994 | PR rtl-optimization/22563 | |
11995 | * expmed.c (store_fixed_bit_field): When using AND and IOR to store | |
11996 | a fixed width bitfield, always force the intermediates into psuedos. | |
11997 | ||
6cd86b1d | 11998 | 2006-05-14 Bernhard Fischer <aldot@gcc.gnu.org> |
11999 | ||
12000 | PR 27501 | |
12001 | * mkconfig.sh: Use operator = instead of == for test. | |
12002 | ||
f52ddb74 | 12003 | 2006-05-13 Nick Clifton <nickc@redhat.com> |
12004 | ||
12005 | * dwarf2out.c (dbx_reg_number): Check return value from | |
12006 | LEAF_REG_REMAP and only use it if it is valid. | |
12007 | (multiple_reg_loc_descriptor): Likewise. | |
12008 | ||
071ed2eb | 12009 | 2006-05-13 Richard Guenther <rguenther@suse.de> |
12010 | ||
12011 | * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to | |
12012 | host_xmake_file. | |
12013 | ||
6151bbc3 | 12014 | 2006-05-13 Steven Bosscher <stevenb.gcc@gmail.com> |
12015 | ||
12016 | * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow | |
12017 | information attached to non-INSNs such as NOTEs. | |
12018 | (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise. | |
12019 | ||
d5608dc4 | 12020 | 2006-05-12 Andreas Krebbel <krebbel1@de.ibm.com> |
12021 | ||
12022 | * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for | |
12023 | On contraint. | |
12024 | * config/s390/s390.md: Adjust comment describing On constraint. | |
12025 | ||
bba7ddf8 | 12026 | 2006-05-11 Jan Hubicka <jh@suse.cz> |
12027 | ||
12028 | * cgraphunit.c (decide_is_function_needed): Don't force always_inline | |
12029 | to be output at -O0. | |
12030 | ||
0bec3023 | 12031 | 2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
12032 | ||
4a698d62 | 12033 | PR middle-end/27384 |
12034 | * fold-const.c (size_binop): Move sanity check for arguments to | |
12035 | the beginning of the function. | |
12036 | ||
0bec3023 | 12037 | PR middle-end/27488 |
12038 | * fold-const.c (tree_expr_nonnegative_p): Return early on invalid | |
12039 | expression. | |
12040 | ||
219dad96 | 12041 | 2006-05-11 Richard Guenther <rguenther@suse.de> |
12042 | ||
12043 | PR middle-end/27529 | |
12044 | * fold-const.c (fold_unary): Handle intermediate conversion | |
12045 | to a pointer type like intermediate conversion to an integer | |
12046 | type in folding of (T1)(T2)var to var. | |
12047 | Match the code to the comment in the final conversion for | |
12048 | (T1)(T2)var to (T1)var regarding to type precision. Rather | |
12049 | than disallow T1 being of pointer type, assert that both T1 | |
12050 | and var are of pointer type or not. Make sure not to fall | |
12051 | over the frontends lazyness wrt array to pointer decay though. | |
12052 | ||
f2be8f2b | 12053 | 2006-05-10 Richard Earnshaw <rearnsha@arm.com> |
12054 | ||
12055 | * arm.c (arm_struct_value_rtx): Delete. | |
12056 | (TARGET_STRUCT_VALUE_RTX): Use the default definition. | |
12057 | (arm_init_cumulative_args): Always initialize nregs to zero. | |
12058 | ||
19256cce | 12059 | 2006-05-10 Richard Guenther <rguenther@suse.de> |
12060 | ||
12061 | PR tree-optimization/27532 | |
12062 | * tree-object-size.c (plus_expr_object_size): Fix typo. | |
12063 | ||
a854b0c3 | 12064 | 2006-05-10 Kazu Hirata <kazu@codesourcery.com> |
12065 | ||
12066 | PR target/24949 | |
12067 | * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem, | |
12068 | ashrdi_const, ashrdi3): Use a scratch register. | |
12069 | ||
ffb99bfe | 12070 | 2006-05-10 Richard Guenther <rguenther@suse.de> |
12071 | ||
12072 | PR tree-optimization/27302 | |
12073 | * fold-const.c (operand_equal_p): For two comparisons, | |
12074 | try comparison of one comparison code swapped if that yields | |
12075 | the same code. | |
12076 | ||
503c6e8e | 12077 | 2006-05-10 Ben Elliston <bje@au.ibm.com> |
12078 | ||
32a9fcf7 | 12079 | * tree-pretty-print.c (pretty_print_string): No need to handle |
12080 | '\0' as a special character. | |
12081 | ||
503c6e8e | 12082 | * tree.h: Include "hashtab.h". |
12083 | (iterative_hash_expr): Use hashval_t in its prototype. | |
12084 | * Makefile.in (TREE_H): Add $(HASHTAB_H). | |
12085 | ||
8ad01423 | 12086 | 2006-05-09 Steve Ellcey <sje@cup.hp.com> |
12087 | ||
12088 | PR bootstrap/26872 | |
12089 | * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes. | |
12090 | (hppa*64*-*-hpux11*): Ditto. | |
12091 | (hppa[12]*-*-hpux11*): Ditto. | |
12092 | ||
92a6eba6 | 12093 | 2006-05-09 David Edelsohn <edelsohn@gnu.org> |
12094 | ||
12095 | PR target/26545 | |
12096 | * config/rs6000/aix41.h (TARGET_64BIT): Define. | |
12097 | ||
4009b53f | 12098 | 2006-05-09 Michael Matz <matz@suse.de> |
12099 | ||
12100 | * config.host (<i[34567]86-*-*, x86_64-*-*>): Set | |
12101 | host_extra_gcc_objs and host_xmake_file. | |
12102 | (<*-*-linux*>): Don't overwrite host_xmake_file. | |
12103 | * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS. | |
12104 | * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define. | |
12105 | (host_detect_local_cpu): Declare. | |
12106 | (CC1_CPU_SPEC): Add -march=native and -mtune=native cases. | |
12107 | * config/i386/i386.c (override_options): Handle -mtune=native | |
12108 | as -mtune=generic. | |
12109 | * config/i386/x-i386: New file. | |
12110 | * config/i386/driver-i386.c: New file. | |
12111 | * doc/invoke.texi (<i386 and x86-64 Options>): Describe | |
12112 | cpu-type "native". | |
12113 | ||
b3acd74f | 12114 | 2006-05-09 Dirk Mueller <dmueller@suse.de> |
12115 | Richard Guenther <rguenther@suse.de> | |
12116 | ||
12117 | PR middle-end/27498 | |
12118 | * fold-const.c (fold_read_from_constant_string): Relax check | |
12119 | for matching types to matching modes. | |
12120 | ||
34e61d77 | 12121 | 2006-05-09 Zdenek Dvorak <dvorakz@suse.cz> |
12122 | ||
12123 | PR rtl-optimization/27335 | |
12124 | * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the | |
12125 | loops. | |
12126 | ||
1ad3c870 | 12127 | 2006-05-08 Chao-ying Fu <fu@mips.com> |
12128 | Richard Sandiford <richard@codesourcery.com> | |
12129 | ||
12130 | * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns. | |
12131 | (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise. | |
12132 | * config/mips/mips.md (UNSPEC_SCC): New constant. | |
12133 | * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare. | |
12134 | * config/mips/mips.c (mips_reverse_fp_cond_p): New function. | |
12135 | (mips_emit_compare): Use it. | |
12136 | (mips_expand_vcondv2sf): New function. | |
12137 | ||
54bbda3c | 12138 | 2006-05-08 Daniel Berlin <dberlin@dberlin.org> |
12139 | ||
12140 | Fix PR tree-optimization/27093 | |
522701ef | 12141 | * tree-ssa-alias.c (recalculate_used_alone): Mark variables for |
54bbda3c | 12142 | renaming when they become not-used_alone. |
12143 | ||
66ac1457 | 12144 | 2006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
12145 | ||
12146 | * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter | |
12147 | relocation and relocation stubs. | |
12148 | ||
522ae219 | 12149 | 2006-05-08 Eric Christopher <echristo@apple.com> |
12150 | ||
12151 | * unwind-dw2-fde-darwin.c (examine_objects): Only check data | |
12152 | section for ppc. | |
12153 | ||
8baa9d15 | 12154 | 2006-05-08 Jan Hubicka <jh@suse.cz> |
12155 | ||
95da6220 | 12156 | PR middle-end/24561 |
8baa9d15 | 12157 | * cgraphunit.c (decide_is_function_needed): When not optimizing even |
12158 | unused static functions are needed. | |
12159 | ||
9f1a815a | 12160 | 2006-05-08 Roger Sayle <roger@eyesopen.com> |
12161 | ||
12162 | PR target/27158 | |
12163 | * reload.c (find_reloads_toplev): Only return the simplified SUBREG | |
12164 | of a reg_equiv_constant if the result is a legitimate constant. | |
12165 | ||
77670c1d | 12166 | 2006-05-08 Uros Bizjak <uros@kss-loka.si> |
12167 | ||
12168 | PR target/27277 | |
12169 | * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For | |
12170 | standard 80387 constants, raise the cost to prevent | |
12171 | compress_float_constant() to generate load from memory. | |
12172 | ||
bbd98f7d | 12173 | 2006-05-08 Kazu Hirata <kazu@codesourcery.com> |
12174 | ||
12175 | * config/arm/constraints.md (c): Fix a typo. | |
12176 | ||
9fdf9cf6 | 12177 | * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment |
12178 | typos. | |
12179 | ||
106eecb3 | 12180 | 2006-05-07 H.J. Lu <hongjiu.lu@intel.com> |
12181 | ||
12182 | PR target/24879 | |
12183 | * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use | |
12184 | inline function. | |
12185 | (_mm_mwait): Likewise. | |
12186 | ||
12187 | * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with | |
12188 | "mwait". | |
12189 | (sse3_monitor): Make it 32bit only. | |
12190 | (sse3_monitor64): New. 64bit monitor. | |
12191 | ||
adfbdef1 | 12192 | 2006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
12193 | ||
12194 | PR target/27421 | |
12195 | * config/i386/i386.c (classify_argument): Skip fields with invalid | |
12196 | types. | |
12197 | ||
1b2f34a9 | 12198 | 2006-05-07 Richard Guenther <rguenther@suse.de> |
12199 | ||
12200 | PR tree-optimization/27409 | |
12201 | * tree-ssa-structalias.c (get_constraint_for_component_ref): | |
12202 | Do not try to find zero-sized subvars. | |
12203 | ||
f8540d49 | 12204 | 2006-05-07 Richard Guenther <rguenther@suse.de> |
12205 | ||
12206 | PR tree-optimization/27136 | |
12207 | * tree-ssa-loop-niter.c (get_val_for): Correct function | |
12208 | comment, assert requirements. | |
12209 | (loop_niter_by_eval): Stop processing if the iterated | |
12210 | value did not simplify. | |
12211 | ||
b4a7fde1 | 12212 | 2006-05-07 Mircea Namolaru <namolaru@il.ibm.com> |
12213 | ||
522701ef | 12214 | * opts.c (flag_see): remove its setting at -O3. |
522ae219 | 12215 | |
234f6557 | 12216 | 2006-05-07 Richard Earnshaw <rearnsha@arm.com> |
12217 | ||
12218 | * genpeep.c (main): Make insn-peep.c depend on flags.h. | |
12219 | * arm/constraints.md: New file. | |
12220 | * arm.h (REG_CLASS_FROM_LETTER_P): Delete. | |
12221 | (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER) | |
12222 | (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER) | |
12223 | (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM) | |
12224 | (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR) | |
12225 | (EXTRA_MEMORY_CONSTRAINT): Likewise. | |
12226 | * arm.md: Include constraints.md. | |
12227 | (thumb_movsi_insn): Use satisfies_constraint_J. | |
12228 | (movhi, movqi): Use satisfies_constraint_I. | |
12229 | ||
351f885c | 12230 | 2006-04-29 Anatoly Sokolov <aesok@post.ru> |
12231 | ||
522701ef | 12232 | * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name |
351f885c | 12233 | for atmeg a645 device. |
12234 | ||
94a3ff13 | 12235 | 2006-05-06 Richard Guenther <rguenther@suse.de> |
12236 | ||
12237 | PR tree-optimization/27151 | |
12238 | * tree-vect-transform.c (vectorizable_condition): Punt on | |
12239 | values that have a different type than the condition. | |
12240 | ||
35df6eb4 | 12241 | 2006-05-03 Aldy Hernandez <aldyh@redhat.com> |
12242 | ||
12243 | PR/21391 | |
12244 | * c-parser.c (c_parser_cast_expression): Only insert casts into | |
12245 | hash table if pointer. | |
12246 | * function.c (used_types_insert_helper): Rename from | |
12247 | used_types_insert. | |
12248 | (used_types_insert): Call used_types_insert_helper. | |
12249 | * function.h (used_types_insert): Accept only one argument. | |
12250 | ||
913b293a | 12251 | 2006-05-05 David Edelsohn <edesohn@gnu.org> |
12252 | ||
12253 | * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered | |
12254 | scratch with output modifier. | |
12255 | ||
fe26ce8c | 12256 | 2006-05-04 David Edelsohn <edelsohn@gnu.org> |
12257 | ||
12258 | PR target/26481 | |
12259 | * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint | |
12260 | with output modifier. | |
12261 | ||
87bc559b | 12262 | 2006-05-04 Richard Sandiford <richard@codesourcery.com> |
12263 | ||
12264 | PR target/26765 | |
12265 | * config/mips/mips.c (mips_symbolic_address_p): Return true | |
12266 | for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL, | |
12267 | SYMBOL_GOTTPREL, and SYMBOL_TLS. | |
12268 | ||
cbc74ef3 | 12269 | 2006-05-04 Richard Guenther <rguenther@suse.de> |
12270 | ||
12271 | PR tree-optimization/14287 | |
12272 | PR tree-optimization/14844 | |
12273 | PR tree-optimization/19792 | |
12274 | PR tree-optimization/21608 | |
12275 | PR tree-optimization/27090 | |
12276 | * tree-ssa-pre.c (try_combine_conversion): New function. | |
12277 | (compute_avail): After constructing the value-handle | |
12278 | expression, use try_combine_conversion to combine NOP_EXPRs | |
12279 | with previous value-handle expressions and use the result if it | |
12280 | is available. | |
12281 | ||
ad8a2416 | 12282 | 2006-05-04 Joseph S. Myers <joseph@codesourcery.com> |
12283 | ||
12284 | * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove. | |
12285 | ||
0f6439b9 | 12286 | 2006-05-04 Jan Hubicka <jh@suse.cz> |
12287 | ||
12288 | PR middle-end/25962 | |
12289 | * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing. | |
12290 | ||
ae2e62d2 | 12291 | 2006-05-04 Bernd Schmidt <bernd.schmidt@analog.com> |
12292 | ||
12293 | * config/bfin/predicates.md (const01_rtx): Tell generator programs | |
12294 | that this only matches CONST_INTs. All users changed to VOIDmode | |
12295 | operands. | |
12296 | ||
f9edc33d | 12297 | * config/bfin/bfin.c: Include "optabs.h". |
12298 | (bfin_rtx_costs): Some costs for vector operations, to allow combine | |
12299 | to do more work. | |
12300 | (enum bfin_builtins): Add a number of fractional and vector builtins. | |
12301 | (bfin_init_builtins): Likewise. | |
12302 | (struct builtin_description, bdesc_2arg, bdesc_1arg): New. | |
12303 | (safe_vector_operand, bfin_expand_binop_builtin, | |
12304 | bfin_expand_unop_builtin): New functions. | |
12305 | (bfin_expand_builtin): Handle the new builtins. | |
12306 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define | |
12307 | __ADSPBLACKFIN__. | |
12308 | ||
2b74c150 | 12309 | 2006-05-04 Leehod Baruch <leehod@il.ibm.com> |
12310 | ||
522701ef | 12311 | * see.c: New file. |
12312 | * Makefile.in (OBJS-common): Add see.o. | |
12313 | (see.o): Add dependencies. | |
12314 | * common.opt (fsee): New flag for the see optimization was added. | |
12315 | * opts.c (flag_see): Initialized. | |
12316 | * passes.c (init_optimization_passes, pass_see): New pass. | |
12317 | * rtl.h (see_main): Declaration as extern. | |
12318 | * timevar.def (TV_SEE): New. | |
12319 | * tree-pass.h (pass_see): Declaration as extern. | |
12320 | * invoke.texi (-fsee): Document. | |
12321 | * recog.c (validate_simplify_insn): New function. | |
12322 | * recog.h (validate_simplify_insn): Declaration as extern. | |
12323 | * df-problems.c (df_chain_dump): Check for NULL. | |
2b74c150 | 12324 | |
12325 | 2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com> | |
522701ef | 12326 | Daniel Berlin <dberlin@dberlin.org> |
2b74c150 | 12327 | |
522701ef | 12328 | * cfgrtl.c (insert_insn_bb_end_new): New function. |
12329 | * basic-block.h (insert_insn_bb_end_new): Declaration as extern. | |
2b74c150 | 12330 | |
12331 | 2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il> | |
12332 | ||
522701ef | 12333 | * df.h (struct web_entry): Moved from web.c. |
12334 | (union_defs): Declaration as extern. | |
12335 | (unionfind_root): Likewise. | |
12336 | (unionfind_union): Likewise. | |
12337 | * web.c (struct web_entry): Moved to df.h. | |
12338 | (unionfind_root): Remove static declaration. | |
12339 | (unionfind_union): Likewise. | |
12340 | (union_defs): Likewise and generalize to use callback function. | |
12341 | (web_main): Update arguments for union_defs function call. | |
2b74c150 | 12342 | |
696243a6 | 12343 | 2006-05-04 Richard Guenther <rguenther@suse.de> |
12344 | ||
12345 | PR tree-optimization/26447 | |
12346 | * tree-ssa-pre.c (realify_fake_stores): For necessary loads | |
12347 | produce SSA_NAME copies before the store stmt to avoid | |
12348 | breaking exception handling. | |
12349 | ||
013a7f55 | 12350 | 2006-05-04 Jakub Jelinek <jakub@redhat.com> |
12351 | ||
12352 | PR middle-end/27388 | |
12353 | * gimplify.c (omp_is_private): If var is shared in some outer context, | |
12354 | return false instead of true. Stop searching on parallel context | |
12355 | boundary. | |
12356 | ||
58158e5b | 12357 | 2006-05-03 Alexandre Oliva <aoliva@redhat.com> |
12358 | ||
12359 | PR java/8260 | |
12360 | * coverage.c: Use get_gcov_unsigned_t() instead of | |
12361 | unsigned_type_node all over. | |
12362 | ||
66c8f3a9 | 12363 | 2006-05-02 Andrew MacLeod <amacleod@redhat.com> |
12364 | ||
12365 | PR tree-optimization/27381 | |
522ae219 | 12366 | * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument, |
66c8f3a9 | 12367 | maintain the same immediate_use links. |
522ae219 | 12368 | * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker |
66c8f3a9 | 12369 | node rather than segfaulting. |
12370 | ||
0f9d10d4 | 12371 | 2006-05-03 Jakub Jelinek <jakub@redhat.com> |
12372 | ||
12373 | PR fortran/27395 | |
12374 | * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE | |
12375 | rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN | |
12376 | bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER. | |
12377 | ||
4bef19cc | 12378 | 2006-05-02 Daniel Berlin <dberlin@dberlin.org> |
12379 | ||
12380 | Fix PR tree-optimization/26626 | |
12381 | * tree-ssa-structalias.c (compute_points_to_sets): For now, solve | |
12382 | always. | |
12383 | * tree-ssa-operands.c (access_can_touch_variable): Allow | |
12384 | typecasting through union pointers. | |
12385 | ||
f49d7bb5 | 12386 | 2006-05-02 Jakub Jelinek <jakub@redhat.com> |
12387 | ||
12388 | PR c++/26943 | |
12389 | * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function. | |
12390 | (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx | |
12391 | to find if var will be a global variable even in the nested context. | |
12392 | (omp_copy_decl): Only check for global variable at the end, it might | |
12393 | be overridden in outer contexts. | |
12394 | (scan_sharing_clauses): For global variables don't create a field. | |
12395 | (lower_rec_input_clauses): Do nothing for global shared variables. | |
12396 | Emit a barrier at the end of ILIST if there were any decls in both | |
12397 | firstprivate and lastprivate clauses. | |
12398 | (lower_send_clauses): Do nothing for global variables except for | |
12399 | COPYIN. | |
12400 | ||
d067645d | 12401 | 2006-05-02 Zdenek Dvorak <dvorakz@suse.cz> |
12402 | ||
12403 | * tree.c (unsigned_type_for, signed_type_for): Make sure a type | |
12404 | of the correct signedness is returned. | |
12405 | ||
9d8b8bc4 | 12406 | 2006-05-02 Jeff Law <law@redhat.com> |
12407 | ||
12408 | PR tree-optimization/27364 | |
12409 | * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from | |
12410 | multiply expressions. | |
12411 | ||
260a47ec | 12412 | 2006-05-02 Tom Tromey <tromey@redhat.com> |
12413 | ||
12414 | * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo. | |
12415 | ||
ca1ede88 | 12416 | 2006-05-02 Kazu Hirata <kazu@codesourcery.com> |
12417 | ||
12418 | PR target/27387 | |
12419 | * arm.c (arm_output_mi_thunk): Use pc-relative addressing when | |
12420 | -mthumb -fPIC are used. | |
12421 | ||
a240bf01 | 12422 | 2006-05-02 Stanislaw Skowronek <skylark@linux-mips.org> |
12423 | Joshua Kinard <kumba@gentoo.org> | |
12e8f34d | 12424 | |
12425 | PR target/25871 | |
cf8cdd54 | 12426 | * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves |
12e8f34d | 12427 | with 64-bit pointers. |
12428 | ||
8f2b909a | 12429 | 2006-05-02 Paul Brook <paul@codesourcery.com> |
12430 | ||
12431 | * config/arm/arm.c (add_minipool_forward_ref): Check if insn | |
12432 | and pool overlap. | |
12433 | (create_fix_barrier): Check that a suitable barrier location is | |
12434 | found. | |
12435 | (arm_reorg): Include ftmp->address in allowable range of addresses. | |
12436 | ||
46614828 | 12437 | 2006-05-02 David Billinghurst <David.Billinghurst@riotinto.com> |
12438 | ||
12439 | PR ada/27366 | |
522ae219 | 12440 | * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment |
8f2b909a | 12441 | on Cygwin. |
46614828 | 12442 | |
b70b62cf | 12443 | 2006-05-02 Jakub Jelinek <jakub@redhat.com> |
12444 | ||
df2c34fc | 12445 | PR middle-end/27337 |
12446 | * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF | |
12447 | around RESULT_DECL for result passed by reference. | |
12448 | (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen. | |
12449 | * omp-low.c (use_pointer_for_field): Don't look at | |
12450 | DECL_HAS_VALUE_EXPR_P for RESULT_DECLs. | |
12451 | (scan_omp_1): Call remap_decl on RESULT_DECLs. | |
12452 | (lower_rec_input_clauses): Don't allocate VLA memory for the second | |
12453 | time or var for passing by reference for | |
12454 | OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of | |
12455 | TREE_ADDRESSABLE variables when passing by reference. | |
12456 | ||
12457 | * omp-low.c (dump_omp_region): Fix output formatting. | |
12458 | ||
5056ba1a | 12459 | PR middle-end/27328 |
12460 | * omp-low.c (remove_exit_barrier): Handle NULL exit_bb. | |
12461 | (expand_omp_parallel): Likewise. | |
12462 | * tree-cfg.c (move_sese_region_to_fn): Likewise. | |
12463 | ||
aade31a0 | 12464 | PR middle-end/27325 |
12465 | * omp-low.c (lower_omp_sections): Call maybe_catch_exception | |
12466 | on statement list containing also constructors and destructors. | |
12467 | (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise. | |
12468 | ||
b70b62cf | 12469 | PR middle-end/27310 |
12470 | * except.c (duplicate_eh_regions): Fix clearing of | |
12471 | cfun->eh->region_array entries. | |
12472 | ||
13648950 | 12473 | 2006-05-01 DJ Delorie <dj@redhat.com> |
12474 | ||
12475 | * configure.ac (gcc_cv_nm): Don't use an in-tree nm if | |
12476 | build!=host. | |
12477 | (gcc_cv_objdump): Likewise. | |
12478 | * configure: Regenerated. | |
12479 | ||
12646d64 | 12480 | 2006-05-01 Kazu Hirata <kazu@codesourcery.com> |
12481 | ||
12482 | PR target/27374 | |
12483 | * config/arm/vfp.md (*arm_movdi_vfp): Correct the output | |
12484 | templates for case 3 and 4. | |
12485 | ||
c169e46c | 12486 | 2006-05-01 DJ Delorie <dj@redhat.com> |
12487 | ||
12488 | * vec.c: Include bconfig.h when appropriate. | |
12489 | * Makefile.in (build/vec.o): Adjust dependencies. | |
12490 | * mkconfig.sh: Make sure config.h isn't used for build machine | |
12491 | compiles. | |
12492 | ||
70630fcd | 12493 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
12494 | ||
12495 | * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New | |
12496 | variables. | |
12497 | (mark_phi_for_rewrite): New function. | |
12498 | (insert_phi_nodes_for, mark_use_interesting): Call | |
12499 | mark_phi_for_rewrite. | |
12500 | (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite. | |
12501 | (update_ssa): Initialize and free phis_to_rewrite. | |
12502 | ||
a4c7895e | 12503 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
12504 | ||
12505 | PR rtl-optimization/27291 | |
12506 | * loop-doloop.c (add_test, doloop_modify): Handle the case condition is | |
12507 | folded to a constant. | |
12508 | ||
dcd24d3c | 12509 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
12510 | ||
12511 | PR tree-optimization/27283 | |
12512 | * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees, | |
12513 | not whole # of iteration descriptions. | |
12514 | (niter_for_exit): Return just # of iterations. Fail if # of iterations | |
12515 | uses abnormal ssa name. | |
12516 | (niter_for_single_dom_exit): Ditto. | |
12517 | (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to | |
12518 | return just the number of iterations. | |
12519 | ||
d1baf6ca | 12520 | 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
12521 | ||
12522 | PR tree-optimization/27144 | |
12523 | * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function. | |
12524 | (record_estimate): Only record constant upper bound. | |
12525 | (infer_loop_bounds_from_undefined): Call | |
12526 | compute_estimated_nb_iterations just once. | |
12527 | (proved_non_wrapping_p): Renamed to ... | |
12528 | (n_of_executions_at_most): ... this. Expect bound to be a constant. | |
12529 | (convert_step_widening, scev_probably_wraps_p): Call | |
12530 | n_of_executions_at_most instead of proved_non_wrapping_p. | |
12531 | (substitute_in_loop_info): Do not replace values in bounds. | |
12532 | * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update | |
12533 | comments. | |
12534 | ||
adcd0e5f | 12535 | 2006-05-01 Richard Henderson <rth@redhat.com> |
12536 | ||
12537 | PR c/27358 | |
12538 | * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after | |
12539 | c_parser_skip_to_pragma_eol. Convert to switch statement. Handle | |
12540 | CPP_PRAGMA. | |
12541 | ||
ceda77d2 | 12542 | 2006-05-01 Roger Sayle <roger@eyesopen.com> |
12543 | ||
12544 | * c-typeck.c (parser_build_binary_op): Don't call the function | |
12545 | unsigned_conversion_warning to spot operand/result type overflow. | |
12546 | (build_binary_op): Instead, call convert_and_check instead of | |
12547 | convert to report the problem when the operands are promoted. | |
12548 | * c-common.c (unsigned_conversion_warning): Make static. | |
12549 | * c-common.h (unsigned_conversion_warning): Delete prototype. | |
12550 | ||
d3d02a88 | 12551 | 2006-05-01 Richard Guenther <rguenther@suse.de> |
12552 | ||
12553 | PR tree-optimization/26726 | |
12554 | * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the | |
12555 | problem ... | |
12556 | (find_interesting_uses_address): ... we work around here | |
12557 | by folding INDIRECT_REFs in the substituted base. | |
12558 | ||
0f9b0545 | 12559 | 2006-05-01 Diego Novillo <dnovillo@redhat.com> |
12560 | ||
12561 | * omp-low.c (dump_omp_region): Add newlines. | |
12562 | ||
55972f40 | 12563 | 2006-04-30 Roger Sayle <roger@eyesopen.com> |
12564 | ||
12565 | * common.opt (Woverflow): New command line option. | |
12566 | * c-common.c (constant_expression_warning): Check warn_overflow. | |
12567 | (overflow_waring): Pass OPT_Woverflow to warning. | |
12568 | (unsigned_conversion_warning): Likewise. | |
12569 | (convert_and_check): Likewise. | |
12570 | * doc/invoke.texi: Document new command line option. | |
12571 | ||
2c7082e3 | 12572 | 2006-04-30 David Edelsohn <edelsohn@gnu.org> |
12573 | ||
12574 | * config/rs6000/rs6000.c (rs6000_override_options): Enable | |
12575 | TARGET_NO_FP_IN_TOC for section anchors. | |
12576 | (optimization_options): Enable section anchors for all | |
12577 | non-"Objective" languages. | |
12578 | ||
f720b7c6 | 12579 | 2006-04-28 Eric Christopher <echristo@apple.com> |
12580 | ||
12581 | * config/darwin-c.c (darwin_ms_struct): Move this | |
12582 | (darwin_set_default_type_attributes): and this... | |
12583 | * config/darwin.c: ... here. | |
12584 | * config/darwin.h (darwin_ms_struct): Declare. | |
12585 | ||
76e6653a | 12586 | 2006-04-28 Andrew MacLeod <amacleod@redhat.com> |
12587 | ||
12588 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause. | |
12589 | ||
4aeeff51 | 12590 | 2006-04-28 Roger Sayle <roger@eyesopen.com> |
12591 | ||
12592 | PR c/25309 | |
12593 | * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT. | |
12594 | (push_array_bounds): Delete prototype. Change BOUNDS argument to | |
12595 | an unsigned HOST_WIDE_INT. | |
12596 | (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the | |
12597 | array index. | |
12598 | (really_start_incremental_init): No need to call convert because | |
12599 | bitsize_zero_node is already of type bitsizetype. | |
12600 | (push_init_level): Extract the value of constructor_index as an | |
12601 | unsigned HOST_WIDE_INT quantity, using tree_low_cst. | |
12602 | (process_init_element): Likewise. | |
12603 | ||
01b26439 | 12604 | 2006-04-28 Joseph S. Myers <joseph@codesourcery.com> |
12605 | ||
12606 | * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX | |
12607 | value before passing to make_relative_prefix. | |
12608 | ||
1007f554 | 12609 | 2006-04-28 Alan Modra <amodra@bigpond.net.au> |
12610 | ||
12611 | PR middle-end/27260 | |
12612 | * builtins.c (expand_builtin_memset): Expand val in original mode. | |
12613 | ||
f5c68723 | 12614 | 2006-04-27 Eric Christopher <echristo@apple.com> |
12615 | ||
12616 | * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket | |
12617 | with #ifndef/#endif. | |
12618 | * config/darwin-c.c (darwin_ms_struct): New. | |
12619 | (darwin_pragma_ms_struct): Ditto. | |
12620 | (darwin_set_default_type_attributes): Ditto. | |
12621 | * config/darwin-protos.h (darwin_pragma_ms_struct): Declare. | |
12622 | * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): | |
12623 | Register ms_struct pragma. | |
12624 | * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare. | |
12625 | (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto. | |
12626 | * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call | |
12627 | darwin_set_default_type_attributes if TARGET_MACHO. | |
12628 | ||
09aca5bc | 12629 | 2006-04-27 Andrew MacLeod <amacleod@redhat.com> |
12630 | ||
12631 | PR tree-optimization/26854 | |
12632 | * tree-vrp.c (remove_range_assertions): Use new Immuse iterator. | |
12633 | * doc/tree-ssa.texi: Update immuse iterator documentation. | |
12634 | * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator. | |
12635 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator. | |
12636 | * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p, | |
12637 | first_safe_imm_use, next_safe_imm_use): Remove. | |
12638 | (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal. | |
12639 | (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal. | |
12640 | (move_use_after_head): New. Helper function to sort immuses in a stmt. | |
12641 | (link_use_stmts_after): New. Link all immuses in a stmt consescutively. | |
12642 | (first_imm_use_stmt): New. Get first stmt in an immuse list. | |
12643 | (next_imm_use_stmt): New. Get next stmt in an immuse list. | |
12644 | (first_imm_use_on_stmt): New. Get first immuse on a stmt. | |
12645 | (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt. | |
12646 | (next_imm_use_on_stmt): New. Move to next immuse on a stmt. | |
12647 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator. | |
12648 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator. | |
12649 | (perfect_nestify): Use new iterator. | |
f5c68723 | 12650 | * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new |
09aca5bc | 12651 | iterator. |
12652 | * tree-flow.h (struct immediate_use_iterator_d): Add comments. | |
12653 | (next_imm_name): New field in struct immediate_use_iterator_d. | |
12654 | (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove. | |
f5c68723 | 12655 | (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT, |
09aca5bc | 12656 | FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros. |
12657 | * tree-cfg.c (replace_uses_by): Use new iterator. | |
12658 | * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator. | |
12659 | * tree-ssa-operands.c (correct_use_link): Remove. | |
12660 | (finalize_ssa_use_ops): No longer call correct_use_link. | |
12661 | ||
742f0f02 | 12662 | 2006-04-27 Stuart Hastings <stuart@apple.com> |
12663 | ||
12664 | * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New. | |
12665 | * config/t-darwin (crt3.o): Use it. | |
12666 | * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove | |
12667 | 'pmode', use Pmode instead of SImode for SYMBOL_REF. | |
12668 | * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv, | |
12669 | call_nonlocal_sysv, call_value_indirect_nonlocal_sysv, | |
12670 | call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64 | |
12671 | support. | |
f5c68723 | 12672 | |
17af021d | 12673 | 2006-04-27 Roger Sayle <roger@eyesopen.com> |
12674 | ||
12675 | * expmed.c (store_fixed_bit_field): If we're not optimizing for | |
12676 | size, force the intermediate into a new pseudo rather instead of | |
12677 | performing both a bitwise AND and a bitwise IOR in memory. | |
12678 | ||
0ed224e1 | 12679 | 2006-04-27 Richard Guenther <rguenther@suse.de> |
12680 | ||
12681 | PR rtl-optimization/26685 | |
12682 | * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named | |
12683 | this one "max-flow-memory-locations". | |
12684 | ||
82086091 | 12685 | 2006-04-27 Richard Guenther <rguenther@suse.de> |
12686 | ||
12687 | PR tree-optimization/25148 | |
12688 | * tree-vrp.c (compare_values): Remove code dealing with | |
12689 | comparisons against type min/max value. Honour overflow | |
12690 | and negative constants in code dealing with comparisons | |
12691 | of plus and minus expressions. | |
12692 | (value_inside_range): Use fold_binary with LE_EXPR and | |
12693 | GE_EXPR rather than compare_values. | |
12694 | ||
aaaa94f9 | 12695 | 2006-04-27 Dirk Mueller <dmueller@suse.de> |
12696 | ||
12697 | * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare | |
12698 | prototype for SSE. | |
12699 | ||
7d58d5ef | 12700 | 2006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com> |
12701 | ||
12702 | * basic-block.h (safe_insert_insn_on_edge): Removed. | |
12703 | * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed. | |
12704 | ||
91bc4142 | 12705 | 2006-04-26 David Edelsohn <edelsohn@gnu.org> |
12706 | Paolo Bonzini <bonzini@gnu.org> | |
12707 | ||
12708 | PR middle-end/27282 | |
12709 | * combine.c (simplify_and_const_int_1): Use gen_int_mode. | |
12710 | (simplify_and_const_int): Same. | |
12711 | ||
e5af536b | 12712 | 2006-04-26 Aldy Hernandez <aldyh@redhat.com> |
12713 | ||
522701ef | 12714 | * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE. |
e5af536b | 12715 | |
f77459c5 | 12716 | 2006-04-26 Jakub Jelinek <jakub@redhat.com> |
12717 | ||
d91321f0 | 12718 | PR c/26171 |
12719 | * cgraph.c (cgraph_varpool_finalize_decl): Don't call | |
12720 | cgraph_varpool_assemble_pending_decls if -fopenmp, unless | |
12721 | cgraph_global_info_ready. | |
12722 | ||
5f3cc051 | 12723 | PR middle-end/26913 |
12724 | * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR. | |
12725 | ||
1c59d5a8 | 12726 | PR c/25996 |
12727 | * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if | |
12728 | either decl or init is error_mark_node. | |
12729 | ||
f77459c5 | 12730 | PR middle-end/25989 |
12731 | * tree-flow.h (struct omp_region): Add sched_kind. | |
12732 | * omp-low.c (expand_parallel_call): Use region->inner->sched_kind | |
12733 | instead of extracting omp for data. | |
12734 | (expand_omp_for): Save extracted sched_kind. | |
12735 | ||
e051aa14 | 12736 | 2006-04-25 Roger Sayle <roger@eyesopen.com> |
12737 | ||
12738 | * expmed.c (store_bit_field): Also check whether the bitsize is | |
12739 | valid for the machine's "insv" instruction before moving the | |
12740 | target into a pseudo for use with the insv. | |
12741 | * config/i386/predicates.md (const8_operand): New predicate. | |
12742 | * config/i386/i386.md (extv, extzv, insv): Use the new | |
12743 | const8_operand predicate where appropriate. | |
12744 | ||
964f666a | 12745 | 2006-04-25 DJ Delorie <dj@redhat.com> |
12746 | ||
12747 | * doc/install.texi (Specific): Clarify that this is not a list of | |
12748 | supported hosts or targets. | |
12749 | ||
342baf8c | 12750 | 2006-04-25 Richard Sandiford <richard@codesourcery.com> |
12751 | ||
12752 | PR rtl-optimization/26725 | |
12753 | * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source | |
12754 | block's BB_DIRTY flag. | |
12755 | ||
08365969 | 12756 | 2006-04-25 Geoffrey Keating <geoffk@apple.com> |
12757 | ||
2fa2456e | 12758 | * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there |
12759 | are no branches. | |
12760 | ||
08365969 | 12761 | * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just |
12762 | to print an integer. | |
12763 | ||
d5a2a489 | 12764 | 2006-04-25 David Edelsohn <edelsohn@gnu.org> |
12765 | ||
12766 | * varasm.c (align_variable): New function. | |
12767 | (get_block_for_decl): Apply align_variable to DECL before | |
12768 | calculating section information. | |
12769 | (assemble_variable): Split out alignment computation. | |
12770 | ||
217d3a24 | 12771 | 2006-04-25 Andreas Krebbel <krebbel1@de.ibm.com> |
12772 | ||
12773 | * expmed.c (store_bit_field): Handle paradoxical subregs on big endian | |
12774 | machines. | |
12775 | ||
0bdbecff | 12776 | 2006-04-25 Bernd Schmidt <bernd.schmidt@analog.com> |
12777 | ||
12778 | * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a | |
12779 | MODE_PARTIAL_INT mode. | |
12780 | * config/bfin/bfin-modes.def: Add V2PDI and V2SI. | |
12781 | * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers | |
12782 | for CONST_INTs. | |
12783 | (hard_regno_mode_ok): V2PDImode is ok for accumulators. | |
12784 | * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle | |
12785 | V2PDImode. | |
12786 | * config/bfin/predicates.md (const01_operand, vec_shift_operand): | |
12787 | New predicates. | |
12788 | * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG): | |
12789 | New constants. | |
12790 | (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS, | |
12791 | MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2, | |
12792 | MACFLAG_IH): Likewise. | |
12793 | (movstricthi_1): Renamed from "*movstricthi". | |
12794 | (load_accumulator, load_accumulator_pair, movsi_insv, insv, | |
12795 | ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3, | |
12796 | abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high, | |
12797 | movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low, | |
12798 | movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low, | |
12799 | movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3, | |
12800 | addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, | |
12801 | sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, | |
12802 | addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, | |
12803 | mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2, | |
12804 | ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi, | |
12805 | flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly, | |
12806 | flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts, | |
12807 | flag_macv2hi_parts, flag_macv2hi_parts_acconly, | |
12808 | flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns. | |
12809 | ||
280f1f24 | 12810 | * doc/rtl.texi (ss_ashift): Improve wording. |
12811 | ||
cd04bce0 | 12812 | 2006-04-24 Geoffrey Keating <geoffk@apple.com> |
12813 | ||
12814 | * dwarf2out.c (verify_marks_clear): New. | |
12815 | (prune_unused_types): Call verify_marks_clear initially, not | |
12816 | prune_unmark_dies. | |
12817 | ||
719ee5e5 | 12818 | 2006-04-24 Bernd Schmidt <bernd.schmidt@analog.com> |
12819 | ||
12820 | * rtl.def (SS_ASHIFT, SS_NEG): New codes. | |
12821 | * doc/rtl.texi: Document them. | |
12822 | * simplify-rtx.c (simplify_unary_operation, | |
12823 | simplify_binary_operation_1): Don't abort when we see them. | |
12824 | ||
2e7c8216 | 12825 | 2006-04-24 Mark Mitchell <mark@codesourcery.com> |
12826 | ||
12827 | Revert: | |
12828 | 2006-04-23 Mark Mitchell <mark@codesourcery.com> | |
12829 | * configure.ac: Completely disregard languages that are not | |
12830 | enabled. | |
12831 | * configure: Regenerated. | |
12832 | ||
e4a492cd | 12833 | 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> |
12834 | Richard Guenther <rguenther@suse.de> | |
12835 | ||
12836 | PR tree-optimization/27236 | |
12837 | * tree-inline.c (copy_body_r): Make sure to copy | |
12838 | TREE_THIS_VOLATILE flag. | |
12839 | ||
f3640b8a | 12840 | 2006-04-24 Richard Guenther <rguenther@suse.de> |
12841 | ||
12842 | PR middle-end/26869 | |
12843 | * tree-complex.c (update_parameter_components): Don't handle | |
12844 | unused parameters which have no default def. | |
12845 | ||
1ab8c36e | 12846 | 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> |
12847 | Richard Guenther <rguenther@suse.de> | |
12848 | ||
12849 | PR tree-optimization/27218 | |
12850 | * tree-inline.c (expand_call_inline): Strip useless type | |
12851 | conversions for the return slot address. | |
12852 | ||
677144a0 | 12853 | 2006-04-24 Richard Guenther <rguenther@suse.de> |
12854 | ||
12855 | * cfgloop.h (struct loops): Remove unused field array. Reorder | |
12856 | state after num. | |
12857 | (LOOP_PREFETCH): Remove. | |
12858 | ||
7d075fc4 | 12859 | 2006-04-24 Richard Guenther <rguenther@suse.de> |
12860 | ||
12861 | PR tree-optimization/22525 | |
12862 | * value-prof.c (tree_mod_pow2): Remove unnecessary temporary | |
12863 | variable, adjust types of generated expressions. | |
12864 | ||
8de62358 | 12865 | 2006-04-23 H.J. Lu <hongjiu.lu@intel.com> |
12866 | ||
12867 | * Makefile.in (c-convert.o): Add dependency on $(TARGET_H) | |
12868 | (tree-vect-patterns.o): Likewise. | |
12869 | (jump.o): Likewise. | |
12870 | (cselib.o): Likewise. | |
12871 | (loop-doloop.o): Likewise. | |
12872 | (regclass.o): Likewise. | |
12873 | (reload1.o): Likewise. | |
12874 | (explow.o): Replace target.h with $(TARGET_H). | |
12875 | (ipa-prop.o): Likewise. | |
12876 | (ipa-cp.o): Likewise. | |
12877 | (ipa-inline.o): Likewise. | |
12878 | (reorg.o): Likewise. | |
12879 | (reg-stack.o): Likewise. | |
12880 | ||
431abd88 | 12881 | 2006-04-23 Eric Botcazou <ebotcazou@adacore.com> |
12882 | ||
12883 | * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too. | |
12884 | ||
c0e47fd4 | 12885 | 2006-04-23 Mark Mitchell <mark@codesourcery.com> |
12886 | ||
2e7c8216 | 12887 | * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE. |
12888 | ||
12889 | * configure.ac: Completely disregard languages that are not | |
12890 | enabled. | |
12891 | * configure: Regenerated. | |
12892 | ||
c0e47fd4 | 12893 | PR c++/26534 |
12894 | * c-common.h (c_build_bitfield_integer_type): Declare. | |
12895 | * c-decl.c (c_build_bitfield_integer_type): Move to ... | |
12896 | * c-common.c (c_build_bitfield_integer_type): ... here. | |
12897 | ||
aeaccda9 | 12898 | 2006-04-23 Roger Sayle <roger@eyesopen.com> |
12899 | ||
12900 | PR target/21283 | |
12901 | * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on | |
12902 | a SImode SUBREG of a floating point register after no_new_pseudos. | |
12903 | ||
e9daf218 | 12904 | 2006-04-23 Roger Sayle <roger@eyesopen.com> |
12905 | ||
12906 | * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to | |
12907 | identify potentially eliminable registers to additionally catch | |
12908 | VIRTUAL_INCOMING_ARGS_REGNUM. | |
12909 | (addsi3): Update the conditions on when to use addsi_small_int. | |
12910 | ||
3688a7ee | 12911 | 2006-04-23 Roger Sayle <roger@eyesopen.com> |
12912 | ||
12913 | PR target/16641 | |
12914 | * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for | |
12915 | STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the | |
12916 | rtx to stack_pointer_rtx or frame_pointer_rtx directly. | |
12917 | ||
20efd591 | 12918 | 2006-04-23 Eric Botcazou <ebotcazou@adacore.com> |
12919 | ||
12920 | * fold-const.c (range_predecessor): Use operand_equal_p | |
12921 | as the predicate for equality. | |
12922 | (range_successor): Likewise. | |
12923 | ||
07499df0 | 12924 | 2006-04-22 Kazu Hirata <kazu@codesourcery.com> |
12925 | ||
12926 | Revert: | |
12927 | * config/soft-fp/op-common.h: Fix a typo. | |
12928 | ||
c1d36cca | 12929 | 2006-04-22 Frank Ch. Eigler <fche@redhat.com> |
12930 | ||
12931 | PR libmudflap/26864 | |
12932 | * common.opt (flag_mudflap_threads): Overload flag_mudflap. | |
12933 | * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap. | |
12934 | ||
4562961a | 12935 | 2006-04-22 Kazu Hirata <kazu@codesourcery.com> |
12936 | ||
12937 | * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c: | |
12938 | Fix comment typos. | |
12939 | * doc/tm.texi: Fix a typo. | |
12940 | ||
958656b7 | 12941 | 2006-04-21 Geoffrey Keating <geoffk@apple.com> |
12942 | ||
12943 | * dwarf2out.c (struct die_struct): Document that die_sib makes | |
12944 | a circular linked list. | |
12945 | (FOR_EACH_CHILD): New. | |
12946 | (reverse_die_lists): Delete. | |
12947 | (reverse_all_dies): Delete. | |
12948 | (add_dwarf_attr): Correct documentation. | |
12949 | (remove_child_with_prev): New. | |
12950 | (remove_child_TAG): Update for change to die_struct, use | |
12951 | remove_child_with_prev. | |
12952 | (add_child_die): Update for change to die_struct. | |
12953 | (splice_child_die): Use remove_child_with_prev and add_child_die. | |
12954 | (print_die): Use FOR_EACH_CHILD. | |
12955 | (die_checksum): Likewise. | |
12956 | (assign_symbol_names): Likewise. | |
12957 | (output_location_lists): Likewise. | |
12958 | (build_abbrev_table): Likewise. | |
12959 | (calc_die_sizes): Likewise. | |
12960 | (mark_dies): Likewise. | |
12961 | (unmark_dies): Likewise. | |
12962 | (unmark_all_dies): Likewise. | |
12963 | (output_die): Likewise. | |
12964 | (prune_unused_types_mark): Likewise. | |
12965 | (prune_unused_types_walk): Likewise. | |
12966 | (same_die_p): Update for change to die_struct. | |
12967 | (break_out_includes): Likewise. | |
12968 | (prune_unused_types_prune): Likewise. | |
12969 | (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic. | |
12970 | (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if | |
12971 | it's already clear. | |
12972 | (dwarf2out_finish): Don't call reverse_all_dies. | |
12973 | ||
d07b61a9 | 12974 | 2006-04-21 Eric Christopher <echristo@apple.com> |
12975 | ||
12976 | * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos | |
12977 | in comments and function names. | |
12978 | ||
09d2b71a | 12979 | 2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
12980 | ||
b5a68e6b | 12981 | PR c/25875 |
12982 | * c-typeck.c (digest_init): Robustify. | |
12983 | ||
09d2b71a | 12984 | * c-typeck.c (pop_init_level): Simplify. |
12985 | ||
388c75b0 | 12986 | 2006-04-21 Steve Ellcey <sje@cup.hp.com> |
12987 | ||
12988 | * config/pa/t-pa64: Add dependencies on $(GCC_PASSES). | |
12989 | ||
7f5997af | 12990 | 2006-04-21 Paul Brook <paul@codesourcery.com> |
12991 | ||
12992 | * config/arm/arm.c (arm_override_options): Error on iWMMXt and | |
12993 | hardware floating point. | |
12994 | ||
89f662f5 | 12995 | 2006-04-21 David Edelsohn <edelsohn@gnu.org> |
12996 | ||
12997 | * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to | |
12998 | NON_FLOAT_REGS. | |
12999 | ||
0abe9a12 | 13000 | 2006-04-21 Nick Clifton <nickc@redhat.com> |
13001 | ||
13002 | * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include | |
13003 | OPT_EXTRA_PARTS. | |
13004 | ||
139699ff | 13005 | 2006-04-21 Alan Modra <amodra@bigpond.net.au> |
13006 | ||
13007 | PR target/27230 | |
13008 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use | |
13009 | C++ lang type in traceback table for Objective-C++. | |
13010 | ||
13011 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment. | |
13012 | ||
d605c7ef | 13013 | 2006-04-20 H.J. Lu <hongjiu.lu@intel.com> |
13014 | ||
13015 | * config/i386/i386.c (asm_preferred_eh_data_format): Reformat. | |
13016 | ||
7ac1fd6d | 13017 | 2006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
13018 | ||
13019 | PR mudflap/26789 | |
13020 | * tree-mudflap.c (mudflap_finish_file): Skip function when there | |
13021 | were errors. Remove check for erroneous objects. | |
13022 | ||
72e3ec84 | 13023 | 2006-04-20 Jeff Law <law@redhat.com> |
13024 | ||
13025 | PR tree-optimization/26854 | |
13026 | * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when | |
13027 | checking for zero or one use. | |
13028 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly. | |
13029 | * tree-cfgcleanup.c (merge_phi_nodes): Similarly. | |
13030 | * tree-ssa-reassoc.c (negate_value): Similarly. | |
13031 | (reassociate_bb): Similarly. | |
13032 | ||
e259be19 | 13033 | 2006-04-20 Jakub Jelinek <jakub@redhat.com> |
13034 | ||
db4f6513 | 13035 | PR C/27558 |
e259be19 | 13036 | * c-pretty-print.c (pp_c_direct_abstract_declarator): Print |
13037 | TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather | |
13038 | than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)). | |
13039 | ||
af5c6f1d | 13040 | 2006-04-20 Alan Modra <amodra@bigpond.net.au> |
13041 | ||
13042 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all | |
13043 | fp regs if the last fp arg doesn't fit in regs. | |
13044 | ||
f76542c7 | 13045 | 2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org> |
13046 | ||
13047 | PR target/27182 | |
13048 | * config/sh/sh.md (movsicc_true+3): Tweak condition for the case | |
13049 | that the last insn has the REG_INC note. | |
13050 | ||
f6cf83a8 | 13051 | 2006-04-19 Carlos O'Donell <carlos@codesourcery.com> |
13052 | Nathan Sidwell <nathan@codesourcery.com> | |
13053 | ||
13054 | PR c/26774 | |
d07b61a9 | 13055 | * stor-layout.c (update_alignment_for_field): Do not align |
f6cf83a8 | 13056 | ERROR_MARK nodes. |
13057 | (place_union_field): Place union field at the start of the union. | |
13058 | (place_field): Move ERROR_MARK check later, and use the current | |
13059 | allocation position to maintain monotonicity. | |
13060 | ||
a6e6c89a | 13061 | 2006-04-19 Zdenek Dvorak <dvorakz@suse.cz> |
13062 | ||
13063 | * dominance.c: Include timevar.h. | |
13064 | (calculate_dominance_info): Use TV_DOMINANCE. | |
13065 | * timevar.def (TV_DOMINANCE): New timevar. | |
13066 | * Makefile.in (dominance.o): Add TIMEVAR_H dependency. | |
13067 | ||
6746fc82 | 13068 | 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> |
13069 | ||
9e879e2e | 13070 | PR rtl-optimization/14261 |
6746fc82 | 13071 | * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting |
13072 | move would be an INSV insn. | |
d07b61a9 | 13073 | (noce_process_if_block): Don't optimize if the destination is a |
6746fc82 | 13074 | ZERO_EXTRACT which can't be handled by noce_emit_move_insn. |
13075 | ||
87bc9927 | 13076 | 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> |
13077 | ||
13078 | * config/s390/s390.md: Add comments with the instructions emitted | |
13079 | by an insn pattern if macros are used. | |
13080 | ||
8af0edf2 | 13081 | 2006-04-19 Alan Modra <amodra@bigpond.net.au> |
13082 | ||
13083 | PR rtl-optimization/26026 | |
13084 | * fold-const.c (fold_binary): Optimize div and mod where the divisor | |
13085 | is a known power of two shifted left a variable amount. | |
13086 | ||
20f220a9 | 13087 | 2006-04-18 Geoffrey Keating <geoffk@apple.com> |
13088 | ||
13089 | * dwarf2out.c (prune_unused_types_update_strings): Don't add strings | |
13090 | to hash table twice when the debug_str section has SECTION_MERGE. | |
13091 | ||
b8886216 | 13092 | 2006-04-18 Joseph S. Myers <joseph@codesourcery.com> |
13093 | ||
13094 | * config/soft-fp: New directory. From glibc. | |
13095 | * config/soft-fp/t-softfp: New. | |
13096 | * config/soft-fp/README: New. | |
13097 | * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE. | |
13098 | * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New. | |
13099 | (libgcc.mk): Pass LIB2FUNCS_EXCLUDE. | |
13100 | (LIBGCC_DEPS): Add $(SFP_MACHINE). | |
13101 | * config.gcc: Use rs6000/t-fprules-fpbit or | |
13102 | rs6000/t-fprules-softfp and soft-fp/t-softfp together with | |
13103 | rs6000/t-fprules. | |
13104 | * config/rs6000/sfp-machine.h: New. Based on glibc. | |
13105 | * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp: | |
13106 | New. | |
13107 | * config/rs6000/t-fprules: Remove fp-bit rules. | |
13108 | * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=. | |
13109 | * config/rs6000/t-linux64: Likewise. Remove duplicates from | |
13110 | LIB2FUNCS_EXTRA. Remove fp-bit rules. | |
13111 | (softfp_wrap_start, softfp_wrap_end): New. | |
13112 | ||
c238c203 | 13113 | 2006-04-18 DJ Delorie <dj@redhat.com> |
13114 | ||
13115 | * config/m32c/m32c.h (PTRDIFF_TYPE): Define. | |
13116 | ||
bc52acac | 13117 | 2006-04-18 Devang Patel <dpatel@apple.com> |
13118 | ||
13119 | * doc/invoke.texi (-Wuninitialized): Clarify -O connection. | |
d07b61a9 | 13120 | |
f01438fd | 13121 | 2006-04-18 Nick Clifton <nickc@redhat.com> |
13122 | ||
13123 | * config/sh/t-symbian: Add rule to build sh-c.o | |
13124 | * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use | |
13125 | of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P. | |
13126 | (sh_symbian_encode_section_info): Likewise. | |
13127 | ||
2694880e | 13128 | 2006-04-18 Andreas Krebbel <krebbel1@de.ibm.com> |
13129 | ||
d07b61a9 | 13130 | * builtins.c (expand_builtin_strcmp): Cover label definition of |
2694880e | 13131 | do_libcall with HAVE_cmpstrnsi. |
13132 | ||
84aacb40 | 13133 | 2006-04-18 Kazu Hirata <kazu@codesourcery.com> |
13134 | ||
13135 | * function.c (temp_slots_at_level, max_slot_level): Use VEC | |
13136 | instead of VARRAY. | |
13137 | * function.h (temp_slot_p): New. | |
13138 | (function): Change the type of x_used_temp_slots to | |
13139 | VEC(temp_slot_p,gc) *. | |
13140 | ||
d2024693 | 13141 | 2006-04-18 Nick Clifton <nickc@redhat.com> |
13142 | ||
53315a0c | 13143 | * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to |
13144 | flag_strength_reduce. | |
13145 | ||
d2024693 | 13146 | * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo. |
13147 | ||
0e820f3d | 13148 | 2006-04-18 Paolo Bonzini <bonzini@gnu.org> |
13149 | ||
522701ef | 13150 | PR target/27117 |
0e820f3d | 13151 | |
13152 | Partial revert of revision 112637 | |
13153 | 2006-04-03 Paolo Bonzini <bonzini@gnu.org> | |
13154 | Dale Johannesen <dalej@apple.com> | |
13155 | ||
13156 | PR target/19653 | |
13157 | * regclass.c (struct reg_pref): Update documentation. | |
13158 | (regclass): Set prefclass to NO_REGS if memory is the best option. | |
13159 | (record_reg_classes): Cope with a prefclass set to NO_REGS. | |
13160 | ||
b614a751 | 13161 | 2006-04-18 Paolo Bonzini <bonzini@gnu.org> |
13162 | ||
522701ef | 13163 | PR tree-optimization/26821 |
13164 | * tree-ssa-math-opts.c (get_constant_one): New. | |
13165 | (insert_reciprocals): Use it. | |
b614a751 | 13166 | |
b0aa6b33 | 13167 | 2006-04-17 Geoffrey Keating <geoffk@apple.com> |
13168 | ||
13169 | * dwarf2out.c (free_AT): Delete. | |
13170 | (remove_AT): Update string ref counts. | |
13171 | (remove_child_TAG): Don't call free_die. | |
13172 | (free_die): Delete. | |
13173 | (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL | |
13174 | or DW_TAG_GNU_EINCL. | |
13175 | (prune_unused_types_walk_attribs): Reset string refcounts. | |
13176 | (prune_unused_types_update_strings): New. | |
13177 | (prune_unused_types_prune): Don't make unnecessary stores. Don't | |
13178 | call free_die. Do call prune_unused_types_update_strings. | |
13179 | (prune_unused_types): Empty debug_str_hash. | |
13180 | ||
8f3e551a | 13181 | 2006-04-17 Roger Sayle <roger@eyesopen.com> |
13182 | ||
13183 | * expr.c (expand_assignment): Optimize away no-op moves where the | |
13184 | source and destination are equal and have no side-effects. | |
13185 | ||
b870fa03 | 13186 | 2006-04-17 Richard Guenther <rguenther@suse.de> |
13187 | ||
13188 | PR target/26826 | |
13189 | * reload.c (push_reload): Guard calls to get_secondary_mem | |
13190 | for memory subregs. | |
13191 | ||
980f3285 | 13192 | 2006-04-16 Kazu Hirata <kazu@codesourcery.com> |
13193 | ||
13194 | * alias.c (reg_base_value, old_reg_base_value): Change the | |
13195 | type to VEC(rtx,gc) *. | |
13196 | (REG_BASE_VALUE, find_base_value, record_set, | |
13197 | init_alias_analysis): Use VEC instead of VARRAY. | |
13198 | ||
8b435339 | 13199 | * alias.c (alias_sets): Change the type to |
13200 | VEC(alias_set_entry,gc) *. | |
13201 | (get_alias_set_entry, new_alias_set, record_alias_subset): Use | |
13202 | VEC instead of VARRAY. | |
13203 | (last_alias_set): Remove. | |
13204 | ||
4460a647 | 13205 | * cgraph.h (cgraph_edge_p): New. |
13206 | Update the prototype of cgraph_function_versioning. | |
13207 | * cgraphunit.c (cgraph_copy_node_for_versioning, | |
13208 | cgraph_function_versioning): Use VEC instead of VARRAY. | |
13209 | * ipa-cp.c (ipcp_insert_stage): Likewise. | |
13210 | ||
a0d17866 | 13211 | 2006-04-16 Roger Sayle <roger@eyesopen.com> |
13212 | ||
13213 | PR target/26961 | |
13214 | * fold-const.c (fold_ternary): When converting "A ? B : C" into either | |
13215 | "A op B" or "A op C", we may need to convert A to the type of B and C. | |
13216 | ||
4956440a | 13217 | 2006-04-16 Adam Nemet <anemet@caviumnetworks.com> |
13218 | ||
13219 | * target.h (struct gcc_target): Add mode_rep_extended. | |
13220 | * rtlanal.c (num_sign_bit_copies_in_rep): New global. | |
13221 | (init_num_sign_bit_copies_in_rep): Initialize it using | |
13222 | mode_rep_extended. | |
13223 | (truncate_to_mode): Use it. | |
13224 | (init_rtlanal): Call init_num_sign_bit_copies_in_rep. | |
13225 | * targhooks.h (default_mode_rep_extended): Declare it. | |
13226 | * targhooks.c (default_mode_rep_extended): Define it. | |
13227 | * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to | |
13228 | default_mode_rep_extended. | |
13229 | (TARGET_INITIALIZER): Include it. | |
13230 | * doc/tm.texi (Misc): Document it. | |
13231 | * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it. | |
13232 | (mips_truncated_to_mode): New function. | |
13233 | ||
3220d3c5 | 13234 | 2006-04-16 Roger Sayle <roger@eyesopen.com> |
13235 | ||
13236 | PR middle-end/25474 | |
13237 | * expr.c (compress_float_constant): Copy the narrow constant into | |
13238 | a new pseudo before extending it to its final width. | |
13239 | ||
8dfacec0 | 13240 | 2006-04-16 Roger Sayle <roger@eyesopen.com> |
13241 | Andrew Pinski <pinskia@gcc.gnu.org> | |
13242 | Dale Johannesen <dalej@apple.com> | |
13243 | ||
13244 | PR target/24076 | |
13245 | * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add | |
13246 | special case code to implement V8HImode and V16QImode with SSE2. | |
13247 | ||
aeecf0de | 13248 | 2006-04-15 Roger Sayle <roger@eyesopen.com> |
13249 | ||
13250 | * config/i386/i386.c (ix86_va_start): Ensure all integer constant | |
13251 | trees are constructed with a suitable tree type. | |
13252 | ||
ff674908 | 13253 | 2006-04-15 Roger Sayle <roger@eyesopen.com> |
13254 | ||
13255 | * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW. | |
13256 | (integer_onep): Likewise. | |
13257 | (integer_all_onesp): Likewise. | |
13258 | (integer_pow2p): Likewise. | |
13259 | (integer_nonzerop): Likewise. | |
13260 | (real_zerop): Likewise. | |
13261 | (real_onep): Likewise. | |
13262 | (real_twop): Likewise. | |
13263 | (real_minus_onep): Likewise. | |
13264 | (int_size_in_bytes): Likewise. | |
13265 | (host_integerp): Likewise. | |
13266 | ||
d961ae3a | 13267 | 2006-04-15 Kazu Hirata <kazu@codesourcery.com> |
13268 | ||
13269 | * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c, | |
13270 | jump.c, mips-tfile.c, omp-low.c, sched-int.h, | |
13271 | tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos. | |
13272 | ||
b332f942 | 13273 | * tree-ssa-structalias.h (alias_info): Remove num_references. |
13274 | ||
d9e3874e | 13275 | 2006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
13276 | ||
13277 | * pa.md (output_bb patterns): Shorten long branch alternatives by 4. | |
13278 | (output_bvb patterns): Likewise. | |
13279 | * pa.c (output_bb): Use 'bb' insn for long branch case. | |
13280 | (output_bvb): Likewise use '{bvb|bb}' for long branch case. | |
13281 | (output_dbra): Use '{comb|cmpb}' for long branch case for alternative | |
13282 | 1. Correct length operand for alternatives 1 and 2. | |
13283 | (output_movb): Use '{comb|cmpb}' for long branch case for alternatives | |
13284 | 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3. | |
13285 | ||
caa1b5c9 | 13286 | 2006-04-14 Roger Sayle <roger@eyesopen.com> |
13287 | ||
13288 | * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r, | |
13289 | is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that | |
13290 | were accidentally reverted by r112959. | |
13291 | ||
6c105785 | 13292 | 2006-04-15 Jakub Jelinek <jakub@redhat.com> |
13293 | ||
13294 | PR middle-end/26823 | |
13295 | * except.h (eh_region_outermost): New prototype. | |
13296 | * except.c (eh_region_outermost): New function. | |
13297 | * tree-cfg.c (find_outermost_region_in_block): Use it. | |
13298 | ||
28b69ba9 | 13299 | 2006-04-14 Kazu Hirata <kazu@codesourcery.com> |
13300 | ||
13301 | * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead | |
13302 | of VARRAY. | |
13303 | * reload1.c (reg_equiv_memory_loc_varray): Rename to | |
13304 | reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *. | |
13305 | (init_reload, reload): Use VEC instead of VARRAY. | |
13306 | * reload.h: Update the prototype for | |
13307 | reg_equiv_memory_loc_varray. | |
13308 | ||
fee7cdb4 | 13309 | 2006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com> |
522701ef | 13310 | Eric Botcazou <ebotcazou@libertysurf.fr> |
fee7cdb4 | 13311 | |
13312 | * config/sparc/sparc.c (emit_and_preserve): Allocate space for the | |
13313 | register save area. | |
13314 | ||
d4c690af | 13315 | 2005-04-13 Uros Bizjak <uros@kss-loka.si> |
13316 | ||
13317 | PR middle-end/27134 | |
13318 | * builtins.c (expand_builtin_int_roundingfn): Use expand_normal() | |
13319 | to expand fallback builtin function call. | |
13320 | ||
6b961939 | 13321 | 2006-04-14 Alan Modra <amodra@bigpond.net.au> |
13322 | ||
13323 | PR middle-end/27095 | |
13324 | * builtins.c: (expand_builtin_memset): Stabilize args before expansion | |
13325 | and emit libcall here in case the builtin fails. | |
13326 | (expand_builtin_strcmp): Always emit the libcall here on failure. | |
13327 | ||
d14dbec5 | 13328 | 2006-04-14 Kazu Hirata <kazu@codesourcery.com> |
13329 | ||
13330 | * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY. | |
13331 | * flow.c (reg_n_info): Change the type to | |
13332 | VEC(reg_info_p,heap) *. | |
13333 | * regclass.c (allocate_reg_info, free_reg_info): Use VEC | |
13334 | instead of VARRAY. | |
13335 | * regs.h (reg_info_p): New. | |
13336 | (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS, | |
13337 | REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED, | |
13338 | REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC | |
13339 | instead of VARRAY. | |
13340 | ||
23df5e5b | 13341 | 2006-04-13 Eric Botcazou <ebotcazou@adacore.com> |
13342 | ||
13343 | * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter, | |
13344 | defaulting to 100. | |
13345 | * params.h (MAX_SCHED_READY_INSNS): New macro. | |
13346 | * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle | |
13347 | past MAX_SCHED_READY_INSNS during the first scheduling pass. | |
13348 | (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in | |
13349 | the ready list for 1 cycle during the first scheduling pass. | |
13350 | * doc/invoke.texi (--param): New parameter max-sched-ready-insns. | |
13351 | ||
61e47ac8 | 13352 | 2006-04-13 Richard Henderson <rth@redhat.com> |
13353 | ||
caa1b5c9 | 13354 | PR libgomp/26651 |
61e47ac8 | 13355 | * gimple-low.c (lower_omp_directive): Remove dead code. |
13356 | (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL. | |
13357 | * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE. | |
13358 | * omp-low.c (struct omp_region): Move to tree-flow.h. | |
13359 | (root_omp_region): Export. | |
13360 | (omp_regions, lookup_omp_region): Remove. | |
13361 | (determine_parallel_type): Update for struct omp_region changes. | |
13362 | (dump_omp_region): Dump regions with block numbers. | |
13363 | (new_omp_region): Take type and block instead of stmt; malloc | |
13364 | instead of ggc. | |
13365 | (free_omp_region_1, free_omp_regions): New. | |
13366 | (expand_parallel_call): Take entry_stmt as argument; update for | |
13367 | changes to omp_region. | |
13368 | (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT. | |
13369 | (remove_exit_barriers): New. | |
13370 | (expand_omp_parallel): Update for struct omp_region changes. | |
13371 | (expand_omp_synch): Likewise. | |
13372 | (expand_omp): Likewise. | |
13373 | (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE. | |
13374 | (expand_omp_for_static_chunk): Likewise. | |
13375 | (expand_omp_for): Likewise. | |
13376 | (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call. | |
13377 | (expand_omp_sections): Similarly, with GOMP_sections_end. | |
13378 | (expand_omp_single): New. | |
13379 | (build_omp_regions_1): Update for OMP_CONTINUE. | |
13380 | (execute_expand_omp): Call remove_exit_barriers, free_omp_regions. | |
13381 | (lower_omp_sections): Expand with OMP_CONTINUE, do not collect | |
13382 | OMP_SECTIONS_SECTIONS. | |
13383 | (lower_omp_single_simple): Don't emit barrier here. | |
13384 | (lower_omp_single_copy): Likewise. | |
13385 | (lower_omp_single): Fix bindings, and lower to straightline now. | |
13386 | (lower_omp_master, lower_omp_ordered): Likewise. | |
13387 | (lower_omp_critical): Likewise. | |
13388 | (lower_omp_for): Likewise. Emit OMP_CONTINUE. | |
13389 | * tree-cfg.c (make_edges): Collect an omp_region tree, use it for | |
13390 | omp edges, free it afterward. | |
13391 | (make_omp_sections_edges): Remove. | |
13392 | (is_ctrl_altering_stmt): Don't bother checking flag_openmp. | |
13393 | (move_stmt_r): Handle OMP_CONTINUE. | |
d07b61a9 | 13394 | * tree-flow.h (struct omp_region): Move from omp-low.c. Switch |
61e47ac8 | 13395 | statement pointers to basic blocks. Add type member. |
13396 | (root_omp_region, new_omp_region, free_omp_regions): Declare. | |
13397 | * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE. | |
13398 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
13399 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
13400 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
13401 | * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand. | |
13402 | (OMP_RETURN): Rename from OMP_RETURN_EXPR. | |
13403 | (OMP_CONTINUE): New. | |
13404 | * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE. | |
13405 | (OMP_SECTIONS_SECTIONS): Remove. | |
13406 | (OMP_SECTION_LAST): New. | |
13407 | (OMP_RETURN_NOWAIT): New. | |
13408 | ||
3fa15ed1 | 13409 | 2006-04-13 Roger Sayle <roger@eyesopen.com> |
13410 | ||
13411 | * fold-const.c (native_encode_vector, native_interpret_real): | |
13412 | Correct obvious mistakes in the previous check-in. | |
13413 | ||
5f4092ed | 13414 | 2006-04-13 Roger Sayle <roger@eyesopen.com> |
13415 | ||
13416 | * fold-const.c (native_encode_expr): New function to encode | |
13417 | the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST | |
13418 | or VECTOR_CST into a specified buffer. | |
13419 | (native_encode_int): New function. | |
13420 | (native_encode_real): New function. | |
13421 | (native_encode_complex): New function. | |
13422 | (native_encode_vector): New function. | |
13423 | (native_interpret_expr): Inverse of native_encode_expr to convert | |
13424 | a target representation into an INTEGER_CST, REAL_CST etc... | |
13425 | (native_interpret_int): New function. | |
13426 | (native_interpret_real): New function. | |
13427 | (native_interpret_complex): New function. | |
13428 | (native_interpret_vector): New function. | |
13429 | (fold_view_convert_expr): New function to constant fold/evaluate | |
13430 | a VIEW_CONVERT_EXPR of a suitable constant expression. | |
13431 | (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr. | |
13432 | Change call of build1 to fold_build1 when constructing a | |
13433 | VIEW_CONVERT_EXPR. | |
13434 | ||
8631d1da | 13435 | 2006-04-13 Paolo Bonzini <bonzini@gnu.org> |
13436 | Ulrich Weigand <uweigand@de.ibm.com> | |
13437 | ||
13438 | PR target/27006 | |
13439 | * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n | |
13440 | to be even. | |
13441 | ||
9522889c | 13442 | 2006-04-13 Alan Modra <amodra@bigpond.net.au> |
13443 | ||
13444 | PR target/26459 | |
13445 | * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't | |
13446 | optimize to lo_sum for DFmode if !TARGET_FPRS. | |
13447 | ||
4857cd31 | 13448 | 2006-04-12 Kazu Hirata <kazu@codesourcery.com> |
13449 | ||
13450 | * tree-ssa-alias.c (set_initial_properties, init_alias_info, | |
13451 | delete_alias_info, compute_flow_sensitive_aliasing, | |
13452 | group_aliases): Use VEC instead of VARRAY. | |
13453 | * tree-ssa-structalias.c (update_alias_info): Likewise. | |
13454 | * tree-ssa-structalias.h (alias_info): Change the type of | |
13455 | processed_ptrs to VEC(tree,heap) *. | |
13456 | ||
2fa59365 | 13457 | 2006-04-12 J"orn Rennecke <joern.rennecke@st.com> |
13458 | ||
13459 | PR target/27060 | |
522701ef | 13460 | * config/sh/lib1funcs.h: New file, broken out of: |
13461 | * config/sh/lib1funcs.asm. | |
13462 | * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41): | |
2fa59365 | 13463 | New macros. |
13464 | * config/sh/lib1funcs.asm (udivsi3_i4): Use them. | |
522701ef | 13465 | * config/sh/lib1funcs-Os-4-200.asm: New file. |
2fa59365 | 13466 | * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200. |
13467 | * config/sh/t-sh (OPT_EXTRA_PARTS): New variable. | |
13468 | (EXTRA_MULTILIB_PARTS): Include it. | |
13469 | ($(T)sdivsi3_i4i-Os-4-200.o): New rule. | |
13470 | ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise. | |
13471 | * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS. | |
13472 | * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for | |
13473 | TARGET_SH2. | |
13474 | ||
8c02312e | 13475 | 2006-04-12 Kazu Hirata <kazu@codesourcery.com> |
13476 | ||
13477 | * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h. | |
13478 | * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete, | |
13479 | tpa_compact, root_var_init, type_var_init): Use VEC instead of | |
13480 | VARRAY. | |
13481 | * tree-ssa-live.h: Include vecprim.h. | |
13482 | (tree_partition_associator_d): Change the type of | |
13483 | first_partition to VEC(int,heap) *. | |
13484 | (tpa_first_partition): Use VEC instead of VARRAY. | |
13485 | ||
c8327067 | 13486 | * Makefile.in (GTFILES): Move functions.h after tree.h. |
13487 | * function.c (reset_block_changes, record_block_change, | |
13488 | check_block_change, free_block_changes): Use VEC instead of | |
13489 | VARRAY. | |
13490 | * function.h (function): Change the type of | |
13491 | ib_boundaries_block to VEC(tree,gc) *. | |
13492 | * tree-inline.c (copy_cfg_body): Initialize | |
13493 | ib_boundaries_block to NULL instead of (varray_type) 0. | |
13494 | ||
47e9d4ca | 13495 | 2006-04-12 Roger Sayle <roger@eyesopen.com> |
13496 | ||
13497 | * expr.c (emit_group_store): Correct operand order in call to | |
13498 | subreg_lowpart_offset. Always create paradoxical SUBREGs with | |
13499 | a SUBREG_BYTE of zero. | |
13500 | ||
34806856 | 13501 | 2006-04-12 Richard Guenther <rguenther@suse.de> |
13502 | ||
13503 | * profile.c (compute_branch_probabilities): Remove code | |
13504 | encapsulated in !ir_type (), which are remanents of the | |
13505 | removed RTL profiling code. | |
13506 | * rtl-profile.c: Remove. | |
13507 | ||
4e7cf9f8 | 13508 | 2006-04-12 Alan Modra <amodra@bigpond.net.au> |
13509 | ||
13510 | * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update | |
13511 | magic NULL_RTX comment. | |
13512 | (function_arg): Store entire fp arg to mem if any part should go | |
13513 | on stack. | |
13514 | (rs6000_arg_partial_bytes): Adjust for above change. | |
13515 | ||
4494ff1b | 13516 | 2006-04-11 Roger Sayle <roger@eyesopen.com> |
13517 | ||
13518 | * dwarf2out.c (output_call_frame_info): Create debug_frame_section | |
13519 | if it hasn't been initialized by dwarf2out_init. | |
13520 | ||
745c77d1 | 13521 | 2006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca> |
13522 | ||
13523 | * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new | |
13524 | symbolic constants in branch patterns. | |
13525 | ||
7a37d50b | 13526 | 2006-04-11 Roger Sayle <roger@eyesopen.com> |
13527 | ||
13528 | * caller-save.c: #include "addresses.h" after #include "tm_p.h". | |
13529 | ||
9ef5c93f | 13530 | 2006-04-11 Richard Sandiford <richard@codesourcery.com> |
13531 | ||
13532 | PR rtl-optimization/27073 | |
13533 | * gcse.c (try_replace_reg): Revert last change. Continue to search | |
13534 | for both REG_EQUAL and REG_EQUIV notes, but only perform replacements | |
13535 | on the former. | |
13536 | ||
a9b427d3 | 13537 | 2006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr> |
13538 | ||
13539 | * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle | |
13540 | aggregate types other than record and union types. | |
13541 | (function_arg): Likewise. | |
13542 | (function_arg_pass_by_reference): In 64-bit mode, return 0 for | |
13543 | small arrays. | |
13544 | (function_value): In 64-bit mode, return objects that require it | |
13545 | in FP registers. | |
13546 | ||
0a1cbfaa | 13547 | 2006-04-11 Roger Sayle <roger@eyesopen.com> |
13548 | ||
13549 | * dwarf2out.c (premark_used_types): Remove problematic prototype. | |
13550 | ||
33238887 | 13551 | 2006-04-11 Jakub Jelinek <jakub@redhat.com> |
13552 | ||
13553 | * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o. | |
13554 | ||
e27ef468 | 13555 | 2006-04-03 Jeff Law <law@redhat.com> |
13556 | ||
13557 | PR/27087 | |
13558 | * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive | |
13559 | alias information too. | |
13560 | ||
a01acf14 | 13561 | 2006-04-10 Mike Frysinger <vapier@gentoo.org> |
13562 | ||
cf8cdd54 | 13563 | * Makefile.in (gcc-cross): Add $(exeext) to target name. |
a01acf14 | 13564 | |
f6e59711 | 13565 | 2006-04-10 Aldy Hernandez <aldyh@redhat.com> |
13566 | ||
13567 | PR/21391 | |
13568 | * dwarf2out.c (struct die_struct): Add die_perennial_p field. | |
13569 | (premark_used_types_helper): New. | |
13570 | (premark_used_types): New. | |
13571 | (gen_subprogram_die): Call premark_used_types. | |
13572 | (prune_unused_types_walk): Do not prune perennial dies. | |
13573 | * function.c (used_types_insert): New. | |
13574 | * function.h (struct function): Add used_types_hash field. | |
13575 | (used_types_insert): Add prototype. | |
13576 | * Makefile.in (FUNCTION_H): Depend on HASHTAB_H. | |
13577 | * c-parser.c (c_parser_cast_expression): Save casted types in used | |
13578 | types hash table. | |
13579 | ||
339ccd69 | 13580 | 2006-04-11 Mark Mitchell <mark@codesourcery.com> |
13581 | ||
13582 | PR target/26459 | |
13583 | * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test | |
13584 | rs6000_explicit_options.float_gprs. | |
13585 | ||
0f0ff686 | 13586 | 2006-04-10 Roger Sayle <roger@eyesopen.com> |
13587 | ||
13588 | * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed | |
13589 | from ix86_expand_vector_init_low_nonzero. Take an additional | |
13590 | one_var argument indicating which element is non-zero. Support | |
13591 | one_var != 0 for V4SFmode and V4SImode by permuting the result. | |
13592 | (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero | |
13593 | with one_var instead of ix86_expand_vector_init_low_nonzero. | |
13594 | ||
05f3df98 | 13595 | 2006-04-10 Kazu Hirata <kazu@codesourcery.com> |
13596 | ||
13597 | * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o, | |
13598 | tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o, | |
13599 | global.o, cfglayout.o, lambda-code.o, reg-stack.o, | |
13600 | build/genextract.o): Depend on vecprim.h. | |
13601 | * cfglayout.c, df-problems.c, function.c, genextract.c, | |
13602 | global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c, | |
13603 | tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include | |
13604 | vecprim.h. | |
13605 | * vecprim.h: New. | |
13606 | ||
6f56c055 | 13607 | 2006-04-10 Geoffrey Keating <geoffk@apple.com> |
13608 | ||
13609 | * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next. | |
13610 | Declare VECs of this type. | |
13611 | (struct die_struct): Make field die_attr a VEC of dw_attr_struct. | |
13612 | (remove_children): Delete. | |
13613 | (add_dwarf_attr): Use VEC routines. | |
13614 | (add_AT_flag): Update for changes to add_dwarf_attr. | |
13615 | (add_AT_int): Likewise. | |
13616 | (add_AT_unsigned): Likewise. | |
13617 | (add_AT_long_long): Likewise. | |
13618 | (add_AT_vec): Likewise. | |
13619 | (add_AT_string): Likewise. | |
13620 | (add_AT_die_ref): Likewise. | |
13621 | (add_AT_fde_ref): Likewise. | |
13622 | (add_AT_loc): Likewise. | |
13623 | (add_AT_loc_list): Likewise. | |
13624 | (add_AT_addr): Likewise. | |
13625 | (add_AT_lbl_id): Likewise. | |
13626 | (add_AT_lineptr): Likewise. | |
13627 | (add_AT_macptr): Likewise. | |
13628 | (add_AT_offset): Likewise. | |
13629 | (add_AT_range_list): Likewise. | |
13630 | (get_AT): Use VEC_iterate. | |
13631 | (remove_AT): Use VEC_ordered_remove. | |
13632 | (free_die): Fold remove_children into here; have it use VEC_iterate. | |
13633 | (print_die): Use VEC_iterate on attrs. | |
13634 | (reverse_die_lists): Don't reverse attr lists. | |
13635 | (die_checksum): Use VEC_iterate on attrs. | |
13636 | (same_die_p): Likewise. | |
13637 | (output_location_lists): Likewise. | |
13638 | (build_abbrev_table): Likewise. | |
13639 | (size_of_die): Likewise. | |
13640 | (unmark_all_dies): Likewise. | |
13641 | (output_abbrev_section): Likewise. | |
13642 | (output_die): Likewise. | |
13643 | (prune_unused_types_walk_attribs): Likewise. | |
13644 | ||
0c7dcad0 | 13645 | 2006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr> |
13646 | ||
d7bbae2a | 13647 | * doc/install.texi (*-*-solaris2*): Point to the configure page. |
0c7dcad0 | 13648 | |
8462b107 | 13649 | 2006-04-10 Jakub Jelinek <jakub@redhat.com> |
13650 | ||
13651 | PR debug/27057 | |
13652 | * dwarf2out.c (is_symbol_die): Return true also for namespaces. | |
13653 | ||
1abf6b04 | 13654 | 2006-04-09 Roger Sayle <roger@eyesopen.com> |
13655 | ||
13656 | * expr.c (store_constructor): Don't bother clearing target if | |
13657 | we're about to assign a vector to it using vec_init_optab. | |
13658 | ||
185ba02d | 13659 | 2006-04-10 Daniel Berlin <dberlin@dberlin.org> |
d07b61a9 | 13660 | |
185ba02d | 13661 | * tree-ssa-alias.c (lhs_may_store_to): New function. |
13662 | (recalculate_used_alone): Handle LHS of calls. | |
13663 | ||
25e266ae | 13664 | 2006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
13665 | ||
13666 | PR target/27034 | |
13667 | PR target/26508 | |
13668 | * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts. | |
13669 | * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a. | |
13670 | (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here. | |
13671 | (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines. | |
13672 | (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK. | |
13673 | (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text | |
13674 | section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB | |
13675 | stubs. Add ".align 8" directives before all ".dword" directives. | |
13676 | (GTHREAD_USE_WEAK): Revise comment. | |
13677 | (TARGET_ATTRIBUTE_WEAK): Define. | |
13678 | * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o, | |
13679 | dfi-stub.o, cxaf-stub.o and jvrc-stub.o. | |
13680 | * stublib.c: New file. | |
f26036bb | 13681 | |
13682 | PR target/26743 | |
13683 | PR target/11254 | |
13684 | PR target/10274 | |
13685 | * pa.md (cbranch patterns): Revise arguments used in calls to | |
13686 | output_cbranch, output_bb and output_bvd. Add long branch length | |
13687 | attributes. | |
13688 | (fbranch patterns): Handle long branches. | |
13689 | (jump): Revise length check. Revise arguments for output_lbranch call. | |
13690 | Add long branch length attributes. | |
13691 | (decrement_and_branch_until_zero): Add long branch length attributes. | |
13692 | (output_movb, output_parallel_addb and output_parallel_movb patterns): | |
13693 | Likewise. Revise arguments for output_parallel_addb and | |
13694 | output_parallel_movb calls. | |
13695 | * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb, | |
13696 | output_parallel_movb and output_parallel_addb): Update prototypes. | |
13697 | * pa.c (output_cbranch): Revise arguments. Correct handling of | |
13698 | nullification in long branches. | |
13699 | (output_lbranch): Add new argument to control extraction of delay | |
13700 | instruction. | |
13701 | (output_bb): Handle long branches. | |
13702 | (output_bvb, output_dbra, output_movb, output_parallel_movb, | |
13703 | output_parallel_addb): Likewise. | |
13704 | ||
630a5fc0 | 13705 | 2006-04-09 Richard Sandiford <richard@codesourcery.com> |
13706 | ||
13707 | PR rtl-optimization/27073 | |
13708 | * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes, | |
13709 | not REG_EQUIVs. | |
13710 | ||
cd904438 | 13711 | 2006-04-08 Daniel Berlin <dberlin@dberlin.org> |
13712 | ||
13713 | * tree.h (tree_memory_tag): Add old_used_alone. | |
13714 | (SMT_OLD_USED_ALONE): New macro. | |
13715 | * tree-ssa-alias.c (recalculate_used_alone): Stop | |
13716 | marking things for renaming unnecessarily. | |
13717 | ||
9ca2c29a | 13718 | 2006-04-08 Kazu Hirata <kazu@codesourcery.com> |
13719 | ||
13720 | * builtins.c, config/arm/arm.c, config/i386/cygwin.h, | |
13721 | config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h, | |
13722 | config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c, | |
13723 | haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h, | |
13724 | sched-rgn.c, tree-inline.h, tree-ssa-dom.c, | |
13725 | tree-ssa-loop-prefetch.c, tree-ssa-operands.c, | |
13726 | tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow | |
13727 | spelling convensions. | |
13728 | * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi, | |
13729 | doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment | |
13730 | typos. Follow spelling conventions. | |
13731 | ||
87eb9cbf | 13732 | 2006-04-07 DJ Delorie <dj@redhat.com> |
13733 | ||
13734 | * config/m32c/m32c.c (m32c_function_arg): Structures are always | |
13735 | passed on the stack. | |
13736 | (m32c_init_cumulative_args): When a function returns a structure, | |
13737 | always pass the pointer to that return area on the stack. | |
13738 | (m32c_function_arg_advance): Don't increment the parameter number | |
13739 | if we're processing the returned structure pointer. | |
13740 | (pushm_info): Reverse order of registers. | |
13741 | ||
05db596e | 13742 | 2006-04-07 Sebastian Pop <pop@cri.ensmp.fr> |
13743 | ||
13744 | * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne, | |
13745 | assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt, | |
13746 | number_of_iterations_le, number_of_iterations_cond, find_loop_niter, | |
d07b61a9 | 13747 | estimate_numbers_of_iterations_loop): Use build_int_cst instead of |
05db596e | 13748 | build_int_cst_type. |
13749 | * tree-chrec.c (chrec_fold_multiply_poly_poly, | |
13750 | chrec_fold_multiply): Same. | |
13751 | * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost, | |
13752 | force_expr_to_var_cost): Same. | |
13753 | * tree-mudflap.c (mf_xform_derefs_1): Same. | |
13754 | * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same. | |
13755 | ||
fb73e487 | 13756 | 2006-04-07 David Edelsohn <edelsohn@gnu.org> |
13757 | ||
13758 | * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not | |
13759 | treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra | |
13760 | insn. | |
499f708c | 13761 | |
13762 | 2006-04-07 Jan Hubicka <jh@suse.cz> | |
13763 | ||
13764 | * ipa-inline.c (cgraph_early_inlining): Collect garbage. | |
13765 | ||
6a491555 | 13766 | 2006-04-07 Richard Guenther <rguenther@suse.de> |
13767 | ||
13768 | PR tree-optimization/26135 | |
13769 | * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory | |
13770 | loads for store copy-prop. | |
13771 | (copy_prop_visit_stmt): Likewise. | |
13772 | ||
13773 | 2006-04-05 Robert Millan <robertmh@gnu.org> | |
f3a35f6e | 13774 | |
522701ef | 13775 | * config/i386/linux.h: Add a comment to mark macros that are |
f3a35f6e | 13776 | being overriden in config/k*bsd-gnu.h. |
522701ef | 13777 | * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of |
f3a35f6e | 13778 | DYNAMIC_LINKER. |
522701ef | 13779 | * config/knetbsd-gnu.h: Ditto. |
f3a35f6e | 13780 | |
0146470a | 13781 | 2006-04-06 Jan Hubicka <jh@suse.cz> |
13782 | ||
13783 | PR profile/20815 | |
13784 | PR profile/26399 | |
13785 | * coverage.c (coverage_checksum_string): Reorganize loop to not read | |
13786 | after buffer. | |
13787 | ||
03fd9d2c | 13788 | 2006-04-06 Mike Stump <mrs@apple.com> |
13789 | ||
13790 | * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if | |
13791 | for HAVE_nonlocal_goto to be consistent. | |
13792 | (expand_builtin_nonlocal_goto): Likewise. | |
13793 | (expand_builtin_strcmp): Use #ifdef instead of #if | |
13794 | for HAVE_cmpstrnsi to be consistent. | |
13795 | ||
2683d243 | 13796 | 2006-04-05 DJ Delorie <dj@redhat.com> |
13797 | ||
13798 | * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c | |
13799 | vs m32c. | |
13800 | ||
8f5efc80 | 13801 | 2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> |
13802 | ||
13803 | * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow | |
13804 | got-relative addressing for anything but SImode. | |
13805 | ||
dac20ee7 | 13806 | * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered |
13807 | even if the calling function doesn't modify them. | |
13808 | ||
eb30454d | 13809 | 2006-04-05 Richard Guenther <rguenther@suse.de> |
13810 | ||
13811 | PR tree-optimization/26919 | |
13812 | * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument | |
13813 | to cgraph_estimate_size_after_inlining. | |
13814 | ||
7781f014 | 13815 | 2006-04-05 Alan Modra <amodra@bigpond.net.au> |
13816 | ||
13817 | * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change. | |
13818 | ||
a8c839ae | 13819 | 2006-04-05 Sebastian Pop <pop@cri.ensmp.fr> |
13820 | ||
13821 | PR tree-optimization/26996 | |
13822 | * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze | |
13823 | VECTOR_TYPE variables. | |
13824 | ||
25bf4cab | 13825 | 2006-04-05 Richard Guenther <rguenther@suse.de> |
13826 | ||
13827 | PR tree-optimization/26763 | |
13828 | * fold-const.c (fold_comparison): Move folding of | |
13829 | PTR + CST CMP PTR + CST ... | |
13830 | (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR. | |
13831 | ||
0779bef9 | 13832 | 2006-04-05 Gerald Pfeifer <gerald@pfeifer.com> |
13833 | ||
13834 | * doc/install.texi (Prerequisites): Refine some wording on | |
13835 | bootstrapping and ksh. | |
13836 | Move the version numbers of DejaGnu here from the testing section | |
13837 | and fix casing of names. | |
13838 | Fix markup and clarify wording for autogen requirements. | |
13839 | Refer to GCJ instead of just java. | |
13840 | Refer to SVN instead of CVS. | |
13841 | Describe diffutils as useful instead of necessary. | |
13842 | (Downloading the source): Refer to SVN instead of CVS. | |
13843 | Adjust a link to our web site accordingly. | |
13844 | (Configuration): Fix casing of Bison. | |
d07b61a9 | 13845 | (Building): Refer to SVN instead of CVS. |
0779bef9 | 13846 | Fix a sentence on the use of Bison and remove duplicate (and |
13847 | incorrect) version number of Bison requirement. | |
13848 | Remove one redundant list of packages needed for building. | |
13849 | (Specific): Avoid reference to CVS. | |
13850 | ||
d5266769 | 13851 | 2006-04-04 Eric Christopher <echristo@apple.com> |
13852 | ||
13853 | * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define. | |
13854 | (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto. | |
13855 | (rs6000_handle_struct_attribute): New. | |
13856 | (rs6000_ms_bitfield_layout_p): Ditto. | |
13857 | ||
9dc5f5cd | 13858 | 2006-04-04 Geoffrey Keating <geoffk@apple.com> |
13859 | ||
13860 | * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than | |
13861 | NULL for dso parameter to atexit_common. | |
13862 | ||
d86ccd2c | 13863 | 2006-04-04 Eric Christopher <echristo@apple.com> |
13864 | ||
13865 | * config/i386/i386.c (machopic_output_stub): Output \t | |
13866 | between instructions and operands. | |
13867 | ||
bd16f775 | 13868 | 2006-04-04 David Edelsohn <edelsohn@gnu.org> |
13869 | ||
13870 | * config/rs6000/rs6000.c (num_insns_constant_wide): Change | |
13871 | satisfies_constraint_[IL] to explicit tests on value. | |
13872 | ||
7c010d6a | 13873 | 2006-04-04 Sebastian Pop <pop@cri.ensmp.fr> |
13874 | ||
13875 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
13876 | set_nb_iterations_in_loop): Use build_int_cst instead of | |
13877 | build_int_cst_type. | |
13878 | * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use | |
13879 | build_int_cst instead of convert. | |
13880 | ||
d8c09ceb | 13881 | 2006-04-04 Carlos O'Donell <carlos@codesourcery.com> |
13882 | ||
13883 | * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document | |
13884 | new value 2 for incoming. | |
13885 | * function.c (expand_function_start): Call struct_value_rtx | |
13886 | with incoming as 2. | |
13887 | * config/sparc/sparc.md: Comment updated_return. | |
13888 | * config/sparc/sparc.opt: Add -mstd-struct-return option. | |
13889 | * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard | |
13890 | struct return if sparc_std_struct_return and incoming is 2. | |
13891 | (print_operand): Do not adjust return if | |
13892 | sparc_std_struct_return. | |
13893 | ||
e3b560a6 | 13894 | 2006-04-04 Roger Sayle <roger@eyesopen.com> |
13895 | ||
13896 | * builtins.c (fold_builtin_sprintf): Use fold_convert instead of | |
13897 | convert in the middle-end. | |
13898 | * expr.c (store_expr, store_constructor, get_inner_reference, | |
13899 | expand_expr_real_1, string_constant, try_casesi, try_tablejump): | |
13900 | Likewise. | |
13901 | * tree.c (build_range_type): Likewise. | |
13902 | ||
0d53473f | 13903 | 2006-04-04 Tom Tromey <tromey@redhat.com> |
13904 | ||
13905 | * doc/install.texi (Prerequisites): Mention jar. | |
13906 | ||
69e11d3c | 13907 | 2006-04-04 Daniel Berlin <dberlin@dberlin.org> |
13908 | ||
13909 | * doc/tree-ssa.texi (Preserving the virtual ssa form): New | |
13910 | subsection. | |
13911 | ||
85cc1e72 | 13912 | 2006-04-04 Matthias Klose <doko@debian.org> |
13913 | ||
13914 | * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. | |
5e156a9d | 13915 | |
4bd32627 | 13916 | PR bootstrap/26764 |
13917 | PR bootstrap/27334 | |
d4add8f3 | 13918 | * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted |
13919 | strings. | |
85cc1e72 | 13920 | |
87ea783a | 13921 | 2006-04-03 Geoffrey Keating <geoffk@apple.com> |
13922 | ||
d86ccd2c | 13923 | * doc/extend.texi (Function Attributes): Rewrite visibility |
8ab158f9 | 13924 | attribute documentation. |
13925 | * doc/invoke.texi (C++ Dialect Options): Rewrite | |
13926 | -fvisibility-inlines-hidden documentation to describe something | |
13927 | entirely different, although in practise compatible. | |
2341a17e | 13928 | (Code Gen Options): Warn about system headers in -fvisibility= |
8ab158f9 | 13929 | documentation. |
13930 | ||
87ea783a | 13931 | * doc/extend.texi (Other Builtins): Document that |
13932 | __builtin_nan is a compile-time constant only when its argument | |
13933 | is valid. | |
13934 | ||
0f6d8eeb | 13935 | 2006-04-03 Adam Nemet <anemet@caviumnetworks.com> |
13936 | ||
13937 | * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When | |
13938 | trying to remove TRUNCATE check if all bits outside the new mode | |
13939 | are identical to the sign bit. | |
13940 | ||
d76551d9 | 13941 | 2006-04-03 Jeff Law <law@redhat.com> |
13942 | ||
13943 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding | |
13944 | and operand scanning in some common cases. | |
13945 | ||
9309b09c | 13946 | 2006-04-03 Paolo Bonzini <bonzini@gnu.org> |
897f76b2 | 13947 | Dale Johannesen <dalej@apple.com> |
13948 | ||
13949 | PR target/19653 | |
13950 | * regclass.c (struct reg_pref): Update documentation. | |
13951 | (regclass): Set prefclass to NO_REGS if memory is the best option. | |
13952 | (record_reg_classes): Cope with a prefclass set to NO_REGS. | |
13953 | * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS | |
13954 | into account. For non-registers, equate an empty preferred | |
13955 | reload class to a `!' in the constraint; move the if clause to | |
13956 | do so after those that reject the insn. | |
13957 | (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally | |
13958 | return NO_REGS. | |
13959 | (find_dummy_reload): Likewise. | |
13960 | * doc/tm.texi (Register Classes): Document what it means | |
13961 | if PREFERRED_*_RELOAD_CLASS return NO_REGS. | |
13962 | * config/i386/i386.c (ix86_preferred_reload_class): Force | |
13963 | using SSE registers (and return NO_REGS for floating-point | |
13964 | constants) if math is done with SSE. | |
13965 | (ix86_preferred_output_reload_class): New. | |
13966 | * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New. | |
13967 | * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New. | |
13968 | * config/i386/i386.md: Remove # register preferences. | |
13969 | ||
b92381b6 | 13970 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
13971 | ||
13972 | PR bootstrap/26992 | |
13973 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
13974 | chrec_is_positive, set_nb_iterations_in_loop): Use a variable for | |
13975 | the type of nb_iter. | |
13976 | (instantiate_parameters_1): Convert the operands before calling | |
13977 | chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply. | |
13978 | * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same. | |
13979 | ||
535664e3 | 13980 | 2006-04-02 Roger Sayle <roger@eyesopen.com> |
13981 | ||
13982 | * builtins.c (dummy_object): Use build_int_cst instead of convert. | |
13983 | * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert | |
13984 | instead of convert. | |
13985 | * dojump.c (do_jump): Likewise. | |
13986 | * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise. | |
13987 | * gimplify.c (gimple_boolify, gimplify_init_constructor, | |
13988 | gimplify_boolean_expr): Likewise. | |
13989 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. | |
13990 | * varasm.c (array_size_for_constructor): Likewise. | |
13991 | * tree-object-size.c (compute_object_offset): Likewise. | |
13992 | ||
4bd9981b | 13993 | 2006-04-02 Roger Sayle <roger@eyesopen.com> |
13994 | ||
13995 | PR middle-end/26977 | |
13996 | * expr.c (emit_group_store): Check whether simplify_gen_subreg returns | |
13997 | NULL_RTX, indicating it couldn't create a valid paradoxical subreg. | |
13998 | ||
55feb6fa | 13999 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
14000 | ||
14001 | PR tree-optimization/26939 | |
14002 | * tree-chrec.c (chrec_merge): Use eq_evolutions_p. | |
14003 | ||
f84a688a | 14004 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
14005 | ||
14006 | * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument | |
d86ccd2c | 14007 | at_stmt. Convert the type of operands before calling |
f84a688a | 14008 | build_polynomial_chrec. |
14009 | (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to | |
14010 | add_to_evolution_1. | |
14011 | (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution. | |
d86ccd2c | 14012 | (instantiate_parameters_1): Convert the type of operands before calling |
f84a688a | 14013 | build_polynomial_chrec. |
14014 | * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly, | |
14015 | chrec_fold_multiply_poly_poly, chrec_replace_initial_condition, | |
14016 | reset_evolution_in_loop): Insert asserts to check the types of the | |
14017 | operands. | |
14018 | (chrec_type): Moved... | |
14019 | (eq_evolutions_p): Use operand_equal_p. | |
14020 | * tree-chrec.h (build_polynomial_chrec): Insert an assert to check | |
14021 | the types of the operands. | |
14022 | (chrec_type): ...here. | |
14023 | * tree-data-ref.c (create_data_ref): Convert the operands before | |
14024 | calling chrec_replace_initial_condition. | |
14025 | (same_access_functions, analyze_subscript_affine_affine, | |
14026 | analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p. | |
14027 | (compute_subscript_distance, analyze_ziv_subscript, | |
14028 | analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2, | |
14029 | analyze_miv_subscript): Convert the operands before calling | |
14030 | chrec_fold_minus or chrec_fold_plus. | |
14031 | ||
2af73e54 | 14032 | 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
14033 | ||
14034 | * tree-data-ref.c (compute_all_dependences): Use a pointer to | |
14035 | the dependence_relations vector. | |
14036 | (compute_data_dependences_for_loop): Adjust call to | |
14037 | compute_all_dependences. | |
14038 | ||
9315094f | 14039 | 2006-04-01 Roger Sayle <roger@eyesopen.com> |
14040 | Richard Henderson <rth@redhat.com> | |
14041 | ||
14042 | * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call | |
14043 | gimple_boolify on the condition before calling gimplify_expr. | |
14044 | ||
29bf9219 | 14045 | 2006-03-31 Bob Wilson <bob.wilson@acm.org> |
14046 | ||
14047 | * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros | |
14048 | to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to | |
14049 | the frame size. Update to use the new macros. | |
14050 | * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros. | |
14051 | * config/xtensa/ieee754-df.S: Likewise. | |
14052 | ||
14053 | 2006-03-31 Richard Henderson <rth@redhat.com> | |
2a09b1df | 14054 | |
14055 | * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into... | |
14056 | (make_edges): ... here. Control fallthru creation with a local | |
14057 | variable. Do not play with fake edges. | |
14058 | (make_omp_sections_edges): Don't set EDGE_ABNORMAL. | |
14059 | (make_goto_expr_edges): Don't play with fake edges. Make for_call | |
14060 | a boolean. | |
14061 | ||
04da8de9 | 14062 | 2006-04-01 Joseph S. Myers <joseph@codesourcery.com> |
14063 | ||
14064 | * dwarf2.h (DW64_CIE_ID): Define. | |
14065 | * dwarf2out.c (DWARF_CIE_ID): Define. | |
14066 | (output_call_frame_info): Output 0xffffffff before standard 8-byte | |
14067 | length header. Use DWARF_CIE_ID. | |
14068 | (value_format): Use DW_FORM_data4 or DW_FORM_data8 for | |
14069 | dw_val_class_loc_list depending on DWARF_OFFSET_SIZE. | |
14070 | ||
76915e72 | 14071 | 2006-03-31 Kaz Kojima <kkojima@gcc.gnu.org> |
14072 | ||
14073 | * config/sh/linux-atomic.asm: New file. | |
14074 | * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm. | |
14075 | ||
992bd98c | 14076 | 2006-03-31 DJ Delorie <dj@redhat.com> |
14077 | ||
14078 | * config/m32c/cond.md: Set condition flags properly throughout. | |
14079 | * config/m32c/minmax.md: Likewise. | |
14080 | * config/m32c/prologue.md: Likewise. | |
14081 | * config/m32c/bitops.md: Likewise. | |
14082 | * config/m32c/muldiv.md: Likewise. | |
14083 | * config/m32c/mov.md: Likewise. | |
14084 | * config/m32c/addsub.md: Likewise. | |
14085 | * config/m32c/m32c.md: Likewise. | |
14086 | * config/m32c/jump.md: Likewise. | |
14087 | * config/m32c/shift.md: Likewise. | |
14088 | ||
14089 | * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to | |
14090 | conditionally output the pattern for this. | |
14091 | * config/m32c/m32c.c (flags_needed_for_conditional): New. | |
14092 | (m32c_compare_redundant): New. | |
14093 | (m32c_output_compare): New. | |
14094 | * config/m32c/m32c-protos.h (m32c_output_compare): New. | |
14095 | ||
14096 | * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber | |
14097 | dest, not src. Allow other 4-byte modes. | |
14098 | ||
7599ef38 | 14099 | 2006-03-30 Denis Chertykov <denisc@overta.ru> |
14100 | ||
14101 | * doc/md.texi: Refer to avr/constraints.md instead of | |
14102 | avr/avr.h. | |
14103 | ||
f25b36d2 | 14104 | 2006-03-30 Roger Sayle <roger@eyesopen.com> |
14105 | ||
14106 | * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to | |
14107 | signed vs. unsigned comparison failures on some hosts. | |
14108 | ||
dfec1c81 | 14109 | 2006-03-31 Alan Modra <amodra@bigpond.net.au> |
14110 | ||
14ee7385 | 14111 | PR target/26459 |
14112 | * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08 | |
14113 | change to FLOAT_REGS. | |
14114 | ||
dfec1c81 | 14115 | * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee. |
14116 | (rs6000_override_options): Use it. | |
14117 | (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi | |
14118 | only for -mabi=spe/no-spe and -mabi=altivec. | |
14119 | ||
f4d4e693 | 14120 | 2006-03-30 Geoffrey Keating <geoffk@apple.com> |
14121 | ||
14122 | * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with | |
14123 | !Zdynamiclib. | |
14124 | ||
77a85ce7 | 14125 | 2006-03-30 Carlos O'Donell <carlos@codesourcery.com> |
14126 | ||
14127 | * Makefile.in: Rename docdir to gcc_docdir. | |
14128 | ||
73fe0e40 | 14129 | 2006-03-30 Roger Sayle <roger@eyesopen.com> |
14130 | ||
14131 | PR target/17959 | |
522701ef | 14132 | * expr.c (emit_group_store): Optimize group stores into a pseudo |
73fe0e40 | 14133 | register by using a paradoxical subreg to initialize the destination |
14134 | if the first or last member of the group specifies a "low part". | |
14135 | ||
4dc5882f | 14136 | 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
14137 | ||
14138 | PR target/26734 | |
14139 | * rtl.def (DEPS_LIST): Change type of the second operand to 'int'. | |
14140 | * target.h (struct gcc_target.speculate_insn): Change type of the | |
14141 | second parameter to 'int'. | |
14142 | * lists.c (alloc_DEPS_LIST): Change signature. Update reference to | |
14143 | the second operand of the DEPS_LIST. | |
14144 | (copy_DEPS_LIST_list): Update reference to the second operand of the | |
14145 | DEPS_LIST. | |
14146 | * rtl.h (alloc_DEPS_LIST): Update signature. | |
14147 | * sched-int.h (ds_t): Change typedef to 'int'. | |
14148 | (DEP_STATUS, BITS_PER_DEP_STATUS): Update. | |
14149 | ||
611a596b | 14150 | 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
14151 | ||
14152 | * haifa-sched.c (try_ready): Change condition to restore | |
14153 | non-speculative pattern of the instruction. | |
14154 | (process_insn_depend_be_in_spec): Code to keep probability of the | |
14155 | speculative dependence non-decreasing. | |
14156 | ||
a92178b8 | 14157 | 2006-03-30 Jie Zhang <jie.zhang@analog.com> |
14158 | ||
14159 | * config/bfin/bfin.c (single_move_for_strmov): Renamed to... | |
14160 | (single_move_for_movmem): ... this. Also change all uses. | |
14161 | (bfin_expand_strmov): Renamed to... | |
14162 | (bfin_expand_movmem): ... this. Also change all uses. | |
14163 | * config/bfin/bfin.md (movstrsi): Renamed to... | |
14164 | (movstrsi): ...this. | |
14165 | ||
2166ab0e | 14166 | 2006-03-30 Paolo Bonzini <bonzini@gnu.org> |
14167 | ||
14168 | PR tree-optimization/26830 | |
14169 | ||
14170 | * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth. | |
14171 | (copy_prop_visit_stmt): Remove write-only variable ann. | |
14172 | (init_copy_prop): Check variable loop depth here. Do not simulate | |
14173 | memory-tag and virtual operand PHIs except for store copy prop. | |
14174 | ||
1fd05f7f | 14175 | 2006-03-30 Richard Guenther <rguenther@suse.de> |
14176 | ||
14177 | * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic | |
14178 | variants with double arguments. | |
14179 | ||
64319b3e | 14180 | 2006-03-29 David Edelsohn <edelsohn@gnu.org> |
14181 | ||
14182 | * genpreds.c (write_tm_constrs_h): Delete variable p. | |
966eae04 | 14183 | * genconditions.c (write_header): Add tm-constrs.h to included |
14184 | headers. | |
61b11029 | 14185 | * genpeep.c (main): Add toplev.h to included headers. |
2ac9bd76 | 14186 | * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency. |
420b1776 | 14187 | (build/genpeep.o): Add toplev.h dependency. |
764fce6b | 14188 | * config/rs6000/constraints.md: Add "W" constraint. |
64319b3e | 14189 | |
1088cbc4 | 14190 | 2006-03-29 Roger Sayle <roger@eyesopen.com> |
14191 | ||
14192 | * stor-layout.c (mode_for_size_tree): Remove restiction on type | |
14193 | sizes by correctly testing whether the size fits a host integer. | |
14194 | (initialize_sizetypes): Use set_min_and_max_values_for_integral_type | |
14195 | to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full | |
14196 | SImode range for the default sizetype and bitsizetype. | |
14197 | ||
322fdac2 | 14198 | 2006-03-29 Roger Sayle <roger@eyesopen.com> |
14199 | ||
14200 | * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW | |
14201 | and TREE_CONSTANT_OVERFLOW bits of the argument. Return | |
14202 | quickly if the argument is already of the correct type. | |
14203 | Call fold_build1 instead of build1. Tidy up blank lines. | |
14204 | ||
a014ec0f | 14205 | 2006-03-29 David Edelsohn <edelsohn@gnu.org> |
14206 | ||
14207 | * genemit.c (main): Add tm-constrs.h to included headers. | |
14208 | * genoutput.c (output_prologue): Add tm-constrs.h to included headers. | |
14209 | * genpeep.c (main): Add tm-constrs.h to included headers. | |
14210 | * genpreds.c (write_satisfies_constraint_fns): Rename to ... | |
14211 | (write_tm_constrs_h): this and write complete file. | |
14212 | (write_tm_preds_h): Do not emit satisfies_constraint fns. | |
14213 | (write_insn_preds_c): Add tm-constrs.h to included headers. | |
14214 | (gen_constrs): New variable. | |
14215 | (parse_option): Parse "-c". | |
14216 | (main): Invoke write_tm_constrs_h. | |
14217 | * genrecog.c (write_header): Add tm-constrs.h to included headers. | |
14218 | * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h. | |
14219 | (object_out_file): Add tm-constrs.h dependency. | |
14220 | (insn-emit.o): Same. | |
14221 | (insn-output.o): Same. | |
14222 | (insn-peep.o): Same. | |
14223 | (insn-preds.o): Same. | |
14224 | (insn-recog.o): Same. | |
14225 | (tm-constsr.h): New target. | |
14226 | (s-constrs-h): New target. | |
14227 | ||
14228 | * config/rs6000/constraints.md: New file. | |
14229 | * config/rs6000/rs6000.c: Include tm-constrs.h. | |
14230 | (num_insn_constant_wide): Convert to satisfies_constraint. | |
14231 | (rs6000_rtx_costs): Convert to satisfies_constraint. | |
14232 | * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete. | |
14233 | (CONST_OK_FOR_LETTER_P): Delete. | |
14234 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
14235 | (EXTRA_CONSTRAINT): Delete. | |
14236 | (EXTRA_MEMORY_CONSTRAINT): Delete. | |
14237 | (EXTRA_ADDRESS_CONSTRAINT): Delete. | |
14238 | * config/rs6000/predicates.md: Convert to satisfies_constraint. | |
14239 | * config/rs6000/rs6000.md: Include constraints.md. Convert to | |
14240 | satisfies_constraint. | |
14241 | ||
14242 | * config/i386/i386.c: Include tm-constrs.h. | |
14243 | ||
04bd1b81 | 14244 | 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> |
14245 | ||
14246 | * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls. | |
14247 | * tree-data-ref.c (find_data_references_in_loop, | |
14248 | compute_data_dependences_for_loop): Use pointers to VEC. | |
14249 | (analyze_all_data_dependences): Adjust calls. | |
14250 | * tree-data-ref.h (find_data_references_in_loop, | |
14251 | compute_data_dependences_for_loop): Adjust declarations. | |
14252 | * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to | |
14253 | compute_data_dependences_for_loop. | |
14254 | ||
a694a165 | 14255 | 2006-03-29 Paul Brook <paul@codesourcery.com> |
14256 | ||
14257 | * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives. | |
14258 | (movdf_vfp): Ditto. | |
14259 | ||
96710944 | 14260 | 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> |
14261 | ||
14262 | PR tree-optimization/26859 | |
14263 | * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid | |
14264 | division by zero. | |
14265 | (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags | |
14266 | for the step after fold_convert. | |
14267 | ||
f5bccbd1 | 14268 | 2006-03-29 Paul Brook <paul@codesourcery.com> |
14269 | ||
14270 | * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators. | |
14271 | (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses. | |
14272 | ||
5f458503 | 14273 | 2006-03-29 Paul Brook <paul@codesourcery.com> |
14274 | ||
14275 | PR middle-end/23623 | |
14276 | * targhooks.c (default_narrow_bitfield): New fuction. | |
14277 | * targhooks.h (default_narrow_bitfield): add prototype. | |
14278 | * target.h (gcc_target): Add narrow_volatile_bitfield. | |
14279 | * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define. | |
14280 | * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield. | |
14281 | * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS. | |
14282 | * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define. | |
14283 | ||
36868490 | 14284 | 2006-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
14285 | ||
d86ccd2c | 14286 | * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to |
36868490 | 14287 | tmake_file. |
14288 | * config/s390/s390.c (S390_scalar_mode_supported_p): New function. | |
14289 | (NR_C_MODES): Add TDmode, DDmode and SDmode. | |
14290 | (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT. | |
14291 | (s390_hard_regno_mode_ok): Disallow TDmode in integer regs. | |
14292 | (s390_function_arg_float): Allow SDmode and DDmode values to be | |
14293 | passed in floating point registers. | |
d86ccd2c | 14294 | (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT |
36868490 | 14295 | check with SCALAR_FLOAT_MODE_P. |
14296 | (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro. | |
14297 | ||
0840f4fe | 14298 | 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> |
14299 | ||
14300 | PR tree-optimization/25985 | |
14301 | * tree-ssa-loop-niter.c (number_of_iterations_le, | |
14302 | number_of_iterations_ne): Make comments more precise. | |
14303 | (number_of_iterations_cond): Add only_exit argument. Use the | |
14304 | fact that signed variables do not overflow only when only_exit | |
14305 | is true. | |
14306 | (loop_only_exit_p): New. | |
14307 | (number_of_iterations_exit): Pass result of loop_only_exit_p to | |
14308 | number_of_iterations_cond. | |
14309 | ||
bc06978f | 14310 | 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> |
14311 | ||
14312 | PR tree-optimization/26643 | |
14313 | * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle | |
14314 | bit_field_refs. | |
14315 | ||
344d49a6 | 14316 | 2006-03-28 Kaz Kojima <kkojima@gcc.gnu.org> |
14317 | ||
14318 | * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG. | |
14319 | (divsi3_i4_int): Likewise. | |
14320 | ||
522701ef | 14321 | 2006-03-28 Roger Sayle <roger@eyesopen.com> |
2b4bed8a | 14322 | |
14323 | * expr.c (emit_group_store): Only create a new pseudo reg if the | |
14324 | quantity it needs to hold isn't already a suitable pseudo. | |
14325 | ||
1ef27f86 | 14326 | 2006-03-28 Jeff Law <law@redhat.com> |
14327 | ||
14328 | * timevar.def (TV_TREE_PHI_CPROP): New timevar. | |
14329 | * tree-ssa-dom.c (pass_phi_only_cprop): Use it. | |
14330 | ||
a3cf48f5 | 14331 | 2006-03-28 Roger Sayle <roger@eyesopen.com> |
14332 | ||
14333 | * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as | |
14334 | the equivalent ~X & Y, and the symmetry related transformations. | |
d86ccd2c | 14335 | (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as |
a3cf48f5 | 14336 | ~X & Y, and symmetry related transforms. |
14337 | ||
b2814640 | 14338 | 2006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
14339 | ||
14340 | Revert my 2006-03-27 patches. | |
14341 | ||
c348f27f | 14342 | 2006-03-28 Roger Sayle <roger@eyesopen.com> |
14343 | ||
14344 | * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as | |
14345 | ~(T1)X, when T1 and T2 are integer types of the same precision | |
14346 | and (T2)X isn't an extension. | |
14347 | ||
d65e4929 | 14348 | 2006-03-28 Jeff Law <law@redhat.com> |
14349 | ||
14350 | PR tree-optimization/26796 | |
14351 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which | |
14352 | need EH edge cleanups rather than purging them immediately. | |
14353 | (eliminate_degenerate_phis): Handle queued EH cleanups. | |
14354 | ||
b587b882 | 14355 | 2006-03-28 Daniel Berlin <dberlin@dberlin.org> |
14356 | ||
14357 | * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE | |
14358 | from parent_var. | |
14359 | ||
ecf7be71 | 14360 | 2006-03-27 Roger Sayle <roger@eyesopen.com> |
14361 | ||
14362 | PR middle-end/22524 | |
14363 | * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to | |
14364 | cast BIT_NOT_EXPR operand to the correct type. | |
14365 | ||
41c7a324 | 14366 | 2006-03-27 Sebastian Pop <pop@cri.ensmp.fr> |
14367 | ||
14368 | * tree-loop-linear.c: Don't include varray.h. | |
14369 | (gather_interchange_stats, try_interchange_loops, | |
14370 | linear_transform_loops): Use VEC instead of VARRAY. | |
14371 | * lambda-mat.c: Don't include varray.h. | |
14372 | * tree-chrec.c: Same. | |
14373 | * lambda-trans.c: Same. | |
14374 | * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use | |
14375 | VEC instead of VARRAY. | |
14376 | * tree-vectorizer.h: Idem. | |
14377 | * tree-data-ref.c (dump_data_references, | |
14378 | dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs, | |
14379 | initialize_data_dependence_relation, finalize_ddr_dependent, | |
14380 | compute_all_dependences, find_data_references_in_loop, | |
14381 | compute_data_dependences_for_loop, analyze_all_data_dependences, | |
14382 | free_dependence_relation, free_dependence_relations, | |
14383 | free_data_refs): Idem. | |
14384 | * tree-data-ref.h (data_reference_p, subscript_p): New. | |
14385 | (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use | |
14386 | VEC instead of VARRAY. | |
14387 | (DDR_SUBSCRIPTS_VECTOR_INIT): Removed. | |
14388 | (find_data_references_in_loop, compute_data_dependences_for_loop, | |
14389 | dump_ddrs, dump_dist_dir_vectors, dump_data_references, | |
14390 | dump_data_dependence_relations, free_dependence_relations, | |
14391 | free_data_refs): Adjust declaration. | |
14392 | (lambda_transform_legal_p): Move declaration here... | |
14393 | * tree-vect-analyze.c (vect_analyze_data_ref_dependences, | |
14394 | vect_compute_data_refs_alignment, vect_verify_datarefs_alignment, | |
14395 | vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses, | |
14396 | vect_analyze_data_refs): Use VEC instead of VARRAY. | |
14397 | * lambda.h (lambda_transform_legal_p): ...from here. | |
14398 | * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY. | |
14399 | * tree-vect-transform.c (vect_update_inits_of_drs): Idem. | |
14400 | * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o, | |
14401 | tree-chrec.o): Don't depend on VARRAY_H. | |
14402 | ||
db888ba8 | 14403 | 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
14404 | ||
14405 | * rtl.def (Copyright): Update date. | |
14406 | (DEPS_LIST): Change type of the second operand to 'int'. | |
14407 | * target.h (Copyright): Update date. | |
14408 | (struct gcc_target.speculate_insn): Change type of the second parameter | |
14409 | to 'int'. | |
14410 | * lists.c (Copyright): Update date. | |
14411 | (alloc_DEPS_LIST): Change signature. Update reference to the second | |
14412 | operand of the DEPS_LIST. | |
14413 | (copy_DEPS_LIST_list): Update reference to the second operand of the | |
14414 | DEPS_LIST. | |
14415 | * rtl.h (Copyright): Update date. | |
14416 | (alloc_DEPS_LIST): Update signature. | |
14417 | * sched-int.h (Copyright): Update date. | |
14418 | (ds_t): Change typedef to 'int'. | |
14419 | (DEP_STATUS, BITS_PER_DEP_STATUS): Update. | |
14420 | ||
a6c9503b | 14421 | 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
14422 | ||
14423 | * haifa-sched.c (Copyright): Update date. | |
14424 | (try_ready): Change condition to restore non-speculative pattern | |
14425 | of the instruction. | |
14426 | (process_insn_depend_be_in_spec): Code to keep probability of the | |
14427 | speculative dependence non-decreasing. | |
14428 | ||
345c1cc2 | 14429 | 2006-03-27 Bernd Schmidt <bernd.schmidt@analog.com> |
14430 | ||
14431 | * regrename.c (replace_oldest_value_addr): Initialize a variable to | |
14432 | shut up the compiler. | |
14433 | ||
16dccd22 | 14434 | 2006-03-27 J"orn Rennecke <joern.rennecke@st.com> |
14435 | ||
14436 | * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule | |
14437 | to use lib prefix for target. | |
14438 | ($(T)libic_invalidate_array_4-200.a): Likewise. | |
14439 | ($(T)libic_invalidate_array_4a.a): Likewise. | |
14440 | ||
3a6994f8 | 14441 | 2006-03-27 Andrew Stubbs <andrew.stubbs@st.com> |
14442 | J"orn Rennecke <joern.rennecke@st.com> | |
14443 | ||
14444 | * superh.opt: New file. | |
14445 | * sh.c (boardtype, osruntime): Remove. | |
14446 | * superh.h (SUBTARGET_OPTIONS): Remove. | |
14447 | * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options. | |
14448 | ||
14449 | * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed | |
14450 | arguments with ^ and/or []. | |
14451 | ||
14452 | * config.gcc (sh-*-*): Add quoting to account for quirk of | |
14453 | Solaris /bin/sh. | |
14454 | Replace == with = in enable_incomplete_targets test. | |
14455 | ||
14456 | * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT | |
14457 | with MASK_LITTLE_ENDIAN. | |
14458 | ||
14459 | * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file. | |
14460 | * config/sh/sh.opt: Added to some comments. | |
14461 | * config/sh/superh.h: Removed some chaff. | |
14462 | ||
14463 | * config/sh/sh.opt: Add m4-[1234]00* options. | |
14464 | * config/sh/sh.c (sh_handle_option): Likewise. | |
14465 | * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define. | |
14466 | (ic_invalidate_array_4-100.o): New rule. | |
14467 | ($(T)libic_invalidate_array_4-100.a): Likewise. | |
14468 | (ic_invalidate_array_4-200.o): Likewise. | |
14469 | ($(T)libic_invalidate_array_4-200.a): Likewise. | |
14470 | (ic_invalidate_array_4a.o): Likewise. | |
14471 | ($(T)libic_invalidate_array_4a.a): Likewise. | |
14472 | * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS. | |
14473 | * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*, | |
14474 | m4-200*, and m4a*. | |
14475 | * config/sh/crt1.asm: Merged in profiling code. | |
14476 | * config/sh/superh.h (STARTFILE_SPEC): Override. | |
14477 | * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS. | |
14478 | Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o. | |
14479 | * config.gcc (sh*-superh-elf): Add t-superh to tmake_file. | |
14480 | ||
14481 | * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants. | |
14482 | * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS / | |
14483 | MULTILIB_DIRNAMES / MULTILIB_MATCHES settings. | |
14484 | ||
14485 | * sh.opt (mpretend-cmove): New option. | |
14486 | * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1. | |
14487 | * sh.md (movsicc_t_false, movsicc_t_tru): New patterns. | |
14488 | (movsicc): Add TARGET_PRETEND_CMOVE code. | |
14489 | ||
8f1128bb | 14490 | 2006-03-27 Andreas Krebbel <krebbel1@de.ibm.com> |
14491 | ||
d86ccd2c | 14492 | * config/s390/s390-protos.h (s390_hard_regno_mode_ok, |
8f1128bb | 14493 | s390_class_max_nregs): New function prototypes. |
14494 | * config/s390/s390.c (REGNO_PAIR_OK): New macro. | |
14495 | (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions. | |
14496 | * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, | |
14497 | CLASS_MAX_NREGS): Macro bodies replaced by function calls. | |
14498 | ||
e124d6c7 | 14499 | 2006-03-26 Geoffrey Keating <geoffk@apple.com> |
14500 | ||
14501 | * dwarf2out.c (add_location_or_const_value_attribute): Call | |
14502 | tree_add_const_value_attribute if nothing else works. | |
14503 | (reference_to_unused): New. | |
14504 | (rtl_for_decl_init): Use reference_to_unused to decide whether | |
14505 | to output an initializer. | |
14506 | ||
14a01286 | 14507 | 2006-03-27 Alan Modra <amodra@bigpond.net.au> |
14508 | ||
14509 | PR target/26459 | |
14510 | * config/rs6000/rs6000.md (DF reg move peephole): Prevent | |
14511 | peephole removing spe frob_di_df_2. | |
14512 | ||
b44d1046 | 14513 | 2006-03-26 Sebastian Pop <pop@cri.ensmp.fr> |
14514 | ||
14515 | * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS. | |
14516 | (subscript_dependence_tester_1): Declared. | |
14517 | (print_dir_vectors, print_dist_vectors): New. | |
14518 | (debug_data_dependence_relation): New. | |
14519 | (dump_data_dependence_relation): Print more details. | |
14520 | (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST. | |
14521 | (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0. | |
14522 | (save_dist_v, save_dir_v, add_outer_distances, | |
14523 | build_classic_dist_vector_1): New. | |
14524 | (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST. | |
14525 | Don't test for lambda_vector_lexico_pos. | |
14526 | (same_access_functions, add_multivariate_self_dist, | |
14527 | add_other_self_distances, dir_from_dist): New. | |
d86ccd2c | 14528 | (build_classic_dir_vector): Replace implementation almost identical to |
b44d1046 | 14529 | build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to |
14530 | dir_from_dist. | |
14531 | (subscript_dependence_tester_1): New. | |
14532 | (subscript_dependence_tester): Handle the lexicographically negative | |
14533 | distance vectors by recomputing the dependence relation. | |
14534 | (compute_affine_dependence): Remove parameter loop_nest_depth. | |
14535 | (compute_self_dependence): Don't call compute_subscript_distance. | |
14536 | (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth. | |
14537 | Add a parameter for the loop_nest. | |
14538 | (find_loop_nest_1, find_loop_nest): New. | |
14539 | (compute_data_dependences_for_loop): Compute the loop nest, and give | |
14540 | up if the nest is not well formed. | |
14541 | * tree-data-ref.h (loop_p): New. | |
d86ccd2c | 14542 | (struct data_dependence_relation): Replace size_vect field with |
b44d1046 | 14543 | loop_nest, a vec of loops. |
14544 | (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS. | |
14545 | (DDR_LOOP_NEST): New. | |
14546 | (print_dir_vectors, print_dist_vectors, | |
14547 | debug_data_dependence_relation): Declared. | |
14548 | (index_in_loop_nest): New. | |
14549 | * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use | |
14550 | DDR_LOOP_NEST and index_in_loop_nest to determine the dependence | |
14551 | distance. | |
14552 | ||
3bc6a7ce | 14553 | 2006-03-25 Adam Nemet <anemet@caviumnetworks.com> |
14554 | ||
14555 | * simplify-rtx.c (simplify_relational_operation): Call | |
14556 | simplify_relational_operation_1 even if mode is VOIDmode. | |
14557 | ||
604eef2c | 14558 | 2006-03-25 Daniel Berlin <dberlin@dberlin.org> |
14559 | ||
14560 | PR tree-optimization/26804 | |
14561 | * tree.h (DECL_CALL_CLOBBERED): New macro. | |
14562 | (tree_decl_common): Add call_clobbered_flag. | |
14563 | * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED. | |
14564 | (mark_call_clobbered): Set DECL_CALL_CLOBBERED. | |
14565 | (clear_call_clobbered): Clear DECL_CALL_CLOBBERED. | |
14566 | (mark_non_addressable): Ditto. | |
14567 | * tree-ssa.c (verify_call_clobbered): New function. | |
14568 | (verify_alias_info): Use it. | |
14569 | * tree-pass.h (pass_reset_cc_flags): New prototype. | |
14570 | * tree-ssa-alias.c (pass_reset_cc_flags): New structure. | |
14571 | (reset_cc_flags): New function. | |
14572 | * passes.c (init_optimization_passes): Call reset_cc_flags after | |
14573 | initializing referenced_vars. | |
14574 | ||
c2c96591 | 14575 | 2006-03-25 Uros Bizjak <uros@kss-loka.si> |
14576 | Roger Sayle <roger@eyesopen.com> | |
14577 | ||
14578 | PR middle-end/26717 | |
14579 | * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A | |
14580 | to 1.0 for non-real operands. Implement A / A optimization for | |
14581 | complex operands. | |
14582 | ||
0a3cb44d | 14583 | 2006-03-25 H.J. Lu <hongjiu.lu@intel.com> |
14584 | ||
14585 | * config/i386/i386.c (size_cost): Correct the comment for | |
14586 | cost of storing fp registers. | |
14587 | (i386_cost): Likewise. | |
14588 | (i486_cost): Likewise. | |
14589 | (pentium_cost): Likewise. | |
14590 | (pentiumpro_cost): Likewise. | |
14591 | (k6_cost): Likewise. | |
14592 | (athlon_cost): Likewise. | |
14593 | (k8_cost): Likewise. | |
14594 | (pentium4_cost): Likewise. | |
14595 | (nocona_cost): Likewise. | |
14596 | (generic64_cost): Likewise. | |
14597 | (generic32_cost): Likewise. | |
14598 | ||
0d2d3527 | 14599 | 2006-03-24 Denis Chertykov <denisc@overta.ru> |
14600 | ||
14601 | * config/avr/avr-protos.h (extra_constraint): Delete. | |
14602 | (extra_constraint_Q): New declaration. | |
14603 | * config/avr/constraints.md: New file. | |
14604 | * config/avr/avr.md: Include it. | |
14605 | (REG_X, REG_Y, REG_Z, REG_W): New constants. | |
14606 | (TMP_REGNO, ZERO_REGNO): Likewise. | |
14607 | (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise. | |
14608 | * config/avr/avr.c (avr_reg_class_from_letter): Delete. | |
14609 | (extra_constraint): Delete. | |
14610 | (extra_constraint_Q): Test for memory constraint 'Q'. | |
14611 | * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete. | |
14612 | (REG_CLASS_FROM_LETTER): Delete. | |
14613 | (CONST_OK_FOR_LETTER_P): Delete. | |
14614 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
14615 | (EXTRA_CONSTRAINT): Delete. | |
14616 | (TMP_REGNO): Delete. | |
14617 | (ZERO_REGNO): Delete. | |
14618 | ||
2f067d14 | 14619 | 2006-03-24 Jeff Law <law@redhat.com> |
14620 | ||
14621 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt | |
14622 | directly. Call mark_new_vars_to_rename slightly earlier. | |
14623 | ||
f543041b | 14624 | 2006-03-24 Geoffrey Keating <geoffk@apple.com> |
14625 | ||
bda642f9 | 14626 | * dwarf2out.c (is_c_family): Understand new DWARF3 language types. |
14627 | (is_cxx): Likewise. | |
14628 | (gen_compile_unit_die): Use new language types for Objective-C and | |
14629 | Objective-C++. | |
14630 | (dwarf2out_decl): Use is_cxx rather than testing explicitly against | |
14631 | DW_LANG_C_plus_plus. | |
14632 | ||
f543041b | 14633 | PR 26793 |
14634 | * config/t-darwin (crt3.o): Work around bug 26840. | |
14635 | * config/darwin-crt3.c: Rewrite. | |
14636 | * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o. | |
14637 | ||
0c573f98 | 14638 | 2006-03-24 Carlos O'Donell <carlos@codesourcery.com> |
14639 | ||
14640 | * doc/invoke.texi: Document -femit-class-debug-always | |
14641 | * common.opt: Add -femit-class-debug-always. | |
14642 | ||
1e280623 | 14643 | 2006-03-24 Andreas Krebbel <krebbel1@de.ibm.com> |
14644 | ||
14645 | * config/s390/s390.c (s390_decompose_address): Allow SImode for | |
14646 | index and base register. | |
14647 | (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p, | |
14648 | print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P | |
14649 | with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with | |
14650 | REGNO_OK_FOR_INDEX_P. | |
14651 | * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with | |
14652 | ADDR_REGNO_P. | |
14653 | (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P, | |
14654 | REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P, | |
14655 | REG_OK_FOR_BASE_P): Definitions removed. | |
14656 | ||
97492514 | 14657 | 2006-03-24 Jakub Jelinek <jakub@redhat.com> |
14658 | ||
14659 | PR middle-end/26611 | |
14660 | * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on | |
14661 | non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit | |
14662 | set yet or weren't marked as local yet. | |
14663 | ||
260988c8 | 14664 | 2006-03-24 Bernd Schmidt <bernd.schmidt@analog.com> |
14665 | ||
14666 | * regrename.c (scan_rtx_address): Initialize a variable to shut up | |
14667 | the compiler. | |
14668 | ||
439e6f39 | 14669 | 2006-03-24 Eric Botcazou <ebotcazou@adacore.com> |
14670 | ||
14671 | * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare. | |
14672 | (rs6000_legitimate_small_data_p): Delete. | |
14673 | * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate. | |
14674 | (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p | |
14675 | and make static. Add forward declaration. Update uses. | |
14676 | (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead | |
14677 | of offsettable_memref_p. | |
14678 | * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix. | |
14679 | Use rs6000_offsettable_memref_p instead of a less accurate predicate. | |
14680 | ||
ea54ad41 | 14681 | 2006-03-24 Jeff Law <law@redhat.com> |
14682 | ||
14683 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work | |
14684 | around bug in immediate-use iterator. | |
14685 | ||
507573d8 | 14686 | 2006-03-24 Alan Modra <amodra@bigpond.net.au> |
14687 | ||
14688 | PR target/26607 | |
14689 | * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__ | |
14690 | or __LITTLE_ENDIAN__. | |
14691 | ||
d6005df3 | 14692 | 2006-03-23 J"orn Rennecke <joern.rennecke@st.com> |
14693 | ||
14694 | * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files. | |
14695 | * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant. | |
14696 | * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table. | |
14697 | * config/sh/sh.opt (mdiv=): Amend description. | |
14698 | * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro. | |
14699 | (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise. | |
14700 | (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1, | |
14701 | SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC. | |
14702 | (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1. | |
14703 | Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros. | |
14704 | * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns. | |
14705 | (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE / | |
14706 | TARGET_DIVIDE_CALL_FP. | |
14707 | ||
e5f7d6da | 14708 | 2006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
14709 | ||
14710 | * haifa-sched.c (choose_ready): Fix type of the local variable. | |
14711 | Move local variables. Add comment. | |
14712 | (check_reg_live): Change signature. Make callable from debugger. | |
14713 | * sched-int.h (check_reg_live): Update signature. | |
14714 | * sched-ebb.c (check_reg_live): Update parameters. | |
14715 | * sched-rgn.c (check_reg_live): Ditto. | |
14716 | (region_head_or_leaf_p): Check pointer before dereferencing. | |
14717 | * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation | |
14718 | before reload on optimization levels below 1. | |
14719 | ||
f3c616bc | 14720 | 2006-03-23 Richard Henderson <rth@redhat.com> |
14721 | ||
b5c0ec3d | 14722 | * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject |
14723 | tls symbols. | |
14724 | ||
f3c616bc | 14725 | PR target/26347 |
14726 | * config/alpha/predicates.md (local_symbolic_operand): Reject | |
14727 | weak symbols. | |
14728 | ||
4ae20934 | 14729 | 2006-03-23 Andrew Pinski <pinskia@physics.uc.edu> |
14730 | ||
14731 | PR tree-opt/26795 | |
14732 | * tree-ssa-pre.c (create_value_expr_from): Don't reject | |
14733 | expressions which have overflowed constants. | |
14734 | ||
8b2453d4 | 14735 | 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> |
14736 | ||
14737 | * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note. | |
14738 | ||
d6a6ac20 | 14739 | 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> |
14740 | ||
14741 | * cfgloopmanip.c (create_loop_notes): Removed. | |
14742 | * final.c (final_scan_insn): Do not handle loop notes. | |
14743 | * jump.c (squeeze_notes): Ditto. | |
14744 | * cfglayout.c (skip_insns_after_block, | |
14745 | duplicate_insn_chain): Ditto. | |
14746 | * cfgcleanup.c (rest_of_handle_jump2): Do not call | |
14747 | create_loop_notes. | |
14748 | * cfgloop.h (create_loop_notes): Declaration removed. | |
14749 | ||
372df111 | 14750 | 2006-03-23 Richard Sandiford <richard@codesourcery.com> |
14751 | ||
14752 | * varasm.c (output_constant_pool): Restore fnname and fndecl | |
14753 | arguments. | |
14754 | (assemble_start_function): Adjust call accordingly. | |
14755 | (assemble_end_function): Likewise. | |
14756 | ||
c0e40292 | 14757 | 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
14758 | ||
87861324 | 14759 | PR mudflap/26789 |
909f55ac | 14760 | * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects. |
14761 | ||
87861324 | 14762 | PR mudflap/26790 |
c0e40292 | 14763 | * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node. |
14764 | ||
87011ef0 | 14765 | 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
14766 | ||
14767 | PR driver/22600 | |
14768 | * system.h (ICE_EXIT_CODE): New macro. | |
14769 | * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE. | |
14770 | (diagnostic_action_after_output): Likewise. | |
14771 | * gcc.c (fatal_ice): New function. | |
14772 | (execute): Use it instead of fatal. | |
14773 | (fancy_abort): Likewise. | |
14774 | * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs. | |
14775 | ||
e8820970 | 14776 | 2006-03-22 Jeff Law <law@redhat.com> |
14777 | ||
14778 | * loop-unroll.c (analyze_iv_to_split_insn): Handle | |
14779 | iv_analyze_result returning false. | |
14780 | ||
2789d110 | 14781 | 2006-03-22 Jie Zhang <jie.zhang@analog.com> |
14782 | ||
14783 | * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove. | |
14784 | ||
30b822ea | 14785 | 2006-03-22 Richard Henderson <rth@redhat.com> |
14786 | ||
14787 | PR middle-end/26084 | |
14788 | * except.c (duplicate_eh_regions_0): New. | |
14789 | (duplicate_eh_region_1): Duplicate the children of the node as | |
14790 | well as the node itself. Link them up properly. | |
14791 | (duplicate_eh_region_2): Merge into ... | |
14792 | (duplicate_eh_regions): ... here. Take copy_region argument, and | |
14793 | copy only a sub-tree if asked. Simplify copying and fixup. | |
14794 | (eh_region_outer_p): New. | |
14795 | * except.h (duplicate_eh_regions): Update decl. | |
14796 | (eh_region_outer_p): Declare. | |
14797 | * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN. | |
14798 | (lower_omp_master): Likewise. | |
14799 | (lower_omp_ordered): Likewise. | |
14800 | * tree-cfg.c (struct move_stmt_d): Add new_label_map. | |
14801 | (move_stmt_r): Use it to remap labels. Handle recursion vs | |
14802 | remap_decls_p properly. | |
14803 | (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR. | |
14804 | (find_outermost_region_in_block): New. | |
14805 | (new_label_mapper): New. | |
14806 | (move_sese_region_to_fn): Copy eh information to the new function | |
14807 | properly. | |
14808 | * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions | |
14809 | argument. | |
14810 | * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region | |
14811 | number. | |
14812 | ||
fc0cd9d4 | 14813 | 2006-03-22 Richard Sandiford <richard@codesourcery.com> |
14814 | ||
14815 | * doc/md.texi (-mshared): Mention that -mshared code can be linked | |
14816 | into shared libraries. | |
14817 | ||
c60dcd8c | 14818 | 2006-03-22 Richard Sandiford <richard@codesourcery.com> |
14819 | ||
14820 | * doc/md.texi: Refer to i386/constraints.md instead of | |
14821 | i386/predicates.md. | |
14822 | * config/i386/constraints.md: New file, extracted from... | |
14823 | * config/i386/predicates.md: ...here. | |
14824 | * config/i386/i386.md: Include constraints.md. | |
14825 | ||
f0f2eb24 | 14826 | 2006-03-21 Jason Merrill <jason@redhat.com> |
14827 | ||
e82d310b | 14828 | * builtins.c (expand_builtin_fork_or_exec): Fix pasto. |
14829 | ||
f0f2eb24 | 14830 | PR middle-end/20297 |
14831 | * expr.c (init_block_move_fn): Force default visibility. | |
14832 | (init_block_clear_fn): Likewise. | |
14833 | * builtins.c (expand_builtin_fork_or_exec): Likewise. | |
14834 | * targhooks.c (default_external_stack_protect_fail): Likewise. | |
14835 | ||
1b6b10a9 | 14836 | 2006-03-21 Richard Sandiford <richard@codesourcery.com> |
14837 | ||
14838 | * config/mips/predicates.md (const_call_insn_operand): Allow direct | |
14839 | calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. | |
14840 | * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS. | |
14841 | Use TARGET_OLDABI instead of !TARGET_NEWABI. | |
14842 | (loadgp): Use mips_current_loadgp_style. | |
14843 | (loadgp_noshared): New pattern. | |
14844 | (sibcall_internal): Use MIPS_CALL. | |
14845 | (sibcall_value_internal): Likewise. | |
14846 | (sibcall_value_multiple_internal): Likewise. | |
14847 | (call_internal): Likewise. | |
14848 | (call_value_internal): Likewise. | |
14849 | (call_value_multiple_internal): Likewise. | |
14850 | (call_split): Use MIPS_CALL and add an 'S' constraint. | |
14851 | (call_value_split): Likewise. | |
14852 | (call_value_multiple_split): Likewise. | |
14853 | * config/mips/mips.opt (-mabicalls): Tweak docstring. | |
14854 | (-mshared): New option. | |
14855 | * config/mips/mips-protos.h (mips_loadgp_style): New enum. | |
14856 | (mips_current_loadgp_style): Declare. | |
14857 | * config/mips/mips.c (mips_classify_symbol): Avoid using | |
14858 | SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL | |
14859 | rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if | |
14860 | TARGET_ABSOLUTE_ABICALLS. | |
14861 | (override_options): Adjust comments. Improve the warning that is | |
14862 | issued when -mabicalls and -G are used together. | |
14863 | (mips_file_start): Remove comment. | |
14864 | (mips_current_loadgp_style): New function. | |
14865 | (mips_gnu_local_gp): New variable. | |
14866 | (mips_emit_loadgp): Use mips_current_loadgp_style. Handle | |
14867 | LOADGP_ABSOLUTE. | |
14868 | (mips_output_function_prologue): Use mips_current_laodgp_style. | |
14869 | (mips_expand_prologue): Call mips_emit_loadgp before emitting | |
14870 | the cprestore instruction. | |
14871 | (mips_extra_live_on_entry): Fix reversed test. Don't make $25 | |
14872 | live for TARGET_ABSOLUTE_ABICALLS. | |
14873 | * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro. | |
14874 | (ASM_SPEC): Pass down -mshared and -mno-shared. | |
14875 | (MIPS_CALL): New macro. | |
14876 | * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__ | |
14877 | definition. | |
14878 | * doc/invoke.texi (-mabicalls): Update documentation. | |
14879 | (-mshared): Document. | |
14880 | ||
44348c35 | 14881 | 2006-03-21 Steve Ellcey <sje@cup.hp.com> |
14882 | ||
14883 | * config/ia64/unwind-hpux.c: New file. | |
14884 | * config/ia64/t-hpux: Add unwind-hpux.c to libgcc. | |
14885 | ||
729c6839 | 14886 | 2006-03-21 Steve Ellcey <sje@cup.hp.com> |
14887 | ||
14888 | PR libgomp/26384 | |
14889 | * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options. | |
14890 | ||
bb22ee7f | 14891 | 2006-03-21 Jeff Law <law@redhat.com> |
14892 | ||
14893 | * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for | |
14894 | type conversions of a VR_VARYING source to a wider type. | |
14895 | ||
517cabaa | 14896 | 2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr> |
14897 | ||
14898 | * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to | |
14899 | tm_file on Solaris 10 and later. | |
14900 | (sparc64-*-solaris2*): Likewise. | |
14901 | (sparc-*-solaris2*): Likewise. | |
14902 | * config/sol26.h: Rename to config/sol2-6.h. | |
14903 | * config/sol2-10.h: New file. | |
14904 | ||
8168e38d | 14905 | 2006-03-21 Andrew Pinski <pinskia@physics.uc.edu> |
14906 | ||
14907 | PR tree-opt/26781 | |
14908 | * tree-ssa-pre.c (create_component_ref_by_pieces): | |
14909 | Handle STRING_CST. | |
14910 | ||
6da06c90 | 14911 | 2006-03-21 Jakub Jelinek <jakub@redhat.com> |
14912 | ||
14913 | PR c++/26690 | |
14914 | * tree.c (get_callee_fndecl): If CALL is error_mark_node, | |
14915 | return it immediately. | |
14916 | ||
c72f0286 | 14917 | 2006-03-21 Michael Matz <matz@suse.de> |
14918 | ||
14919 | * genautomata.c (<struct state>, num_out_arcs, presence_signature): | |
14920 | New members. | |
14921 | (remove_arc, add_arc): Update num_out_arcs member. | |
14922 | (set_out_arc_insns_equiv_num): Returns nothing instead of number | |
14923 | of out arcs. | |
14924 | (cache_presence): New function. | |
14925 | (compare_states_for_equiv): New function. | |
14926 | (state_is_differed): Don't take number of outargs, adjust callers. | |
14927 | Use new invariant for speeding up. | |
14928 | (init_equiv_class): Create initial classes based on sorted | |
14929 | input. | |
14930 | (partition_equiv_class): Don't track out_arcs_num. | |
14931 | (evaluate_equiv_classes): Call cache_presence on all states and | |
14932 | sort them. | |
14933 | ||
00cb30dc | 14934 | 2006-03-21 Bernd Schmidt <bernd.schmidt@analog.com> |
14935 | ||
14936 | * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare. | |
14937 | * config/bfin/bfin.c (bfin_dsp_memref_p): New function. | |
14938 | (bfin_valid_reg_p): Test for pseudos explicitly and use only | |
14939 | REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all | |
14940 | callers changed. | |
14941 | * config/bfin/bfin.h (PREG_P): Use P_REGNO_P. | |
14942 | (IREG_P, P_REGNO_P, I_REGNO_P): New macros. | |
14943 | (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS. | |
14944 | (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, | |
14945 | REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete | |
14946 | macros. | |
14947 | (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS, | |
14948 | REGNO_MODE_CODE_OK_FOR_BASE_P): New macros. | |
14949 | (REGNO_REG_CLASS): ARGP is in PREGS. | |
14950 | * config/bfin/bfin.md (movhi_insn): Allow for addresses containing | |
14951 | IREGS. | |
14952 | (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split | |
14953 | to deal with those addresses. | |
14954 | * addresses.h: New file. | |
14955 | * caller-save.c: Include "addresses.h". | |
14956 | (init_caller_save): Use new base_reg_class function. | |
14957 | * rtl-factoring.c: Include "addresses.h". | |
14958 | (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1. | |
14959 | * recog.c: Include "addresses.h". | |
14960 | (preprocess_constraints): Use new base_reg_class function. | |
14961 | * regrename.c: Include "addresses.h". | |
14962 | (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class | |
14963 | functions. Keep track of a new var INDEX_CODE to compute valid | |
14964 | classes. | |
14965 | (replace_oldest_value_addr): Likewise. | |
14966 | (replace_oldest_value_mem): Use base_reg_class. | |
14967 | * reload.c: Include "addresses.h". | |
14968 | (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros. | |
14969 | (find_reloads): Use new base_reg_class function. | |
14970 | (find_reloads_address): Likewise; also use regno_ok_for_base_p. | |
14971 | (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE; | |
14972 | all callers and prototype changed. | |
14973 | * reload1.c: Include "addresses.h". | |
14974 | (maybe_fix_stack_asms): Use base_reg_class. | |
14975 | * regclass.c: Include "addresses.h". | |
14976 | (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions. | |
14977 | (init_reg_autoinc): Use new base_reg_class function. | |
14978 | (record_reg_classes): Likewise. | |
14979 | (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE, | |
14980 | OUTER_CODE and INDEX_CODE. All callers and prototype changed. | |
14981 | Use new args to compute necessary class. | |
14982 | ||
14983 | * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o, | |
14984 | regrename.o, rtl-factoring.o): Update dependencies. | |
14985 | * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document. | |
14986 | (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. | |
14987 | (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P, | |
14988 | REG_OK_FOR_INDEX_P): Delete documentation. | |
14989 | ||
f7ae7dc1 | 14990 | 2006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com> |
14991 | ||
14992 | * config.gcc (sparc-*-solaris2*): Change the default CPU setting | |
14993 | from V7 to V9 for Solaris 7 and above. | |
14994 | ||
5ff22aea | 14995 | 2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl> |
14996 | ||
14997 | * doc/invoke.texi: Document new flag -fargument-noalias-anything. | |
14998 | * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2, | |
14999 | argument pointers may not alias any other storage. | |
15000 | * common.opt: Define option -fargument-noalias-anything. | |
15001 | * tree-ssa-structalias.c (intra_create_variable_infos): Fortran | |
15002 | alias semantics is specified by flag_argument_noalias > 2. | |
15003 | ||
f2df2401 | 15004 | 2006-03-20 Jeff Law <law@redhat.com> |
d1d2af7d | 15005 | |
15006 | * tree-pass.h (pass_phi_only_copy_prop): Delete. | |
15007 | (pass_phi_only_cprop): Declare. | |
15008 | * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop | |
15009 | with phi_only_cprop | |
15010 | * tree-ssa-dom.c (degenerate_phi_result): New function. | |
15011 | (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise. | |
15012 | (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise. | |
15013 | (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise. | |
15014 | (eliminate_degenerate_phis): Likewise. | |
15015 | (pass_phi_only_cprop): New pass descriptor. | |
15016 | * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and | |
15017 | support code. Callers updated. | |
15018 | (execute_copy_prop, do_copy_prop): Likewise and corresponding changes. | |
15019 | (store_copy_prop): Likewise. | |
15020 | (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove. | |
15021 | ||
799435d8 | 15022 | 2006-03-20 Jason Merrill <jason@redhat.com> |
15023 | ||
15024 | PR c++/21764 | |
15025 | * c-pragma.c (visstack): Move out of handle_pragma_visibility. | |
15026 | (push_visibility, pop_visibility): Likewise. | |
15027 | * c-pragma.h: Declare them. | |
15028 | ||
078bb30c | 15029 | 2006-03-20 Kaz Kojima <kkojima@gcc.gnu.org> |
15030 | ||
15031 | * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target. | |
15032 | ||
15033 | * config/sh/sh.c (find_regmode_weight): Change the type of the first | |
15034 | parameter and use get_ebb_head_tail. | |
15035 | (sh_md_init_global): Adjust uses of find_regmode_weight. | |
15036 | ||
1edb3690 | 15037 | 2006-03-20 Steven Bosscher <stevenb.gcc@gmail.com> |
15038 | ||
15039 | * function.h (struct function) <x_tail_recursion_reentry>: | |
15040 | Rename to x_stack_check_probe_note. | |
15041 | (tail_recursion_reentry): Rename to stack_check_probe_note. | |
15042 | * function.c: Replace tail_recursion_reentry with | |
15043 | stack_check_probe_note everywhere. | |
15044 | (expand_function_start): Only emit a note for | |
15045 | stack_check_probe_note with -fstack-protect. | |
15046 | * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes. | |
15047 | ||
15048 | * emit-rtl.c (remove_unnecessary_notes): Remove. | |
15049 | (pass_remove_unnecessary_notes): Remove. | |
15050 | * rtl.h (remove_unnecessary_notes): Remove prototype. | |
15051 | * final.c (final_start_function): Don't call remove_unnecessary_notes. | |
15052 | * tree-pass.h (pass_remove_unnecessary_notes): Remove. | |
15053 | * passes.c (pass_remove_unnecessary_notes): Don't run it. | |
15054 | ||
0e8f5fde | 15055 | 2006-03-20 Andrew Pinski <pinskia@physics.uc.edu> |
15056 | ||
15057 | PR tree-opt/26629 | |
15058 | * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands. | |
15059 | (valid_in_set): Handle ARRAY_REF. | |
15060 | Change "if min_variant or VH" to asserts. | |
15061 | (create_component_ref_by_pieces): Handle ARRAY_REF. | |
15062 | (create_expression_by_pieces): Likewise. | |
15063 | (can_PRE_operation): ARRAY_REFs can now be PRE'd. | |
15064 | ||
dd030c96 | 15065 | 2006-03-20 David Edelsohn <edelsohn@gnu.org> |
15066 | ||
15067 | * genpreds.c (write_insn_extra_address_constraint): Argument `c' | |
15068 | is operand of switch, not str[0]. | |
15069 | ||
0178c458 | 15070 | 2006-03-20 Alan Modra <amodra@bigpond.net.au> |
15071 | ||
15072 | * config/rs6000/rs6000.c (rs6000_handle_option): Use | |
15073 | TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too. | |
15074 | ||
3f11e6d5 | 15075 | 2006-03-19 David Edelsohn <edelsohn@gnu.org> |
15076 | ||
15077 | * genpreds.c (write_tm_preds_h): Add semicolon and newline at | |
15078 | end of insn_extra_address_constraint declaration. | |
15079 | ||
43edbc2e | 15080 | 2006-03-19 David Edelsohn <edelsohn@gnu.org> |
15081 | ||
15082 | * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask. | |
15083 | (no-sum-in-toc): Same. | |
15084 | * config/rs6000/rs6000.c (rs6000_handle_option): Use new | |
15085 | variables. | |
15086 | * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set | |
15087 | NO_FP_IN_TOC for -fPIC instead of mask. | |
15088 | ||
15089 | * config/rs6000/t-aix43 (T_ADAFLAGS): Delete. | |
15090 | (BOOT_LDFLAGS): Delete. | |
15091 | (LDFLAGS): Delete. | |
15092 | * config/rs6000/t-aix52: Same. | |
15093 | ||
15094 | * config/rs6000/rs6000.md (store_multiple_power): Delete. | |
15095 | (stmsi[345678]_power): New. | |
15096 | ||
65df3cb8 | 15097 | 2006-03-17 Steve Ellcey <sje@cup.hp.com> |
15098 | ||
15099 | * config/ia64/ia64.opt: Add empty line to end of file. | |
15100 | ||
e068b646 | 15101 | 2006-03-17 Richard Guenther <rguenther@suse.de> |
15102 | ||
15103 | PR middle-end/26721 | |
15104 | * builtins.c (get_pointer_alignment): For component style references | |
15105 | adjust alignment to the component type alignment. Make sure | |
15106 | to adjust alignment for component access of constants. | |
15107 | ||
72a99552 | 15108 | 2006-03-17 David Edelsohn <edelsohn@gnu.org> |
15109 | ||
15110 | * config/rs6000/rs6000.md (strlensi): Emit barrier after | |
15111 | unconditional jump. | |
15112 | ||
086571a4 | 15113 | 2006-03-17 Paul Brook <paul@codesourcery.com> |
15114 | ||
15115 | * doc/install.texi: Docuemnt --with-mode. | |
15116 | * config.gcc: Add --with-mode for arm*-*-*. | |
15117 | * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode". | |
15118 | ||
be7f5947 | 15119 | 2006-03-17 J"orn Rennecke <joern.rennecke@st.com> |
15120 | ||
15121 | * sh.c (max_labelno_before_reorg): New variable. | |
15122 | (sh_reorg): Initialize it. | |
15123 | (find_barrier): Check max_labelno_before_reorg before using | |
15124 | label_to_alignment. Take length of explicit alignment insns | |
15125 | into account. When seeing a UNSPECV_CONST_END, return it. | |
15126 | ||
15127 | * sh.c (fixup_mova): Set mode of affected label to QImode. | |
15128 | (untangle_mova): New function. | |
15129 | (find_barrier): Use it. Check mode of label before decrementing | |
15130 | num_mova. | |
15131 | (sh_reorg): Likewise. | |
15132 | Set mode of all insns back to VOIDmode. | |
15133 | ||
15134 | * sh.c (MOVA_LABELREF): New macro. | |
15135 | (mova_p, fixup_mova, sh_reorg): Use it. | |
15136 | (find_barrier, sh_reorg): Don't count num_mova back to 0 unless | |
15137 | ADDR_DIFF_VEC matches mova. | |
15138 | ||
e056afd2 | 15139 | 2006-03-17 Steven Bosscher <stevenb.gcc@gmail.com> |
15140 | ||
15141 | * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument | |
15142 | with ATTRIBUTE_UNUSED. | |
15143 | ||
72099bdb | 15144 | 2006-03-17 Alexandre Oliva <aoliva@redhat.com> |
15145 | ||
15146 | * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack | |
15147 | pointer, instead of assuming it is possible to derive the | |
15148 | correct args size from a call insn. | |
15149 | ||
97590808 | 15150 | 2006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
15151 | ||
15152 | * rtl.h (CONST_INT_P): Define. | |
15153 | * config/vax/vax.c (print_operand_address): Use CONST_INT_P() | |
15154 | instead of GET_CODE(x) == CONST_INT. | |
15155 | (vax_rtx_costs): Likewise. | |
15156 | (vax_output_int_move): Likewise. | |
15157 | (vax_output_int_add): Likewise. | |
15158 | (legitimate_constant_address_p): Likewise. | |
15159 | (index_term_p): Likewise. | |
15160 | * config/vax/vax.h (PRINT_OPERAND): Likewise. | |
15161 | * config/vax/vax.md (and<mode>3): Likewise. | |
15162 | (ashrsi3): Likewise. | |
15163 | (extv): Likewise. | |
15164 | (movstricthi): Likewise. | |
15165 | (movstrictqi): Likewise. | |
15166 | (rotrsi3): Likewise. | |
15167 | (five unnamed insns): Likewise. | |
15168 | ||
d08d29c0 | 15169 | 2006-03-16 Geoffrey Keating <geoffk@apple.com> |
15170 | ||
15171 | * doc/tm.texi (SDB and DWARF): Add extra parameter to | |
15172 | ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables. | |
15173 | * dwarf2asm.h (dw2_asm_output_offset): Add section parameter. | |
15174 | * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter. | |
15175 | Pass to ASM_OUTPUT_DWARF_OFFSET. | |
15176 | * dwarf2out.c (debug_frame_section): New. | |
15177 | (output_call_frame_info): Use debug_frame_section. Pass it to | |
15178 | dw2_asm_output_offset. | |
15179 | (output_die): Pass appropriate section to dw2_asm_output_offset. | |
15180 | (output_compilation_unit_header): Likewise. | |
15181 | (output_pubnames): Likewise. | |
15182 | (output_aranges): Likewise. | |
15183 | (enum dw_val_class): Break dw_val_class_lbl_offset into | |
15184 | dw_val_class_lineptr and dw_val_class_macptr. | |
15185 | (add_AT_lbl_offset): Delete. | |
15186 | (add_AT_lineptr): New. | |
15187 | (add_AT_macptr): New. | |
15188 | (AT_lbl): Expect a lineptr or macptr. | |
15189 | (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr. | |
15190 | (attr_checksum): Likewise. | |
15191 | (same_dw_val_p): Likewise. | |
15192 | (size_of_die): Likewise. | |
15193 | (value_format): Likewise. | |
15194 | (output_die): Likewise. | |
15195 | (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of | |
15196 | add_AT_lbl_offset. | |
15197 | * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. | |
15198 | * config/i386/i386.c (x86_file_start): Call darwin_file_start. | |
15199 | * config/darwin-protos.h (darwin_file_start): New. | |
15200 | (darwin_asm_output_dwarf_offset): New. | |
15201 | * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. | |
15202 | * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call | |
15203 | darwin_file_start. | |
15204 | * config/darwin.c (darwin_emit_unwind_label): Don't output label | |
15205 | if not EH section; simplify. | |
15206 | (darwin_file_start): New. | |
15207 | (darwin_asm_output_dwarf_offset): New. | |
15208 | * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment, | |
15209 | mark as 'debug'. | |
15210 | (DEBUG_INFO_SECTION): Likewise. | |
15211 | (DEBUG_ABBREV_SECTION): Likewise. | |
15212 | (DEBUG_ARANGES_SECTION): Likewise. | |
15213 | (DEBUG_MACINFO_SECTION): Likewise. | |
15214 | (DEBUG_LINE_SECTION): Likewise. | |
15215 | (DEBUG_LOC_SECTION): Likewise. | |
15216 | (DEBUG_PUBNAMES_SECTION): Likewise. | |
15217 | (DEBUG_STR_SECTION): Likewise. | |
15218 | (DEBUG_RANGES_SECTION): Likewise. | |
15219 | (FRAME_BEGIN_LABEL): Must start with 'L' in debug section. | |
15220 | (ASM_OUTPUT_DWARF_OFFSET): New. | |
15221 | ||
515fdcc2 | 15222 | 2006-03-16 Joseph S. Myers <joseph@codesourcery.com> |
15223 | ||
15224 | * config.gcc (tm_defines): Always add to previous value rather | |
15225 | than replacing it. | |
15226 | ||
1a4d3221 | 15227 | 2006-03-16 Richard Sandiford <richard@codesourcery.com> |
15228 | ||
15229 | * config/mips/predicates.md (splittable_const_int_operand): New, | |
15230 | split from move_operand. | |
15231 | (splittable_symbolic_operand): New. | |
15232 | (move_operand): Add commentary. Use splittable_const_int_operand. | |
15233 | Inline mips_atomic_symbolic_constant_p. | |
15234 | * config/mips/mips.md: Add combine splitters for handling moves | |
15235 | of splittable_const_int_operands and splittable_symbolic_operands. | |
15236 | * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete. | |
15237 | (mips_split_symbol): Declare. | |
15238 | (mips_move_integer): Declare. | |
15239 | * config/mips/mips.c (mips_split_p): Make global. | |
15240 | (TARGET_MIN_ANCHOR_OFFSET): Override default. | |
15241 | (TARGET_MAX_ANCHOR_OFFSET): Likewise. | |
15242 | (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. | |
15243 | (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise. | |
15244 | (mips_offset_within_object_p): Handle block symbols. | |
15245 | (mips_atomic_symbolic_constant_p): Delete. | |
15246 | (mips_cannot_force_const_mem): Return false for constants that | |
15247 | mips_legitimize_move can handle. | |
15248 | (mips_use_blocks_for_constant_p): New function. | |
15249 | (mips_split_symbol): Make global. | |
15250 | (mips_move_integer): Likewise. Add a temporary register argument. | |
15251 | (mips_legitimize_const_move): Use splittable_const_int_operand and | |
15252 | splittable_symbolic_operand. | |
15253 | (mips_use_anchors_for_symbol_p): New function. | |
15254 | * config/mips/mips.h: Protect externs with !USED_FOR_TARGET. | |
d86ccd2c | 15255 | (mips_split_p): Declare. |
1a4d3221 | 15256 | |
42102a26 | 15257 | 2006-03-16 Richard Sandiford <richard@codesourcery.com> |
15258 | ||
15259 | * config.gcc (mips64*-*-linux*): Keep existing tm_defines. | |
15260 | (mips*-*-linux*): Likewise. | |
15261 | ||
905582c1 | 15262 | 2006-03-16 Roger Sayle <roger@eyesopen.com> |
15263 | Daniel Speyer <dspeyer@wam.umd.edu> | |
15264 | ||
15265 | PR middle-end/18259 | |
15266 | * tree-dump.c (dump_real): New function. | |
15267 | (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants. | |
15268 | * Makefile.in (REAL_H): New macro for dependencies on real.h. | |
15269 | (tree-dump.o): Add $(REAL_H) to the dependencies. | |
15270 | ||
f2ecae08 | 15271 | 2006-03-16 Roger Sayle <roger@eyesopen.com> |
15272 | ||
15273 | PR middle-end/21781 | |
15274 | * real.c (real_from_string): If the mantissa is zero, don't bother | |
15275 | parsing the exponent as the result should always be zero. | |
15276 | ||
dc44b957 | 15277 | 2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com> |
15278 | ||
15279 | * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms. | |
15280 | ||
ea13ae4c | 15281 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
15282 | ||
f3c616bc | 15283 | * config/ia64/ia64.c (stops_p): Added explicit initialization. |
15284 | (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, | |
15285 | ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn, | |
15286 | ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global, | |
ea13ae4c | 15287 | ia64_sched_finish_global): New static functions to implement |
15288 | hooks from gcc_target.sched. | |
15289 | (spec_check_no, max_uid, pending_data_specs): New static variables. | |
f3c616bc | 15290 | (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p, |
ea13ae4c | 15291 | ia64_spec_check_src_p): New static functions. |
f3c616bc | 15292 | (ia64_adjust_cost): Renamed to ia64_adjust_cost_2. |
15293 | (TARGET_SCHED_ADJUST_COST): Removed. | |
15294 | (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL, | |
ea13ae4c | 15295 | TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED, |
15296 | TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, | |
15297 | TARGET_SCHED_GEN_CHECK, | |
15298 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
f3c616bc | 15299 | TARGET_SCHED_SET_SCHED_FLAGS): New macros. |
15300 | (update_set_flags, group_barrier_needed, set_src_needs_barrier): | |
ea13ae4c | 15301 | Fixed to handle speculation checks. |
f3c616bc | 15302 | (rtx_needs_barrier): Fixed to handle speculative loads and |
15303 | their checks. | |
15304 | (ia64_variable_issue): Added code to count speculative loads and their | |
15305 | checks. | |
15306 | (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle | |
15307 | speculative loads. | |
15308 | (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): | |
15309 | New enumerations. | |
15310 | (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET): | |
15311 | New constants. | |
15312 | (ia64_ld_address_bypass_p): Fixed to handle speculative loads. | |
ea13ae4c | 15313 | (ia64_reorg): Reset stops_p to NULL after it is freed. |
f3c616bc | 15314 | * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA, |
ea13ae4c | 15315 | UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants. |
f3c616bc | 15316 | (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f, |
15317 | chk_a. | |
15318 | (data_speculative, control_speculative, check_load): New attributes. | |
15319 | (mov<mode>_advanced, mov<mode>_speculative, | |
15320 | mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced, | |
15321 | zero_extend<mode>di2_speculative, | |
15322 | zero_extend<mode>di2_speculative_advanced): New patterns for | |
15323 | data and control speculative loads. | |
15324 | (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for | |
15325 | check loads. | |
15326 | (advanced_load_check_clr_<mode>, speculation_check_<mode>): | |
15327 | New pattern for data and control speculation checks. | |
ea13ae4c | 15328 | (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr, |
15329 | ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr, | |
15330 | reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes): | |
15331 | Auxiliary definitions for the patterns. | |
f3c616bc | 15332 | * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a, |
15333 | 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource | |
15334 | constraints. | |
ea13ae4c | 15335 | (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition |
f3c616bc | 15336 | for speculation. |
15337 | (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i. | |
15338 | * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f, | |
ea13ae4c | 15339 | 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a): |
15340 | New resource constraints. | |
15341 | (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition | |
f3c616bc | 15342 | for speculation. |
15343 | (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i. | |
15344 | * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec, | |
15345 | msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, | |
15346 | msched-in-control-spec, msched-ldc, msched-control-ldc, | |
15347 | msched-spec-verbose, msched-prefer-non-data-spec-insns, | |
15348 | msched-prefer-non-control-spec-insns, | |
ea13ae4c | 15349 | msched-count-spec-in-critical-path): New flags to tune speculative |
15350 | scheduling. | |
15351 | * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec, | |
f3c616bc | 15352 | msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, |
15353 | msched-in-control-spec, msched-ldc, msched-control-ldc, | |
15354 | msched-spec-verbose, msched-prefer-non-data-spec-insns, | |
15355 | msched-prefer-non-control-spec-insns, | |
ea13ae4c | 15356 | msched-count-spec-in-critical-path): Document new flags. |
15357 | ||
6a1cdb4d | 15358 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
15359 | ||
f3c616bc | 15360 | * target.h (struct spec_info_def): New opaque declaration. |
15361 | (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended, | |
15362 | speculate_insn, needs_block_p, gen_check, | |
15363 | first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags. | |
15364 | * target-def.h (TARGET_SCHED_ADJUST_COST_2, | |
15365 | TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN, | |
15366 | TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK, | |
15367 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
15368 | TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in | |
15369 | gcc_target.sched. | |
15370 | (TARGET_SCHED): Use new macros. | |
15371 | * rtl.h (copy_DEPS_LIST_list): New prototype. | |
15372 | * sched-int.h (struct sched_info): Change signature of new_ready field, | |
6a1cdb4d | 15373 | adjust all initializations. New fields: add_remove_insn, |
f3c616bc | 15374 | begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg, |
6a1cdb4d | 15375 | region_head_or_leaf_p. |
f3c616bc | 15376 | (struct spec_info_def): New structure declaration. |
15377 | (spec_info_t): New typedef. | |
15378 | (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec, | |
15379 | recovery_block, orig_pat. | |
15380 | (glat_start, glat_end): New variables declaraions. | |
15381 | (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT): | |
6a1cdb4d | 15382 | New access macros. |
f3c616bc | 15383 | (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB, |
15384 | DETACH_LIFE_INFO, USE_GLAT. | |
15385 | (enum SPEC_SCHED_FLAGS): New enumeration. | |
15386 | (NOTE_NOTE_BB_P): New macro. | |
15387 | (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block, | |
15388 | attach_life_info, debug_spec_status, check_reg_live): New functions. | |
15389 | (get_block_head_tail): Change signature to get_ebb_head_tail, adjust | |
15390 | all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c, | |
15391 | sched-ebb.c | |
6a1cdb4d | 15392 | (get_dep_weak, ds_merge): Prototype functions from sched-deps.c . |
f3c616bc | 15393 | * ddg.c (get_block_head_tail): Adjust all uses. |
15394 | * modulo-sched.c (get_block_head_tail): Adjust all uses. | |
6a1cdb4d | 15395 | (sms_sched_info): Initialize new fields. |
15396 | (contributes_to_priority): Removed. | |
f3c616bc | 15397 | * haifa-sched.c (params.h): New include. |
6a1cdb4d | 15398 | (get_block_head_tail): Adjust all uses. |
f3c616bc | 15399 | (ISSUE_POINTS): New macro. |
15400 | (glat_start, glat_end): New global variables. | |
15401 | (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data, | |
6a1cdb4d | 15402 | nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header, |
15403 | old_last_basic_block, before_recovery, current_sched_info_var, | |
15404 | rgn_n_insns, luid): New static variables. | |
f3c616bc | 15405 | (insn_cost1): New function. Move logic from insn_cost to here. |
15406 | (find_insn_reg_weight1): New function. Move logic from | |
15407 | find_insn_reg_weight to here. | |
15408 | (reemit_notes, move_insn, max_issue): Change signature. | |
15409 | (move_insn1): Removed. | |
15410 | (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d, | |
15411 | extend_bb): New static functions to support extension of scheduler's | |
15412 | data structures. | |
15413 | (generate_recovery_code, process_insn_depend_be_in_spec, | |
15414 | begin_speculative_block, add_to_speculative_block, | |
15415 | init_before_recovery, create_recovery_block, create_check_block_twin, | |
15416 | fix_recovery_deps): New static functions to support | |
15417 | generation of recovery code. | |
15418 | (fix_jump_move, find_fallthru_edge, dump_new_block_header, | |
15419 | restore_bb_notes, move_block_after_check, move_succs): New static | |
15420 | functions to support ebb scheduling. | |
15421 | (init_glat, init_glat1, attach_life_info1, free_glat): New static | |
15422 | functions to support handling of register live information. | |
15423 | (associate_line_notes_with_blocks, change_pattern, speculate_insn, | |
6a1cdb4d | 15424 | sched_remove_insn, clear_priorities, calc_priorities, bb_note, |
15425 | add_jump_dependencies): New static functions. | |
f3c616bc | 15426 | (check_cfg, has_edge_p, check_sched_flags): New static functions for |
6a1cdb4d | 15427 | consistancy checking. |
15428 | (debug_spec_status): New function to call from debugger. | |
15429 | (priority): Added code to handle speculation checks. | |
15430 | (rank_for_schedule): Added code to distinguish speculative instructions. | |
15431 | (schedule_insn): Added code to handle speculation checks. | |
15432 | (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes): | |
15433 | Fixed to handle ebbs. | |
f3c616bc | 15434 | (move_insn): Added code to handle ebb scheduling. |
6a1cdb4d | 15435 | (max_issue): Added code to use ISSUE_POINTS of instructions. |
f3c616bc | 15436 | (choose_ready): Added code to choose between speculative and |
15437 | non-speculative instructions. | |
15438 | (schedule_block): Added code to handle ebb scheduling and scheduling of | |
15439 | speculative instructions. | |
15440 | (sched_init): Initialize new variables. | |
15441 | (sched_finish): Free new variables. Print statistics. | |
15442 | (try_ready): Added code to handle speculative instructions. | |
15443 | * lists.c (copy_DEPS_LIST_list): New function. | |
15444 | * sched-deps.c (extend_dependency_caches): New function. Move logic | |
15445 | from create_dependency_caches to here. | |
6a1cdb4d | 15446 | (get_dep_weak, ds_merge): Make global. |
f3c616bc | 15447 | * genattr.c (main): Code to output prototype for |
15448 | dfa_clear_single_insn_cache. | |
15449 | * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros. | |
15450 | (output_dfa_clean_insn_cache_func): Code to output | |
15451 | dfa_clear_single_insn_cache function. | |
15452 | * sched-ebb.c (target_n_insns): Remove. Adjust all users to use | |
6a1cdb4d | 15453 | n_insns. |
f3c616bc | 15454 | (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs): |
15455 | Removed. | |
15456 | (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb): | |
15457 | New static variables. | |
15458 | (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb, | |
6a1cdb4d | 15459 | fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from |
15460 | struct sched_info. | |
f3c616bc | 15461 | (ebb_sched_info): Initialize new fields. |
6a1cdb4d | 15462 | (get_block_head_tail): Adjust all uses. |
15463 | (compute_jump_reg_dependencies): Fixed to use glat_start. | |
15464 | (schedule_ebb): Code to remove unreachable last block. | |
f3c616bc | 15465 | (schedule_ebbs): Added code to update register live information. |
15466 | * sched-rgn.c (region_sched_info): Initialize new fields. | |
6a1cdb4d | 15467 | (get_block_head_tail): Adjust all uses. |
15468 | (last_was_jump): Removed. Adjust users. | |
f3c616bc | 15469 | (begin_schedule_ready, add_remove_insn, insn_points, extend_regions, |
6a1cdb4d | 15470 | add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p): |
15471 | Implement new hooks. | |
f3c616bc | 15472 | (check_dead_notes1): New static function. |
15473 | (struct region): New fields: dont_calc_deps, has_real_ebb. | |
15474 | (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros. | |
15475 | (BB_TO_BLOCK): Fixed to handle EBBs. | |
15476 | (EBB_FIRST_BB, EBB_LAST_BB): New macros. | |
15477 | (ebb_head): New static variable. | |
15478 | (debug_regions, contributes_to_priority): Fixed to handle EBBs. | |
15479 | (find_single_block_regions, find_rgns, find_more_rgns): Initialize | |
6a1cdb4d | 15480 | new fields. |
15481 | (compute_dom_prob_ps): New assertion. | |
f3c616bc | 15482 | (check_live_1, update_live_1): Fixed to work with glat_start instead of |
15483 | global_live_at_start. | |
6a1cdb4d | 15484 | (init_ready_list): New assertions. |
15485 | (can_schedule_ready_p): Split update code to begin_schedule_ready. | |
15486 | (new_ready): Add support for BEGIN_CONTROL speculation. | |
f3c616bc | 15487 | (schedule_insns): Fixed code that updates register live information |
15488 | to handle EBBs. | |
15489 | (schedule_region): Fixed to handle EBBs. | |
6a1cdb4d | 15490 | (init_regions): Use extend_regions and check_dead_notes1. |
f3c616bc | 15491 | * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY, |
15492 | PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters. | |
6a1cdb4d | 15493 | * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED, |
15494 | TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, | |
15495 | TARGET_SCHED_GEN_CHECK, | |
15496 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, | |
15497 | TARGET_SCHED_SET_SCHED_FLAGS): Document. | |
f3c616bc | 15498 | * doc/invoke.texi (max-sched-insn-conflict-delay, |
6a1cdb4d | 15499 | sched-spec-prob-cutoff): Document. |
15500 | ||
e4897000 | 15501 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
15502 | ||
f3c616bc | 15503 | * sched-int.h (struct haifa_insn_data): New fields: resolved_deps, |
e4897000 | 15504 | inter_tick, queue_index. |
15505 | (struct sched_info): Change signature of init_ready_list field. | |
15506 | Adjust all initializations. | |
15507 | (RESOLVED_DEPS): New access macro. | |
15508 | (ready_add): Remove prototype. | |
15509 | (try_ready): Add prototype. | |
15510 | * sched-rgn.c (init_ready_list): Use try_ready. | |
15511 | (schedule_region): Initialize | |
15512 | current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}. | |
15513 | * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info. | |
15514 | (init_ready_list): Use try_ready. | |
15515 | (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority. | |
15516 | * lists.c (remove_list_elem): Remove `static'. | |
15517 | (remove_free_INSN_LIST_elem): New function. | |
15518 | * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes. | |
15519 | * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros. | |
15520 | (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY): | |
15521 | New constants. | |
15522 | (readyp): New variable. | |
15523 | (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready, | |
15524 | change_queue_index, resolve_dep): New static functions. | |
15525 | (try_ready): New function. Adjust callers in sched-rgn.c and | |
15526 | sched-ebb.c to use it instead of ready_add. | |
15527 | (clock_var): Move at the begining of file. | |
15528 | (rank_for_schedule): Fix typo. | |
15529 | (queue_insn): Add assertion. Handle QUEUE_INDEX. | |
15530 | (ready_lastpos): Enforce assertion. | |
15531 | (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument, | |
15532 | update all callers. | |
15533 | (ready_remove_first, ready_remove): Handle QUEUE_INDEX. | |
15534 | (schedule_insn): Rewrite to use try_ready and resolve_dep. | |
15535 | (queue_to_ready): Use free_INSN_LIST_list. | |
15536 | (early_queue_to_ready): Fix typo. | |
15537 | (schedule_block): Init readyp. Move init_ready_list call after the | |
15538 | initialization of clock_var. Fix error in rejecting insn by | |
15539 | targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code | |
15540 | that previously corrected INSN_TICKs. Add code for handling | |
15541 | QUEUE_INDEX. | |
15542 | (set_priorities): Fix typo. | |
15543 | (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX. | |
15544 | Clarify comment and code that keeps current_sched_info->next_tail | |
15545 | non-null. | |
15546 | ||
4bfe0e7b | 15547 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
15548 | ||
15549 | * sched-rgn.c (extend_rgns): New static function. | |
15550 | (find_rgns): Use it. | |
15551 | (gather_region_statistics, print_region_statistics): New static | |
15552 | functions. | |
15553 | * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter. | |
f3c616bc | 15554 | * doc/invoke.texi (max-sched-extend-regions-iters): Document. |
4bfe0e7b | 15555 | |
4d64d9a4 | 15556 | 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
f3c616bc | 15557 | Andrey Belevantsev <abel@ispras.ru> |
4d64d9a4 | 15558 | |
15559 | * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call. | |
f3c616bc | 15560 | * lists.c (unused_deps_list): New variable. |
d86ccd2c | 15561 | (free_list): Add assertions to verify the proper distinguishing |
f3c616bc | 15562 | between INSN_LISTs and DEPS_LISTs. |
15563 | (find_list_elem, remove_list_elem, remove_list_node): New static | |
4d64d9a4 | 15564 | functions. |
f3c616bc | 15565 | (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node, |
15566 | remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem, | |
15567 | remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions. | |
15568 | (alloc_INSN_LIST): Assert that the list we're working on is indeed | |
4d64d9a4 | 15569 | an INSN_LIST. |
f3c616bc | 15570 | (free_INSN_LIST_node): Likewise. |
4d64d9a4 | 15571 | * modulo-sched.c (current_sched_info): Initialize flags field. |
15572 | * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT. | |
15573 | * rtl.def (DEPS_LIST): Define. | |
f3c616bc | 15574 | * rtl.h: Declare new functions from lists.c. |
15575 | * sched-deps.c (spec_dependency_cache): New static variable. | |
15576 | (maybe_add_or_update_back_dep_1, add_back_dep): New static functions. | |
15577 | (add_dependence): Change return type to void. Move the logic to ... | |
15578 | (add_or_update_back_dep_1): ... here. Handle speculative dependencies. | |
15579 | (delete_all_dependences): Add comment about forward_dependency_cache. | |
4d64d9a4 | 15580 | Handle spec_dependency_cache. Handle DEPS_LISTs. |
f3c616bc | 15581 | (fixup_sched_groups): Clarify the change of priority of output |
15582 | and anti dependencies. | |
15583 | (sched_analyze_2): Adjust add_dependence calls to create data | |
4d64d9a4 | 15584 | speculative dependence. |
f3c616bc | 15585 | (add_forward_dependence): Renamed to add_forw_dep, change prototype. |
4d64d9a4 | 15586 | Adjust all callers. Handle DEPS_LISTS. |
f3c616bc | 15587 | (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in |
4d64d9a4 | 15588 | presence of speculation. |
f3c616bc | 15589 | (init_dependency_caches, free_dependency_caches): |
4d64d9a4 | 15590 | Handle spec_dependency_cache. |
f3c616bc | 15591 | (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep, |
4d64d9a4 | 15592 | estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status): |
15593 | New static functions. | |
f3c616bc | 15594 | (add_or_update_back_dep, add_or_update_back_forw_dep, |
4d64d9a4 | 15595 | add_back_forw_dep, delete_back_forw_dep): New functions. |
15596 | * sched-int.h (ds_t, dw_t): New typedefs. | |
15597 | (struct sched_info): Add new field flags. | |
15598 | (struct haifa_insn_data): Add new bitfield has_internal_dep. | |
15599 | Prototype new sched-deps.c functions. | |
f3c616bc | 15600 | (HAS_INTERNAL_DEP, DEP_STATUS): New access macros. |
4d64d9a4 | 15601 | (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK, |
15602 | MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA, | |
15603 | BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC, | |
15604 | SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE, | |
15605 | SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP): | |
15606 | New constants. | |
f3c616bc | 15607 | (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS): |
4d64d9a4 | 15608 | New enums. |
15609 | * sched-rgn.c (current_sched_info): Initialize flags field. | |
15610 | (schedule_insns): Initialize current_sched_info before the sched_init | |
15611 | call. | |
15612 | * sched-ebb.c (current_sched_info): Initialize flags field. | |
15613 | (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P. | |
15614 | Call add_or_update_back_dep instead of add_dependence. | |
15615 | Create control speculative dependencies. | |
15616 | (schedule_insns): Initialize current_sched_info before the sched_init | |
15617 | call. | |
15618 | ||
439ce31f | 15619 | 2006-03-16 Kaz Kojima <kkojima@gcc.gnu.org> |
15620 | ||
15621 | * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set | |
15622 | fs->signal_frame. | |
15623 | (sh_fallback_frame_state): Likewise. | |
15624 | ||
3da996b9 | 15625 | 2006-03-15 Geoffrey Keating <geoffk@apple.com> |
15626 | ||
15627 | * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports. | |
15628 | Do switch on default_use_cxa_atexit. | |
15629 | (powerpc*-*-darwin*): Build crt2.o on powerpc. | |
15630 | * config/darwin-crt3.o: New. | |
15631 | * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default | |
15632 | to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use. | |
15633 | (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate | |
15634 | OS version. | |
15635 | * config/rs6000/t-darwin: Move crt2.o building to here. | |
15636 | * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update | |
15637 | Mac OS version for using __cxa_get_exception_ptr. Don't test versions | |
15638 | of __cxa_atexit. | |
15639 | ||
952259d9 | 15640 | 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
15641 | ||
15642 | * config/vax/vax.c (nonindexed_address_p): Change logical negation | |
15643 | from '! xxx' to '!xxx' for coding-style conformance. | |
15644 | * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise. | |
15645 | (EXTRA_CONSTRAINT): Likewise. | |
15646 | * config/vax/vax.md (four unnamed insns): Likewise. | |
d86ccd2c | 15647 | |
acc677e9 | 15648 | 2006-03-15 Paul Brook <paul@codesourcery.com> |
15649 | ||
15650 | * config/arm/arm.c (minipool_pad): New. | |
84901a95 | 15651 | (add_minipool_forward_ref): Include pool alignment padding in address |
acc677e9 | 15652 | calculation. |
15653 | (push_minipool_fix): Set minipool_pad. | |
15654 | (minipool_pad): Ditto. | |
15655 | ||
66a61c7f | 15656 | 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
15657 | ||
15658 | * config/vax/vax.c (split_quadword_operands): Use MEM_P() | |
15659 | instead of GET_CODE() == MEM and REG_P() instead of | |
15660 | GET_CODE() == REG. | |
15661 | (print_operand_address): Likewise. | |
15662 | (vax_address_cost): Likewise. | |
15663 | (vax_rtx_costs): Likewise. | |
15664 | (vax_notice_update_cc): Likewise. | |
15665 | (vax_output_int_add): Likewise. | |
15666 | (INDEX_REGISTER_P): Likewise. | |
15667 | (BASE_REGISTER_P): Likewise. | |
15668 | (nonindexed_address_p): Likewise. | |
15669 | (vax_mode_dependent_address_p): Likewise. | |
15670 | * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise. | |
15671 | (PRINT_OPERAND): Likewise. | |
15672 | * config/vax/vax.md (ashlsi3): Likewise. | |
15673 | (ashlsi3): Likewise. | |
15674 | (some more unnamed insns): Likewise. | |
15675 | ||
bfad1dc2 | 15676 | 2006-03-15 Kazu Hirata <kazu@codesourcery.com> |
15677 | ||
15678 | * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an | |
15679 | iterator-style macro. | |
15680 | (mark_control_dependent_edges_necessary): Update the use of | |
15681 | EXECUTE_IF_CONTROL_DEPENDENT. | |
15682 | ||
3d533137 | 15683 | 2006-03-15 J"orn Rennecke <joern.rennecke@st.com> |
15684 | ||
15685 | * config/sh/predicates.md (cache_address_operand): Special. | |
15686 | (ua_address_operand): Likewise. | |
15687 | ||
340690bf | 15688 | 2006-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
15689 | ||
15690 | * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle | |
15691 | loop notes. | |
15692 | * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto. | |
15693 | ||
79bd7049 | 15694 | 2006-03-15 Andreas Schwab <schwab@suse.de> |
15695 | ||
15696 | * gensupport.c (identify_predicable_attribute): Don't free p_false | |
15697 | when it is still in use. | |
15698 | ||
4c3202f0 | 15699 | 2006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr> |
15700 | ||
15701 | * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify | |
15702 | the default setting here. | |
15703 | ||
0afae420 | 15704 | 2006-03-14 Steven Bosscher <stevenb.gcc@gmail.com> |
15705 | ||
15706 | * tree-pass.h (pass_cfg): Remove. | |
15707 | * alias.c (rest_of_handle_cfg, pass_cfg): Remove. | |
15708 | * passes.c (pass_cfg): Don't run it. | |
15709 | ||
9500df50 | 15710 | 2006-03-14 Kazu Hirata <kazu@codesourcery.com> |
15711 | ||
15712 | * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h. | |
15713 | * reg-stack.c (stack_regs_mentioned_data): Change the type to | |
15714 | VEC(char,heap) *. | |
15715 | (stack_regs_mentioned): Update the uses of | |
15716 | stack_regs_mentioned_data. Don't access the array beyond its | |
15717 | end. | |
15718 | (reg_to_stack): Update the uses of stack_regs_mentioned_data. | |
15719 | Don't include gt-reg-stack.h. | |
15720 | ||
139086ed | 15721 | * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove. |
15722 | * system.h (UNALIGNED_WORD_ASM_OP): Poison. | |
15723 | ||
a2eceec3 | 15724 | * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove. |
15725 | ||
a50d6416 | 15726 | PR middle-end/26684 |
15727 | * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef | |
15728 | STACK_REGS. | |
15729 | ||
08ca9fd5 | 15730 | 2006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
15731 | ||
15732 | * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo. | |
15733 | ||
21658abb | 15734 | 2006-03-14 Richard Guenther <rguenther@suse.de> |
15735 | ||
15736 | PR tree-optimization/26672 | |
15737 | * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in | |
15738 | SSA form. | |
15739 | ||
4b4d4c92 | 15740 | 2006-03-14 Richard Guenther <rguenther@suse.de> |
15741 | ||
15742 | PR tree-optimization/26667 | |
15743 | * ipa-inline.c (cgraph_check_inline_limits): Walk the correct | |
15744 | node for the callees. Always allow inlining if it will shrink | |
15745 | the function size. | |
15746 | ||
3c15318e | 15747 | 2006-03-14 Richard Guenther <rguenther@suse.de> |
15748 | ||
15749 | PR middle-end/26659 | |
15750 | * builtins.c (get_pointer_alignment): Prefer alignment | |
15751 | information from decls over that from types. | |
15752 | ||
d0207a4d | 15753 | 2006-03-14 Andrew Pinski <pinskia@physics.uc.edu> |
15754 | ||
15755 | PR target/26657 | |
15756 | * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp. | |
15757 | ||
671169ac | 15758 | 2006-03-14 Joseph S. Myers <joseph@codesourcery.com> |
15759 | ||
15760 | * config/rs6000/rs6000.opt (mdlmzb): New option. | |
15761 | (msched-prolog, msched-epilog): Use Var not Mask. | |
15762 | * doc/invoke.texi (-mdlmzb): Document. | |
15763 | * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove | |
15764 | MASK_SCHED_PROLOG. | |
15765 | (rs6000_override_options): Enable -mdlmzb for 405 and 440. | |
15766 | * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440. | |
15767 | ||
6acc9746 | 15768 | 2006-03-13 Uttam Pawar <uttamp@us.ibm.com> |
15769 | ||
15770 | PR rtl-optimization/25739 | |
15771 | * bt-load.c (augment_live_range): Free tos pointer. | |
15772 | ||
15773 | * gensupport.c (identify_predicable_attribute): Free | |
15774 | p_false pointer. | |
15775 | * gcov.c (create_file_names): Free name pointer. | |
15776 | ||
a4047043 | 15777 | 2006-03-13 Roger Sayle <roger@eyesopen.com> |
15778 | ||
15779 | PR middle-end/26557 | |
15780 | * stmt.c (emit_case_nodes): Handle the case where the index is a | |
15781 | CONST_INT, where the comparison mode is specified by the index type. | |
15782 | ||
a8bf5f4a | 15783 | 2006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
15784 | ||
15785 | * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O | |
15786 | is defined. | |
15787 | ||
754a0dcd | 15788 | 2006-03-13 Richard Sandiford <richard@codesourcery.com> |
15789 | ||
15790 | * config/mips/mips.md (*branch_fp): Use %Z2 for the condition. | |
15791 | (*branch_fp_inverted): Likewise. | |
15792 | ||
6d63fc03 | 15793 | 2006-03-13 Jakub Jelinek <jakub@redhat.com> |
15794 | ||
15795 | PR middle-end/25989 | |
15796 | * omp-low.c (expand_omp_for_generic): Mark istart0 | |
15797 | and iend0 as addressable. | |
15798 | ||
624f1f0d | 15799 | 2006-03-13 Jie Zhang <jie.zhang@analog.com> |
15800 | ||
15801 | * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC. | |
15802 | ||
04dde933 | 15803 | 2006-03-13 Jeff Law <law@redhat.com> |
15804 | ||
15805 | * tree-vrp.c (stmt_interesting_for_vrp): Some statements with | |
15806 | virtual operands are interesting. | |
15807 | (vrp_visit_stmt): Corresponding changes. | |
15808 | ||
7e72504c | 15809 | 2006-03-13 Bernd Schmidt <bernd.schmidt@analog.com> |
15810 | ||
15811 | * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents | |
15812 | of RETS. | |
af228595 | 15813 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If |
15814 | TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__. | |
15815 | * config/bfin/crti.S: Use it instead of __PIC__. | |
15816 | * config/bfin/crtn.S: Likewise. | |
7e72504c | 15817 | |
ff9e05e9 | 15818 | * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol, |
15819 | call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY, | |
15820 | not if flag_pic. | |
15821 | Lose 'G' modifier for call operand. | |
15822 | * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't | |
15823 | recognize 'G' modifier. | |
15824 | ||
b655fbd3 | 15825 | 2006-03-13 Eric Botcazou <ebotcazou@adacore.com> |
15826 | ||
15827 | PR middle-end/18859 | |
15828 | * gimplify.c (gimplify_switch_expr): Discard empty ranges. | |
15829 | * stmt.c (expand_case): Likewise. | |
15830 | ||
1e41d0e2 | 15831 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
15832 | ||
15833 | PR rtl-optimization/26254 | |
15834 | * loop-invariant.c (seq_insns_valid_p): New function. | |
15835 | (move_invariant_reg): Only emit new code if it is valid. | |
15836 | ||
588aadb7 | 15837 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
15838 | ||
15839 | * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p): | |
15840 | Removed. | |
15841 | (force_nonfallthru_and_redirect): Do not use last_loop_beg_note. | |
15842 | (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p. | |
15843 | (commit_one_edge_insertion): Do not look for loop notes. | |
15844 | ||
d5bd32d8 | 15845 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
15846 | ||
15847 | * jump.c (follow_jumps): Do not check for loop notes. Move check for | |
15848 | flag_test_coverage out of loop. | |
15849 | ||
d84aa71e | 15850 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
15851 | ||
15852 | * final.c (shorten_branches): Remove outdated comment, and turn | |
15853 | the if branch that guards it to continue. | |
15854 | ||
58b3f902 | 15855 | 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
15856 | ||
15857 | * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field. | |
15858 | * cfgloop.h (struct loop): Remove unused fields. | |
15859 | ||
4bd4c502 | 15860 | 2006-03-13 Kazu Hirata <kazu@codesourcery.com> |
15861 | ||
15862 | * doc/invoke.texi (-fdump-rtl-loop): Remove. | |
d86ccd2c | 15863 | (-dL, -fdump-rtl-loop2): Update the dump file names |
4bd4c502 | 15864 | |
c2bdb197 | 15865 | * doc/invoke.texi: Update dump file names. |
15866 | ||
5018c250 | 15867 | 2006-03-12 Steven Bosscher <stevenb.gcc@gmail.com> |
15868 | ||
15869 | * predict.c (estimate_probability): Remove. | |
15870 | * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove. | |
15871 | * basic-block.h (estimate_probability): Remove prototype. | |
15872 | * passes.c (finish_optimization_passes): Dump branch prediction or | |
15873 | profiling heuristics to the .profile tree dump. | |
15874 | (init_optimization_passes): Unqueue pass_branch_prob. | |
15875 | ||
15876 | * doc/invoke.texi (-fdump-rtl-bp): Remove. | |
15877 | ||
158733a6 | 15878 | 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> |
15879 | ||
15880 | * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF. | |
15881 | * rtl.h (LABEL_NEXTREF): Remove field accessor. | |
15882 | ||
26d04e5f | 15883 | 2006-03-11 Eric Botcazou <ebotcazou@adacore.com> |
15884 | ||
15885 | * function.h (frame_offset_overflow): Declare. | |
15886 | * function.c (frame_offset_overflow): New function. | |
15887 | (assign_stack_local_1): Call it to detect that the offset overflows. | |
15888 | * cfgexpand.c (alloc_stack_frame_space): Likewise. | |
15889 | ||
49166fc3 | 15890 | 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> |
15891 | ||
15892 | * config/sh/sh.c: Include alloc-pool.h. | |
15893 | (label_ref_list_pool): New alloc pool. | |
15894 | (label_ref_list_t): New type for lists of labels. | |
15895 | (struct pool_node): Make wend a label_ref_list_t. | |
15896 | (add_constant): Use the new type, eradicate LABEL_NEXTREF | |
15897 | references. | |
15898 | (dump_table): Likewise. | |
15899 | (sh_reorg): Set up the alloc pool before using add_constant and | |
15900 | dump_table, and destroy it when finishing. | |
15901 | ||
e3cabaa6 | 15902 | 2006-03-11 Richard Sandiford <richard@codesourcery.com> |
15903 | ||
15904 | * config/mips/mips.c: Remove redundant comment. | |
15905 | ||
d217355e | 15906 | 2006-03-10 Jason Merrill <jason@redhat.com> |
15907 | ||
15908 | PR c/26004 | |
d86ccd2c | 15909 | * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if |
d217355e | 15910 | the target was declared 'register'. |
15911 | ||
19dd6f8c | 15912 | 2006-03-10 Adam Nemet <anemet@caviumnetworks.com> |
15913 | ||
15914 | * genpreds.c (write_insn_constraint_len): Change definition of | |
15915 | insn_constraint_len to return size_t to match the declaration. | |
15916 | ||
e282424f | 15917 | 2006-03-10 DJ Delorie <dj@redhat.com> |
15918 | ||
15919 | * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers | |
15920 | start at zero. | |
15921 | (m32c_expand_insv): Fix test for an AND mask. | |
15922 | ||
1eee24cf | 15923 | 2006-03-10 Richard Guenther <rguenther@suse.de> |
15924 | ||
15925 | PR middle-end/26565 | |
15926 | * builtins.c (get_pointer_alignment): Handle component | |
15927 | references for field alignment. | |
15928 | ||
65a1f1e9 | 15929 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> |
15930 | ||
15931 | * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h | |
15932 | when building with libgloss. | |
15933 | (sh*elf): Implement --without-fp option. | |
d86ccd2c | 15934 | (sh64-superh-linux*): Don't multilib. |
65a1f1e9 | 15935 | |
300b0e08 | 15936 | 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> |
15937 | ||
15938 | * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. | |
15939 | ||
1e4b21e3 | 15940 | 2006-03-09 Andrew Pinski <pinskia@physics.uc.edu> |
15941 | ||
15942 | * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable. | |
15943 | Set it when one of the replacement functions returned true. | |
15944 | Return TODO_cleanup_cfg if cfgchanged is true. | |
15945 | (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg. | |
15946 | ||
6b84145c | 15947 | 2006-03-09 Adam Nemet <anemet@caviumnetworks.com> |
15948 | ||
15949 | * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate | |
15950 | instead of gen_lowpart. | |
15951 | ||
fe2ed30d | 15952 | 2006-03-09 Richard Sandiford <richard@codesourcery.com> |
15953 | ||
15954 | * config/mips/mips-protos.h (mips_output_conditional_branch): Change | |
15955 | interface. | |
15956 | (mips_output_order_conditional_branch): Declare. | |
15957 | * config/mips/mips.h (MIPS_BRANCH): New macro. | |
15958 | * config/mips/mips.c (gen_conditional_branch): Use VOIDmode | |
15959 | for the comparison. Use gen_condjump. | |
15960 | (mips_output_conditional_branch): Rework interface to take the | |
15961 | asm templates for a direct branch and the inverse of a direct branch. | |
15962 | (mips_output_order_conditional_branch): New function. | |
15963 | (mips_builtin_branch_and_move): New function. | |
15964 | (mips_expand_builtin_compare): Use it. Use VOIDmode for the | |
15965 | branch condition. Use gen_single_cc as the condition for | |
15966 | __builtin_mips_upper_* or __builtin_mips_lower_*. | |
15967 | (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move. | |
15968 | Use VOIDmode for the branch condition. | |
15969 | * config/mips/predicates.md (order_operator): New predicate. | |
15970 | * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant. | |
15971 | (branch_fp): Rename to... | |
15972 | (*branch_fp): ...this. Remove mode from comparison operator. | |
15973 | Use new mips_output_conditional_branch interface. | |
15974 | (branch_fp_inverted): Rename to... | |
15975 | (*branch_fp_inverted): ...this and update as for *branch_fp. | |
15976 | (*branch_zero<mode>): Rename to... | |
15977 | (*branch_order<mode>): ...this. Remove mode from comparison operator. | |
15978 | Use mips_output_order_conditional_branch. Only accept ordered | |
d86ccd2c | 15979 | comparisons. |
fe2ed30d | 15980 | (*branch_zero<mode>_inverted): Rename to... |
15981 | (*branch_order<mode>_inverted): ...this and update as for | |
15982 | *branch_order<mode>. | |
15983 | (*branch_equality<mode>): Accept zero as the second operand to | |
15984 | the equality operator. Use the new mips_output_conditional_branch | |
15985 | interface. | |
15986 | (*branch_equality<mode>_inverted): Likewise. | |
15987 | (condjump): New expander. | |
15988 | * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison | |
15989 | operator. | |
15990 | * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise. | |
15991 | (bc1any2t, bc1any2f): Likewise. | |
15992 | (single_cc): New expander. | |
15993 | (*branch_upper_lower, *branch_upper_lower_inverted): New patterns. | |
15994 | ||
595e9041 | 15995 | 2006-03-09 Richard Sandiford <richard@codesourcery.com> |
15996 | ||
15997 | * doc/md.texi: Update documentation of MIPS constraints. | |
15998 | * config/mips/constraints.md: New file. | |
15999 | * config/mips/mips.md: Include it. | |
16000 | * config/mips/mips.c (mips_char_to_class): Delete. | |
16001 | (override_options): Don't initialize mips_char_to_class. | |
16002 | * config/mips/mips.h (mips_char_to_class): Delete. | |
16003 | (REG_CLASS_FROM_LETTER): Delete. | |
16004 | (CONST_OK_FOR_LETTER_P): Delete. | |
16005 | (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. | |
16006 | (EXTRA_CONSTRAINT_Y): Delete. | |
16007 | (EXTRA_CONSTRAINT_STR): Delete. | |
16008 | (CONSTRAINT_LEN): Delete. | |
16009 | (EXTRA_MEMORY_CONSTRAINT): Delete. | |
16010 | ||
8487df40 | 16011 | 2006-03-09 Diego Novillo <dnovillo@redhat.com> |
16012 | ||
16013 | * tree-cfg.c (move_block_to_fn): Remove the statements from the | |
16014 | original fn's eh regions. | |
16015 | ||
66108e20 | 16016 | 2006-03-09 Eric Botcazou <ebotcazou@adacore.com> |
16017 | ||
16018 | * fold-const.c (build_range_check): Make sure to use a valid type to | |
16019 | apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)" | |
16020 | transformation. | |
16021 | ||
16022 | (range_predecessor): New static function. | |
16023 | (range_successor): Likewise. | |
16024 | (merge_ranges): Use them to compute predecessors and successors of | |
16025 | range bounds. | |
16026 | ||
4e35b483 | 16027 | 2006-03-09 Roger Sayle <roger@eyesopen.com> |
16028 | ||
16029 | PR middle-end/26561 | |
16030 | * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as | |
16031 | X op C3, consider whether C3 overflows towards +Inf or -Inf. | |
16032 | ||
fedc146b | 16033 | 2006-03-08 DJ Delorie <dj@redhat.com> |
16034 | ||
16035 | * config/m32c/addsub.md (addqi3): Disparage a0/a1. | |
16036 | (addpsi3): Expand to include memory operands. Remove | |
16037 | reload-specific splits. | |
16038 | * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New. | |
16039 | (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New. | |
16040 | (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New. | |
16041 | (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders. | |
16042 | (shift1_qi, shift1_hi, insv): New. | |
16043 | * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove. | |
16044 | (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed, | |
16045 | cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc, | |
16046 | cond_to_int): New. | |
16047 | * config/m32c/m32c-protos.h: Update as needed. | |
16048 | * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't | |
16049 | default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1. | |
16050 | Fail for unrecognized R* constraints. | |
16051 | (m32c_cannot_change_mode_class): Be more picky about pseudos. | |
16052 | (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00. | |
16053 | (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)). | |
16054 | Add Sp constraint. | |
16055 | (m32c_init_libfuncs): New. | |
16056 | (m32c_legitimate_address_p): Add debug wrapper. | |
16057 | (m32c_rtx_costs): New. | |
16058 | (m32c_address_cost): New. | |
16059 | (conversions): Add 'B' prefix. | |
16060 | (m32c_print_operand): 'h' and 'H' pick lower and upper halves of | |
16061 | operands, or word regnames for QI operands. 'B' prints bit | |
16062 | position. | |
16063 | (m32c_expand_setmemhi): New. | |
16064 | (m32c_expand_movmemhi): New. | |
16065 | (m32c_expand_movstr): New. | |
16066 | (m32c_expand_cmpstr): New. | |
16067 | (m32c_prepare_shift): Shift counts are limited to 16 bits at a time. | |
16068 | (m32c_expand_neg_mulpsi3): Handle non-ints. | |
16069 | (m32c_cmp_flg_0): New. | |
16070 | (m32c_expand_movcc): New. | |
16071 | (m32c_expand_insv): New. | |
16072 | (m32c_scc_pattern): New. | |
16073 | * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take | |
16074 | a0/a1 out of SIregs. | |
16075 | (STORE_FLAG_VALUE): New. | |
16076 | * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and | |
16077 | code macros. | |
16078 | (no_insn): New. | |
16079 | * config/m32c/mov.md: Make constraints more liberal. | |
16080 | (zero_extendqihi2): Optimize r0/r1 case. | |
16081 | * config/m32c/muldiv.md (mulpsi3): Check for intvals. | |
16082 | * config/m32c/predicates.md (m32c_any_operand): New. | |
16083 | (m32c_nonimmediate_operand): New. | |
16084 | (m32c_hl_operand): New. | |
16085 | (m32c_r3_operand): New. | |
16086 | (ap_operand): New. | |
16087 | (ma_operand): New. | |
16088 | (memsym_operand): New. | |
16089 | (memimmed_operand): New. | |
16090 | (a_qi_operand): New. | |
16091 | (m32c_eqne_operator): New. | |
16092 | (m32c_1bit8_operand): New. | |
16093 | (m32c_1bit16_operand): New. | |
16094 | (m32c_1mask8_operand): New. | |
16095 | (m32c_1mask16_operand): New. | |
16096 | * config/m32c/blkmov.md: New file. | |
16097 | * config/m32c/t-m32c (MD_FILES): Add blkmov. | |
16098 | ||
e817549b | 16099 | 2006-03-08 Andreas Tobler <a.tobler@schweiz.ch> |
16100 | ||
963e1d38 | 16101 | * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum |
16102 | unsigned to fix signed/unsigned comparison issue in | |
16103 | DWARF2_FRAME_REG_OUT. | |
16104 | (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/ | |
16105 | unsigned comparison issue in DWARF2_FRAME_REG_OUT. | |
16106 | ||
e817549b | 16107 | * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration |
16108 | of ptr into the ENABLE_CHECKING section. | |
16109 | ||
581f1885 | 16110 | 2006-03-08 Jeff Law <law@redhat.com> |
16111 | ||
16112 | * tree-vrp.c (infer_value_range): Only count pointer uses | |
16113 | and dereferences if -fdelete-null-pointer-checks is enabled. | |
16114 | ||
16115 | * tree-vrp.c (find_assert_locations): Infer value ranges for | |
16116 | single use pointers, but do not create ASSERT_EXPRs for them. | |
16117 | When a non-null range is inferred for a pointer, backwards | |
16118 | propagate that range to other equivalent pointers through the | |
16119 | use-def chain. | |
16120 | ||
352ea6ae | 16121 | 2006-03-08 Paolo Bonzini <bonzini@gnu.org> |
16122 | ||
16123 | PR bootstrap/26500 | |
16124 | * Makefile.in (dvi, html, install-info): Invoke the corresponding | |
16125 | language hook targets. | |
16126 | * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in, | |
16127 | objcp/Make-lang.in: Create stub rules for dvi, html, install-info | |
16128 | if language hook targets were missing. | |
16129 | ||
b5b59dda | 16130 | 2006-03-07 Zdenek Dvorak <dvorakz@suse.cz> |
16131 | ||
16132 | * tree-ssa-opfinalize.h: Removed. | |
16133 | * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h | |
16134 | dependency. | |
16135 | * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h. | |
16136 | (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, | |
16137 | INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op, | |
16138 | add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops, | |
16139 | finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops, | |
16140 | finalize_ssa_v_must_def_ops): New. | |
16141 | ||
ede04110 | 16142 | 2006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com> |
16143 | ||
16144 | * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong | |
16145 | block as parameter. | |
16146 | ||
c98ee857 | 16147 | 2006-03-07 Geoffrey Keating <geoffk@apple.com> |
16148 | ||
c61867e3 | 16149 | * varasm.c (assemble_end_function): Say that 'fnname' is unused. |
16150 | ||
5a70bf2d | 16151 | * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin |
16152 | addresses with offsets; reorganize. | |
16153 | ||
c98ee857 | 16154 | * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file. |
16155 | (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT. | |
16156 | (expand_builtin_init_dwarf_reg_sizes): Likewise. | |
16157 | ||
1e18cf39 | 16158 | 2006-03-08 David Billinghurst <David.Billinghurst@riotinto.com> |
16159 | ||
16160 | PR target/26588 | |
16161 | * config/i386/cygwin.h (GOMP_SELF_SPECS): Define. | |
16162 | ||
edc6a305 | 16163 | 2006-03-08 Ben Elliston <bje@au.ibm.com> |
16164 | ||
16165 | * config/fp-bit.h (CMPtype): Typedef to a word mode integer. | |
16166 | ||
2a4b6f84 | 16167 | 2006-03-07 Aldy Hernandez <aldyh@redhat.com> |
16168 | ||
16169 | PR gomp/26238 | |
16170 | * doc/passes.texi (Tree-SSA passes): Document omp lowering and | |
16171 | expansion. | |
16172 | ||
3c2aae8b | 16173 | 2006-03-07 Richard Guenther <rguenther@suse.de> |
16174 | ||
16175 | PR tree-optimization/26587 | |
16176 | * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR. | |
16177 | ||
841b1537 | 16178 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> |
16179 | ||
16180 | * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION. | |
16181 | ||
2dbdc48e | 16182 | 2006-03-07 Richard Sandiford <richard@codesourcery.com> |
16183 | ||
16184 | * hooks.c (hook_bool_mode_rtx_true): New function. | |
16185 | * hooks.h (hook_bool_mode_rtx_true): Declare. | |
16186 | * toplev.c (compile_file): Call output_shared_constant_pool. | |
16187 | * varasm.c (shared_constant_pool): New variable. | |
16188 | (assemble_start_function, assemble_end_function): Remove arguments | |
16189 | from call to output_constant_pool. | |
16190 | (create_constant_pool): New function, split out from... | |
16191 | (init_varasm_status): ...here. | |
16192 | (force_const_mem): Choose between the shared and per-function constant | |
16193 | pools. Set current_function_uses_const_pool when reusing old entries | |
16194 | as well as when creating new ones. | |
16195 | (mark_constant): Ignore data argument. | |
16196 | (mark_constants): Remove pool argument. | |
16197 | (mark_constant_pool): Likewise. Use current_function_uses_const_pool | |
16198 | to decide whether the function uses a constant pool. | |
16199 | (output_constant_pool_contents): New function, split out from... | |
16200 | (output_constant_pool): ...here. | |
16201 | (output_shared_constant_pool): New function. | |
16202 | (init_varasm_once): Initialize shared_constant_pool. | |
16203 | * output.h (output_constant_pool): Delete. | |
16204 | (output_shared_constant_pool): Declare. | |
16205 | * config/s390/s390-protos.h (s390_output_constant_pool): Delete. | |
16206 | * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override. | |
16207 | ||
7e6711a1 | 16208 | 2006-03-06 Nick Clifton <nickc@redhat.com> |
16209 | ||
16210 | * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to | |
16211 | flag_strength_reduce. | |
16212 | ||
ccfed050 | 16213 | 2006-03-06 Ben Elliston <bje@au.ibm.com> |
16214 | ||
1eb5a89d | 16215 | * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and |
16216 | x86_64-*-linux* configurations. | |
16217 | ||
ccfed050 | 16218 | * config/dfp-bit.h (CMPtype): Typedef to a word mode integer. |
ad0d48bc | 16219 | (LIBGCC2_WORDS_BIG_ENDIAN): Define. |
ccfed050 | 16220 | |
7c568de5 | 16221 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
16222 | ||
16223 | * tree-ssa-threadupdate.c (rediscover_loops_after_threading): | |
16224 | Remove. | |
16225 | * basic-block.h: Remove the extern for | |
16226 | rediscover_loops_after_threading. | |
16227 | ||
77cbebb3 | 16228 | * cfgloop.c (cancel_loop): Make it static. |
16229 | * cfgloop.h: Remove the prototype for cancel_loop. | |
16230 | ||
fcea7c5b | 16231 | * flow.c (recompute_reg_usage): Make it static. |
16232 | * rtl.h: Remove the prototype for recompute_reg_usage. | |
16233 | ||
ab4605bf | 16234 | * function.c (use_return_register): Make it static. |
16235 | * function.h: Remove the prototype. | |
16236 | ||
2be0aefa | 16237 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
16238 | ||
16239 | * recog.c (volatile_mem_p, validate_change_maybe_volatile): | |
16240 | Remove. | |
16241 | * recog.h: Remove the prototype for | |
16242 | validate_change_maybe_volatile. | |
16243 | ||
5659dce0 | 16244 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
16245 | ||
16246 | * rtlanal.c (replace_reg): Remove. | |
16247 | * rtl.h: Remove the prototype for replace_reg. | |
16248 | ||
03dd3bfb | 16249 | 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
16250 | ||
16251 | * regclass.c (reg_scan_update): Remove. | |
16252 | (reg_scan_mark_refs): Remove the last argument. | |
16253 | * rtl.h: Remove the prototype for reg_scan_update. | |
16254 | ||
334ec2d8 | 16255 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
16256 | ||
16257 | * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c, | |
16258 | combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c, | |
16259 | config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c, | |
16260 | config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c, | |
16261 | df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c, | |
16262 | loop-invariant.c, omp-low.c, opts.c, passes.c, | |
16263 | rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c, | |
16264 | tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, | |
16265 | tree-ssa-structalias.c, tree-ssa-threadedge.c, | |
16266 | tree-ssa-threadupdate.c, tree-vect-patterns.c, | |
16267 | tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c, | |
16268 | unwind-dw2.c: Fix comment typos. Follow spelling conventions. | |
16269 | ||
304ef384 | 16270 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
16271 | ||
16272 | * dwarf2out.c (dwarf2out_add_library_unit_info): Remove. | |
16273 | * dwarf2out.h: Remove the prototype for | |
16274 | dwarf2out_add_library_unit_info. | |
16275 | ||
6b6977c0 | 16276 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
16277 | ||
16278 | * tree.c (add_var_to_bind_expr): Remove. | |
16279 | * tree.h: Remove the prototype for add_var_to_bind_expr. | |
16280 | ||
2724c347 | 16281 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
16282 | ||
16283 | * regclass.c (n_non_fixed_regs): Remove. | |
16284 | (init_reg_sets_1, globalize_reg): Remove all uses of | |
16285 | n_non_fixed_regs. | |
16286 | * hard-reg-set.h: Remove the extern for n_non_fixed_regs. | |
16287 | ||
50d82c3c | 16288 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
16289 | ||
16290 | * rtlanal.c (insns_safe_to_move_p): Remove. | |
16291 | * rtl.h: Remove the prototype for insns_safe_to_move_p. | |
16292 | ||
f0aa697e | 16293 | 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
16294 | ||
16295 | * expmed.c (expand_mult_add): Remove. | |
16296 | * expr.h: Remove the prototype for expand_mult_add. | |
16297 | ||
706f0818 | 16298 | 2006-03-04 Jakub Jelinek <jakub@redhat.com> |
16299 | ||
16300 | * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET | |
16301 | and REG_SAVED_VAL_EXP constants. | |
16302 | * unwind-dw2.c (struct _Unwind_Context): Add by_value array. | |
16303 | (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): | |
16304 | Handle regs stored by value. | |
16305 | (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. | |
16306 | (execute_cfa_program): Handle DW_CFA_val_offset, | |
16307 | DW_CFA_val_offset_sf and DW_CFA_val_expression. | |
16308 | (uw_update_context_1): Handle REG_SAVED_REG with regs stored by | |
16309 | value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. | |
16310 | (uw_install_context_1): Handle target regs stored by value. | |
16311 | ||
c96420f8 | 16312 | 2006-03-03 Daniel Berlin <dberlin@dberlin.org> |
16313 | ||
16314 | * tree-sra.c (tree_sra): Return todoflags; | |
16315 | (generate_one_element): Set TODO_update_smt_usage if needed. | |
16316 | (pass_sra): Remove TODO_update_smt_usage. | |
16317 | * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some | |
16318 | parameter. | |
16319 | (tree_ssa_forward_propagate_single_use_vars): Return | |
16320 | TODO_update_smt_usage if we need to update SMT usage. | |
16321 | (pass_forwprop): Remove TODO_update_smt_usage. | |
d86ccd2c | 16322 | |
f6255040 | 16323 | 2006-03-03 Diego Novillo <dnovillo@redhat.com> |
16324 | ||
16325 | * tree-ssa-operands.c: Tidy whitespace. Fix spelling. | |
16326 | (correct_use_link): Remove reference to get_stmt_operands. | |
16327 | (update_stmt_operands): Likewise. | |
16328 | (get_modify_expr_operands): New function factored out of | |
16329 | parse_ssa_operands and get_expr_operands. | |
16330 | Try to create V_MUST_DEFs for LHS by default. | |
16331 | (get_expr_operands) <case MODIFY_EXPR>: Call | |
16332 | get_modify_expr_operands. | |
16333 | <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF. | |
16334 | <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS. | |
16335 | (parse_ssa_operands) <case MODIFY_EXPR>: Call | |
16336 | get_modify_expr_operands. | |
16337 | ||
bd6a8ada | 16338 | 2006-03-03 Kazu Hirata <kazu@codesourcery.com> |
16339 | ||
16340 | * tree-dfa.c (referenced_var_lookup_if_exists): Remove. | |
16341 | * tree-flow.h: Remove the prototype for | |
16342 | referenced_var_lookup_if_exists. | |
16343 | ||
6e7b5d10 | 16344 | 2006-03-03 Steve Ellcey <sje@cup.hp.com> |
16345 | ||
16346 | PR rtl-optimization/26345 | |
16347 | PR target/19061 | |
16348 | * config/ia64/predicates.md (basereg_operand): Don't look in subregs. | |
16349 | ||
560af66a | 16350 | 2006-03-03 Roger Sayle <roger@eyesopen.com> |
16351 | ||
16352 | PR tree-optimization/26524 | |
16353 | * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use | |
16354 | fold_convert to create a constant of the appropriate type. | |
16355 | ||
6617cbc1 | 16356 | 2006-03-03 Richard Sandiford <richard@codesourcery.com> |
16357 | ||
16358 | * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
16359 | SYMBOL_REF_IN_BLOCK_P. | |
16360 | * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead | |
16361 | of SYMBOL_FLAG_IN_BLOCK. | |
16362 | * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P | |
16363 | instead of SYMBOL_REF_IN_BLOCK_P. | |
16364 | * explow.c (use_anchored_address): Likewise. | |
16365 | * rtl.c (rtx_size): Likewise. | |
16366 | * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO | |
16367 | instead of SYMBOL_FLAG_IN_BLOCK. | |
16368 | (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
16369 | SYMBOL_REF_IN_BLOCK_P. | |
16370 | (assemble_variable): Likewise. | |
16371 | (output_constant_def_contents): Likewise. | |
16372 | (output_constant_pool): Likewise. | |
16373 | (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO | |
16374 | instead of SYMBOL_FLAG_IN_BLOCK. | |
16375 | * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
16376 | SYMBOL_REF_IN_BLOCK_P. | |
16377 | (SYMBOL_REF_BLOCK): Likewise. | |
16378 | (SYMBOL_REF_OFFSET): Likewise. | |
16379 | (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of | |
16380 | SYMBOL_REF_IN_BLOCK_P. | |
16381 | (SYMBOL_FLAG_IN_BLOCK): Replace with... | |
16382 | (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this. | |
16383 | (SYMBOL_REF_IN_BLOCK_P): Replace with... | |
16384 | (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this. | |
16385 | ||
cb21f406 | 16386 | 2006-03-03 Jakub Jelinek <jakub@redhat.com> |
16387 | ||
16388 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. | |
16389 | ||
4a9a1e2b | 16390 | 2006-03-02 Roger Sayle <roger@eyesopen.com> |
16391 | ||
16392 | * simplify-rtx.c (simplify_unary_operation): When simplifying | |
16393 | (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure | |
16394 | that we perform the right shift in the appropriate mode, and | |
16395 | then extend or truncate the result to requested mode. | |
16396 | ||
99748102 | 16397 | 2006-03-03 Zdenek Dvorak <dvorakz@suse.cz> |
16398 | ||
16399 | * gengtype.c (main): Handle double_int type. | |
16400 | * tree.h (struct tree_int_cst): Make type of int_cst double_int. | |
16401 | * double-int.c: New file. | |
16402 | * double-int.h: New file. | |
16403 | * system.h: Include doubleint.h. | |
16404 | * Makefile.in (SYSTEM_H): Include double-int.h. | |
16405 | (double-int.o): Add. | |
16406 | ||
afba2e80 | 16407 | 2006-03-03 Joseph S. Myers <joseph@codesourcery.com> |
16408 | ||
16409 | PR bootstrap/26478 | |
16410 | * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before | |
16411 | copying over it. | |
16412 | ||
63945aec | 16413 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
16414 | ||
4a9a1e2b | 16415 | * tree-vrp.c (remove_range_assertions): Do not update statements |
16416 | unnecessarily. | |
63945aec | 16417 | |
da0f98a7 | 16418 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
16419 | ||
16420 | * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg | |
16421 | cleanup. | |
16422 | * gcse.c (rest_of_handle_gcse): Ditto. | |
16423 | * except.c (gate_handle_eh): Ditto. | |
16424 | * cfgcleanup.c (rest_of_handle_jump2): Ditto. | |
16425 | * basic-block.h (CLEANUP_PRE_LOOP): Remove. | |
16426 | ||
77180ce5 | 16427 | 2006-03-02 Eric Christopher <echristo@apple.com> |
16428 | ||
16429 | * config/i386/i386.c (machopic_output_stub): Add indirection to | |
16430 | jump. | |
16431 | ||
7d3c6452 | 16432 | 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
16433 | ||
16434 | * loop.c: Removed. | |
16435 | ||
6dbce0cb | 16436 | 2006-03-02 David S. Miller <davem@sunset.davemloft.net> |
16437 | ||
16438 | Sun Niagara specific optimizations. | |
16439 | * config.gcc: Recognize niagara as target. | |
16440 | * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara. | |
16441 | (TARGET_CPU_niagara): Define. | |
16442 | (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara. | |
16443 | (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara. | |
16444 | (CPP_CPU_SPEC): Handle -mcpu=niagara. | |
16445 | (ASM_CPU_SPEC): Likewise. | |
16446 | (PROCESSOR_NIAGARA): New enum entry. | |
16447 | (REGISTER_MOVE_COST): Handle Niagara. | |
16448 | (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise. | |
16449 | * config/sparc/sparc.c (niagara_costs): New processor_costs entry. | |
16450 | (sparc_override_options): Recognize "niagara", set appropriate | |
16451 | default MASK_* values for it, and align functions to 32-bytes | |
16452 | by default just like ULTRASPARC/ULTRASPARC3. | |
16453 | (sparc_initialize_trampoline): Handle niagara like ultrasparc. | |
16454 | (sparc64_initialize_trampoline): Likewise. | |
16455 | (sparc_use_sched_lookahead): Use zero for niagara. | |
16456 | (sparc_issue_rate): Use one for niagara. | |
16457 | * config/sparc/niagara.md: New file. | |
16458 | * config/sparc/sparc.md: Include it. | |
16459 | * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC, | |
16460 | ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately | |
16461 | when default cpu is niagara. | |
16462 | (CPP_CPU_SPEC): Handle -mcpu=niagara. | |
16463 | (ASM_CPU_SPEC): Likewise. | |
16464 | * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately | |
16465 | when default cpu is niagara. | |
16466 | (ASM_CPU_SPEC): Handle -mcpu=niagara. | |
16467 | * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara | |
16468 | just like v9/ultrasparc/ultrasparc3. | |
16469 | * doc/invoke.texi: Add documentation for "niagara" and improve | |
16470 | existing documentation for ultrasparc variants. | |
77180ce5 | 16471 | |
7dd75889 | 16472 | 2006-03-02 Diego Novillo <dnovillo@redhat.com> |
16473 | ||
16474 | * tree-ssa-operands.c (update_stmt_operands): Update documentation. | |
16475 | ||
102e3995 | 16476 | 2006-03-02 Richard Sandiford <richard@codesourcery.com> |
16477 | ||
16478 | * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document. | |
16479 | (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS, | |
16480 | and say that only one is needed. | |
16481 | * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null. | |
16482 | * target.h (have_switchable_bss_sections): New hook. | |
16483 | * explow.c (use_anchored_address): Check that the symbol is in a block. | |
16484 | * varasm.c (tls_comm_section, comm_section, lcomm_section) | |
16485 | (bss_noswitch_section): New variables. | |
16486 | (get_unnamed_section): Add SECTION_UNNAMED to the flags. | |
16487 | (get_noswitch_section): New function. | |
16488 | (get_block_for_section): Allow SECT to be null. | |
16489 | (unlikely_text_section_p): Use SECTION_STYLE. | |
16490 | (bss_initializer_p): New function. | |
16491 | (get_variable_section): Move earlier in file. Take a new argument, | |
16492 | prefer_noswitch_p. Move bss checks from assemble_variable to here. | |
16493 | Return one of the new *_sections in such cases. | |
16494 | (get_block_for_decl): New function, extracting some logic from | |
16495 | use_blocks_for_decl_p. | |
16496 | (change_symbol_section): Remove in favor of... | |
16497 | (change_symbol_block): ...this new function. | |
16498 | (use_blocks_for_decl_p): Remove checks now performed by | |
16499 | get_block_for_decl. | |
16500 | (make_decl_rtl): Use change_symbol_block and get_block_for_decl. | |
16501 | (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of... | |
16502 | (emit_local, emit_bss, emit_common): ...these new functions. | |
16503 | Return true if the alignment was honored. | |
16504 | (emit_tls_common): New function. | |
16505 | (asm_emit_uninitialised): Delete. | |
16506 | (assemble_variable_noswitch): New function, split out from... | |
16507 | (assemble_variable): ...here. Don't make decisions about common | |
16508 | variables here. Globalize all public decls that go into non-common | |
16509 | sections. Check whether SYMBOL_REF_BLOCK is null. | |
16510 | (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null. | |
16511 | (output_constant_pool): Likewise. | |
16512 | (init_varasm_once): Initialize the new section variables. | |
16513 | (have_global_bss_p): New function. | |
16514 | (categorize_decl_for_section): Use bss_initializer_p. | |
16515 | (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH. | |
16516 | (place_block_symbol): Assert that the symbol must be in a block. | |
16517 | * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro. | |
16518 | (TARGET_INITIALIZER): Include it. | |
16519 | * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative. | |
16520 | * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros. | |
16521 | (SECTION_MACH_DEP): Bump by two. | |
16522 | (SECTION_UNNAMED, SECTION_NOSWITCH): New macros. | |
16523 | (unnamed_section): Mention SECTION_UNNAMED in comment. | |
16524 | (named_section): Likewise SECTION_NAMED. | |
16525 | (noswitch_section_callback): New type. | |
16526 | (noswitch_section): New structure. | |
16527 | (section): Add a noswitch_section alternative. | |
16528 | (SECTION_STYLE): New macro. | |
16529 | (tls_comm_section, comm_section, lcomm_section): Declare. | |
16530 | (bss_noswitch_section, have_global_bss_p): Declare. | |
16531 | * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. | |
16532 | * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): | |
16533 | Override. | |
16534 | * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. | |
16535 | * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): | |
16536 | Override. | |
16537 | ||
2a1990e9 | 16538 | 2006-03-02 Daniel Berlin <dberlin@dberlin.org> |
16539 | ||
cf8cdd54 | 16540 | * tree-vrp.c (execute_vrp): Return value. |
16541 | * regrename.c (rest_of_handle_regrename): Ditto. | |
16542 | * tree-into-ssa.c (rewrite_into_ssa): Ditto. | |
16543 | * tree-complex.c (tree_lower_complex): Ditto. | |
2a1990e9 | 16544 | (tree_lower_complex_O0): Ditto. |
cf8cdd54 | 16545 | * tracer.c (rest_of_handle_tracer): Ditto. |
16546 | * postreload-gcse.c (rest_of_handle_gcse2): Ditto. | |
16547 | * postreload.c (rest_of_handle_postreload): Ditto. | |
16548 | * tree-tailcall.c (execute_tail_recursion): Ditto. | |
2a1990e9 | 16549 | (execute_tail_calls): Ditto. |
cf8cdd54 | 16550 | * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. |
16551 | * tree.h (init_function_for_compilation): Ditto. | |
16552 | * ipa-cp.c (ipcp_driver): Ditto. | |
16553 | * tree-scalar-evolution.c (scev_const_prop): Ditto. | |
16554 | * tree-scalar-evolution.h (scev_const_prop): Ditto. | |
16555 | * final.c (compute_alignments): Ditto. | |
2a1990e9 | 16556 | (rest_of_handle_final): Ditto. |
16557 | (rest_of_handle_shorten_branches): Ditto. | |
16558 | (rest_of_clean_state): Ditto. | |
cf8cdd54 | 16559 | * omp-low.c (execute_expand_omp): Ditto. |
2a1990e9 | 16560 | (execute_lower_omp): Ditto. |
cf8cdd54 | 16561 | * tree-ssa-dse.c (tree_ssa_dse): Ditto. |
16562 | * ipa-reference.c (static_execute): Ditto. | |
16563 | * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto. | |
16564 | * reorg.c (rest_of_handle_delay_slots): Ditto. | |
2a1990e9 | 16565 | (rest_of_handle_machine_reorg): Ditto. |
cf8cdd54 | 16566 | * cgraphunit.c (rebuild_cgraph_edges): Ditto. |
16567 | * flow.c (recompute_reg_usage): Ditto. | |
2a1990e9 | 16568 | (rest_of_handle_remove_death_notes): Ditto. |
16569 | (rest_of_handle_life): Ditto. | |
16570 | (rest_of_handle_flow2): Ditto. | |
cf8cdd54 | 16571 | * tree-ssa-copyrename.c (rename_ssa_copies): Ditto. |
16572 | * tree-ssa-ccp.c (do_ssa_ccp): Ditto. | |
2a1990e9 | 16573 | (do_ssa_store_ccp): Ditto. |
16574 | (execute_fold_all_builtins): Ditto. | |
cf8cdd54 | 16575 | * mode-switching.c (rest_of_handle_mode_switching): Ditto. |
16576 | * modulo-sched.c (rest_of_handle_sms): Ditto. | |
16577 | * ipa-pure-const.c (static_execute): Ditto. | |
16578 | * cse.c (rest_of_handle_cse): Ditto. | |
2a1990e9 | 16579 | (rest_of_handle_cse2): Ditto. |
cf8cdd54 | 16580 | * web.c (rest_of_handle_web): Ditto. |
16581 | * tree-stdarg.c (execute_optimize_stdarg): Ditto. | |
16582 | * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto. | |
16583 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. | |
16584 | * tree-nrv.c (tree_nrv): Ditto. | |
2a1990e9 | 16585 | (execute_return_slot_opt): Ditto. |
cf8cdd54 | 16586 | * tree-ssa-alias.c (compute_may_aliases): Ditto. |
2a1990e9 | 16587 | (create_structure_vars): Ditto. |
cf8cdd54 | 16588 | * loop-init.c (rtl_loop_init): Ditto. |
2a1990e9 | 16589 | (rtl_loop_done): Ditto. |
16590 | (rtl_move_loop_invariants): Ditto. | |
16591 | (rtl_unswitch): Ditto. | |
16592 | (rtl_unroll_and_peel_loops): Ditto. | |
16593 | (rtl_doloop): Ditto. | |
cf8cdd54 | 16594 | * gimple-low.c (lower_function_body): Ditto. |
2a1990e9 | 16595 | (mark_used_blocks): Ditto. |
cf8cdd54 | 16596 | * tree-ssa-sink.c (execute_sink_code): Ditto. |
16597 | * ipa-inline.c (cgraph_decide_inlining): Ditto. | |
2a1990e9 | 16598 | (cgraph_early_inlining): Ditto. |
cf8cdd54 | 16599 | * global.c (rest_of_handle_global_alloc): Ditto. |
16600 | * jump.c (cleanup_barriers): Ditto. | |
2a1990e9 | 16601 | (purge_line_number_notes): Ditto. |
cf8cdd54 | 16602 | * ifcvt.c (rest_of_handle_if_conversion): Ditto. |
2a1990e9 | 16603 | (rest_of_handle_if_after_reload): Ditto. |
cf8cdd54 | 16604 | * tree-ssa-loop.c (tree_ssa_loop_init): Ditto. |
2a1990e9 | 16605 | (tree_ssa_loop_im): Ditto. |
16606 | (tree_ssa_loop_unswitch): Ditto. | |
16607 | (tree_vectorize): Ditto. | |
16608 | (tree_linear_transform): Ditto. | |
16609 | (tree_ssa_loop_ivcanon): Ditto. | |
16610 | (tree_ssa_empty_loop): Ditto. | |
16611 | (tree_ssa_loop_bounds): Ditto. | |
16612 | (tree_complete_unroll): Ditto. | |
16613 | (tree_ssa_loop_prefetch): Ditto. | |
16614 | (tree_ssa_loop_ivopts): Ditto. | |
16615 | (tree_ssa_loop_done): Ditto. | |
cf8cdd54 | 16616 | * predict.c (tree_estimate_probability): Ditto. |
16617 | * recog.c (split_all_insns_noflow): Ditto. | |
2a1990e9 | 16618 | (rest_of_handle_peephole2): Ditto. |
16619 | (rest_of_handle_split_all_insns): Ditto. | |
cf8cdd54 | 16620 | * tree-eh.c (lower_eh_constructs): Ditto. |
16621 | * regmove.c (rest_of_handle_regmove): Ditto. | |
2a1990e9 | 16622 | (rest_of_handle_stack_adjustments): Ditto. |
cf8cdd54 | 16623 | * local-alloc.c (rest_of_handle_local_alloc): Ditto. |
16624 | * function.c (instantiate_virtual_regs): Ditto. | |
2a1990e9 | 16625 | (init_function_for_compilation): Ditto. |
16626 | (rest_of_handle_check_leaf_regs): Ditto. | |
cf8cdd54 | 16627 | * gcse.c (rest_of_handle_jump_bypass): Ditto. |
2a1990e9 | 16628 | (rest_of_handle_gcse): Ditto. |
cf8cdd54 | 16629 | * ipa-type-escape.c (type_escape_execute): Ditto. |
16630 | * alias.c (rest_of_handle_cfg): Ditto. | |
16631 | * tree-if-conv.c (main_tree_if_conversion): Ditto. | |
16632 | * profile.c (rest_of_handle_branch_prob): Ditto. | |
16633 | * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto. | |
16634 | * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto. | |
16635 | * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto | |
16636 | * tree-dfa.c (find_referenced_vars): Ditto. | |
16637 | * except.c (set_nothrow_function_flags): Ditto. | |
2a1990e9 | 16638 | (convert_to_eh_region_ranges): Ditto. |
16639 | (rest_of_handle_eh): Ditto. | |
cf8cdd54 | 16640 | * emit-rtl.c (unshare_all_rtl): Ditto. |
2a1990e9 | 16641 | (remove_unnecessary_notes): Ditto. |
cf8cdd54 | 16642 | * except.h (set_nothrow_function_flags): Ditto. |
2a1990e9 | 16643 | (convert_to_eh_region_ranges): Ditto. |
cf8cdd54 | 16644 | * cfgexpand.c (tree_expand_cfg): Ditto. |
16645 | * tree-cfgcleanup.c (merge_phi_nodes): Ditto. | |
16646 | * tree-ssa-pre.c (do_pre): Ditto. | |
2a1990e9 | 16647 | (execute_fre): Ditto. |
cf8cdd54 | 16648 | * cfgcleanup.c (rest_of_handle_jump): Ditto. |
2a1990e9 | 16649 | (rest_of_handle_jump2): Ditto. |
cf8cdd54 | 16650 | * tree-sra.c (tree_sra): Ditto. |
16651 | * tree-mudflap.c (execute_mudflap_function_ops): Ditto. | |
2a1990e9 | 16652 | (execute_mudflap_function_decls): Ditto. |
cf8cdd54 | 16653 | * tree-ssa-copy.c (do_copy_prop): Ditto. |
2a1990e9 | 16654 | (do_store_copy_prop): Ditto. |
cf8cdd54 | 16655 | * ipa-prop.h (ipcp_driver): Ditto. |
16656 | * cfglayout.c (insn_locators_initialize): Ditto. | |
16657 | * tree-ssa-forwprop.c | |
2a1990e9 | 16658 | (tree_ssa_forward_propagate_single_use_vars): Ditto. |
cf8cdd54 | 16659 | * cfglayout.h (insn_locators_initialize): Ditto. |
16660 | * tree-ssa-dce.c (tree_ssa_dce): Ditto. | |
16661 | * tree-ssa.c (execute_early_warn_uninitialized): Ditto. | |
2a1990e9 | 16662 | (execute_late_warn_uninitialized): Ditto. |
cf8cdd54 | 16663 | * rtl.h (cleanup_barriers): Ditto. |
2a1990e9 | 16664 | (split_all_insns_noflow): Ditto. |
16665 | (purge_line_number_notes): Ditto. | |
16666 | (unshare_all_rtl): Ditto. | |
16667 | (remove_unnecessary_notes): Ditto. | |
16668 | (recompute_reg_usage): Ditto. | |
16669 | (variable_tracking_main): Ditto. | |
cf8cdd54 | 16670 | * integrate.c (emit_initial_value_sets): Ditto. |
16671 | * integrate.h (emit_initial_value_sets): Ditto. | |
16672 | * tree-optimize.c (execute_free_datastructures): Ditto | |
2a1990e9 | 16673 | (execute_free_cfg_annotations): Ditto. |
16674 | (execute_fixup_cfg): Ditto. | |
16675 | (execute_cleanup_cfg_pre_ipa): Ditto. | |
16676 | (execute_cleanup_cfg_post_optimizing): Ditto. | |
16677 | (execute_init_datastructures): Ditto. | |
cf8cdd54 | 16678 | * tree-object-size.c (compute_object_sizes): Ditto. |
16679 | * combine.c (rest_of_handle_combine): Ditto. | |
16680 | * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto. | |
16681 | * bb-reorder.c (duplicate_computed_gotos): Ditto. | |
2a1990e9 | 16682 | (rest_of_handle_reorder_blocks): Ditto. |
16683 | (rest_of_handle_partition_blocks): Ditto. | |
cf8cdd54 | 16684 | * var-tracking.c (variable_tracking_main): Ditto. |
16685 | * tree-profile.c (tree_profiling): Ditto. | |
16686 | * tree-vect-generic.c (expand_vector_operations): Ditto. | |
16687 | * reg-stack.c (rest_of_handle_stack_regs): Ditto. | |
16688 | * sched-rgn.c (rest_of_handle_sched): Ditto. | |
2a1990e9 | 16689 | (rest_of_handle_sched2): Ditto. |
cf8cdd54 | 16690 | * basic-block.h (free_bb_insn): Ditto. |
16691 | * tree-ssa-structalias.c (ipa_pta_execute): Ditto. | |
16692 | * tree-cfg.c (execute_build_cfg): Ditto. | |
2a1990e9 | 16693 | (remove_useless_stmts): Ditto. |
16694 | (split_critical_edges): Ditto. | |
16695 | (execute_warn_function_return): Ditto. | |
16696 | (execute_warn_function_noreturn): Ditto. | |
cf8cdd54 | 16697 | * tree-ssa-reassoc.c (execute_reassoc): Ditto. |
16698 | * cfgrtl.c (free_bb_for_insn): Ditto. | |
16699 | * passes.c (execute_one_pass): Run additional | |
2a1990e9 | 16700 | todos returned by execute function. |
cf8cdd54 | 16701 | * tree-pass.h (struct tree_opt_pass): Make execute |
2a1990e9 | 16702 | return a value. |
16703 | ||
441fbbf3 | 16704 | 2006-03-02 Richard Guenther <rguenther@suse.de> |
16705 | ||
16706 | * tree-ssa-alias.c (find_used_portions): Consider taking | |
16707 | the address as making the variable not write-only. | |
16708 | ||
430e8f92 | 16709 | 2006-03-02 Nick Clifton <nickc@redhat.com> |
16710 | ||
16711 | * config.gcc (default_use_cxa_atexit): Extend the description of | |
16712 | this configure variable. Set its default value to "yes" for | |
16713 | Linux, NetBSD and ELF targets on the assumption that they will | |
16714 | use C libraries with the __cxa_atexit function. | |
16715 | ||
f4b40639 | 16716 | 2006-03-02 Ben Elliston <bje@au.ibm.com> |
16717 | ||
16718 | * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs' | |
16719 | parameter as unused to suppress a build warning. | |
16720 | ||
694de25f | 16721 | 2006-03-02 Ben Elliston <bje@au.ibm.com> |
16722 | ||
16723 | * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile | |
16724 | config/dfp-bit.c. | |
16725 | ||
80164241 | 16726 | 2006-03-01 Roger Sayle <roger@eyesopen.com> |
16727 | ||
16728 | PR other/26489 | |
16729 | * gthr-posix.h (__gthrw2): Define to take three parameters, the | |
16730 | declared name, the weak reference name, and the typeof name. | |
16731 | (__gthrw): Avoid expanding the declared name suffix. | |
16732 | (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls. | |
16733 | ||
0e7a2378 | 16734 | 2006-03-01 Jakub Jelinek <jakub@redhat.com> |
16735 | ||
16736 | * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants | |
16737 | from DWARF 3. | |
16738 | (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, | |
16739 | DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, | |
16740 | DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, | |
16741 | DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, | |
16742 | DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. | |
16743 | (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. | |
16744 | (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, | |
16745 | DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. | |
16746 | (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, | |
16747 | DW_DS_leading_separate, DW_DS_trailing_separate): New. | |
16748 | (DW_END_default, DW_END_big, DW_END_little): New. | |
16749 | (DW_END_lo_user, DW_END_hi_user): Define. | |
16750 | (DW_LNE_lo_user, DW_LNE_hi_user): Define. | |
16751 | (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. | |
16752 | (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, | |
16753 | DW_LANG_D): New. | |
16754 | ||
eff665b7 | 16755 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
16756 | ||
16757 | * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG. | |
16758 | Update all users. | |
16759 | * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage. | |
16760 | Update all users. | |
16761 | (TODO_update_smt_usage): Rename from TODO_update_tmt_usage. | |
16762 | Update all users. | |
16763 | * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE. | |
16764 | Update all users. | |
16765 | * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag' | |
16766 | to 'symbol_mem_tag'. | |
16767 | Update all users. | |
16768 | * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT | |
16769 | rename. | |
16770 | ||
749680e2 | 16771 | 2006-03-01 Roger Sayle <roger@eyesopen.com> |
16772 | ||
16773 | * builtins.c (fold_builtin_copysign): Delete unreachable code. | |
16774 | ||
7105bd6c | 16775 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> |
16776 | ||
16777 | PR target/25761 | |
16778 | * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just | |
16779 | MACHO_DYNAMIC_NO_PIC_P. | |
16780 | (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P. | |
16781 | ||
8c27005f | 16782 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> |
16783 | ||
16784 | PR target/26389 | |
16785 | * config/darwin-protos.h (darwin_asm_output_anchor): | |
16786 | Declare. | |
16787 | * config/darwin-sections.def (cstring_section): | |
16788 | Add SECTION_MERGE to the flags. | |
16789 | (literal4_section): Likewise. | |
16790 | (literal8_section): Likewise. | |
16791 | (objc_selector_refs_section): Likewise. | |
16792 | (objc_cls_refs_section): Likewise. | |
16793 | * config/darwin.c (darwin_asm_output_anchor): New | |
16794 | function. | |
16795 | * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define. | |
16796 | ||
de08b454 | 16797 | 2006-03-01 Daniel Berlin <dberlin@dberlin.org> |
eff665b7 | 16798 | |
de08b454 | 16799 | Fix PR tree-optimization/26443 |
16800 | * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage | |
16801 | to todo and PROP_tmt_usage to properties_destroyed. | |
16802 | * tree-ssa-ccp.c (pass_ccp): Ditto. | |
16803 | (pass_store_ccp): Ditto. | |
16804 | * tree-ssa-dom.c (pass_dominator): Ditto. | |
16805 | ||
fa999566 | 16806 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
16807 | ||
16808 | * tree-ssa-operands.c: Cleanup whitespace. | |
16809 | (get_asm_expr_operands): Move before first invocation. | |
16810 | (get_indirect_ref_operands): Likewise. | |
16811 | (get_tmr_operands): Likewise. | |
16812 | (get_call_expr_operands): Likewise. | |
16813 | (append_def): Likewise. | |
16814 | (append_use): Likewise. | |
16815 | (append_v_may_def): Likewise. | |
16816 | (append_v_must_def): Likewise. | |
16817 | (add_call_clobber_ops): Likewise. | |
16818 | (add_call_read_ops): Likewise. | |
16819 | (add_stmt_operand): Likewise. | |
16820 | (add_virtual_operand): Likewise. | |
16821 | (build_ssa_operands): Likewise. | |
16822 | ||
16823 | 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> | |
e77b8618 | 16824 | |
16825 | PR middle-end/26022 | |
16826 | Revert: | |
16827 | PR middle-end/24437 | |
16828 | * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF | |
16829 | with a call expr to ... | |
16830 | * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. | |
16831 | ||
e29d5ed8 | 16832 | 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
16833 | ||
16834 | * tree-vrp.c (extract_range_from_assert): Remove special | |
16835 | handling for types with super-types. | |
16836 | ||
ec486420 | 16837 | 2006-03-01 Ben Elliston <bje@au.ibm.com> |
16838 | ||
7a1e3d60 | 16839 | * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* |
16840 | and powerpc64-*-linux* configurations. | |
16841 | * config/t-dfprules: New file. | |
16842 | ||
ec486420 | 16843 | * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS. |
16844 | Compile dfp-bit.c from the source directory using -DWIDTH and | |
16845 | $DFP_CFLAGS to control the compilation of that file, rather than | |
16846 | generating width-specific versions in the build directory. | |
16847 | * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS. | |
16848 | (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc]. | |
16849 | ||
089b214f | 16850 | 2006-02-28 Zack Weinberg <zackw@panix.com> |
16851 | ||
16852 | * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7 | |
16853 | continues to work. | |
16854 | ||
bcba0559 | 16855 | 2006-02-28 Eric Christopher <echristo@apple.com> |
16856 | ||
16857 | * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define. | |
16858 | Set up IN_LIBGCC definition of TARGET_64BIT. | |
16859 | * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define. | |
16860 | ||
7ae0e4a9 | 16861 | 2006-02-28 Roger Sayle <roger@eyesopen.com> |
16862 | ||
16863 | PR middle-end/14752 | |
16864 | * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR, | |
16865 | BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these | |
16866 | cases via the construction of "expr != 0". | |
16867 | ||
c5780f6d | 16868 | 2006-02-28 Steven Bosscher <stevenb.gcc@gmail.com> |
16869 | ||
16870 | * alias.c (alias_invariant, alias_invariant_size): Remove. | |
16871 | (record_base_value): Remove. | |
16872 | (memrefs_conflict_p): Don't look at alias_invariant. | |
16873 | (end_alias_analysis): Don't free it. | |
16874 | * alias.h (record_base_value): Remove prototype. | |
16875 | ||
fd95fba4 | 16876 | 2006-02-28 Paolo Bonzini <bonzini@gnu.org> |
16877 | Adam Nemet <anemet@caviumnetworks.com> | |
16878 | ||
16879 | * rtl.h (truncated_to_mode): Declare it. | |
16880 | (struct rtl_hooks): Add reg_truncated_to_mode hook. | |
16881 | * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro. | |
16882 | (RTL_HOOKS_INITIALIZER): Include it. | |
16883 | * rtlhooks.c (reg_truncated_to_mode_general): New function. | |
16884 | * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to | |
16885 | reg_truncated_to_mode. | |
16886 | * rtlanal.c (truncated_to_mode): Define it. | |
16887 | * simplify-rtx.c (simplify_unary_operation_1): Use it. | |
16888 | ||
8c8a79f4 | 16889 | 2006-02-28 Jeff Law <law@redhat.com> |
16890 | ||
136335a2 | 16891 | * tree-chrec.c (chrec_convert_aggressive): Do not eliminate |
16892 | conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover | |
16893 | the range allowed by TYPE_PRECISION. | |
16894 | ||
8c8a79f4 | 16895 | * tree.h (strct phi_arg_d): Remove unused NONZERO field. |
16896 | ||
e686c658 | 16897 | 2006-02-28 Dorit Nuzman <dorit@il.ibm.com> |
16898 | ||
16899 | PR tree-optimization/26419 | |
16900 | * doc/invoke.texi (ftree-vectorizer-verbose): Add information on | |
16901 | values of n. | |
16902 | ||
470d2447 | 16903 | 2006-02-27 Zack Weinberg <zackw@panix.com> |
16904 | ||
16905 | * doc/md.texi: Fix typo in previous change. | |
16906 | ||
5f4d8ce0 | 16907 | 2006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com> |
16908 | ||
16909 | * df.c: Remove. | |
16910 | ||
026d3868 | 16911 | 2006-02-27 Zack Weinberg <zackw@panix.com> |
16912 | ||
16913 | * rtl.def (define_constraint, define_register_constraint) | |
16914 | (define_memory_constraint, define_address_constraint): New MD forms. | |
16915 | * gensupport.c (process_rtx): Put define_constraint etc on the | |
16916 | predicate queue. | |
16917 | * genpreds.c (process_define_predicate): Adjust comment. Validate | |
16918 | the name, and call validate_exp to validate the expression. | |
16919 | (mark_mode_tests, write_extract_subexp): Can assume correct input. | |
16920 | (write_predicate_expr): Likewise. NAME argument no longer necessary; | |
16921 | all callers changed. | |
16922 | (validate_exp, needs_variable, struct constraint_data) | |
16923 | (constraints_by_letter_table, first_constraint, last_constraint_ptr) | |
16924 | (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints) | |
16925 | (const_dbl_constraints, constraint_max_namelen) | |
16926 | (have_register_constraints, have_memory_constraints) | |
16927 | (have_address_constraints, have_address_constraints) | |
16928 | (have_extra_constraints, have_const_int_constraints) | |
16929 | (have_const_dbl_constraints, mangle, add_constraint) | |
16930 | (process_define_constraint, process_define_register_constraint) | |
16931 | (write_enum_constraint_num, write_lookup_constraint) | |
16932 | (write_insn_constraint_len, write_regclass_for_constraint) | |
16933 | (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint) | |
16934 | (write_insn_extra_memory_constraint) | |
16935 | (write_insn_extra_address_constraint) | |
16936 | (write_satisfies_constraint_fns): New. | |
16937 | (write_tm_preds_h): If we have new-style constraint definitions, | |
16938 | prototype the functions generated from them, and define the | |
16939 | old constraint interface (still used by generic code) in terms of | |
16940 | those functions. | |
16941 | (write_insn_preds_c): If we have new-style constraint definitions, | |
16942 | generate all relevant functions from those definitions. | |
16943 | (main): Handle define_constraint etc. | |
16944 | * genoutput.c (struct constraint_data, indep_constraints) | |
16945 | (mdep_constraint_letters, constraints_by_letter_table, note_constraint) | |
16946 | (mdep_constraint_len): New data structures and functions, defined | |
16947 | #ifdef USE_MD_CONSTRAINTS. | |
16948 | (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS. | |
16949 | (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined, | |
16950 | use new logic to validate operand constraints against constraint | |
16951 | definitions. | |
16952 | (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is | |
16953 | defined. | |
16954 | * defaults.h: If none of the old-style constraint macros are | |
16955 | defined, define USE_MD_CONSTRAINTS; do not provide defaults for any | |
16956 | old-style macros; and poison REG_CLASS_FROM_LETTER, | |
16957 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and | |
16958 | EXTRA_CONSTRAINT. | |
16959 | * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately. | |
16960 | * doc/md.texi: Document new constraint-definition mechanism and the | |
16961 | C interface it provides. Remove references to old mechanism | |
6993cbc4 | 16962 | elsewhere in the document. |
026d3868 | 16963 | (Machine Constraints): Use pathnames relative to gcc directory, |
16964 | i.e. config/ARCH/FILE. Change i386 section to refer to | |
16965 | config/i386/predicates.md; update that section to match docstrings. | |
16966 | * doc/tm.texi: Move all documentation of the old constraint- | |
16967 | definition macros to their own section, clearly mark as obsolete. | |
16968 | ||
16969 | * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t) | |
16970 | (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint | |
16971 | definitions. | |
16972 | * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P) | |
16973 | (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete. | |
16974 | * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from | |
16975 | constraint strings. | |
16976 | (splits and peepholes): Use satisfies_constraint_*. | |
16977 | * config/i386/i386.c (memory_address_length) | |
16978 | (ix86_attr_length_immediate_default): Use satisfies_constraint_*. | |
16979 | ||
3a6e1ee4 | 16980 | 2006-02-27 Daniel Berlin <dberlin@dberlin.org> |
16981 | ||
16982 | * lambda-code.c (can_convert_to_perfect_nest): Allow any type of | |
16983 | scalar operation to be put back into the loop. | |
16984 | ||
15c73eb7 | 16985 | 2006-02-27 Jakub Jelinek <jakub@redhat.com> |
16986 | ||
16987 | PR other/26208 | |
16988 | * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. | |
16989 | (extract_cie_info): Handle S flag in augmentation string. | |
16990 | (execute_cfa_program): If context->signal_frame, execute also | |
16991 | fs->pc == context->ra instructions. | |
16992 | (uw_frame_state_for): If context->signal_frame, don't subtract one | |
16993 | from context->ra to find FDE. | |
16994 | (uw_update_context_1): Set context->signal_frame to | |
16995 | fs->signal_frame. | |
16996 | (_Unwind_GetIPInfo): New function. | |
16997 | * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. | |
16998 | * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead | |
16999 | of _Unwind_GetIP. | |
17000 | * unwind-sjlj.c (_Unwind_GetIPInfo): New function. | |
17001 | * unwind-generic.h (_Unwind_GetIPInfo): New prototype. | |
17002 | * unwind-compat.c (_Unwind_GetIPInfo): New function. | |
17003 | * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. | |
17004 | * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. | |
17005 | * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. | |
17006 | * config/i386/linux-unwind.h (x86_fallback_frame_state, | |
17007 | x86_64_fallback_frame_state): Set fs->signal_frame. | |
17008 | * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. | |
17009 | (MD_FROB_UPDATE_CONTEXT): Define unconditionally. | |
17010 | (frob_update_context): Likewise. Workaround missing S flag in | |
17011 | Linux 2.6.12 - 2.6.16 kernel vDSOs. | |
17012 | * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. | |
17013 | Remove the psw_addr + 1 hack. | |
17014 | ||
5f506404 | 17015 | 2006-02-27 Daniel Berlin <dberlin@dberlin.org> |
17016 | ||
17017 | * tree-ssa-structalias.c (get_constraint_for): Move code to deal | |
17018 | with aggregates here. | |
17019 | (find_func_aliases): Remove code for &<aggregate> from here. | |
17020 | ||
e08a39b3 | 17021 | 2006-02-26 Roger Sayle <roger@eyesopen.com> |
17022 | ||
522701ef | 17023 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as |
e08a39b3 | 17024 | (X & C) ne/eq 0, where C is a single bit, i.e. a power of two. |
17025 | Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0" | |
17026 | as (X & C) ne/eq 0. | |
17027 | ||
466fed6e | 17028 | 2006-02-26 Roger Sayle <roger@eyesopen.com> |
17029 | ||
17030 | PR middle-end/19983 | |
17031 | * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes. | |
17032 | ||
4f87b914 | 17033 | 2006-02-26 Zdenek Dvorak <dvorakz@suse.cz> |
17034 | ||
17035 | * opts.c (decode_options): Do not handle flag_strength_reduce. | |
17036 | (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt | |
17037 | and OPT_fstrength_reduce. | |
17038 | * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test | |
17039 | flag_prefetch_loop_arrays for being nonzero. | |
17040 | * common.opt (floop-optimize, frerun-loop-opt): Resurrected as | |
17041 | no-ops. | |
17042 | (fprefetch-loop-arrays-rtl): Removed. | |
17043 | (flag_prefetch_loop_arrays): Do not specify the value. | |
17044 | ||
17045 | * doc/passes.texi: Update documentation of loop optimizer | |
17046 | passes. | |
17047 | * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl, | |
17048 | -frerun-loop-opt): Remove. | |
17049 | ||
5b449890 | 17050 | 2006-02-26 Richard Guenther <rguenther@suse.de> |
17051 | ||
17052 | PR tree-optimization/26421 | |
17053 | * tree-ssa-alias.c (find_used_portions): Don't treat parameters | |
17054 | in function calls that are ADDR_EXPRs as using the whole structure. | |
17055 | ||
a1ab4637 | 17056 | 2006-02-26 Steven Bosscher <stevenb.gcc@gmail.com> |
17057 | ||
17058 | * common.opt (-floop-optimize, -frerun-loop-opt): Remove. | |
17059 | * tree-pass.h (pass_loop_optimize): Remove. | |
17060 | * passes.c (pass_loop_optimize): Never run it. | |
17061 | * toplev.c (backend_init): Don't call init_loop. | |
17062 | * opts.c (flag_loop_optimize_set): Remove. | |
17063 | (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt. | |
17064 | (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable | |
17065 | the old RTL loop optimizer when profiling enabled. | |
17066 | * predict.c (tree_estimate_probability): Always strip builtin_expect. | |
17067 | * cfgcleanup.c (try_forward_edges): Don't avoid killing loop | |
17068 | pre-headers for the sake of the old RTL loop optimizer. | |
17069 | * Makefile.in: Remove all references to loop.o. | |
17070 | ||
17071 | * doc/invoke.texi: Remove all references to -floop-optimize | |
17072 | and -frerun-loop-opt. | |
17073 | ||
6a3e083e | 17074 | 2006-02-26 Zack Weinberg <zackw@panix.com> |
17075 | ||
17076 | * doc/md.texi (Machine Constraints): Refer to all files with paths | |
17077 | relative to gcc directory (i.e. config/CPU/file). Add missing | |
17078 | @table @code ... @end table to M32C subsection. | |
17079 | ||
7ddc480e | 17080 | 2006-02-26 Roger Sayle <roger@eyesopen.com> |
17081 | ||
17082 | * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as | |
17083 | (X & 1) == 0. | |
17084 | <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0. | |
17085 | ||
1d8ff0d2 | 17086 | 2006-02-26 Roger Sayle <roger@eyesopen.com> |
17087 | James A. Morrison <phython@gcc.gnu.org> | |
17088 | ||
17089 | PR middle-end/21137 | |
522701ef | 17090 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0, |
1d8ff0d2 | 17091 | when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the |
17092 | new constant C2<<C1, or as (X<0) or (X,false) depending upon the | |
17093 | signedness of the shift operation. | |
17094 | ||
b1e9e6c5 | 17095 | 2006-02-26 Dorit Nuzman <dorit@il.ibm.com> |
17096 | ||
17097 | PR tree-optimization/26359 | |
17098 | * tree-ssa-alias.c (new_type_alias): Set fields for new tag. | |
17099 | ||
c11ee826 | 17100 | 2006-02-25 Roger Sayle <roger@eyesopen.com> |
17101 | ||
522701ef | 17102 | * simplify-rtx.c (simplify_relational_operation_1): Simplify |
c11ee826 | 17103 | (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y |
17104 | as X == 0, and some symmetry related transformations. | |
17105 | Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line. | |
17106 | ||
47da8b49 | 17107 | 2006-02-25 Roger Sayle <roger@eyesopen.com> |
17108 | ||
17109 | PR middle-end/23673 | |
522701ef | 17110 | * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y |
47da8b49 | 17111 | and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some |
17112 | symmetry related transformations. Fold (X^C1) == C2 as | |
17113 | X == (C1^C2). | |
17114 | ||
6003588f | 17115 | 2006-02-25 Juergen Weigert <jw@suse.de> |
17116 | Richard Guenther <rguenther@suse.de> | |
17117 | ||
17118 | * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF. | |
17119 | ||
b666e08f | 17120 | 2006-02-24 Adam Nemet <anemet@caviumnetworks.com> |
17121 | ||
17122 | * combine.c (gen_lowpart_or_truncate): Call | |
17123 | simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE. | |
17124 | ||
fc9b1e42 | 17125 | 2006-02-24 Diego Novillo <dnovillo@redhat.com> |
17126 | ||
17127 | * doc/invoke.texi: Move -fopenmp description to "Options for | |
17128 | Code Generation". | |
17129 | Remove reference to -lgomp. | |
17130 | ||
4c4cdab7 | 17131 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> |
17132 | ||
17133 | * doc/install.texi: Require GNU tar version 1.14. | |
17134 | ||
3bf418bd | 17135 | 2006-02-24 Geoffrey Keating <geoffk@apple.com> |
17136 | ||
17137 | * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS. | |
6a3e083e | 17138 | * doc/invoke.texi (C++ Dialect Options): Document |
3bf418bd | 17139 | -fno-use-cxa-get-exception-ptr. |
17140 | * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1. | |
17141 | * configure: Regenerate. | |
17142 | * c.opt (fuse-cxa-get-exception-ptr): New. | |
17143 | * c-opts.c (c_common_handle_option): Handle | |
17144 | OPT_fuse_cxa_get_exception_ptr. | |
17145 | * c-common.c (flag_use_cxa_atexit): Update documentation. | |
17146 | (flag_use_cxa_get_exception_ptr): New. | |
17147 | * c-common.h (flag_use_cxa_get_exception_ptr): New. | |
17148 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve | |
17149 | documentation. | |
17150 | (C_COMMON_OVERRIDE_OPTIONS): New. | |
17151 | ||
43c3808d | 17152 | 2006-02-24 Roger Sayle <roger@eyesopen.com> |
17153 | ||
17154 | PR middle-end/24952 | |
17155 | * combine.c (try_combine): Explicitly check whether GET_CODE is | |
17156 | a SET or a CLOBBER, instead on checking that it isn't a USE. | |
17157 | ||
6a451e87 | 17158 | 2006-02-24 Roger Sayle <roger@eyesopen.com> |
17159 | ||
17160 | * fold-const.c (fold_comparison): New subroutine of fold_binary | |
17161 | containing transformations common to both the equality and | |
17162 | ordering relational operators, factored out of fold_binary. | |
17163 | (fold_binary): Separate out the equality operators (EQ_EXPR | |
17164 | and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR, | |
17165 | LE_EXPR and GE_EXPR), calling fold_comparison to perform the | |
17166 | transformations common to both. | |
6a3e083e | 17167 | (fold_div_compare): Fix latent bugs in the previously unreachable |
6a451e87 | 17168 | LT_EXPR and GE_EXPR cases. |
17169 | ||
fb8ce854 | 17170 | 2006-02-24 David Edelsohn <edelsohn@gnu.org> |
17171 | ||
17172 | * config/rs6000/rs6000.c (rs6000_init_builtins): Change | |
17173 | decl libname for clog to __clog on AIX. | |
17174 | ||
17175 | * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define. | |
17176 | ||
1d15adaa | 17177 | 2006-02-24 Alan Modra <amodra@bigpond.net.au> |
17178 | ||
17179 | PR target/26453 | |
17180 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't | |
17181 | output traceback table for thunks. Localise rs6000_stack_info call. | |
17182 | ||
ba2ddb4b | 17183 | 2006-02-23 Roger Sayle <roger@eyesopen.com> |
17184 | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
17185 | ||
17186 | * gthr-posix.h (__gthrw): Fix typo in comment. | |
17187 | ||
17188 | 2006-02-23 Geoffrey Keating <geoffk@apple.com> | |
934a14ec | 17189 | |
17190 | * doc/cpp.texi (Character sets): Document that we do support | |
17191 | input files to be in any character set. | |
17192 | ||
f064ebd1 | 17193 | 2006-02-23 Jeff Law <law@redhat.com> |
17194 | ||
6b34676b | 17195 | * tree.h (PHI_ARG_NONZERO): Remove. |
17196 | * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO. | |
17197 | (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old | |
17198 | node to the new node. | |
17199 | ||
f064ebd1 | 17200 | PR tree-optimization/26425 |
17201 | * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL | |
17202 | min/max, then assume its varying. | |
17203 | ||
5ed26a34 | 17204 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> |
17205 | ||
17206 | PR rtl-optimization/26316 | |
17207 | * rtlanal.c (enum may_trap_p_flags): New. | |
17208 | (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore | |
17209 | MEM_NOTRAP_P if flags & MTP_AFTER_MOVE. | |
17210 | (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1. | |
17211 | (may_trap_after_code_motion_p): New function. | |
17212 | * loop-invariant.c (find_identical_invariants): Fix dump formating. | |
17213 | (find_invariant_insn): Use may_trap_after_code_motion_p. | |
17214 | * rtl.h (may_trap_after_code_motion_p): Declare. | |
17215 | ||
b1ca4af4 | 17216 | 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> |
17217 | ||
17218 | * emit-rtl.c (immed_double_const): Cleanup. | |
17219 | ||
a9114efc | 17220 | 2006-02-23 Daniel Berlin <dberlin@dberlin.org> |
6a3e083e | 17221 | |
a9114efc | 17222 | Fix PR tree-optimization/26376 |
522701ef | 17223 | * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree, |
a9114efc | 17224 | remove assert. |
17225 | ||
a078576a | 17226 | 2006-02-23 Jakub Jelinek <jakub@redhat.com> |
17227 | ||
17228 | PR middle-end/26412 | |
17229 | * gimplify.c (omp_add_variable): Guard variable size decl test with | |
17230 | DECL_SIZE (decl) check. | |
17231 | ||
08ea2b04 | 17232 | 2006-02-23 Richard Guenther <rguenther@suse.de> |
17233 | ||
17234 | PR middle-end/26439 | |
17235 | * tree-ssa-structalias.c (find_func_aliases): Handle complex types | |
17236 | like aggregate types. | |
17237 | ||
2dde0cc6 | 17238 | 2006-02-23 Jakub Jelinek <jakub@redhat.com> |
17239 | ||
17240 | * configure.ac: Add --with{,out}-long-double-128 configure option. | |
17241 | (TARGET_DEFAULT_LONG_DOUBLE_128): New test. | |
17242 | * configure: Rebuilt. | |
17243 | * config.in: Rebuilt. | |
17244 | * doc/install.texi (Options specification): Document | |
17245 | --with-long-double-128. | |
17246 | ||
17247 | * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128] | |
17248 | (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. | |
17249 | * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128] | |
17250 | (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. | |
17251 | ||
17252 | 2006-02-23 Aldy Hernandez <aldyh@redhat.com> | |
17253 | ||
17254 | * config/s390/s390.c (override_options): Handle | |
17255 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
17256 | ||
17257 | * config/alpha/alpha.c (override_options): Handle | |
17258 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
17259 | ||
17260 | * config/sparc/sparc.c (sparc_override_options): Handle | |
17261 | TARGET_DEFAULT_LONG_DOUBLE_128. | |
17262 | ||
ccdd426b | 17263 | 2006-02-22 Daniel Jacobowitz <dan@codesourcery.com> |
17264 | ||
17265 | * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR). | |
17266 | (real-install-headers-tar, real-install-headers-cpio) | |
17267 | (real-install-headers-cp): New targets. | |
17268 | ||
610a28ab | 17269 | 2006-02-22 Richard Sandiford <richard@codesourcery.com> |
17270 | ||
17271 | * tree.h (variable_section): Delete. | |
17272 | * varasm.c (variable_section): Delete. | |
17273 | ||
6f6ae966 | 17274 | 2006-02-22 Paolo Bonzini <bonzini@gnu.org> |
17275 | ||
17276 | * install.texi: Add notes on install.texi2html. | |
17277 | (Building in parallel): Do not use footnotes. | |
17278 | ||
9d5a3c4a | 17279 | 2006-02-21 Aldy Hernandez <aldyh@redhat.com> |
17280 | ||
17281 | PR libgomp/26234 | |
17282 | * doc/install.texi (Configuration): Document --disable-libgomp. | |
17283 | ||
269dcd9d | 17284 | 2006-02-21 Geoffrey Keating <geoffk@apple.com> |
17285 | ||
17286 | * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New. | |
17287 | ||
f7fa840e | 17288 | 2006-02-21 Alexandre Oliva <aoliva@redhat.com> |
17289 | ||
17290 | * config/i386/sse.md (vec_extractv2df_1_sse): New. | |
17291 | (vec_extractv2df_0_sse): New. | |
17292 | ||
89fa767a | 17293 | 2006-02-21 Alexandre Oliva <aoliva@redhat.com> |
17294 | ||
17295 | * defaults.h (CFA_FRAME_BASE_OFFSET): Define. | |
17296 | * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override. | |
17297 | * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document. | |
17298 | * dwarf2out.c (build_cfa_loc): New offset parameter. Add it | |
17299 | to the result of the expression. | |
17300 | (def_cfa_1): Adjust. | |
17301 | (frame_pointer_cfa_offset): Rename to... | |
17302 | (frame_pointer_fb_offset): ... this. Adjust all uses. | |
17303 | (convert_cfa_to_loc_list): Rename to... | |
17304 | (convert_cfa_to_fb_loc_list): ... this. New offset parameter. | |
17305 | Pass it on to build_cfa_loc. | |
17306 | (compute_frame_pointer_to_cfa_displacement): Rename to... | |
17307 | (compute_frame_pointer_to_fb_displacement): ... this. New | |
17308 | offset parameter. Use it in computation. | |
17309 | (gen_subprogram_die): Compute cfa_fb_offset with the new | |
17310 | macro, and use it to compute the fb loc list and the | |
17311 | displacement. | |
17312 | ||
622e3203 | 17313 | 2006-02-21 Bernd Schmidt <bernd.schmidt@analog.com> |
17314 | ||
17315 | * config/bfin/predicates.md (cc_operand): Delete predicate. All uses | |
17316 | replaced with register_operand. | |
17317 | * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any | |
17318 | non-DREG is expensive. | |
17319 | * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed. | |
17320 | * config/bfin/bfin.md (movbi): Fix constraints and template for moves | |
17321 | involving memory. | |
17322 | ||
16561f50 | 17323 | 2006-02-21 Joseph S. Myers <joseph@codesourcery.com> |
17324 | ||
17325 | * doc/install.texi2html: Use set -e. | |
17326 | ||
e5ce4771 | 17327 | 2006-02-21 Richard Sandiford <richard@codesourcery.com> |
17328 | ||
17329 | * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) | |
17330 | (ASM_OUTPUT_SHARED_LOCAL): Delete. | |
17331 | * doc/invoke.texi (-fshared-data): Delete. | |
17332 | * common.opt (fshared-data): Delete. | |
17333 | * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling. | |
17334 | (assemble_static_space): Remove #if 0 code. | |
17335 | * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) | |
17336 | (ASM_OUTPUT_SHARED_LOCAL): Poison. | |
17337 | * config/cris/cris.h: Remove FIXME. | |
17338 | ||
903de853 | 17339 | 2006-02-21 Paolo Bonzini <bonzini@gnu.org> |
17340 | ||
17341 | * doc/sourcebuild.texi (Front End Directory): No more double-colon | |
17342 | hooks. | |
17343 | ||
ad4ecfda | 17344 | 2006-02-21 Jakub Jelinek <jakub@redhat.com> |
17345 | ||
17346 | PR middle-end/26379 | |
17347 | * combine.c (simplify_shift_const_1): Disable nested shifts | |
17348 | optimization for vector shifts. | |
17349 | ||
667c08ce | 17350 | 2006-02-20 Roger Sayle <roger@eyesopen.com> |
17351 | ||
17352 | PR tree-optimization/26361 | |
17353 | * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR | |
17354 | of unsigned integer types. | |
17355 | ||
6b421feb | 17356 | 2006-02-20 Sebastian Pop <pop@cri.ensmp.fr> |
17357 | ||
17358 | * tree-chrec.c (eq_evolutions_p): New. | |
17359 | * tree-chrec.h (eq_evolutions_p): Declared. | |
17360 | * tree-data-ref.c: Fix formatting. | |
17361 | (datadep_stats, dependence_stats): New. | |
17362 | (gcd): Moved... | |
17363 | (print_direction_vector): New. | |
17364 | (dump_data_dependence_relation): Use print_direction_vector. | |
17365 | (object_analysis, create_data_ref): Handle COMPONENT_REF. | |
17366 | (compute_subscript_distance): Static. | |
17367 | (initialize_data_dependence_relation): Static. Get the number | |
17368 | of loops surrounding the references from the callers, and initialize | |
17369 | DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and | |
17370 | base_object_differ_p analyzers. | |
6a3e083e | 17371 | (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, |
6b421feb | 17372 | compute_overlap_steps_for_affine_1_2, |
17373 | analyze_subscript_affine_affine): Count the classified dependences. | |
17374 | Print a message when a test failed. | |
6a3e083e | 17375 | (can_use_analyze_subscript_affine_affine): New. |
6b421feb | 17376 | (analyze_siv_subscript): Compute the data dependences on symbolic |
17377 | scevs that verify can_use_analyze_subscript_affine_affine. | |
17378 | (chrec_steps_divide_constant_p): Returns true, false, or unknown. | |
17379 | (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p. | |
17380 | Handle symbolic scevs. | |
17381 | (analyze_overlapping_iterations): Let symbolic affine scevs to be | |
17382 | analyzed. | |
17383 | (subscript_dependence_tester): Moved... | |
6a3e083e | 17384 | (build_classic_dist_vector, build_classic_dir_vector): Don't use |
6b421feb | 17385 | lambda_vector_clear on newly allocated vectors. Get nb_loops from |
17386 | DDR_SIZE_VECT instead of getting it in parameter. | |
6a3e083e | 17387 | (subscript_dependence_tester): ... here. Take as a parameter |
6b421feb | 17388 | loop_nest_depth. Call build_classic_dist_vector and |
17389 | build_classic_dir_vector. | |
6a3e083e | 17390 | (compute_affine_dependence): Update subscript_dependence_tester |
17391 | parameters. Update datadep_stats counters. Call | |
6b421feb | 17392 | compute_subscript_distance. |
6a3e083e | 17393 | (compute_self_dependence): Save the dist and dir vectors. Call |
6b421feb | 17394 | compute_subscript_distance. |
17395 | (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved... | |
17396 | (compute_all_dependences): Reorder parameters as they were before | |
17397 | conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call | |
6a3e083e | 17398 | compute_subscript_distance. Update the use of |
6b421feb | 17399 | compute_affine_dependence and initialize_data_dependence_relation. |
17400 | (find_data_references_in_loop): Handle COMPONENT_REF. | |
17401 | (compute_data_dependences_for_loop): Initialize dependence_stats. | |
17402 | Don't call build_classic_dist_vector and build_classic_dir_vector. | |
6a3e083e | 17403 | Update the parameters of initialize_data_dependence_relation and |
6b421feb | 17404 | compute_all_dependences. Print the statistics from datadep_stats. |
17405 | (analyze_all_data_dependences): Static. Not used until the pass for | |
17406 | checking the data dependences is contributed. | |
17407 | * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p), | |
17408 | DEF_VEC_ALLOC_P(ddr_p,heap)): ... here. | |
6a3e083e | 17409 | (initialize_data_dependence_relation, compute_affine_dependence, |
6b421feb | 17410 | analyze_all_data_dependences, compute_subscript_distance): Removed. |
17411 | (print_direction_vector): New. | |
17412 | * lambda.h (gcd): ... here. | |
17413 | (lambda_vector_gcd): Moved here from gcd_vector. | |
17414 | * lambda-code.c (gcd, gcd_vector): Removed. | |
17415 | (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting. | |
17416 | * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H. | |
17417 | ||
a002e999 | 17418 | 2006-02-20 Diego Novillo <dnovillo@redhat.com> |
17419 | ||
17420 | * ipa-type-escape.c: Tidy some comments and white space. | |
17421 | * tree-ssa-operands.c: Likewise. | |
17422 | ||
4d735392 | 17423 | 2006-02-20 Andrew Pinski <pinskia@physics.uc.edu> |
17424 | ||
17425 | PR tree-opt/25879 | |
17426 | * tree-pretty-print.c (debug_tree_chain): Walk the chains. | |
17427 | (dump_decl_name): Do not walk the decl tree chains. | |
17428 | * tree-pass.h (TDF_CHAIN): Remove. | |
17429 | ||
17430 |