86e0efd78dfb52749341bf12e0a0f74b1c091bc9
[gcc.git] / gcc / ChangeLog
1 2010-05-14 Alan Modra <amodra@gmail.com>
2
3 PR target/44075
4 * config/rs6000/rs6000.c (struct machine_function): Reorder
5 fields for better packing. Add lr_save_state.
6 (rs6000_ra_ever_killed): Return lr_save_state if set.
7 (rs6000_emit_eh_reg_restore): Set lr_save_state.
8
9 2010-05-13 Jan Hubicka <jh@suse.cz>
10
11 * varpool.c (decide_is_variable_needed): Drop code checking
12 TREE_SYMBOL_REFERENCED.
13
14 2010-05-13 Jan Hubicka <jh@suse.cz>
15
16 * final.c (output_addr_const): Do not call mark_decl_referenced.
17 * cgraphunit.c (process_function_and_variable_attributes): Use
18 mark_needed_node dirrectly.
19 (assemble_thunk): Do not call mark_decl_referenced.
20
21 2010-05-13 Anatoly Sokolov <aesok@post.ru>
22
23 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
24
25 2010-05-13 Jeff Law <law@redhat.com>
26
27 * ira-conflicts.c (print_allocno_conflicts): New function broken out
28 from...
29 (print_conflicts): Call print_allocno_conflicts.
30
31 2010-05-13 Jakub Jelinek <jakub@redhat.com>
32
33 PR debug/44104
34 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
35 if it is NULL.
36
37 2010-05-13 Kai Tietz <kai.tietz@onevision.com>
38
39 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
40 t-mingw-w64 or t-mingw-w32 for multilib configuration.
41 * config/i386/t-mingw-w32: New.
42 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
43
44 2010-05-13 Martin Jambor <mjambor@suse.cz>
45
46 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
47 gimple-fold.c).
48 * gimple-fold.c (get_base_binfo_for_type): New function.
49 (gimple_get_relevant_ref_binfo): Likewise.
50 (gimple_fold_obj_type_ref_known_binfo): Likewise.
51 (gimple_fold_obj_type_ref): Likewise.
52 (fold_gimple_call): Simplify condition for folding virtual calls
53 and call gimple_fold_obj_type_ref.
54 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
55 (gimple_fold_obj_type_ref_known_binfo): Likewise.
56
57 2010-05-13 Andreas Schwab <schwab@linux-m68k.org>
58
59 * config/rs6000/rs6000-protos.h
60 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
61 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
62 (rs6000_debug_mode_dependent_address)
63 (rs6000_mode_dependent_address_ptr): Likewise.
64
65 2010-05-13 Jakub Jelinek <jakub@redhat.com>
66
67 PR debug/43983
68 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
69 by SRA.
70 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
71 * tree-sra.c (create_access_replacement): Call unshare_expr before
72 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from
73 it.
74 * dwarf2out.c: Include tree-flow.h.
75 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
76 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
77 Handle DW_OP_bit_piece.
78 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
79 construct_piece_list, adjust_piece_list): New functions.
80 (add_var_loc_to_decl): Handle SRA optimized variables.
81 Adjust for var_loc_note to loc field renaming.
82 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
83 in VAR_LOCATION note.
84 (new_loc_descr_op_bit_piece): New function.
85 (dw_sra_loc_expr): New function.
86 (dw_loc_list): Use it. Don't handle the last range after the
87 loop, handle it inside of the loop. Adjust for var_loc_note
88 to loc field renaming.
89 (add_location_or_const_value_attribute): Only special case
90 single entry loc lists if loc is NOTE_P. Adjust for
91 var_loc_note to loc field renaming.
92 (dwarf2out_var_location): Don't set newloc->var_loc_note
93 and newloc->next here.
94
95 2010-05-12 Jan Hubicka <jh@suse.cz>
96
97 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.
98 * cgraph.h (cgraph_only_called_directly_p,
99 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
100 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
101 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
102 (assemble
103 * ipa.c (cgraph_remove_unreachable_nodes): Use
104 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken flags.
105 * tree-inline.c (copy_bb): Check address_taken flag.
106 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
107 externally_visible flag.
108
109 2010-05-12 Jason Merrill <jason@redhat.com>
110
111 PR bootstrap/44048
112 PR target/44099
113 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
114 * sdbout.c (plain_type_1): Likewise.
115 * dwarf2out.c (is_base_type): Likewise.
116 (gen_type_die_with_usage): Likewise. Generate
117 DW_TAG_unspecified_type for any LANG_TYPE.
118
119 2010-05-12 Jan Hubicka <jh@suse.cz>
120
121 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
122 indrect edges too.
123 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
124 (cgraph_clone_edge): Update.
125 (cgraph_node_remove_callees): Remove indirect calls too.
126 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
127 (cgraph_create_indirect_edge): Update prototype.
128 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
129 is_proper_for_analysis.
130 (add_new_function, visited_nodes, function_insertion_hook_holder,
131 get_local_reference_vars_info, mark_address_taken, mark_address,
132 mark_load, mark_store, check_asm_memory_clobber, check_call,
133 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
134 (ipa_init): Do not initialize visited_nodes;
135 function_insertion_hook_holder.
136 (analyze_variable): Rewrite.
137 (analyze_function): Rewrite.
138 (copy_local_bitmap): Remove.
139 (duplicate_node_dat): Do not duplicate local info.
140 (generate_summary): Simplify to only walk cgraph.
141 (write_node_summary_p, ipa_reference_write_summary,
142 ipa_reference_read_summary): Remove.
143 (propagate): Do not remove function insertion;
144 generate summary.
145 (pass_ipa_reference): NULLify summary handling fields.
146 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
147 (input_edge): Input ecf_flags.
148 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
149 (update_indirect_edges_after_inlining): Ignore edges with unknown
150 param.
151
152 2010-05-12 Sriraman Tallam <tmsriram@google.com>
153
154 * implicit-zee.c: New file.
155 * tree-pass.h (pass_implicit_zee): Declare.
156 * passes.c (init_optimization_passes): Add zee pass.
157 * common.opt (fzee): New flag.
158 * timevar.def (TV_ZEE): Define.
159 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
160 and beyond.
161 * Makefile.in (implicit-zee.o): Add new build file.
162
163 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
164 Nathan Froyd <froydnj@codesourcery.com>
165
166 * c-common.c (sync_resolve_params): Remove write-only variable.
167
168 2010-05-12 Anatoly Sokolov <aesok@post.ru>
169
170 * target.h (struct gcc_target): Add mode_dependent_address_p field.
171 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
172 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
173 * targhooks.c (default_mode_dependent_address_p): New function.
174 * targhooks.h (default_mode_dependent_address_p): Declare function.
175 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
176 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
177 * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p
178 target hook. Change return type to bool.
179 * recog.h: (mode_dependent_address_p): Change return type to bool.
180
181 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
182 Nathan Froyd <froydnj@codesourcery.com>
183
184 * tree-mudflap.c (build_function_type_0, build_function_type_1,
185 build_function_type_2, build_function_type_3): Remove.
186 (mudflap_init): Use build_function_type_list.
187
188 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
189 Nathan Froyd <froydnj@codesourcery.com>
190
191 * coverage.c (build_fn_info_value): Call build_constructor instead of
192 build_constructor_from_list.
193 (build_ctr_info_value): Likewise.
194 (build_gcov_info): Likewise.
195
196 2010-05-12 Nathan Froyd <froydnj@codesourcery.com>
197
198 * tree.c (build_constructor): Compute TREE_CONSTANT for the
199 resultant constructor.
200 (build_constructor_single): Don't set TREE_CONSTANT.
201 (build_constructor_from_list): Don't compute TREE_CONSTANT.
202
203 2010-05-12 Jan Hubicka <jh@suse.cz>
204
205 * cgraph.h (struct varpool_node): Add aux.
206 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
207 * varpool.c (varpool_remove_node): Do not remove initializer.
208 (varpool_reset_queue): Export.
209 (varpool_finalize_decl): Volatile vars are forced to be output.
210 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
211 replaced decl.
212 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
213 process_references, varpool_can_remove_if_no_refs): New functions.
214 (cgraph_remove_unreachable_nodes): Handle variables too.
215
216 2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
217
218 PR target/44088
219 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
220
221 2010-05-12 Jakub Jelinek <jakub@redhat.com>
222
223 PR middle-end/44085
224 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
225 change value of ORT_TASK.
226 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
227 (omp_notice_threadprivate_variable): New function.
228 (omp_notice_variable): Call it for threadprivate variables.
229 If enclosing ctx is a task, print enclosing task rather than
230 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
231 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
232 if task has untied clause.
233
234 PR debug/42278
235 * dwarf2out.c (base_type_die): Don't add name attribute here.
236 (modified_type_die): Instead of sizetype use
237 its underlying original type. If a DW_TAG_base_type doesn't
238 have name added, add __unknown__.
239 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
240 always call force_type_die instead.
241
242 2010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
243
244 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
245 for __stack_chk_guard.
246
247 2010-05-11 Jakub Jelinek <jakub@redhat.com>
248
249 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
250 don't call start_source_file debug hook here...
251 (finish_options): ... but here, after outputting predefined and
252 command line defines and undefs.
253
254 PR middle-end/44071
255 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
256 no fallthru edge.
257 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
258 optimizing away empty bb with no successors, move over its
259 footer chain to fallthru predecessor.
260 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
261 (rtl_split_edge): For asm goto call patch_jump_insn even if
262 splitting fallthru edge.
263
264 PR c++/44059
265 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
266 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
267 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
268 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
269 on DW.ref.* decls.
270
271 PR c++/44062
272 * c-parser.c (c_parser_expression): Mark LHS of a comma
273 expression as read if it is a decl, handled component or
274 COMPOUND_EXPR with that on the RHS.
275 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
276 if it is a decl or handled component.
277
278 2010-05-11 Jan Hubicka <jh@suse.cz>
279
280 * lto-symtab.c (lto_symtab_free): New function.
281 * lto-streamer.h (lto_symtab_free): Declare.
282
283 2010-05-11 Jan Hubicka <jh@suse.cz>
284
285 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
286 that if function is needed it is reachable.
287 (lto_output_node): See if it the function is reachable or referenced.
288 (output_cgraph): Update call of lto_output_node.
289 * lto-streamer.h (reachable_from_other_partition_p): Declare.
290
291 2010-05-11 Jan Hubicka <jh@suse.cz>
292
293 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
294 Mark as used.
295
296 2010-05-11 Jan Hubicka <jh@suse.cz>
297
298 PR tree-optimize/44063
299 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of queue.
300 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
301 limits.
302 (estimate_function_body_sizes): Compute sizes even when disregarding.
303
304 2010-05-11 Kai Tietz <kai.tietz@onevision.com>
305
306 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
307
308 2010-05-11 Jan Hubicka <jh@suse.cz>
309
310 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
311 into every boundary.
312
313 2010-05-11 Jan Hubicka <jh@suse.cz>
314
315 * matrix-reorg.c (matrix_reorg): Rebuild edges.
316
317 2010-05-11 Jan Hubicka <jh@suse.cz>
318
319 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
320 lto_streamer_cache_delete): Put nodes into heap.
321 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
322 heap.
323
324 2010-05-11 Jan Hubicka <jh@suse.cz>
325
326 * cgraphbuild.c (cgraph_rebuild_references): New.
327 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
328 out extern inlines.
329 * cgraph.h (cgraph_rebuild_references): Declare.
330 * tree-inline.c (tree_function_versioning): Use it.
331 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
332
333 2010-05-11 Jan Hubicka <jh@suse.cz>
334
335 * cgraph.c: Include ipa-utils.h
336 (cgraph_create_virtual_clone): Update references.
337 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
338
339 2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
340
341 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
342 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
343 cache size.
344
345 2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
346
347 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
348
349 2010-05-11 Jakub Jelinek <jakub@redhat.com>
350
351 * gcc.c (execute): For -### don't quote arguments that
352 contain just alphanumerics and _/-. characters.
353 * doc/invoke.texi: Document that change for -###.
354
355 PR debug/44023
356 * df-problems.c (struct dead_debug): Add to_rescan field.
357 (dead_debug_init): Clear to_rescan field.
358 (dead_debug_finish): Rescan all debug insns in to_rescan
359 bitmap and free the bitmap.
360 (dead_debug_insert_before): Instead of rescanning debug insns
361 immediately queue their rescanning until dead_debug_finish.
362 (df_note_bb_compute): After dead_debug_add do continue instead
363 of break.
364
365 2010-05-10 Jakub Jelinek <jakub@redhat.com>
366
367 PR debug/44028
368 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
369 clear also INSN_REG_USE_LIST.
370
371 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
372
373 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
374
375 2010-05-10 Jan Hubicka <jh@suse.cz>
376
377 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited change.
378
379 2010-05-10 Jan Hubicka <jh@suse.cz>
380
381 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocate
382 encoders.
383 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
384 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
385 (lto_streamer_cache_create): Init alloc pool.
386 (lto_streamer_cache_delete): Free alloc pool.
387 * lto-streamer.h: Include alloc pool.
388 (lto_streamer_cache_d): Use alloc pool.
389 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
390
391 2010-05-10 Jan Hubicka <jh@suse.cz>
392
393 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
394 * cgraphbuild.c: Include except.h
395 (record_type_list, record_eh_tables): New function.
396 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
397
398 2010-05-10 Jan Hubicka <jh@suse.cz>
399
400 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
401 __frame_dummy_init_array_entry, force_to_data): Attribute as used
402 rather than unused.
403
404 2010-05-10 Michael Matz <matz@suse.de>
405
406 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
407 (can_reassociate_p): Use FLOAT_TYPE_P.
408 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
409 (vect_force_simple_reduction): ... this.
410 * tree-parloops.c (gather_scalar_reductions): Use
411 vect_force_simple_reduction.
412 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
413 vect_is_simple_reduction, add modify argument, if true rewrite
414 "a-b" into "a+(-b)".
415 (vect_is_simple_reduction, vect_force_simple_reduction): New
416 functions.
417 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
418
419 2010-05-10 H.J. Lu <hongjiu.lu@intel.com>
420 Vladimir Makarov <vmakarov@redhat.com>
421
422 PR rtl-optimization/44012
423 * ira-build.c (remove_unnecessary_allocnos): Nullify
424 regno_allocno_map of the removed allocno.
425
426 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
427
428 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
429 to /dev/null.
430 * configure: Regenerate.
431
432 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
433
434 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
435 unused.
436 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
437 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
438 support in Sun ld.
439 * configure: Regenerate.
440
441 2010-05-10 Richard Guenther <rguenther@suse.de>
442
443 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
444 marked if the entry identifier is marked.
445
446 2010-05-10 Richard Guenther <rguenther@suse.de>
447
448 * c-common.c (struct c_common_attributes): Add fnspec attribute.
449 (handle_fnspec_attribute): New function.
450 * gimple.h (gimple_call_return_flags): Declare.
451 (gimple_call_arg_flags): Likewise.
452 * gimple.c (gimple_call_arg_flags): New function.
453 (gimple_call_return_flags): Likewise.
454 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
455 New argument flags.
456 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
457 return value flags.
458 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
459 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
460 main work to ...
461 (make_heapvar_for): ... this new function.
462 (handle_rhs_call): Handle fnspec attribute argument specifiers.
463 (handle_lhs_call): Likewise.
464 (find_func_aliases): Adjust.
465
466 2010-05-10 Richard Guenther <rguenther@suse.de>
467
468 PR tree-optimization/44050
469 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
470
471 2010-05-10 Wei Guozhi <carrot@google.com>
472
473 PR target/42879
474 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
475
476 2010-05-09 Joseph Myers <joseph@codesourcery.com>
477
478 PR c/10676
479 * c-typeck.c (lookup_field): Take a type directly. Update
480 recursive calls.
481 (build_component_ref): Update call to lookup_field.
482 (set_init_label): Use lookup_field to find initialized field.
483 Handle returned list of fields like a sequence of designators.
484
485 2010-05-09 Richard Guenther <rguenther@suse.de>
486
487 PR middle-end/44024
488 * fold-const.c (tree_single_nonzero_warnv_p): Properly
489 handle &FUNCTION_DECL.
490
491 2010-05-09 Joseph Myers <joseph@codesourcery.com>
492
493 PR c/4784
494 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
495 structures and unions recursively.
496 (detect_field_duplicates): Move duplicate detection with a hash to
497 detect_field_duplicates_hash. Always use a hash if anonymous
498 structures or unions are present.
499 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
500 give errors.
501
502 2010-05-09 H.J. Lu <hongjiu.lu@intel.com>
503
504 PR target/44046
505 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
506 detect Atom, Core 2 and Core i7.
507
508 2010-05-09 Richard Guenther <rguenther@suse.de>
509
510 * gcc.c (store_arg): Handle temporary file deletion for
511 joined arguments.
512
513 2010-05-09 Richard Guenther <rguenther@suse.de>
514
515 PR middle-end/44043
516 * ipa-inline.c (estimate_function_body_sizes): Return after
517 disregarding inline limits.
518
519 2010-05-09 Richard Guenther <rguenther@suse.de>
520
521 * gcc.c (store_arg): Revert last change.
522
523 2010-05-08 Sandra Loosemore <sandra@codesourcery.com>
524
525 PR middle-end/28685
526 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
527 (optimize_ops_list): Call it.
528
529 2010-05-08 Richard Guenther <rguenther@suse.de>
530
531 PR tree-optimization/44030
532 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
533 NECESSARY flag if we propagate from a inserted expression.
534
535 2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
536
537 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
538 domain types as equal if they are both PLACEHOLDER_EXPRs.
539
540 2010-05-08 Richard Guenther <rguenther@suse.de>
541
542 * lto-wrapper.c (run_gcc): Remove linker output from
543 command line for LTRANS invocation.
544
545 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
546
547 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
548 lto-macho as lto_binary_reader.
549 * target.h (struct gcc_target): New hooks lto_start and lto_end.
550 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
551 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
552 in lto_start and lto_end calls.
553 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
554 magic numbers.
555 (scan_prog_file): Update is_elf_or_coff call.
556 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
557
558 * collect2.c (main): Fix enum comparison.
559
560 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
561 Add prototypes.
562 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
563 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
564 and TARGET_ASM_LTO_END.
565 * darwin.c: Include obstack.h and lto-streamer.h.
566 (lto_section_names_offset, lto_section_names_obstack,
567 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
568 global variables.
569 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
570 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
571 to a temporary file.
572 (darwin_asm_lto_end): New function. Restore asm_out_file.
573 (darwin_asm_named_section): For LTO sections, replace the name with
574 the offset of the section name in a string table, and build this
575 table.
576 (darwin_file_start): Initialize global vars for LTO support.
577 (darwin_file_end): If output to asm_out_file was redirected, append it
578 to the proper asm_out_file here. Add the section names section.
579
580 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
581
582 * c-pragma.c (pending_weak_d, pending_weak): New.
583 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
584 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
585 handle_pragma_weak): Update the uses of pending_weaks.
586
587 2010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
588
589 PR documentation/44016
590 * doc/standards.texi (Standards): Link to unversioned
591 cxx0x_status.html page.
592
593 2010-05-07 Iain Sandoe <iains@gcc.gnu.org>
594
595 PR target/43708
596 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
597 in addition to TREE_USED, to avoid "set but unused" warnings.
598
599 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
600
601 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
602 (is_loop_prefetching_profitable): Do not insert prefetches
603 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
604 times the prefetch ahead distance.
605
606 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
607
608 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
609 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
610 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
611 the unroll_factor.
612
613 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
614
615 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
616 a diagnostic info when the insn-to-mem ratio is too small.
617
618 2010-05-07 Richard Guenther <rguenther@suse.de>
619
620 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
621 the linker plugin.
622 (store_arg): Queue temp_filename for deletion instead of
623 the whole argument.
624
625 2010-05-07 Richard Guenther <rguenther@suse.de>
626
627 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
628 (run_gcc): Handle LTRANS phase invocation.
629 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
630
631 2010-05-07 Jakub Jelinek <jakub@redhat.com>
632
633 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
634 this is also meaningful on PARM_DECLs and RESULT_DECLs.
635
636 2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
637
638 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
639
640 2010-05-07 Richard Guenther <rguenther@suse.de>
641
642 PR tree-optimization/44020
643 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
644 code when PRE is not yet initialized.
645
646 2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
647
648 * config/mips/dbxmdebug.h: Remove.
649 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
650
651 2010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
652
653 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
654 with null pointer and also warn about ordered comparison of zero with
655 pointer if -Wextra.
656
657 2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
658
659 * graphite-blocking.c
660 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
661 * graphite-clast-to-gimple.c
662 (clast_to_gcc_expression): Same.
663 (precision_for_value): Same.
664 (precision_for_interval): Same.
665 (gcc_type_for_interval): Same.
666 (graphite_create_new_guard): Same.
667 (compute_bounds_for_level): Same.
668 (graphite_create_new_loop_guard): Same.
669 * graphite-interchange.c
670 (build_linearized_memory_access): Same.
671 (pdr_stride_in_loop): Same.
672 (memory_strides_in_loop_1): Same.
673 (memory_strides_in_loop): Same.
674 (extend_scattering): Same.
675 (psct_scattering_dim_for_loop_depth): Same.
676 (pbb_number_of_iterations): Same.
677 * graphite-poly.h
678 (debug_iteration_domains): Same.
679 * graphite-ppl.c
680 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
681 (ppl_set_inhomogeneous_gmp): Same.
682 (ppl_strip_loop): Same.
683 (ppl_lexico_compare_linear_expressions): Same.
684 (ppl_read_polyhedron_matrix): Same.
685 (ppl_max_for_le_pointset): Same.
686 * graphite-ppl.h
687 (ppl_read_polyhedron_matrix): Same.
688 (tree_int_to_gmp): Same.
689 (gmp_cst_to_tree): Same.
690 (ppl_set_inhomogeneous): Same.
691 (ppl_set_inhomogeneous_tree): Same.
692 (ppl_set_coef): Same.
693 (ppl_set_coef_tree): Same.
694 * graphite-sese-to-poly.c
695 (build_pbb_scattering_polyhedrons): Same.
696 (build_scop_scattering): Same.
697 (scan_tree_for_params_right_scev): Same.
698 (scan_tree_for_params): Same.
699 (find_params_in_bb): Same.
700 (find_scop_parameters): Same.
701 (add_upper_bounds_from_estimated_nit): Same.
702 (build_loop_iteration_domains): Same.
703 (add_condition_to_domain): Same.
704 (pdr_add_memory_accesses): Same.
705
706 2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
707
708 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
709 CLooG's value_* macros to their respective mpz_* counterparts.
710 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
711 (graphite_create_new_loop_guard): Same.
712 * graphite-interchange.c (build_linearized_memory_access): Same.
713 (pdr_stride_in_loop): Same.
714 (memory_strides_in_loop_1): Same.
715 (1st_interchange_profitable_p): Same.
716 * graphite-poly.c (extend_scattering): Same.
717 (psct_scattering_dim_for_loop_depth): Same.
718 (pbb_number_of_iterations): Same.
719 (pbb_number_of_iterations_at_time): Same.
720 * graphite-poly.h (new_1st_loop): Same.
721 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
722 (oppose_constraint): Same.
723 (insert_constraint_into_matrix): Same.
724 (ppl_set_inhomogeneous_gmp): Same.
725 (ppl_set_coef_gmp): Same.
726 (ppl_strip_loop): Same.
727 (ppl_lexico_compare_linear_expressions): Same.
728 (ppl_max_for_le_pointset): Same.
729 (ppl_min_for_le_pointset): Same.
730 (ppl_build_realtion): Same.
731 * graphite-ppl.h (gmp_cst_to_tree): Same.
732 (ppl_set_inhomogeneous): Same.
733 (ppl_set_inhomogeneous_tree): Same.
734 (ppl_set_coef): Same.
735 (ppl_set_coef_tree): Same.
736 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
737 (build_scop_scattering): Same.
738 (add_value_to_dim): Same.
739 (scan_tree_for_params_right_scev): Same.
740 (scan_tree_for_params_int): Same.
741 (scan_tree_for_params): Same.
742 (find_params_in_bb): Same.
743 (find_scop_parameters): Same.
744 (add_upper_bounds_from_estimated_nit): Same.
745 (build_loop_iteration_domains): Same.
746 (create_linear_expr_from_tree): Same.
747 (add_condition_to_domain): Same.
748 (pdr_add_memory_accesses): Same.
749
750 2010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
751 Jason Merrill <jason@redhat.com>
752
753 * c-common.c (c_common_reswords): Add nullptr.
754 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
755 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
756 (gen_type_die_with_usage): Likewise.
757 * dbxout.c (dbxout_type): Likewise.
758 * sdbout.c (plain_type_1): Likewise.
759
760 2010-05-06 Jason Merrill <jason@redhat.com>
761
762 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
763 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
764 ret appropriately.
765 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
766
767 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
768 stripping WITH_SIZE_EXPR.
769 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
770 change.
771
772 2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
773
774 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
775 list of obsolete configurations.
776 Disabled check for obsolete configurations.
777 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
778 Removed support for previous versions.
779 * config/mips/iris.h: Removed.
780 * config/mips/iris5.h: Removed.
781 * config/mips/iris6.h: Merged old iris.h contents.
782 (TARGET_IRIX): Removed.
783 (DRIVER_SELF_SPECS): Removed mabi=32.
784 (IDENT_ASM_OP): Removed undef.
785 (STARTFILE_SPEC): Removed mabi=32.
786 (ENDFILE_SPEC): Likewise.
787 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
788 (MACHINE_TYPE): Update for IRIX 6.5.
789 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
790 TARGET_IRIX by TARGET_IRIX6.
791 (mips_file_start): Likewise.
792 (mips_output_external): Remove IRIX 5/6 O32 support.
793 (mips_output_function_prologue): Likewise.
794 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
795 TARGET_IRIX6.
796 (TARGET_CPU_CPP_BUILTINS): Likewise.
797 (TARGET_IRIX): Removed.
798 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
799 (MULTILIB_DIRNAMES): Removed 32.
800 (MULTILIB_OSDIRNAMES): Removed ../lib.
801 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
802 (Specific, mips-sgi-irix5): Document removal.
803 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
804 Remove references to older IRIX 6 releases and the O32 ABI.
805
806 2010-05-06 Jakub Jelinek <jakub@redhat.com>
807
808 PR bootstrap/43994
809 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
810 instead of DF_REF_REAL_REG.
811
812 2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
813
814 PR target/43888
815 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
816 handling to still return true for x64 targets.
817
818 2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
819
820 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
821
822 2010-05-06 Jan Hubicka <jh@suse.cz>
823
824 PR tree-optimization/43791
825 * ipa-inline.c (update_caller_keys): Remove bogus
826 disregard_inline_limits check.
827
828 2010-05-06 Michael Matz <matz@suse.de>
829
830 PR tree-optimization/43984
831 * tree-ssa-pre.c (inserted_phi_names): Remove.
832 (inserted_exprs): Change to bitmap.
833 (create_expression_by_pieces): Set bits, don't append to vector.
834 (insert_into_preds_of_block): Don't handle inserted_phi_names.
835 (eliminate): Don't look at inserted_phi_names, remove deleted
836 insns from inserted_exprs.
837 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
838 (init_pre, fini_pre): Allocate and free bitmaps.
839 (execute_pre): Insert insns on edges before elimination.
840
841 2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
842
843 * tree.c (initializer_zerop): Handle STRING_CST.
844
845 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
846
847 PR 40989
848 * doc/invoke.texi (Wimplicit): Document as C only.
849 * opts.c (common_handle_option): Add argument kind.
850 (handle_option): Rename as read_cmdline_option. Factor out code to...
851 (handle_option): ... here. New.
852 (handle_options): Rename as read_cmdline_options.
853 (decode_options): Update call.
854 (set_option): Use option index instead of option pointer. Classify
855 diagnostics correctly.
856 (enable_warning_as_error): Call handle_option.
857 * opts.h (set_option): Update declaration.
858 (handle_option): Declare.
859 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
860 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
861 * c-opts.c (set_Wimplicit): Delete.
862 (c_family_lang_mask): New static constant.
863 (c_common_handle_option): Add argument kind. Use handle_option
864 instead of set_Wimplicit.
865 (c_common_post_options): warn_implicit and warn_implicit_int
866 are disabled by default.
867 * c-common.c (warn_implicit): Do not define here.
868 * c-common.h (warn_implicit): Do not declare here.
869 (c_common_handle_option): Update declaration.
870 * lto-opts.c (lto_reissue_options): Update call to set_option.
871
872 2010-05-06 Richard Guenther <rguenther@suse.de>
873
874 PR tree-optimization/43571
875 * domwalk.c (walk_dominator_tree): Walk the dominator
876 sons in more optimal order.
877
878 2010-05-06 Richard Guenther <rguenther@suse.de>
879
880 PR tree-optimization/43934
881 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
882 (stmt_cost): Likewise.
883 (extract_true_false_args_from_phi): New helper.
884 (determine_max_movement): For PHI nodes verify we can hoist them
885 and compute their cost.
886 (determine_invariantness_stmt): Handle PHI nodes.
887 (move_computations_stmt): Likewise. Hoist PHI nodes in
888 if-converted form using COND_EXPRs.
889 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
890 (tree_ssa_lim): Likewise.
891 * tree-flow.h (tree_ssa_lim): Adjust prototype.
892 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
893
894 2010-05-06 Richard Guenther <rguenther@suse.de>
895
896 PR tree-optimization/43987
897 * tree-ssa-structalias.c (could_have_pointers): For possibly
898 address-taken variables force pointers to be recorded.
899 (create_variable_info_for_1): Likewise.
900 (push_fields_onto_fieldstack): Pass in wheter all fields
901 must have pointers.
902 (find_func_aliases): Query types instead of vars whether
903 they contain pointers where appropriate.
904
905 2010-05-06 Jan Hubicka <jh@suse.cz>
906
907 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
908 (record_reference, mark_address, mark_load, mark_store): Record
909 references.
910 (record_references_in_initializer): Update call of record_references.
911 (rebuild_cgraph_edges): Remove all references before rebuiding.
912 * cgraph.c (cgraph_create_node): Clear ref list.
913 (cgraph_remove_node): Remove references.
914 (dump_cgraph_node): Dump references.
915 (cgraph_clone_node): Clone references.
916 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
917 (struct cgraph_node, varpool_node): Add ref_lst.
918 * ipa-ref.c: New file.
919 * ipa-ref.h: New file.
920 * ipa-ref-inline.h: New file.
921 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
922 (referenced_from_other_partition_p): New function.
923 (lto_output_varpool_node): Take set arugment; call
924 referenced_from_other_partition.
925 (lto_output_ref): New.
926 (add_references): New.
927 (output_refs): New.
928 (output_cgraph): Compute boundary based on references; output refs.
929 (output_varpool): Accept cgraph_node_set argument.
930 (input_ref): New.
931 (input_refs): New.
932 (input_cgraph): Call input_refs.
933 * lto-section-in.c (lto_section_name): Add refs.
934 * Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
935 (ipa-ref.o): New file.
936 * varpool.c (varpool_node): Clear ipa ref list.
937 (varpool_remove_node): Remove references.
938 (dump_varpool_node): Dump references.
939 (varpool_assemble_decl): Only compile finalized ones.
940 (varpool_extra_name_alias): Initialize ref list.
941 * lto-streamer.c (lto-get_section_name): Add .refs section.
942 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
943 (referenced_from_other_partition_p): Declared.
944
945 2010-05-06 Ira Rosen <irar@il.ibm.com>
946
947 PR tree-optimization/43901
948 * tree-vect-stmts.c (vectorizable_call): Assert that vector
949 type is not NULL if it's transformation phase, and return
950 FALSE if it's analysis.
951 (vectorizable_conversion, vectorizable_operation,
952 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
953
954 2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
955
956 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
957 Delete.
958 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
959 New define.
960 * config/mips/mips-protos.h
961 (mips_small_register_classes_for_mode_p): Delete prototype.
962
963 2010-05-06 Bernd Schmidt <bernds@codesourcery.com>
964
965 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
966 * config/arm/arm.c (multiple_operation_profitable_p,
967 compute_offset_order): New static functions.
968 (load_multiple_sequence, store_multiple_sequence): Use them.
969 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
970 memory offsets, not register numbers.
971 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
972
973 2010-05-05 Steven Bosscher <steven@gcc.gnu.org>
974
975 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
976 (get_pending_sizes, put_pending_size, put_pending_sizes):
977 Update the uses of pending_sizes.
978 * c-decl.c (store_parm_decls): Likewise.
979 * c-tree.h (struct c_arg_info): Likewise.
980 * tree.h: Update the prototype for get_pending_sizes and
981 put_pending_sizes.
982
983 2010-05-05 Jason Merrill <jason@redhat.com>
984
985 PR debug/43370
986 * c-common.c (handle_aligned_attribute): Respect
987 ATTR_FLAG_TYPE_IN_PLACE.
988
989 PR testsuite/43758
990 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
991 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
992 (TARGET_INITIALIZER): Use it.
993 * c-common.c (attribute_takes_identifier_p): Call it.
994 * c-common.h: Update prototype.
995 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
996 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
997
998 2010-05-05 Jakub Jelinek <jakub@redhat.com>
999
1000 PR debug/43950
1001 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
1002 DW_ID_down_case for Fortran compilation units.
1003
1004 2010-05-05 Jan Hubicka <jh@suse.cz>
1005
1006 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
1007 handle aliases.
1008
1009 2010-05-05 Eric Botcazou <ebotcazou@adacore.com>
1010
1011 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
1012 a variable-sized RESULT_DECL.
1013
1014 2010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
1015
1016 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
1017
1018 2010-05-05 Jason Merrill <jason@redhat.com>
1019
1020 PR c++/43787
1021 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
1022 returns GS_OK.
1023 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
1024
1025 2010-05-05 Alexandre Oliva <aoliva@redhat.com>
1026 Jakub Jelinek <jakub@redhat.com>
1027
1028 PR debug/43478
1029 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
1030 (dead_debug_init, dead_debug_finish): New functions.
1031 (dead_debug_add, dead_debug_insert_before): Likewise.
1032 (df_note_bb_compute): Initialize a dead_debug object, add dead
1033 debug uses to it, insert debug bind insns before death insns,
1034 reset debug insns that refer to pending uses at the end.
1035 * rtl.h (make_debug_expr_from_rtl): New prototype.
1036 * varasm.c (make_debug_expr_from_rtl): New function.
1037
1038 2010-05-05 Jan Hubicka <jh@suse.cz>
1039
1040 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
1041 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
1042 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
1043 lto_varpool_encoder_deref, lto_varpool_encoder_size,
1044 lto_varpool_encoder_encode_initializer_p,
1045 lto_set_varpool_encoder_encode_initializer): New functions.
1046 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
1047 call output_varpool.
1048 (input_varpool_node): Do not always set analyzed.
1049 (input_cgraph_1): Return vector of cgraph nodes.
1050 (input_varpool_1): Return vector of varpools.
1051 (input_cgraph): Free the vectors.
1052 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
1053 output only initializers needed.
1054 (lto_output): Only call output_cgraph.
1055 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
1056 * lto-section-out.c (lto_new_out_decl_state): Initialize
1057 state->varpool_node_encoder.
1058 * lto-streamer.h (lto_varpool_encoder_d): New.
1059 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
1060 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
1061 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
1062 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
1063 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
1064 Declare.
1065 (output_varpool, input_varpool): Remove declarations.
1066
1067 2010-05-05 Jan Hubicka <jh@suse.cz>
1068
1069 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
1070 with body can prevail.
1071
1072 2010-05-05 Jan Hubicka <jh@suse.cz>
1073
1074 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
1075 size.
1076
1077 2010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1078
1079 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
1080
1081 * gengtype.h (erro_at_line): Constify pos argument.
1082
1083 * gengtype.c: Include hashtab.h.
1084 (enum gc_used): Document GC_MAYBE_POINTED_TO.
1085 (error_at_line): Constify pos argument.
1086 (do_typedef): Initialize p->opt field.
1087 (get_file_gtfilename): Fix comment typo.
1088 (struct walk_type_data): Constify line field.
1089 (get_output_file_for_structure): New function.
1090 (write_local_func_for_structure): Constify orig_s argument.
1091 Use get_output_file_for_structure.
1092 (write_func_for_structure): Use get_output_file_for_structure.
1093 (INDENT): New define.
1094 (dump_pair, dump_type, dump_type_list, dump_typekind)
1095 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
1096 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
1097 functions.
1098 (seen_types): New variable.
1099 (main): New variable do_dump. Process "-d" command line option.
1100 Call dump_everything if dump requested.
1101
1102 2010-05-05 Jakub Jelinek <jakub@redhat.com>
1103
1104 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
1105 in a temporary instead of invoking the macro multiple times.
1106 (track_expr_p): Likewise.
1107
1108 2010-05-04 Neil Vachharajani <nvachhar@google.com>
1109
1110 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
1111 per new semantics.
1112 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
1113 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
1114 conditions for printing notes.
1115 * common.opt (-Wcoverage-mismatch): Allow negative, default to
1116 true, update documentation.
1117 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
1118
1119 2010-05-04 Jakub Jelinek <jakub@redhat.com>
1120
1121 PR c/43981
1122 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
1123 on dimen.
1124
1125 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
1126
1127 PR target/43799
1128 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
1129 (*sse_prologue_save_insn1): Likewise.
1130 (SSE prologue save splitter): Likewise.
1131
1132 2010-05-04 Eric Botcazou <ebotcazou@adacore.com>
1133
1134 * tree.c (free_lang_data_in_one_sizepos): New inline function.
1135 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
1136 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
1137 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
1138 all decls. Call it on DECL_FIELD_OFFSET of fields.
1139 (find_decls_types_r): Follow DECL_VALUE_EXPR.
1140 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
1141
1142 2010-05-04 Martin Jambor <mjambor@suse.cz>
1143
1144 * tree-sra.c (build_access_from_expr_1): The first parameter type
1145 changed to simple tree.
1146 (build_access_from_expr): Likewise, gsi parameter was eliminated.
1147 (scan_assign_result): Renamed to assignment_mod_result, enum elements
1148 renamed as well.
1149 (build_accesses_from_assign): Removed all parameters except for a
1150 simple gimple statement. Now returns a simple bool.
1151 (scan_function): All non-analysis parts moved to separate functions
1152 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
1153 parameters and updated both callers.
1154 (sra_modify_expr): Removed parameter data.
1155 (sra_modify_function_body): New function.
1156 (perform_intra_sra): Call sra_modify_function_body to modify the
1157 function body.
1158 (replace_removed_params_ssa_names): Parameter data changed into
1159 adjustments vector.
1160 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
1161 changed the parameter dont_convert to convert with the opposite
1162 meaning.
1163 (sra_ipa_modify_assign): Parameter data changed into adjustments
1164 vector, return value changed to bool.
1165 (ipa_sra_modify_function_body): New function.
1166 (sra_ipa_reset_debug_stmts): Updated a comment.
1167 (modify_function): Use ipa_sra_modify_function_body to modify function
1168 body.
1169
1170 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
1171
1172 PR middle-end/43671
1173 * alias.c (true_dependence): Handle the same VALUE in x and mem.
1174 (canon_true_dependence): Likewise.
1175 (write_dependence_p): Likewise.
1176
1177 2010-05-04 Jan Hubicka <jh@suse.cz>
1178
1179 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
1180 * cgraphbuild.c: Include ipa-utils.h
1181 (record_reference_ctx): New struct.
1182 (record_reference): Simplify to work on initializers; not statements.
1183 (mark_address, mark_load, mark_store): New.
1184 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
1185 walk PHI nodes too.
1186 (record_references_in_initializer): Update use of record_reference.
1187 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
1188 walk PHI nodes too.
1189
1190 2010-05-04 Jan Hubicka <jh@suse.cz>
1191
1192 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
1193 node will be removed anyway.
1194 (lto_varpool_replace_node): Allow also unanalyzed nodes;
1195 relink aliases of node into prevailing node.
1196 * varpool.c (varpool_remove_node): Remove aliases properly;
1197 when removing node, remove all its aliases too; remove DECL_INITIAL
1198 of removed node; ggc_free the varpool node.
1199
1200 2010-05-04 Richard Guenther <rguenther@suse.de>
1201
1202 PR tree-optimization/43879
1203 * tree-ssa-structalias.c (alias_get_name): Use
1204 DECL_ASSEMBLER_NAME if available.
1205 (create_function_info_for): Return the varinfo node.
1206 (ipa_pta_execute): Associate same-body aliases and extra names
1207 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
1208
1209 2010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
1210
1211 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
1212
1213 2010-05-04 Mikael Pettersson <mikpe@it.uu.se>
1214
1215 PR bootstrap/43964
1216 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
1217 only if HONOR_REG_ALLOC_ORDER is not defined.
1218
1219 2010-05-04 Richard Guenther <rguenther@suse.de>
1220
1221 PR tree-optimization/43949
1222 * tree-vrp.c (extract_range_from_binary_expr): Only handle
1223 TRUNC_MOD_EXPR.
1224
1225 2010-04-26 Jason Merrill <jason@redhat.com>
1226
1227 * c.opt (-fstrict-enums): New.
1228 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
1229
1230 2010-05-03 David Ung <davidu@mips.com>
1231 James E. Wilson <wilson@codesourcery.com>
1232
1233 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
1234 emit the trap instruction before the divide for TUNE_74K.
1235
1236 2010-05-03 Steven Bosscher <steven@gcc.gnu.org>
1237
1238 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
1239 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
1240 based on the above, for new target hook.
1241
1242 * hooks.c (hook_bool_mode_true): New generic hook.
1243 * hooks.h (hook_bool_mode_true): Add prototype.
1244
1245 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
1246 target hook.
1247 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
1248 target hook, set to hook_bool_mode_false.
1249 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
1250 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
1251 with targetm.small_register_classes_for_mode_p.
1252 (find_reusable_reload): Likewise.
1253 (combine_reloads): Likewise.
1254 * reload1.c (reload_as_needed): Likewise.
1255 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
1256 * ifcvt.c (noce_process_if_block, check_cond_move_block,
1257 dead_or_predicable): Likewise.
1258 * regmove.c (optimize_reg_copy_1): Likewise.
1259 * calls.c (prepare_call_address): Likewise.
1260 (precompute_register_parameters): Likewise.
1261
1262 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
1263 hook definition.
1264 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
1265 implementation of the hook that considers all register classes
1266 small except for SH64.
1267 (sh_override_options): Use the new hook.
1268 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
1269 Add prototype.
1270
1271 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
1272 hook definition.
1273 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
1274 implementation of the hook that considers all register classes
1275 small for THUMB1.
1276 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
1277 Add prototype.
1278
1279 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
1280 hook definition.
1281 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
1282 implementation of the hook that considers all register classes
1283 small for MIPS16.
1284 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
1285 Add prototype.
1286
1287 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
1288 hook definition.
1289 * config/m32c/m32c.h: Likewise.
1290 * config/pdp11/pdp11.h: Likewise.
1291 * config/avr/avr.h: Likewise.
1292 * config/xtensa/xtensa.h: Likewise.
1293 * config/m68hc11/m68hc11.h: Likewise.
1294 * config/mn10300/mn10300.h: Likewise.
1295 * config/mcore/mcore.h: Likewise.
1296 * config/h8300/h8300.h: Likewise.
1297 * config/bfin/bfin.h: Likewise.
1298
1299 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
1300 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
1301
1302 2010-05-03 Anatoly Sokolov <aesok@post.ru>
1303
1304 * double-int.h (tree_to_double_int): Remove macro.
1305 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
1306 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
1307 (tree_to_double_int): New function.
1308 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
1309 Move ...
1310 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
1311
1312 2010-05-03 Richard Guenther <rguenther@suse.de>
1313
1314 PR tree-optimization/43971
1315 * tree-ssa-structalias.c (get_constraint_for_1): Fix
1316 constraints in the !flag_delete_null_pointer_checks case.
1317
1318 2010-05-03 Jakub Jelinek <jakub@redhat.com>
1319
1320 PR debug/43972
1321 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
1322 result mode matches original rtl mode.
1323
1324 2010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
1325
1326 PR target/43888
1327 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
1328
1329 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
1330
1331 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
1332 when processing flag options.
1333
1334 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
1335
1336 * gcov-iov.c (main): Change format string placeholder
1337 from %#08x to 0x%08x.
1338 * genchecksum.c (dosum): Change format string placeholder
1339 from %#02x to 0x%02x.
1340
1341 2010-05-02 Richard Guenther <rguenther@suse.de>
1342
1343 PR tree-optimization/43879
1344 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
1345
1346 2010-05-02 Bruno Haible <bruno@clisp.org>
1347
1348 * doc/extend.texi (Function Attributes): Fix a typo.
1349
1350 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
1351
1352 Revert:
1353 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
1354 placeholder from 0x%x to %#x.
1355 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
1356 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
1357 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
1358 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
1359 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
1360 * config/i386/i386.c (ix86_target_string): Ditto.
1361 * config/i386/i386.c (output_pic_addr_const): Ditto.
1362 (print_operand): Ditto.
1363
1364 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
1365
1366 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
1367 placeholder from 0x%x to %#x.
1368 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
1369 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
1370 (ASM_OUTPUT_DEBUG_DATA): Ditto.
1371 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
1372 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
1373 * optc-gen.awk: Ditto.
1374 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
1375 (HOST_WIDE_INT_PRINT_HEX): Ditto.
1376 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
1377 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
1378
1379 2010-05-01 Anatoly Sokolov <aesok@post.ru>
1380
1381 * target.h (struct calls): Add function_value_regno_p field.
1382 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
1383 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
1384 * targhooks.c (default_function_value_regno_p): New function.
1385 * targhooks.h (default_function_value_regno_p): Declare function.
1386 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
1387 * builtins.c. (apply_result_size): (Ditto.).
1388 * combine.c. (likely_spilled_retval_p): (Ditto.).
1389 * mode-switching.c. Include 'target.h'.
1390 (create_pre_exit): Use function_value_regno_p hook.
1391 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
1392 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
1393 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
1394
1395 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
1396 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
1397 (ix86_function_value_regno_p): Declare as static, change argument
1398 type to const unsigned int.
1399 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
1400
1401 2010-05-01 Richard Guenther <rguenther@suse.de>
1402
1403 PR tree-optimization/43949
1404 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
1405 types.
1406 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
1407
1408 2010-05-01 Anatoly Sokolov <aesok@post.ru>
1409
1410 * rtl.h (CONST_DOUBLE_P): Define.
1411 (rtx_to_double_int): Declare.
1412 * emit-rtl.c (rtx_to_double_int): New function.
1413 * dwarf2out.c (insert_double): New function.
1414 (loc_descriptor, add_const_value_attribute): Clean up, use
1415 rtx_to_double_int and insert_double functions.
1416
1417 2010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
1418
1419 * doc/extend.texi (Inline): Add missing return keyword to examples.
1420 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
1421 "command-line".
1422
1423 2010-04-30 Eric Botcazou <ebotcazou@adacore.com>
1424
1425 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
1426 the variable part of the offset as well. Use highest_pow2_factor for
1427 all alignment checks.
1428
1429 2010-04-30 Richard Guenther <rguenther@suse.de>
1430
1431 PR tree-optimization/43879
1432 * tree-ssa-structalias.c (type_could_have_pointers): Functions
1433 can have pointers.
1434
1435 2010-04-30 Jan Hubicka <jh@suse.cz>
1436
1437 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
1438 varpool.
1439 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
1440
1441 2010-04-30 Jan Hubicka <jh@suse.cz>
1442
1443 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
1444 New.
1445 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
1446 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
1447 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
1448 cgraph_node_set_needs_ltrans_p): Remove.
1449
1450 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
1451
1452 * sdbout.c: Include vec.h, do not include varray.h.
1453 (deferred_global_decls, sdbout_global_decl,
1454 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
1455 * toplev.c: Do not include varray.h.
1456 (dump_memory_report): Do not dump VARRAY statistics.
1457 * gengtype.c (open_base_file): Ignore varray.h.
1458 * Makefile.in: Update for abovementioned changes.
1459 Remove all traces of varray.c and varray.h.
1460 * varray.c: Remove file.
1461 * varray.h: Remove file.
1462
1463 2010-04-30 Jan Hubicka <jh@suse.cz>
1464
1465 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
1466 references.
1467
1468 2010-04-30 Jan Hubicka <jh@suse.cz>
1469
1470 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
1471 needed.
1472
1473 2010-04-30 Richard Guenther <rguenther@suse.de>
1474
1475 * tree-ssa-structalias.c (get_constraint_for_1): Generate
1476 constraints for CONSTRUCTOR.
1477
1478 2010-04-30 Richard Guenther <rguenther@suse.de>
1479
1480 PR lto/43946
1481 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
1482 first after all lowering passes.
1483
1484 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
1485
1486 * toplev.c: Include varray.h for statistics dumping.
1487 * tree.h: Do not declare varray_head_tag.
1488 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
1489 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
1490 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
1491 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
1492 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
1493 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
1494 c-common.c, c-common.h, reg-stack.c, basic-block.h,
1495 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
1496 include varray.h.
1497 * Makefile.in: Update for abovementioned changes.
1498
1499 2010-04-30 Jakub Jelinek <jakub@redhat.com>
1500
1501 PR debug/43942
1502 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
1503
1504 2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
1505
1506 * config/picochip/picochip.c (picochip_legitimize_address): Define.
1507 Use this function to do machine-specific conversion.
1508 (picochip_legitimize_reload_address): Likewise.
1509 (picochip_legitimate_address_p): Check valid base register only if
1510 strict.
1511 (picochip_check_conditional_copy): Check for modw only if opnd is
1512 register.
1513 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
1514 to call the function in c.
1515 * config/picochip/picochip-protos.h
1516 (picochip_legitimize_reload_address): Define.
1517 * config/picochip/picochip.md (supported_compare1): Define.
1518
1519 2010-04-30 Jan Hubicka <jh@suse.cz>
1520
1521 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
1522 (cgraph_global_info): Remove inlined.
1523 (LTO_cgraph_tag_names): Remove.
1524 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
1525 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
1526 simplify cgraph tags and document.
1527 (lto_output_node): Use only LTO_cgraph_unavail_node and
1528 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
1529 for_functions_valid, global info, process and output flags.
1530 (input_overwrite_node): Initialize estimated stack size and
1531 estimated growth. Do not read flags we no longer store.
1532 (input_node): Likewise do not read info no longer stored.
1533 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
1534 flag.
1535
1536 2010-04-30 Richard Guenther <rguenther@suse.de>
1537
1538 PR tree-optimization/43879
1539 * tree-ssa-structalias.c (get_constraint_for_1): Properly
1540 handle non-zero initializers.
1541
1542 2010-04-30 Richard Guenther <rguenther@suse.de>
1543
1544 * builtins.c (fold_builtin_1): Delete free (0).
1545
1546 2010-04-29 Jan Hubicka <jh@suse.cz>
1547
1548 * gengtype.c (open_base_files): Add lto-streamer.h
1549 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
1550 (pass_ipa_cp): GGC collect.
1551 * toplev. (compile_file): Do not output symbols.
1552 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
1553 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
1554 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
1555 * lto-section-in.c: Include ggc.h
1556 (lto_new_in_decl_state): Alloc in GGC.
1557 (lto_delete_in_decl_state): Likewise.
1558 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
1559 Collect.
1560
1561 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
1562
1563 PR target/42895
1564 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
1565 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
1566 (HONOR_REG_ALLOC_ORDER): Describe new macro.
1567 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
1568 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
1569 account only if HONOR_REG_ALLOC_ORDER is not defined.
1570 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
1571 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
1572
1573 2010-04-29 Jon Grant <04@jguk.org>
1574
1575 * collect2.c (vflag): Change type from int to bool.
1576 (debug): Likewise.
1577 (helpflag): New global bool.
1578 (main): Set vflag and debug with boolean, not integer truth values.
1579 Accept new "--help" option and output usage text if found.
1580 * collect2.h (vflag): Update prototype.
1581 (debug): Likewise.
1582
1583 2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
1584
1585 PR bootstrap/43936
1586 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
1587
1588 2010-04-29 Richard Guenther <rguenther@suse.de>
1589
1590 PR bootstrap/43935
1591 * plugin.h (invoke_plugin_callbacks): Annotate arguments
1592 with ATTRIBUTE_UNUSED.
1593
1594 2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
1595
1596 PR target/43921
1597 * config/i386/i386.c (get_some_local_dynamic_name): Replace
1598 INSN_P with NONDEBUG_INSN_P.
1599 (distance_non_agu_define): Likewise.
1600 (distance_agu_use): Likewise.
1601
1602 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
1603
1604 From Dominique d'Humieres <dominiq@lps.ens.fr>
1605 PR bootstrap/43858
1606 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
1607 test_set.
1608
1609 2010-04-29 Brian Hackett <bhackett1024@gmail.com>
1610
1611 * plugin.h (invoke_plugin_callbacks): New inline function.
1612 * plugin.c (flag_plugin_added): New global flag.
1613 (add_new_plugin): Initialize above flag.
1614 (invoke_plugin_callbacks): Rename to ...
1615 (invoke_plugin_callbacks_full): ... this.
1616
1617 2010-04-28 Jan Hubicka <jh@suse.cz>
1618
1619 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
1620 (lto_varpool_replace_node): New.
1621 (lto_symtab_resolve_symbols): Resolve varpool nodes.
1622 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
1623 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
1624 * cgraph.h (varpool_node_ptr): New type.
1625 (varpool_node_ptr): New vector.
1626 (varpool_node_set_def): New structure.
1627 (varpool_node_set): New type.
1628 (varpool_node_set): New vector.
1629 (varpool_node_set_element_def): New structure.
1630 (varpool_node_set_element, const_varpool_node_set_element): New types.
1631 (varpool_node_set_iterator): New type.
1632 (varpool_node): Add prev pointers, add used_from_other_partition,
1633 in_other_partition.
1634 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
1635 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
1636 varpool_get_node, varpool_remove_node): Declare.
1637 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
1638 varpool_node_set_size): New inlines.
1639 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
1640 * tree-pass.h (varpool_node_set_def): Forward declare.
1641 (ipa_opt_pass_d): Summary writting takes vnode sets too.
1642 (ipa_write_optimization_summaries): Update prototype.
1643 * ipa-cp.c (ipcp_write_summary): Update.
1644 * ipa-reference.c (ipa_reference_write_summary): Update.
1645 * lto-cgraph.c (lto_output_varpool_node): New static function.
1646 (output_varpool): New function.
1647 (input_varpool_node): New static function.
1648 (input_varpool_1): New function.
1649 (input_cgraph): Input varpool.
1650 * ipa-pure-const.c (pure_const_write_summary): Update.
1651 * lto-streamer-out.c (lto_output): Update, output varpool too.
1652 (write_global_stream): Kill WPA hack.
1653 (produce_asm_for_decls): Update.
1654 (output_alias_pair_p): Handle variables.
1655 (output_unreferenced_globals): Output only needed partition of varpool.
1656 * ipa-inline.c (inline_write_summary): Update.
1657 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
1658 cgraph.
1659 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
1660 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
1661 varpool_node_set_new, varpool_node_set_add,
1662 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
1663 debug_varpool_node_set): New functions.
1664 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
1665 (execute_one_pass): Process new decls too.
1666 (ipa_write_summaries_2): Pass around vsets.
1667 (ipa_write_summaries_1): Likewise.
1668 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
1669 to add.
1670 (ipa_write_optimization_summaries_1): Pass around vsets.
1671 (ipa_write_optimization_summaries): Likewise.
1672 * varpool.c (varpool_get_node): New.
1673 (varpool_node): Update doubly linked lists.
1674 (varpool_remove_node): New.
1675 (dump_varpool_node): More dumping.
1676 (varpool_enqueue_needed_node): Update doubly linked lists.
1677 (decide_is_variable_needed): Kill ltrans hack.
1678 (varpool_finalize_decl): Kill lto hack.
1679 (varpool_assemble_decl): Skip decls in other partitions.
1680 (varpool_assemble_pending_decls): Update doubly linkes lists.
1681 (varpool_empty_needed_queue): Likewise.
1682 (varpool_extra_name_alias): Likewise.
1683 * lto-streamer.c (lto_get_section_name): Add vars section.
1684 * lto-streamer.h (lto_section_type): Update.
1685 (output_varpool, input_varpool): Declare.
1686
1687 2010-04-28 Mike Stump <mikestump@comcast.net>
1688
1689 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
1690
1691 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
1692
1693 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
1694 record or union type with RECORD_OR_UNION_TYPE_P predicate.
1695 (lto_input_ts_type_tree_pointers): Likewise.
1696 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
1697 (lto_output_ts_type_tree_pointers): Likewise.
1698
1699 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
1700
1701 Uniquization of constants at the Tree level
1702 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
1703 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
1704 bit to the end.
1705 (tree_output_constant_def): Declare.
1706 * gimplify.c (gimplify_init_constructor): When using block copy, first
1707 uniquize the constant constructor on the RHS.
1708 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
1709 DECL_IN_CONSTANT_POOL flag.
1710 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
1711 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
1712 constant pool.
1713 (assemble_variable): Deal with symbols belonging to the tree constant
1714 pool.
1715 (get_constant_section): Add ALIGN parameter and simplify.
1716 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
1717 (assemble_constant_contents): Use the expression of the VAR_DECL.
1718 (output_constant_def_contents): Use the alignment of the VAR_DECL.
1719 (tree_output_constant_def): New global function.
1720 (mark_constant): Use the expression of the VAR_DECL.
1721 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
1722 its expression.
1723 (output_object_block): Likewise and assemble the expression.
1724
1725 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
1726
1727 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
1728 hash_tree, eq_tree): New tree hash table.
1729 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
1730 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
1731 lto_orig_address_remove): Reimplement.
1732
1733 2010-04-28 Xinliang David Li <davidxl@google.com>
1734
1735 PR c/42643
1736 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
1737 (compute_uninit_opnds_pos): New function.
1738 (is_non_loop_exit_postdominating): New function.
1739 (compute_control_dep_chain): New function.
1740 (find_pdom): New function.
1741 (convert_control_dep_chain_into_preds): New function.
1742 (find_predicates): New function.
1743 (find_control_equiv_block): New function.
1744 (collect_phi_def_edges): New function.
1745 (find_def_preds): New function.
1746 (find_dom): New function.
1747 (dump_predicates): New function.
1748 (get_cmp_code): New function.
1749 (is_value_included_in): New function.
1750 (find_matching_predicate_in_rest_chains): New function.
1751 (use_pred_not_overlap_with_undef_path_pred): New function.
1752 (is_use_properly_guarded): New function.
1753 (normalize_cond_1): New function.
1754 (is_and_or_or): New function.
1755 (normalize_cond): New function.
1756 (is_gcond_subset_of): New function.
1757 (is_subset_of_any): New function.
1758 (is_or_set_subset_of): New function.
1759 (is_and_set_subset_of): New function.
1760 (is_norm_cond_subset_of): New function.
1761 (is_pred_expr_subset_of): New function.
1762 (is_pred_chain_subset_of): New function.
1763 (is_included_in): New function.
1764 (is_superset_of): New function.
1765 (find_uninit_use): New function.
1766 (warn_uninitialized_phi): New function.
1767 (compute_possibly_undefined_names): New function.
1768 (ssa_undefined_value_p): New function.
1769 (execute_late_warn_uninitialized): New function.
1770 * tree-ssa.c (ssa_undefined_value_p): Removed.
1771 (warn_uninit): Changed to extern.
1772 (warn_uninitialized_phi): Removed.
1773 (warn_uninitialized_vars): Changed to extern.
1774 (execute_late_warn_uninitialized): Removed
1775 * tree-flow.h: Add new prototypes.
1776 * timevar.def: Add new time variable.
1777 * Makefile.in: Add new build file.
1778
1779 2010-04-28 Uros Bizjak <ubizjak@gmail.com>
1780
1781 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
1782 type if available.
1783
1784 2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1785
1786 PR target/22224
1787 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
1788
1789 2010-04-28 Martin Jambor <mjambor@suse.cz>
1790
1791 * cgraph.h (struct cgraph_node): New field indirect_calls.
1792 (struct cgraph_indirect_call_info): New type.
1793 (struct cgraph_edge): Removed field indirect_call. New fields
1794 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
1795 (cgraph_create_indirect_edge): Declare.
1796 (cgraph_make_edge_direct): Likewise.
1797 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
1798 * ipa-prop.h (struct ipa_param_call_note): Removed.
1799 (struct ipa_node_params): Removed field param_calls.
1800 (ipa_create_all_structures_for_iinln): Declare.
1801 * cgraph.c: Described indirect edges and uids in initial comment.
1802 (cgraph_add_edge_to_call_site_hash): New function.
1803 (cgraph_edge): Search also among the indirect edges, use
1804 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
1805 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
1806 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
1807 site hash.
1808 (initialize_inline_failed): Assign a reason to indirect edges.
1809 (cgraph_create_edge_1): New function.
1810 (cgraph_create_edge): Moved some functionality to
1811 cgraph_create_edge_1.
1812 (cgraph_create_indirect_edge): New function.
1813 (cgraph_edge_remove_callee): Add an assert checking for
1814 non-indirectness.
1815 (cgraph_edge_remove_caller): Special-case indirect edges.
1816 (cgraph_remove_edge): Likewise.
1817 (cgraph_set_edge_callee): New function.
1818 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
1819 (cgraph_make_edge_direct): New function.
1820 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
1821 the declaration of the call statement matches.
1822 (cgraph_node_remove_callees): Special-case indirect edges.
1823 (cgraph_clone_edge): Likewise.
1824 (cgraph_clone_node): Clone also the indirect edges.
1825 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
1826 indirect_call, dump count of indirect_calls edges.
1827 * ipa-prop.c (iinlining_processed_edges): New variable.
1828 (ipa_note_param_call): Create indirect edges instead of
1829 creating notes. New parameter node.
1830 (ipa_analyze_call_uses): New parameter node, pass it on to
1831 ipa_note_param_call.
1832 (ipa_analyze_stmt_uses): Likewise.
1833 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
1834 (print_edge_addition_message): Work on edges rather than on notes.
1835 (update_call_notes_after_inlining): Likewise, renamed to
1836 update_indirect_edges_after_inlining.
1837 (ipa_create_all_structures_for_iinln): New function.
1838 (ipa_free_node_params_substructures): Do not free notes.
1839 (ipa_edge_duplication_hook): Propagate bits within
1840 iinlining_processed_edges bitmap.
1841 (ipa_node_duplication_hook): Do not duplicate notes.
1842 (free_all_ipa_structures_after_ipa_cp): Renamed to
1843 ipa_free_all_structures_after_ipa_cp.
1844 (free_all_ipa_structures_after_iinln): Renamed to
1845 ipa_free_all_structures_after_iinln.
1846 (ipa_write_param_call_note): Removed.
1847 (ipa_read_param_call_note): Removed.
1848 (ipa_write_indirect_edge_info): New function.
1849 (ipa_read_indirect_edge_info): Likewise.
1850 (ipa_write_node_info): Do not stream notes, do stream information
1851 in indirect edges.
1852 (ipa_read_node_info): Likewise.
1853 (lto_ipa_fixup_call_notes): Removed.
1854 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
1855 * ipa-inline.c (pass_ipa_inline): Likewise.
1856 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
1857 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
1858 * tree-inline.c (copy_bb): Removed an unnecessary double check for
1859 is_gimple_call.
1860 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
1861 edges.
1862 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
1863 (output_cgraph): Stream also indirect edges.
1864 (lto_output_edge): Added capability to stream indirect edges.
1865 (input_edge): Likewise.
1866 (input_cgraph_1): Likewise.
1867 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
1868 of indirect edges.
1869
1870 2010-04-28 Richard Guenther <rguenther@suse.de>
1871
1872 PR tree-optimization/43879
1873 PR tree-optimization/43909
1874 * tree-ssa-structalias.c (struct variable_info): Add
1875 only_restrict_pointers flag.
1876 (new_var_info): Initialize it. Increment stats.total_vars here.
1877 (create_function_info_for): Do not increment stats.total_vars here.
1878 (get_function_part_constraint): Fix build with C++.
1879 (insert_into_field_list): Remove.
1880 (push_fields_onto_fieldstack): Properly merge fields.
1881 (create_variable_info_for): Split and simplify.
1882 (create_variable_info_for_1): New piece.
1883 (intra_create_variable_infos): Properly make restrict constraints
1884 from parameters.
1885
1886 2010-04-28 Richard Guenther <rguenther@suse.de>
1887
1888 PR c++/43880
1889 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
1890
1891 2010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
1892 Jan Hubicka <hubicka@ucw.cz>
1893
1894 * doc/invoke.texi (-Wsuggest-attribute=const,
1895 -Wsuggest-attribute=pure): Document.
1896 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
1897 (function_always_visible_to_compiler_p,
1898 suggest_attribute, warn_function_pure, warn_function_const):
1899 New functions.
1900 (check_call): Improve debug info.
1901 (analyze_function): Do not check availability.
1902 (add_new_function): Check availability.
1903 (propagate): Output warnings.
1904 (skip_function_for_local_pure_const): New function.
1905 (local_pure_const): Use it; output warnings.
1906 * common.opt (Wsuggest-attribute=const,
1907 Wsuggest-attribute=pure): New.
1908
1909 2010-04-27 Jakub Jelinek <jakub@redhat.com>
1910
1911 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
1912 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
1913 or DW_CFA_def_cfa_offset{,_sf}.
1914
1915 2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
1916
1917 * tree.h: Fix truncated long macros.
1918
1919 2010-04-27 Kai Tietz <kai.tietz@onevision.com>
1920
1921 * collect2.c (TARGET_64BIT): Redefine to target's default.
1922 * tlink.c: Likewise.
1923 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
1924 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
1925 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
1926 for underscoring __USER_LABEL_PREFIX__.
1927 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
1928 (SUB_LINK_ENTRY32): New.
1929 (SUB_LINK_ENTRY64): New.
1930 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
1931 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
1932 (SUB_LINK_ENTRY64): New.
1933 (SUB_LINK_ENTRY): New.
1934 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
1935 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
1936 x64 target is choosen.
1937 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
1938 * configure: Regenerated.
1939 * configure.ac (leading-mingw64-underscores): Option added.
1940
1941 2010-04-27 Jan Hubicka <jh@suse.cz>
1942
1943 * doc/invoke.texi (-fipa-profile): Document.
1944 * opts.c (decode_options): Enable ipa-profile at -O1.
1945 * timevar.def (TV_IPA_PROFILE): Define.
1946 * common.opt (fipa-profile): Add.
1947 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
1948 flag for clones.
1949 (cgraph_propagate_frequency): Handle only local ones.
1950 * tree-pass.h (pass_ipa_profile): Declare.
1951 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
1952 (pass_ipa_profile): Use TV_IPA_PROFILE.
1953 * ipa.c (ipa_profile): New function.
1954 (gate_ipa_profile): Likewise.
1955 (pass_ipa_profile): New global variable.
1956 * passes.c (pass_ipa_profile): New.
1957
1958 2010-04-27 Nathan Froyd <froydnj@codesourcery.com>
1959
1960 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
1961
1962 2010-04-27 Martin Jambor <mjambor@suse.cz>
1963
1964 PR middle-end/43812
1965 * ipa.c (dissolve_same_comdat_group_list): New function.
1966 (function_and_variable_visibility): Call
1967 dissolve_same_comdat_group_list when comdat group contains external or
1968 newly local nodes.
1969 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
1970 lists are circular and that they contain only DECL_ONE_ONLY nodes.
1971
1972 2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
1973
1974 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
1975 (const_hash_1) <VECTOR_CST>: New case.
1976 (compare_constant) <VECTOR_CST>: Likewise.
1977 <ADDR_EXPR>: Deal with LABEL_REFs.
1978 (copy_constant) <VECTOR_CST>: New case.
1979
1980 2010-04-27 Jan Hubicka <jh@suse.cz>
1981
1982 * cgraph.c (cgraph_propagate_frequency): New function.
1983 * cgraph.h (cgraph_propagate_frequency): Declare.
1984 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
1985 cgraph_propagate_frequency.
1986
1987 2010-04-27 Jakub Jelinek <jakub@redhat.com>
1988
1989 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
1990
1991 2010-04-27 Bernd Schmidt <bernds@codesourcery.com>
1992
1993 PR target/40657
1994 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
1995 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
1996 here to determine which regs to push and how much stack to reserve.
1997
1998 2010-04-27 Jie Zhang <jie@codesourcery.com>
1999
2000 * doc/gimple.texi (gimple_statement_with_ops): Remove
2001 addresses_taken field.
2002 (gimple_statement_with_memory_ops): Likewise.
2003
2004 2010-04-27 Jan Hubicka <jh@suse.cz>
2005
2006 * tree-inline.c (eni_inlining_weights): Remove.
2007 (estimate_num_insns): Special case more builtins.
2008
2009 2010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
2010
2011 PR c/32207
2012 * c-typeck.c (build_binary_op): Move forward check for comparison
2013 pointer with null pointer constant and adjust the diagnostic message.
2014
2015 2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
2016
2017 PR lto/42776
2018 * configure.ac (gcc_cv_as_section_has_align): Set if installed
2019 binutils supports extended .section directive needed by LTO, or
2020 warn if older binutils found.
2021 (LTO_BINARY_READER): New AC_SUBST'd variable.
2022 (LTO_USE_LIBELF): Likewise.
2023 * gcc/config.gcc (lto_binary_reader): New target-specific configure
2024 variable.
2025 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
2026 (LTO_USE_LIBELF): Likewise.
2027 * configure: Regenerate.
2028
2029 * collect2.c (is_elf): Rename from this ...
2030 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
2031 object files in addition to ELF-formatted ones.
2032 (scan_prog_file): Caller updated. Also allow for LTO info marker
2033 symbol to be prefixed or not by an extra underscore.
2034
2035 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
2036 * config/i386/winnt.c: Also #include lto-streamer.h
2037 (i386_pe_asm_named_section): Specify 1-byte section alignment for
2038 LTO named sections.
2039 (i386_pe_asm_output_aligned_decl_common): Add comment.
2040 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
2041
2042 2010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
2043
2044 PR target/43889
2045 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
2046 Add missing earlyclobber for second alternative.
2047
2048 2010-04-26 Bernd Schmidt <bernds@codesourcery.com>
2049
2050 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
2051 bits for artificial defs at the top of the block.
2052 * fwprop.c (single_def_use_enter_block): Don't call it.
2053
2054 2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
2055
2056 PR 43715
2057 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
2058 instead of "$gcc_cv_objdump -T".
2059 Use "-undefined dynamic_lookup" on darwin.
2060 * gcc/configure: Regenerate.
2061
2062 2010-04-26 Jakub Jelinek <jakub@redhat.com>
2063
2064 PR c/43893
2065 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
2066
2067 2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
2068
2069 * c-parser.c (struct c_token): Move location field up.
2070 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
2071 (struct c_declspecs): Convert typespec_word, storage_class, and
2072 default_int_p into bitfields.
2073 (struct c_declarator): Move loc field up.
2074
2075 2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
2076
2077 * cfgloop.h (struct loop): Move can_be_parallel field up.
2078 * ipa-prop.h (struct ip_node_params): Move bitfields up.
2079 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
2080 down.
2081 (struct iv_cand): Convert pos field into a bitfield.
2082 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
2083 field up.
2084 (struct _stmt_vec_info): Shuffle fields for better packing.
2085
2086 2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
2087
2088 * varasm.c (IN_NAMED_SECTION): Remove guard.
2089 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
2090 (IN_NAMED_SECTION_P): ...this.
2091 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
2092 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
2093
2094 2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
2095
2096 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
2097 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
2098 of shadowing it. Fix comments.
2099
2100 2010-04-26 Jan Hubicka <jh@suse.cz>
2101
2102 * cgraph.c (cgraph_create_node): Set node frequency to normal.
2103 (cgraph_clone_node): Copy function frequency.
2104 * cgraph.h (node_frequency): New enum
2105 (struct cgraph_node): Add.
2106 * final.c (rest_of_clean_state): Update.
2107 * lto-cgraph.c (lto_output_node): Output node frequency.
2108 (input_overwrite_node): Input node frequency.
2109 * tre-ssa-loop-ivopts (computation_cost): Update.
2110 * lto-streamer-out.c (output_function): Do not output function
2111 frequency.
2112 * predict.c (maybe_hot_frequency_p): Update and handle functions
2113 executed once.
2114 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
2115 attribute lookup.
2116 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
2117 (compute_function_frequency): Set noreturn functions to be executed
2118 once.
2119 (choose_function_section): Update.
2120 * lto-streamer-in.c (input_function): Do not input function frequency.
2121 * function.c (allocate_struct_function): Do not initialize function
2122 frequency.
2123 * function.h (function_frequency): Remove.
2124 (struct function): Remove function frequency.
2125 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
2126 (try_update): Update.
2127 * tree-inline.c (initialize_cfun): Do not update function frequency.
2128 * passes.c (pass_init_dump_file): Update.
2129 * i386.c (ix86_compute_frame_layout): Update.
2130 (ix86_pad_returns): Update.
2131
2132 2010-04-26 Jie Zhang <jie@codesourcery.com>
2133
2134 PR tree-optimization/43833
2135 * tree-vrp.c (range_int_cst_p): New.
2136 (range_int_cst_singleton_p): New.
2137 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
2138 when both operands are constants. Use range_int_cst_p in
2139 BIT_IOR_EXPR case.
2140
2141 2010-04-26 Jan Hubicka <jh@suse.cz>
2142
2143 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
2144
2145 2010-04-26 Richard Guenther <rguenther@suse.de>
2146
2147 PR lto/43080
2148 * gimple.c (gimple_decl_printable_name): Deal gracefully
2149 with a NULL DECL_NAME.
2150
2151 2010-04-26 Richard Guenther <rguenther@suse.de>
2152
2153 PR lto/42425
2154 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
2155 if emitting debug information and it is either a function
2156 or a namespace decl.
2157
2158 2010-04-26 Ira Rosen <irar@il.ibm.com>
2159
2160 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
2161 determine if the statement is vectorizable, and a macro to access it.
2162 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
2163 Skip statements that can't be vectorized. If the analysis fails,
2164 mark the statement as unvectorizable if vectorizing basic block.
2165 (vect_compute_data_refs_alignment): Likewise.
2166 (vect_verify_datarefs_alignment): Skip statements marked as
2167 unvectorizable. Add print.
2168 (vect_analyze_group_access): Skip statements that can't be
2169 vectorized. If the analysis fails, mark the statement as
2170 unvectorizable if vectorizing basic block.
2171 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
2172 * tree-vect-stmts.c (vectorizable_store): Fix the number of
2173 generated stmts for SLP.
2174 (new_stmt_vec_info): Initialize the new field.
2175 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
2176 statements marked as unvectorizable.
2177
2178 2010-04-25 Joseph Myers <joseph@codesourcery.com>
2179
2180 * c-common.c (flag_isoc1x): New.
2181 (flag_isoc99): Update comment.
2182 * c-common.h (flag_isoc1x): New.
2183 (flag_isoc99): Update comment.
2184 * c-cppbuiltin.c (builtin_define_float_constants): Also define
2185 __<type>_DECIMAL_DIG__.
2186 * c-opts.c (set_std_c1x): New.
2187 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
2188 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
2189 * c.opt (-std=c1x, -std=gnu1x): New options.
2190 * doc/cpp.texi: Mention -std=c1x.
2191 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
2192 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
2193 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
2194 * doc/standards.texi: Mention C1X.
2195 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
2196 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
2197 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
2198 Define for C1X.
2199
2200 2010-04-25 Uros Bizjak <ubizjak@gmail.com>
2201
2202 * config/i386/gmon-sol2.c (_mcleanup): Change format string
2203 placeholder from 0x%x to %#x.
2204 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
2205 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
2206 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
2207 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
2208 * config/i386/i386.c (ix86_target_string): Ditto.
2209 (output_pic_addr_const): Ditto.
2210 (print_operand): Ditto.
2211
2212 2010-04-25 Paolo Bonzini <bonzini@gnu.org>
2213
2214 * combine.c (find_split_point): Add third argument. Use it
2215 to find nested multiply-accumulate instructions. Adjust calls.
2216 (try_combine): Adjust call to find_split_point.
2217
2218 2010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
2219
2220 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
2221
2222 2010-04-24 Bernd Schmidt <bernds@codesourcery.com>
2223
2224 PR tree-optimization/41442
2225 * fold-const.c (merge_truthop_with_opposite_arm): New function.
2226 (fold_binary_loc): Call it.
2227
2228 2010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2229
2230 * toplev.c (general_init): Set default for fdiagnostics-show-option.
2231 * opts.c (common_handle_option): Allow disabling it.
2232 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
2233
2234 2010-04-23 Eric Botcazou <ebotcazou@adacore.com>
2235
2236 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
2237 between modes if both types are integral.
2238
2239 2010-04-23 Richard Guenther <rguenther@suse.de>
2240
2241 PR tree-optimization/43572
2242 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
2243
2244 2010-04-23 Richard Guenther <rguenther@suse.de>
2245
2246 PR lto/43455
2247 * tree-inline.c (tree_can_inline_p): Also check compatibility
2248 of return types.
2249
2250 2010-04-23 Martin Jambor <mjambor@suse.cz>
2251
2252 PR tree-optimization/43846
2253 * tree-sra.c (struct access): New flag grp_assignment_read.
2254 (build_accesses_from_assign): Set grp_assignment_read.
2255 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
2256 (enum mark_read_status): New type.
2257 (analyze_access_subtree): Propagate grp_assignment_read, create
2258 accesses also if both direct_read and root->grp_assignment_read.
2259
2260 2010-04-23 Martin Jambor <mjambor@suse.cz>
2261
2262 PR middle-end/43835
2263 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
2264 function does not have type attributes.
2265
2266 2010-04-23 Richard Guenther <rguenther@suse.de>
2267
2268 PR lto/42653
2269 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
2270 of FUNCTION_DECLs.
2271
2272 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2273
2274 * sese.h (create_if_region_on_edge): Remove.
2275
2276 * sese.c (create_if_region_on_edge): Make static.
2277
2278 * tree-inline.c: Do not include ggc.h.
2279
2280 * expr.c: Do not include ggc.h.
2281
2282 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
2283 dependencies.
2284
2285 2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
2286
2287 PR target/43744
2288 * config/sh/sh.c (find_barrier): Don't emit a constant pool
2289 in the middle of insns for casesi_worker_2.
2290
2291 2010-04-22 David Edelsohn <edelsohn@gnu.org>
2292
2293 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
2294
2295 2010-04-22 Ira Rosen <irar@il.ibm.com>
2296
2297 PR tree-optimization/43842
2298 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
2299 loop unrolling in update of exit phis. Fix comment.
2300 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
2301 least two reduction statements in the loop before starting SLP
2302 analysis.
2303
2304 2010-04-22 Nick Clifton <nickc@redhat.com>
2305
2306 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
2307
2308 2010-04-22 Alexander Monakov <amonakov@ispras.ru>
2309
2310 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
2311 to simplify a + ~a.
2312
2313 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2314
2315 * tree-parloops.c (loop_parallel_p): New argument
2316 parloop_obstack. Pass it down.
2317 (parallelize_loops): New variable parloop_obstack. Initialize it,
2318 pass it down, free it.
2319
2320 * tree-loop-linear.c (linear_transform_loops): Pass down
2321 lambda_obstack.
2322
2323 * tree-data-ref.h (lambda_compute_access_matrices): New argument
2324 of type struct obstack *.
2325
2326 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
2327 scratch_obstack. Initialize it, pass down, free it.
2328
2329 * lambda.h (lambda_loop_new): Remove.
2330 (lambda_matrix_new, lambda_matrix_inverse)
2331 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
2332 argument of type struct obstack *.
2333
2334 * lambda-trans.c (lambda_trans_matrix_new): New argument
2335 lambda_obstack. Pass it down, use obstack allocation for ret.
2336 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
2337 it down.
2338
2339 * lambda-mat.c (lambda_matrix_get_column)
2340 (lambda_matrix_project_to_null): Remove.
2341 (lambda_matrix_new): New argument lambda_obstack. Use obstack
2342 allocation for mat.
2343 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
2344 lambda_obstack.
2345
2346 * lambda-code.c (lambda_loop_new): New function.
2347 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
2348 (lambda_compute_auxillary_space, lambda_compute_target_space)
2349 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
2350 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
2351 (build_access_matrix): New argument lambda_obstack. Use obstack
2352 allocation for am.
2353 (lambda_compute_step_signs, lambda_compute_access_matrices): New
2354 argument lambda_obstack. Pass it down.
2355
2356 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
2357
2358 * optabs.h (expand_widening_mult): Declare.
2359
2360 2010-04-22 Richard Guenther <rguenther@suse.de>
2361
2362 PR tree-optimization/43845
2363 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
2364 lookup the CALL_EXPR function and arguments.
2365
2366 2010-04-22 Nick Clifton <nickc@redhat.com>
2367
2368 * config/stormy16/stormy16.c
2369 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
2370 * config/stormy16/stormy16.h: Tidy up formatting.
2371 (DONT_USE_BUILTIN_SETJMP): Remove definition.
2372 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
2373 (ineqbranchsi): Delete pattern.
2374 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
2375 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
2376 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
2377 stormy16-lib2-ucmpsi2.c.
2378
2379 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
2380
2381 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
2382 df_simulate_find_noclobber_defs as appropriate. Keep track of an
2383 extra set merge_set_noclobber, and use it to relax the final test
2384 slightly.
2385 * df.h (df_simulate_find_noclobber_defs): Declare.
2386 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
2387 conditional defs.
2388 (df_simulate_find_noclobber_defs): New function.
2389
2390 2010-04-22 Uros Bizjak <ubizjak@gmail.com>
2391
2392 * config/i386/i386.md: Use {} around multi-line preparation statements.
2393
2394 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2395
2396 * c-tree.h (push_init_level, pop_init_level, set_init_index)
2397 (process_init_element): New argument of type struct obstack *.
2398
2399 * c-typeck.c (push_init_level, pop_init_level, set_designator)
2400 (set_init_index, set_init_label, set_nonincremental_init)
2401 (set_nonincremental_init_from_string, find_init_member)
2402 (output_init_element, output_pending_init_elements)
2403 (process_init_element): New argument braced_init_obstack. Pass it
2404 down.
2405 (push_range_stack, add_pending_init): New argument
2406 braced_init_obstack. Use obstack allocation.
2407
2408 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
2409 braced_init_obstack. Pass it down.
2410 (c_parser_braced_init): New variables ret, braced_init_obstack.
2411 Initialize obstack, pass it down and finally free it.
2412
2413 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
2414
2415 PR middle-end/29274
2416 * tree-pass.h (pass_optimize_widening_mul): Declare.
2417 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
2418 gate_optimize_widening_mul): New static functions.
2419 (pass_optimize_widening_mul): New.
2420 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
2421 <case MULT_EXPR>: Remove support for widening multiplies.
2422 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
2423 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
2424 simplify_gen_unary rather than directly building extensions.
2425 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
2426 WIDEN_MULT_EXPR.
2427 * expmed.c (expand_widening_mult): New function.
2428 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
2429
2430 2010-04-21 Jan Hubicka <jh@suse.cz>
2431
2432 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
2433 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
2434 * lto-wpa-fixup.c: Remove.
2435 * Makefile.in (lto-wpa-fixup.o): Remove.
2436 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
2437 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
2438 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
2439
2440 2010-04-21 Jan Hubicka <jh@suse.cz>
2441
2442 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
2443 add write_optimization_summary, read_optimization_summary.
2444 (ipa_write_summaries_of_cgraph_node_set): Remove.
2445 (ipa_write_optimization_summaries): Declare.
2446 (ipa_read_optimization_summaries): Declare.
2447 * ipa-cp.c (pass_ipa_cp): Update.
2448 * ipa-reference.c (pass_ipa_reference): Update.
2449 * ipa-pure-const.c (pass_ipa_pure_const): Update.
2450 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
2451 Update.
2452 * ipa-inline.c (pass_ipa_inline): Update.
2453 * ipa.c (pass_ipa_whole_program): Update.
2454 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
2455 * passes.c (ipa_write_summaries_1): Do not test wpa.
2456 (ipa_write_optimization_summaries_1): New.
2457 (ipa_write_optimization_summaries): New.
2458 (ipa_read_summaries): Do not test ltrans.
2459 (ipa_read_optimization_summaries_1): New.
2460 (ipa_read_optimization_summaries): New.
2461
2462 2010-04-21 Jan Hubicka <jh@suse.cz>
2463
2464 * lto-cgraph.c (lto_output_node): Do not output comdat groups
2465 for boundary nodes.
2466 (output_cgraph): Do not arrange comdat groups for boundary nodes.
2467
2468 2010-04-21 Jakub Jelinek <jakub@redhat.com>
2469
2470 PR debug/40040
2471 * dwarf2out.c (add_name_and_src_coords_attributes): Add
2472 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
2473
2474 2010-04-21 Jan Hubicka <jh@suse.cz>
2475
2476 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
2477
2478 2010-04-21 Jan Hubicka <jh@suse.cz>
2479
2480 * varpool.c (decide_is_variable_needed): Variable is always needed
2481 during ltrans.
2482
2483 2010-04-21 Jan Hubicka <jh@suse.cz>
2484
2485 * opts.c (decode_options): Enable pure-const pass for whopr.
2486
2487 2010-04-21 Jan Hubicka <jh@suse.cz>
2488
2489 * cgraph.c (dump_cgraph_node): Dump also assembler name.
2490 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
2491 at WPA dumping.
2492 (cgraph_decide_inlining): Do not expect callee to be removed in all
2493 cases.
2494
2495 2010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
2496
2497 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
2498
2499 2010-04-21 Uros Bizjak <ubizjak@gmail.com>
2500
2501 * config/i386/i386.md (x86_shrd): Add athlon_decode and
2502 amdfam10_decode attributes.
2503
2504 2010-04-21 Jakub Jelinek <jakub@redhat.com>
2505
2506 PR middle-end/43570
2507 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
2508 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
2509 (lower_copyprivate_clauses): Use private var in outer
2510 context instead of original var. Make sure the types
2511 are correct for VLAs.
2512
2513 2010-04-21 Richard Guenther <rguenther@suse.de>
2514
2515 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
2516 to non-pointer objects.
2517
2518 2010-04-21 Jakub Jelinek <jakub@redhat.com>
2519
2520 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
2521 last chain entry if it starts with the still current label.
2522 (add_location_or_const_value_attribute): Check that
2523 loc_list->first->next is NULL instead of comparing ->first with ->last.
2524 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
2525 to add_var_loc_to_decl.
2526
2527 * dwarf2out.c (output_call_frame_info): For dw_cie_version
2528 >= 4 add also address size and segment size fields into CIE header.
2529
2530 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
2531 long as address size is the same as sizeof (void *) and
2532 segment size is 0.
2533 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
2534 address size or segment size is unexpected, return DW_EH_PE_omit.
2535 (classify_object_over_fdes): If get_cie_encoding returned
2536 DW_EH_PE_omit, return -1.
2537 (init_object): If classify_object_over_fdes returned -1,
2538 pretend there were no FDEs at all.
2539
2540 2010-04-21 Uros Bizjak <ubizjak@gmail.com>
2541
2542 * config/i386/i386.md (bswap<mode>2): Macroize expander from
2543 bswap{si,di}2 using SWI48 mode iterator.
2544 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
2545 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
2546 set modrm attribute of bswap insn to 0 and remove length attribute.
2547 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
2548 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
2549 set mode attribute to <MODE> and remove length attribute.
2550
2551 2010-04-20 James E. Wilson <wilson@codesourcery.com>
2552
2553 PR rtl-optimization/43520
2554 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
2555 zero available registers.
2556
2557 2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2558
2559 * builtins.c (fold_builtin_cproj): Fold more cases.
2560
2561 2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2562
2563 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
2564 (fold_builtin_1): Fold builtin cproj.
2565 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
2566 Use ATTR_CONST_NOTHROW_LIST.
2567
2568 2010-04-20 Uros Bizjak <ubizjak@gmail.com>
2569
2570 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
2571 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
2572 ffsi2_no_cmove for !TARGET_CMOVE.
2573 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
2574 (ffssi2): Remove expander.
2575 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
2576 mode iterator.
2577 (ctz<mode>2): Ditto from ctz{si,di}2.
2578 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
2579 mode iterator.
2580 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
2581 mode iterator.
2582
2583 2010-04-20 Jakub Jelinek <jakub@redhat.com>
2584
2585 * dwarf2out.c (AT_linkage_name): Define.
2586 (clone_as_declaration): Handle DW_AT_linkage_name.
2587 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
2588 of DW_AT_MIPS_linkage_name.
2589 (move_linkage_attr): Likewise.
2590 (dwarf2out_finish): Likewise.
2591
2592 2010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
2593
2594 PR middle-end/41952
2595 * fold-const.c (fold_comparison): New folding rule.
2596
2597 2010-04-20 Anatoly Sokolov <aesok@post.ru>
2598
2599 * double-int.h (double_int_setbit): Declare.
2600 * double-int.c (double_int_setbit): New function.
2601 * rtl.h (immed_double_int_const): Declare.
2602 * emit-rtl.c (immed_double_int_const): New function.
2603 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
2604 and immed_double_int_const functions.
2605 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
2606 expand_copysign_bit): (Ditto.).
2607 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
2608 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
2609 * dojump.c (prefer_and_bit_test): (Ditto.).
2610 * expr.c (convert_modes, reduce_to_bit_field_precision,
2611 const_vector_from_tree): (Ditto.).
2612 * expmed.c (mask_rtx, lshift_value): (Ditto.).
2613
2614 2010-04-20 Jan Hubicka <jh@suse.cz>
2615
2616 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
2617 (dump_cgraph_node): Dump new flags.
2618 * cgraph.h (struct cgraph_node): Add flags
2619 reachable_from_other_partition and in_other_partition.
2620 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
2621 other partition can not be removed.
2622 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
2623 the other partition must be output; silence sanity checking on
2624 leaking functions bodies from other paritition.
2625 * lto-cgraph.c (reachable_from_other_partition_p): New function.
2626 (lto_output_node): Output new flags; do not sanity check that inline
2627 clones are output; drop lto_forced_extern_inline_p code; do not mock
2628 visibility flags at partition boundaries.
2629 (add_node_to): New function.
2630 (output_cgraph): Use it to sort functions so masters appear before
2631 clones.
2632 (input_overwrite_node): Input new flags.
2633 * passes.c (ipa_write_summaries): Do not call
2634 lto_new_extern_inline_states.
2635 * lto-section-out.c (forced_extern_inline,
2636 lto_new_extern_inline_states lto_delete_extern_inline_states,
2637 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
2638 * lto-streamer.h (lto_new_extern_inline_states,
2639 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
2640 lto_forced_extern_inline_p): Kill.
2641
2642 2010-04-20 Richard Guenther <rguenther@suse.de>
2643
2644 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
2645 from vars that can have pointers.
2646 (process_constraint): Dump useless constraints.
2647
2648 2010-04-20 Richard Guenther <rguenther@suse.de>
2649
2650 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
2651 (dump_sa_points_to_info): Remove asserts.
2652 (init_base_vars): nothing_id isn't an escape point nor does it
2653 have pointers.
2654
2655 2010-04-20 Jakub Jelinek <jakub@redhat.com>
2656
2657 * tree.h (TYPE_REF_IS_RVALUE): Define.
2658 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
2659 should_move_die_to_comdat, prune_unused_types_walk): Handle
2660 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
2661 (modified_type_die, gen_reference_type_die): Emit
2662 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
2663 if TYPE_REF_IS_RVALUE and -gdwarf-4.
2664
2665 2010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2666
2667 PR target/43635
2668 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
2669 calls for -fpic -m31 if they have been sibcall optimized.
2670
2671 2010-04-19 James E. Wilson <wilson@codesourcery.com>
2672
2673 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
2674 ar.lc fixed and call-used.
2675
2676 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
2677
2678 2010-04-19 Jan Hubicka <jh@suse.cz>
2679
2680 * opts.c (decode_options): Disable whpr incompatible passes.
2681 * lto/lto.c (lto_1_to_1_map): Skip clones.
2682 (read_cgraph_and_symbols): Do not mark everything as needed.
2683 (do_whole_program_analysis): Do map only after optimizing;
2684 set proper cgraph_state; use passmanager.
2685
2686 2010-04-19 DJ Delorie <dj@redhat.com>
2687
2688 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
2689 POINTER_PLUS_EXPR and fix them.
2690
2691 2010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
2692
2693 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
2694 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
2695 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
2696 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
2697 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
2698 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
2699 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
2700 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
2701 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
2702 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
2703 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
2704
2705 2010-04-19 Eric Botcazou <ebotcazou@adacore.com>
2706
2707 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
2708 (check_cond_move_block): Likewise.
2709 (cond_move_process_if_block): Likewise.
2710 (noce_find_if_block): Improve formatting.
2711 (find_if_header): Pass 0 to memset and tweak conditions.
2712 (cond_exec_find_if_block): Fix long lines and tweak conditions.
2713
2714 2010-04-19 Jakub Jelinek <jakub@redhat.com>
2715
2716 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
2717 for -gdwarf-4.
2718
2719 PR middle-end/43337
2720 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
2721 with non-local decl doesn't need chain.
2722
2723 2010-04-19 Vladimir Makarov <vmakarov@redhat.com>
2724
2725 * ira-color.c (allocno_reload_assign): Avoid accumulating
2726 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
2727
2728 2010-04-19 Martin Jambor <mjambor@suse.cz>
2729
2730 * gimple.h (create_tmp_reg): Declare.
2731 * gimplify.c (create_tmp_reg): New function.
2732 (gimplify_return_expr): Use create_tmp_reg.
2733 (gimplify_omp_atomic): Likewise.
2734 (gimple_regimplify_operands): Likewise.
2735 * tree-dfa.c (make_rename_temp): Likewise.
2736 * tree-predcom.c (predcom_tmp_var): Likewise.
2737 (reassociate_to_the_same_stmt): Likewise.
2738 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
2739 (get_replaced_param_substitute): Likewise.
2740 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
2741 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
2742 * tree-ssa-pre.c (get_representative_for): Likewise.
2743 (create_expression_by_pieces): Likewise.
2744 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
2745 (create_tailcall_accumulator): Likewise.
2746
2747 2010-04-19 Martin Jambor <mjambor@suse.cz>
2748
2749 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
2750 new_stmt.
2751 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
2752
2753 2010-04-19 Richard Guenther <rguenther@suse.de>
2754
2755 PR tree-optimization/43796
2756 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
2757 from SCEV in the lattice.
2758 (vrp_visit_phi_node): Dump change.
2759
2760 2010-04-19 Richard Guenther <rguenther@suse.de>
2761
2762 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
2763 * configure: Re-generated.
2764
2765 2010-04-19 Richard Guenther <rguenther@suse.de>
2766
2767 PR tree-optimization/43783
2768 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
2769 constant ARRAY_REF operands two and three if possible.
2770
2771 2010-04-19 Uros Bizjak <ubizjak@gmail.com>
2772
2773 PR target/43766
2774 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
2775
2776 2010-04-19 Jie Zhang <jie@codesourcery.com>
2777
2778 PR target/43662
2779 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
2780
2781 2010-04-19 Ira Rosen <irar@il.ibm.com>
2782
2783 PR tree-optimization/37027
2784 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
2785 and macro to access it.
2786 (vectorizable_reduction): Add argument.
2787 (vect_get_slp_defs): Likewise.
2788 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
2789 statements for possible use in SLP.
2790 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
2791 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
2792 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
2793 add new argument.
2794 (vectorizable_reduction): Likewise.
2795 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
2796 vect_get_slp_defs.
2797 (vectorizable_type_demotion, vectorizable_type_promotion,
2798 vectorizable_store): Likewise.
2799 (vect_analyze_stmt): Update call to vectorizable_reduction.
2800 (vect_transform_stmt): Likewise.
2801 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
2802 (vect_build_slp_tree): Fix indentation. Check that there are no loads
2803 from different interleaving chains in same node.
2804 (vect_slp_rearrange_stmts): New function.
2805 (vect_supported_load_permutation_p): Allow load permutations for
2806 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
2807 inside SLP nodes if necessary.
2808 (vect_analyze_slp_instance): Handle reductions.
2809 (vect_analyze_slp): Try to build SLP instances originating from groups
2810 of reductions.
2811 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
2812 (vect_get_constant_vectors): Create initial vectors for reductions
2813 according to reduction code. Add new argument.
2814 (vect_get_slp_defs): Add new argument, pass it to
2815 vect_get_constant_vectors.
2816 (vect_schedule_slp_instance): Remove SLP tree root statements.
2817
2818 2010-04-19 Jakub Jelinek <jakub@redhat.com>
2819
2820 * tree.h (ENUM_IS_SCOPED): Define.
2821 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
2822 for ENUM_IS_SCOPED enums.
2823
2824 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
2825
2826 * fold-const.c (fold_comparison): Use ssizetype.
2827 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
2828 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
2829 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
2830 * tree-object-size.c (compute_object_sizes): Use size_type_node.
2831
2832 * tree.h (initialize_sizetypes): Remove parameter.
2833 (build_common_tree_nodes): Remove second parameter.
2834 * stor-layout.c (initialize_sizetypes): Remove parameter.
2835 Always create an unsigned type.
2836 (set_sizetype): Assert that the passed type is unsigned and simplify.
2837 * tree.c (build_common_tree_nodes): Remove second parameter.
2838 Adjust call to initialize_sizetypes.
2839 * c-decl.c (c_init_decl_processing): Remove second argument in call to
2840 build_common_tree_nodes.
2841
2842 2010-04-18 Matthias Klose <doko@ubuntu.com>
2843
2844 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
2845
2846 2010-04-18 Ira Rosen <irar@il.ibm.com>
2847
2848 PR tree-optimization/43771
2849 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
2850 load permutation doesn't have gaps.
2851
2852 2010-04-18 Jan Hubicka <jh@suse.cz>
2853
2854 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
2855 (sse_prologue_save_insn expander): Use new pattern.
2856 (sse_prologue_save_insn1): New pattern and splitter.
2857 (sse_prologue_save_insn): Update to deal also with 64bit aligned
2858 blocks.
2859 * i386.c (setup_incoming_varargs_64): Do not compute jump
2860 destination here.
2861 (ix86_gimplify_va_arg): Update alignment needed.
2862 (ix86_local_alignment): Do not align all local arrays to 128bit.
2863
2864 2010-04-17 Jan Hubicka <jh@suse.cz>
2865
2866 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
2867
2868 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
2869
2870 * arm.md (negdi2): Remove redundant code to force values into a
2871 register.
2872
2873 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
2874
2875 * arm/bpabi.S: Add EABI alignment attributes to objects.
2876 * arm/bpabi-v6m.S: Likewise.
2877 * arm/crti.asm: Likewise.
2878 * arm/crtn.asm: Likewise.
2879 * arm/lib1funcs.asm: Likewise.
2880 * arm/libunwind.S: Likewise.
2881
2882 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
2883
2884 * arm-protos.h (tune_params): New structure.
2885 * arm.c (current_tune): New variable.
2886 (arm_constant_limit): Delete.
2887 (struct processors): Add pointer to the tune parameters.
2888 (arm_slowmul_tune): New tuning option.
2889 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
2890 (all_cores): Adjust to pick up the tuning model.
2891 (arm_constant_limit): New function.
2892 (arm_override_options): Select the appropriate tuning model. Delete
2893 initialization of arm_const_limit.
2894 (arm_split_constant): Use the new constant-limit model.
2895 (arm_rtx_costs): Pick up the current tuning model.
2896 * arm.md (is_strongarm, is_xscale): Delete.
2897 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
2898 for Xscale variant architectures.
2899 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
2900
2901 2010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2902
2903 * config/arm/arm.c (arm_gen_constant): Remove unused variable
2904 can_shift.
2905 (arm_rtx_costs_1): Remove unused variable extra_cost.
2906 (arm_unwind_emit_set): Use variable offset.
2907 (thumb1_output_casesi): Remove unused variable flags.
2908
2909 2010-04-16 Jeff Law <law@redhat.com>
2910
2911 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
2912 needing assignment rather than doing a two-phase assignment. Remove
2913 unused variable 'm'.
2914
2915 2010-04-16 Jakub Jelinek <jakub@redhat.com>
2916
2917 PR bootstrap/43767
2918 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
2919
2920 2010-04-16 Doug Kwan <dougkwan@google.com>
2921
2922 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
2923 (next_operand_entry_id): New static variable.
2924 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
2925 (add_to_ops_vec): Assigned unique ID to operand entry.
2926 (struct oecount_s): New field ID.
2927 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
2928 (undistribute_ops_list): Assign unique IDs to oecounts.
2929 (init_reassoc): reset next_operand_entry_id.
2930
2931 2010-04-16 Doug Kwan <dougkwan@google.com>
2932
2933 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
2934 missing left parenthesis.
2935
2936 2010-04-16 Uros Bizjak <ubizjak@gmail.com>
2937
2938 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
2939 *btdi_rex64 using SWI48 mode iterator.
2940 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
2941 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
2942 *jcc_btdi_mask_rex64.
2943
2944 2010-04-16 Anatoly Sokolov <aesok@post.ru>
2945
2946 * double-int.h (tree_to_double_int): Convert to macro.
2947 * double-int.c (tree_to_double_int): Remove.
2948
2949 2010-04-16 Jakub Jelinek <jakub@redhat.com>
2950
2951 PR debug/43762
2952 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
2953 with want_address 2 and in case a single element list might be
2954 possible, call it again with want_address 0.
2955
2956 2010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
2957
2958 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
2959 case 'W' print operands for HI mode.
2960 * config/h8300/h8300.h (Y0, Y2) : New constraints.
2961 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
2962 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
2963 * config/h8300/predicate.md (bit_register_indirect_operand): New.
2964
2965 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
2966
2967 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
2968 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
2969 #xx:3 and #xx:4 mode.
2970
2971 * config/h8300/h8300.md (inverted load with HImode dest): Add
2972 support for H8300SX.
2973
2974 * config/h8300/predicate.md (bit_operand): Allow immediate values that
2975 satisfy 'U' constraint.
2976
2977 2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2978
2979 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
2980 * configure: Regenerate.
2981 * config.in: Regenerate.
2982 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
2983 works.
2984
2985 2010-04-16 Richard Guenther <rguenther@suse.de>
2986
2987 * tree.h (struct tree_decl_minimal): Move pt_uid ...
2988 (struct tree_decl_common): ... here.
2989 (DECL_PT_UID): Adjust.
2990 (SET_DECL_PT_UID): Likewise.
2991 (DECL_PT_UID_SET_P): Likewise.
2992
2993 2010-04-16 Richard Guenther <rguenther@suse.de>
2994
2995 PR tree-optimization/43572
2996 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
2997 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
2998 * tree-flow.h (is_call_clobbered): Remove.
2999 * tree-flow-inline.h (is_call_clobbered): Likewise.
3000 * tree-dfa.c (dump_variable): Do not dump call clobber state.
3001 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
3002 (execute_return_slot_opt): Adjust.
3003 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
3004 check for call clobbered vars here.
3005 (find_tail_calls): Move tailcall verification to the
3006 proper place.
3007
3008 2010-04-16 Diego Novillo <dnovillo@google.com>
3009
3010 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
3011
3012 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
3013
3014 PR target/40603
3015 * config/arm/arm.md (cbranchqi4): New pattern.
3016 * config/arm/predicates.md (const0_operand,
3017 cbranchqi4_comparison_operator): New predicates.
3018
3019 2010-04-16 Richard Guenther <rguenther@suse.de>
3020
3021 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
3022 (dump_gimple_stmt): Likewise.
3023
3024 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
3025
3026 * recog.h (struct recog_data): New field is_operator.
3027 (struct insn_operand_data): New field is_operator.
3028 * recog.c (extract_insn): Set recog_data.is_operator.
3029 * genoutput.c (output_operand_data): Emit code to set the
3030 is_operator field.
3031 * reload.c (find_reloads): Use it rather than testing for an
3032 empty constraint string.
3033
3034 PR target/41514
3035 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
3036 If the previous insn is a cbranchsi4_insn with the same arguments,
3037 omit the compare instruction.
3038
3039 * config/arm/arm.md (addsi3_cbranch): If destination is a high
3040 register, inputs must be low registers and we need a low register
3041 scratch. Handle alternative 2 like alternative 3.
3042
3043 2010-04-16 Jakub Jelinek <jakub@redhat.com>
3044
3045 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
3046 don't call get_addr on both. If one expression is a VALUE and
3047 the other a REG, check VALUE's locs if the REG isn't among them.
3048
3049 2010-04-16 Christian Bruel <christian.bruel@st.com>
3050
3051 * config/sh/sh.h (sh_frame_pointer_required): New function.
3052 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
3053 (flag_omit_frame_pointer) Set.
3054 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
3055 (rounded_frame_size): Adjust size with outgoing_args_size.
3056 (sh_set_return_address): Must return from stack pointer.
3057 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
3058 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
3059 (ACCUMULATE_OUTGOING_ARGS): Define.
3060 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
3061 * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
3062
3063 2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
3064
3065 PR target/43471
3066 * config/sh/sh.c (sh_legitimize_reload_address): Use
3067 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
3068 Remove a unneeded check for offset_base.
3069
3070 2010-04-15 H.J. Lu <hongjiu.lu@intel.com>
3071
3072 * configure: Regenerated.
3073
3074 2010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3075
3076 * config/s390/s390.c (s390_call_save_register_used): Switch back
3077 to HARD_REGNO_NREGS.
3078
3079 2010-04-15 Richard Guenther <rguenther@suse.de>
3080
3081 * alias.c (alias_set_subset_of): Handle alias-set zero
3082 child properly.
3083
3084 2010-04-15 Mark Shinwell <shinwell@codesourcery.com>
3085 Julian Brown <julian@codesourcery.com>
3086
3087 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
3088 alternatives according to use of high and low regs.
3089 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
3090 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
3091 optimizing for size on Thumb-2.
3092
3093 2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
3094
3095 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
3096
3097 2010-04-15 Richard Guenther <rguenther@suse.de>
3098
3099 * tree-ssa-structalias.c (struct variable_info): Add
3100 is_fn_info flag.
3101 (new_var_info): Initialize it.
3102 (dump_constraints): Support printing last added constraints.
3103 (debug_constraints): Adjust.
3104 (dump_constraint_graph): Likewise.
3105 (make_heapvar_for): Check for NULL cfun.
3106 (get_function_part_constraint): New function.
3107 (get_fi_for_callee): Likewise.
3108 (find_func_aliases): Properly implement IPA PTA constraints.
3109 (process_ipa_clobber): New function.
3110 (find_func_clobbers): Likewise.
3111 (insert_into_field_list_sorted): Remove.
3112 (create_function_info_for): Properly allocate vars for IPA mode.
3113 Do not use insert_into_field_list_sorted.
3114 (create_variable_info_for): Properly generate constraints for
3115 global vars in IPA mode.
3116 (dump_solution_for_var): Always dump the solution.
3117 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
3118 (find_what_var_points_to): Adjust.
3119 (pt_solution_set): Change.
3120 (pt_solution_ior_into): New function.
3121 (pt_solution_empty_p): Export.
3122 (pt_solution_includes_global): Adjust.
3123 (pt_solution_includes_1): Likewise.
3124 (pt_solutions_intersect_1): Likewise.
3125 (dump_sa_points_to_info): Check some invariants.
3126 (solve_constraints): Move constraint dumping ...
3127 (compute_points_to_sets): ... here.
3128 (ipa_pta_execute): ... and here.
3129 (compute_may_aliases): Do not re-compute points-to info
3130 locally if IPA info is available.
3131 (ipa_escaped_pt): New global var.
3132 (ipa_pta_execute): Properly implement IPA PTA.
3133 * tree-into-ssa.c (dump_decl_set): Support dumping
3134 decls not in referenced-vars.
3135 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
3136 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
3137 (dump_points_to_solution): Likewise.
3138 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
3139 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
3140 (remap_gimple_stmt): Reset call clobber/use information if necessary.
3141 (copy_decl_to_var): Copy DECL_PT_UID.
3142 (copy_result_decl_to_var): Likewise.
3143 * tree.c (make_node_stat): Initialize DECL_PT_UID.
3144 (copy_node_stat): Copy it.
3145 * tree.h (DECL_PT_UID): New macro.
3146 (SET_DECL_PT_UID): Likewise.
3147 (DECL_PT_UID_SET_P): Likewise.
3148 (struct tree_decl_minimal): Add pt_uid member.
3149 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
3150 (pt_solution_empty_p): Declare.
3151 (pt_solution_set): Adjust.
3152 (ipa_escaped_pt): Declare.
3153 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
3154 * gimple-pretty-print.c (pp_points_to_solution): New function.
3155 (dump_gimple_call): Dump call clobber/use information.
3156 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
3157 * tree-pass.h (TDF_ALIAS): New dump option.
3158 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
3159 * doc/invoke.texi (-fipa-pta): Update documentation.
3160
3161 2010-04-15 Richard Guenther <rguenther@suse.de>
3162
3163 * Makefile.in (OBJS-common): Add gimple-fold.o.
3164 (gimple-fold.o): New rule.
3165 * tree.h (maybe_fold_offset_to_reference,
3166 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
3167 prototypes ...
3168 * gimple.h: ... here.
3169 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
3170 may_propagate_address_into_dereference): Move prototypes ...
3171 * gimple.h: ... here.
3172 * tree-ssa-ccp.c (get_symbol_constant_value,
3173 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
3174 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
3175 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
3176 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
3177 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
3178 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
3179 gimplify_and_update_call_from_tree): Move ...
3180 * gimple-fold.c: ... here. New file.
3181 (ccp_fold_builtin): Rename to ...
3182 (gimple_fold_builtin): ... this.
3183 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
3184
3185 2010-04-15 Richard Guenther <rguenther@suse.de>
3186
3187 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
3188 fit_double_type, force_fit_type_double, add_double_with_sign,
3189 neg_double, mul_double_with_sign, lshift_double, rshift_double,
3190 lrotate_double, rrotate_double, div_and_round_double): Move ...
3191 * double-int.c: ... here.
3192 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
3193 add_double, neg_double, mul_double_with_sign, mul_double,
3194 lshift_double, rshift_double, lrotate_double, rrotate_double,
3195 div_and_round_double): Move prototypes ...
3196 * double-int.h: ... here.
3197
3198 2010-04-15 Bernd Schmidt <bernds@codesourcery.com>
3199
3200 PR target/43742
3201 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
3202 matching constraints to ensure inputs match the output.
3203
3204 2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
3205
3206 PR target/43742
3207 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
3208 in an input-only operand.
3209
3210 2010-04-15 Anatoly Sokolov <aesok@post.ru>
3211
3212 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
3213 (double_int_not, double_int_lshift, double_int_rshift): Declare.
3214 (double_int_negative_p): Convert to static inline function.
3215 * double-int.c (double_int_lshift, double_int_lshift): New functions.
3216 (double_int_negative_p): Remove.
3217 * tree.h (lshift_double, rshift_double):
3218 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
3219 * fold-const.c (fold_convert_const_int_from_real,
3220 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
3221 (lshift_double): Change type of arith argument to bool.
3222 (rshift_double): Change type of arith argument to bool. Correct
3223 comment.
3224 * expmed.c (mask_rtx, lshift_value): (Ditto.).
3225
3226 2010-04-14 Bernd Schmidt <bernds@codesourcery.com>
3227
3228 PR target/21803
3229 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
3230 at the start and end of the then/else blocks, and omit them from the
3231 conversion.
3232 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
3233 argument; all callers changed. Pass zero to old_insns_match_p instead.
3234 (flow_find_head_matching_sequence): New function.
3235 (old_insns_match_p): Check REG_EH_REGION notes for calls.
3236 * basic-block.h (flow_find_cross_jump,
3237 flow_find_head_matching_sequence): Declare functions.
3238
3239 2010-04-14 Jason Merrill <jason@redhat.com>
3240
3241 PR c++/36625
3242 * c-common.c (attribute_takes_identifier_p): New fn.
3243 * c-common.h: Declare it.
3244
3245 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
3246
3247 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
3248 splitter condition.
3249 (*udivmod<mode>4): Ditto.
3250
3251 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
3252
3253 * config/i386/i386.md (maxmin_int): Rename code attribute from
3254 maxminiprefix and update all users.
3255 (maxmin_float): Ditto from maxminfprefix.
3256 (logic): Ditto from logicprefix.
3257 (absneg_mnemonic): Ditto from absnegprefix.
3258 * config/i386/mmx.md: Update all users of maxminiprefix,
3259 maxminfprefix and logicprefix for rename.
3260 * config/i386/sse.md: Ditto.
3261 * config/i386/sync.md (sync_<code><mode>): Update for
3262 logicprefix rename.
3263
3264 2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3265
3266 PR 42966
3267 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
3268 warnings converted to errors.
3269
3270 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
3271
3272 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
3273 used insn_type variable.
3274 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
3275 to avoid set-but-not-used warning.
3276
3277 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
3278
3279 * df-core.c (df_ref_debug): Change format string placeholder
3280 from 0x%x to %#x.
3281 * dwarf2asm.c (dw2_asm_output_data_raw,
3282 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
3283 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
3284 * dwarf2out.c (output_cfi, output_cfi_directive,
3285 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
3286 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
3287 Ditto.
3288 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
3289 * print-rtl.c (print_rtx): Ditto.
3290
3291 2010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3292
3293 PR middle-end/42694
3294 * builtins.c (expand_builtin_pow_root): New function to expand pow
3295 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
3296 series of sqrt and cbrt calls under -ffast-math.
3297 (expand_builtin_pow): Call it.
3298
3299 2010-04-14 Michael Matz <matz@suse.de>
3300
3301 PR tree-optimization/42963
3302 * tree-cfg.c (touched_switch_bbs): New static variable.
3303 (group_case_labels_stmt): New function broken out from ...
3304 (group_case_labels): ... here, use the above.
3305 (start_recording_case_labels): Allocate touched_switch_bbs.
3306 (end_recording_case_labels): Deallocate it, call
3307 group_case_labels_stmt.
3308 (gimple_redirect_edge_and_branch): Remember index of affected BB.
3309
3310 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
3311
3312 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
3313 from insn template.
3314
3315 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
3316
3317 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
3318
3319 2010-04-13 Jan Hubicka <jh@suse.cz>
3320
3321 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
3322 of optimized out static functions.
3323 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
3324 cost computation. Also sanity check for overflows.
3325 (update_caller_keys): Update cgraph_edge_badness call; properly
3326 update fibheap and sanity check that it is up to date.
3327 (add_new_edges_to_heap): Update cgraph_edge_badness.
3328 (cgraph_decide_inlining_of_small_function): Likewise;
3329 add sanity checking that badness in heap is up to date;
3330 improve dumping of reason; Update badness of calls to the
3331 offline copy of function currently inlined; dump badness
3332 of functions not inlined because of unit growth limits.
3333
3334 2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
3335
3336 PR middle-end/32628
3337 * c-common.c (pointer_int_sum): Disregard overflow that occured only
3338 because of sign-extension change when converting to sizetype here...
3339 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
3340
3341 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
3342 the folding to constants. Remove redundant final conversion.
3343 (fold_binary) <associate>: Do not associate if the re-association of
3344 constants alone overflows.
3345 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
3346 to the end of the list.
3347 (multiple_of_p) <COND_EXPR>: New case.
3348
3349 2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3350
3351 * opt-functions.awk (opt_sanitized_name): New.
3352 (opt_enum): New.
3353 * optc-gen.awk: Use it
3354 * opth-gen.awk: Use it.
3355
3356 2010-04-13 Martin Jambor <mjambor@suse.cz>
3357
3358 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
3359 (sra_modify_assign): Delete stmts loading dead data even if racc has no
3360 children. Call replace_uses_with_default_def_ssa_name to handle
3361 SSA_NAES on lhs.
3362
3363 2010-04-13 Michael Matz <matz@suse.de>
3364
3365 PR middle-end/43730
3366 * builtins.c (expand_builtin_interclass_mathfn): Also create
3367 a register if the predicate doesn't match.
3368
3369 2010-04-13 Diego Novillo <dnovillo@google.com>
3370
3371 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
3372 * c-pch.c: Include timevar.h.
3373 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
3374 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
3375 * ggc-common.c: Include timevar.h.
3376 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
3377 * timevar.def (TV_PCH_SAVE): Define.
3378 (TV_PCH_CPP_SAVE): Define.
3379 (TV_PCH_PTR_REALLOC): Define.
3380 (TV_PCH_PTR_SORT): Define.
3381 (TV_PCH_RESTORE): Define.
3382 (TV_PCH_CPP_RESTORE): Define.
3383
3384 2010-04-13 Michael Matz <matz@suse.de>
3385
3386 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
3387 into MINUS_EXPRs.
3388 (can_reassociate_p): New function.
3389 (break_up_subtract_bb, reassociate_bb): Use it.
3390
3391 2010-04-13 Richard Guenther <rguenther@suse.de>
3392
3393 PR bootstrap/43737
3394 * builtins.c (c_readstr): Fix assert.
3395
3396 2010-04-13 Uros Bizjak <ubizjak@gmail.com>
3397
3398 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
3399 when generating cltd insn.
3400
3401 (*ashl<mode>3_1): Remove special handling for register operand 2.
3402 (*ashlsi3_1_zext): Ditto.
3403 (*ashlhi3_1): Ditto.
3404 (*ashlhi3_1_lea): Ditto.
3405 (*ashlqi3_1): Ditto.
3406 (*ashlqi3_1_lea): Ditto.
3407 (*<shiftrt_insn><mode>3_1): Ditto.
3408 (*<shiftrt_insn>si3_1_zext): Ditto.
3409 (*<shiftrt_insn>qi3_1_slp): Ditto.
3410 (*<rotate_insn><mode>3_1): Ditto.
3411 (*<rotate_insn>si3_1_zext): Ditto.
3412 (*<rotate_insn>qi3_1_slp): Ditto.
3413
3414 2010-04-13 Richard Guenther <rguenther@suse.de>
3415
3416 * tree-ssa-structalias.c (callused_id): Remove.
3417 (call_stmt_vars): New.
3418 (get_call_vi): Likewise.
3419 (lookup_call_use_vi): Likewise.
3420 (lookup_call_clobber_vi): Likewise.
3421 (get_call_use_vi): Likewise.
3422 (get_call_clobber_vi): Likewise.
3423 (make_transitive_closure_constraints): Likewise.
3424 (handle_const_call): Adjust to do per-call call-used handling.
3425 (handle_pure_call): Likewise.
3426 (find_what_var_points_to): Remove general callused handling.
3427 (init_base_vars): Likewise.
3428 (init_alias_vars): Initialize call_stmt_vars.
3429 (compute_points_to_sets): Process call-used and call-clobbered
3430 vars for call statements.
3431 (delete_points_to_sets): Free call_stmt_vars.
3432
3433 2010-04-13 Richard Guenther <rguenther@suse.de>
3434
3435 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
3436 Only add RW dependence for dependence distance zero.
3437 Adjust maximal vectorization factor according to dependences.
3438 Move alignment handling ...
3439 (vect_find_same_alignment_drs): ... here. New function.
3440 (vect_analyze_data_ref_dependences): Adjust.
3441 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
3442 (vect_analyze_data_refs): Adjust minimal vectorization factor
3443 according to data references.
3444 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
3445 dependences before determining the vectorization factor.
3446 Analyze alignment after determining the vectorization factor.
3447 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
3448 dependences before alignment.
3449 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
3450 Adjust prototype.
3451 (vect_analyze_data_refs): Likewise.
3452 (MAX_VECTORIZATION_FACTOR): New define.
3453
3454 2010-04-13 Duncan Sands <baldrick@free.fr>
3455
3456 * except.h (lang_eh_type_covers): Remove.
3457 * except.c (lang_eh_type_covers): Likewise.
3458
3459 2010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3460 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3461
3462 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
3463 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
3464 UNITS_PER_LONG where it is ABI relevant.
3465 (s390_return_addr_rtx): Likewise.
3466 (s390_back_chain_rtx): Likewise.
3467 (s390_frame_area): Likewise.
3468 (s390_frame_info): Likewise.
3469 (s390_initial_elimination_offset): Likewise.
3470 (save_gprs): Likewise.
3471 (s390_emit_prologue): Likewise.
3472 (s390_emit_epilogue): Likewise.
3473 (s390_function_arg_advance): Likewise.
3474 (s390_function_arg): Likewise.
3475 (s390_va_start): Likewise.
3476 (s390_gimplify_va_arg): Likewise.
3477 (s390_function_profiler): Likewise.
3478 (s390_optimize_prologue): Likewise.
3479 (s390_rtx_costs): Likewise.
3480 (s390_secondary_reload): Likewise.
3481 (s390_promote_function_mode): Likewise.
3482 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
3483 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
3484 registers available.
3485 (s390_unwind_word_mode): New function.
3486 (s390_function_value): Split 64 bit values into register pair if
3487 used as return value.
3488 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
3489 function call parameters. Handle parallels.
3490 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
3491 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
3492 (DWARF_CIE_DATA_ALIGNMENT): New macro.
3493 (s390_expand_setmem): Remove unused variable src_addr.
3494 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
3495 deal with 64 bit registers.
3496 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
3497 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
3498 (UNITS_PER_LONG): New macro.
3499 * libjava/include/s390-signal.h: Define extended ucontext
3500 structure containing the upper halfs of the 64 bit registers.
3501
3502 2010-04-13 Simon Baldwin <simonb@google.com>
3503
3504 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
3505
3506 2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
3507
3508 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
3509 rvalue on the RHS if the LHS is of a non-renamable type.
3510 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
3511
3512 2010-04-13 Matthias Klose <doko@ubuntu.com>
3513
3514 * gcc.c (cc1_options): Handle -iplugindir before processing
3515 the cc1 spec. Only add -iplugindir once.
3516 (cpp_unique_options): Add -iplugindir option if -fplugin* options
3517 found.
3518 * common.opt (iplugindir): Remove `Separate' property, initialize.
3519 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
3520 option.
3521 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
3522 (distclean): Remove plugin dir.
3523 * doc/invoke.texi: Document -iplugindir.
3524
3525 2010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
3526
3527 * doc/plugins.texi (Loading Plugins): Document short
3528 -fplugin=foo option.
3529 (Plugin API): Mention default_plugin_dir_name function.
3530
3531 * gcc.c (find_file_spec_function): Add new declaration.
3532 (static_spec_func): Use it for "find-file".
3533 (find_file_spec_function): Add new function.
3534 (cc1_options): Add -iplugindir option if -fplugin* options found.
3535
3536 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
3537
3538 * plugin.c (add_new_plugin): Updated comment, and handle short
3539 plugin name.
3540 (default_plugin_dir_name): Added new function.
3541
3542 * common.opt (iplugindir): New option to set the plugin directory.
3543
3544 2010-04-12 Uros Bizjak <ubizjak@gmail.com>
3545
3546 * config/i386/i386.md (any_rotate): New code iterator.
3547 (rotate_insn): New code attribute.
3548 (rotate): Ditto.
3549 (SWIM124): New mode iterator.
3550 (<rotate_insn>ti3): New expander.
3551 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
3552 any_rotate code iterator.
3553 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
3554 using any_rotate code iterator and SWIM124 mode iterator.
3555 (ix86_rotlti3): New insn_and_split pattern.
3556 (ix86_rotrti3): Ditto.
3557 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
3558 ix86_rotl{di,ti}3 patterns.
3559 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
3560 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
3561 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
3562 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
3563 code iterator and SWI mode iterator.
3564 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
3565 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
3566 code iterator.
3567 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
3568 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
3569 (bswap rotatert splitter): Add splitter.
3570 (bswap splitter): Macroize splitter using any_rotate code iterator.
3571 Add insn predicate to split only for TARGET_USE_XCHGB or when
3572 optimizing function for size.
3573
3574 2010-04-12 Steve Ellcey <sje@cup.hp.com>
3575
3576 * config/pa/pa.c (emit_move_sequence): Remove use of
3577 deleted variable flag_argument_noalias.
3578
3579 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3580
3581 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
3582 configurations.
3583 Add to unsupported targets list.
3584 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
3585 sparc*-sun-solaris2.[567]* from target lists.
3586 * configure: Regenerate.
3587 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
3588 removal.
3589 Remove Solaris 7 patch references.
3590 (Specific, sparc-sun-solaris2.7): Removed.
3591 (sparc-sun-solaris2*): Update Solaris 7 example.
3592 (sparc64-*-solaris2*): Likewise.
3593
3594 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3595
3596 * config.build (alpha*-dec-osf4*): Remove.
3597 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
3598 of obsolete configurations.
3599 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
3600 support.
3601 * config/alpha/t-osf4: Renamed to ...
3602 * config/alpha/t-osf5: ... this.
3603 * config/alpha/osf.h: Renamed to ...
3604 * config/alpha/osf5.h: ... this.
3605 Merged old osf5.h contents.
3606 Update comments.
3607 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
3608 (EXTRA_SPECS): Removed.
3609 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
3610 reflect removal of Tru64 UNIX V4.0/V5.0 support.
3611 Document that.
3612
3613 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3614
3615 * doc/contrib.texi (Contributors, Rainer Orth): Update.
3616
3617 2010-04-12 Kai Tietz <kai.tietz@onevision.com>
3618
3619 PR/43702
3620 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
3621 __thiscall convention.
3622
3623 2010-04-12 Steve Ellcey <sje@cup.hp.com>
3624
3625 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
3626 orig_base.
3627 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
3628
3629 2010-04-12 Steve Ellcey <sje@cup.hp.com>
3630
3631 * function.c (assign_parms_initialize_all): Add unused attribute
3632 to fntype.
3633
3634 2010-04-12 Richard Guenther <rguenther@suse.de>
3635
3636 * gsstruct.def (GSS_CALL): New.
3637 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
3638 * gimple.h: Include tree-ssa-alias.h.
3639 (struct gimple_statement_call): New.
3640 (union gimple_statement_struct_d): Add gimple_call member.
3641 (gimple_call_reset_alias_info): Declare.
3642 (gimple_call_use_set): New function.
3643 (gimple_call_clobber_set): Likewise.
3644 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
3645 * gimple.c (gimple_call_reset_alias_info): New function.
3646 (gimple_build_call_1): Call it.
3647 * lto-streamer-in.c (input_gimple_stmt): Likewise.
3648 * tree-inline.c (remap_gimple_stmt): Likewise.
3649 (expand_call_inline): Remove callused handling.
3650 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
3651 * tree-dfa.c (dump_variable): Likewise.
3652 * tree-parloops.c (parallelize_loops): Likewise.
3653 * tree-ssa.c (init_tree_ssa): Likewise.
3654 (delete_tree_ssa): Likewise.
3655 * tree-flow-inline.h (is_call_used): Remove.
3656 * tree-flow.h (struct gimple_df): Remove callused member.
3657 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
3658 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
3659 (ref_maybe_used_by_call_p_1): Simplify.
3660 (call_may_clobber_ref_p_1): Likewise.
3661 * tree-ssa-structalias.c (compute_points_to_sets): Set
3662 the call stmt used and clobbered sets.
3663 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
3664 (find_tail_calls): Verify the tail call.
3665
3666 2010-04-12 Richard Guenther <rguenther@suse.de>
3667
3668 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
3669 single-iteration always-inline inlining.
3670 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
3671 (cgraph_decide_inlining): Do not handle always-inline specially.
3672 (try_inline): Remove always-inline cycle detection special case.
3673 Do not recurse on always-inlines.
3674 (cgraph_early_inlining): Do not iterate if not optimizing.
3675 (cgraph_gate_early_inlining): remove.
3676 (pass_early_inline): Run unconditionally.
3677 (gate_cgraph_decide_inlining): New function.
3678 (pass_ipa_inline): Use it. Do not run the IPA inliner if
3679 not inlining or optimizing.
3680 (cgraph_decide_inlining_of_small_functions): Also consider
3681 always-inline functions.
3682 (cgraph_default_inline_p): Return true for nodes which should
3683 disregard inline limits.
3684 (estimate_function_body_sizes): Assume zero size and time for
3685 nodes which are marked as disregarding inline limits.
3686 (cgraph_decide_recursive_inlining): Do not perform recursive
3687 inlining on always-inline nodes.
3688
3689 2010-04-12 Jakub Jelinek <jakub@redhat.com>
3690
3691 PR bootstrap/43699
3692 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
3693 for exprs satisfying handled_component_p.
3694
3695 2010-04-12 Eric Botcazou <ebotcazou@adacore.com>
3696
3697 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
3698 non-constant aggregate elements.
3699
3700 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
3701 is a real initialization.
3702
3703 2010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
3704
3705 PR c/36774
3706 * c-decl.c (start_function): Move forward check for nested function.
3707
3708 2010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
3709
3710 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
3711 * config/sh/sh.c: Include reload.h.
3712 (sh_legitimize_reload_address): New.
3713 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
3714 sh_legitimize_reload_address.
3715
3716 2010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
3717
3718 * config/sh/sh.md (*movqi_pop): New insn pattern.
3719 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
3720
3721 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
3722
3723 * config/i386/i386.md (any_shiftrt): New code iterator.
3724 (shiftrt_insn): New code attribute.
3725 (shiftrt): Ditto.
3726 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
3727 using any_shiftrt code iterator.
3728 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
3729 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
3730 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
3731 pattern from corresponding peephole2 patterns.
3732 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
3733 using any_shiftrt code iterator.
3734 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
3735 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
3736 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
3737 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
3738 *{ashr,lshr}<mode>3_cmp_zext.
3739 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
3740
3741 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
3742
3743 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
3744 scratch register.
3745 (*lshr<mode>3_cconly): Ditto.
3746
3747 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
3748
3749 * config/i386/i386.md (lshr<mode>3): Macroize expander from
3750 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
3751 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
3752 pattern from *lshr{di,ti}3_1 and corresponding splitters using
3753 DWI mode iterator.
3754 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
3755 from corresponding peephole2 patterns.
3756 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
3757 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
3758 and *lshrdi3_1_rex64 using SWI mode iterator.
3759 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
3760 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
3761 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
3762 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
3763 and *lshrdi3_cmp_rex64 using SWI mode iterator.
3764 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
3765 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
3766 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
3767 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
3768 SWI mode iterator.
3769
3770 2010-04-10 Uros Bizjak <ubizjak@gmail.com>
3771
3772 * config/i386/i386.md (ashr<mode>3): Macroize expander from
3773 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
3774 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
3775 pattern from *ashr{di,ti}3_1 and corresponding splitters using
3776 DWI mode iterator.
3777 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
3778 from corresponding peephole2 patterns.
3779 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
3780 (ashrsi3_cvt): Rename from ashrsi3_31.
3781 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
3782 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
3783 and x86_64_shift_adj_3 using SWI48 mode iterator.
3784 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
3785 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
3786 and *ashrdi3_1_rex64 using SWI mode iterator.
3787 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
3788 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
3789 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
3790 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
3791 and *ashrdi3_cmp_rex64 using SWI mode iterator.
3792 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
3793 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
3794 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
3795 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
3796 SWI mode iterator.
3797 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
3798 * config/i386/i386.c (ix86_split_ashr): Update for renamed
3799 x86_shift<mode>_adj_3 expanders.
3800
3801 2010-04-10 Wei Guozhi <carrot@google.com>
3802
3803 PR target/42601
3804 * config/arm/arm.c (arm_pic_static_addr): New function.
3805 (legitimize_pic_address): Call arm_pic_static_addr when it detects
3806 a static symbol.
3807 (arm_output_addr_const_extra): Output expression for new pattern.
3808 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
3809
3810 2010-04-10 Bernd Schmidt <bernds@codesourcery.com>
3811
3812 * ira-costs.c (record_reg_classes): Ignore alternatives that are
3813 not enabled.
3814
3815 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
3816 * web.c: Include "insn-config.h" and "recog.h".
3817 (union_match_dups): New function.
3818 (web_main): Call it.
3819 (union_defs): Don't try to recognize match_dups.
3820
3821 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
3822 if doing so would replace the entire pattern.
3823
3824 2010-04-09 Uros Bizjak <ubizjak@gmail.com>
3825
3826 PR target/43707
3827 PR target/43709
3828 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
3829 and splitter pattern. Change splitter operand 1 predicate to
3830 nonmemory_operand.
3831
3832 2010-04-09 Martin Jambor <mjambor@suse.cz>
3833
3834 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
3835 lattices are addresses of CONST_DECLs with the same initial value.
3836 (ipcp_print_all_lattices): Print values of CONST_DECLs.
3837 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
3838
3839 2010-04-09 Eric Botcazou <ebotcazou@adacore.com>
3840 Bernd Schmidt <bernds@codesourcery.com>
3841
3842 * loop-invariant.c (replace_uses): New static function.
3843 (move_invariant_reg): Use it to ensure we can replace the uses.
3844
3845 2010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
3846
3847 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
3848 function template.
3849 (picochip_override_options): Enable section anchors only above -O1.
3850 (picochip_reorg): Fixed a couple of build warnings.
3851
3852 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3853
3854 * configure.ac (plugin -rdynamic test): Log result.
3855 * configure: Regenerate.
3856 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
3857 (RDYNAMIC_SPEC): Define.
3858 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
3859
3860 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3861
3862 * configure.ac: Determine Sun ld version numbers.
3863 (comdat_group): Restrict GNU ld version checks to gld.
3864 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
3865 (enable_comdat): Support --enable-comdat.
3866 * configure: Regenerate.
3867 * doc/install.texi (Configuration): Document --enable-comdat.
3868
3869 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3870
3871 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
3872 * config/sol2-gld.h: ... here.
3873 * config.gcc (sparc*-*-solaris2*): Reflect this.
3874 (i[34567]86-*-solaris2*): Use it.
3875
3876 2010-04-09 Steve Ellcey <sje@cup.hp.com>
3877
3878 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
3879 setup_clocks_p.
3880 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
3881
3882 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3883
3884 PR 42965
3885 * diagnostic.c (diagnostic_initialize): Initialize
3886 some_warnings_are_errors.
3887 (diagnostic_finish): New.
3888 (diagnostic_action_after_output): Call it before exiting.
3889 (diagnostic_report_diagnostic): Do not print message here. Set
3890 some_warnings_are_errors.
3891 * diagnostic.h (diagnostic_context): Delete
3892 issue_warnings_are_errors_message. Add some_warnings_are_errors.
3893 (diagnostic_finish): Declare.
3894 * toplev.c (toplev_main): Call it before exit.
3895
3896 2010-04-09 Jason Merrill <jason@redhat.com>
3897
3898 PR c++/42623
3899 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
3900 for incomplete type.
3901
3902 PR c++/41788
3903 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
3904 based on a warning flag.
3905
3906 2010-04-09 Richard Guenther <rguenther@suse.de>
3907
3908 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
3909
3910 2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
3911
3912 PR bootstrap/43684
3913 * varasm.c (default_assemble_visibility): Wrap vars that are
3914 set, but unused, by targets without GAS.
3915 * config/rs6000/rs6000.c: (paired_emit_vector_compare):
3916 Remove set, but unused, vars.
3917 (rs6000_legitimize_tls_address): Likewise.
3918 (altivec_expand_dst_builtin): Likewise.
3919 * config/darwin.c (machopic_classify_symbol): Likewise.
3920 (machopic_indirection_name): Likewise.
3921
3922 2010-04-09 Uros Bizjak <ubizjak@gmail.com>
3923
3924 * config/i386/i386.md (DWI): New mode iterator.
3925 (S): New mode attribute.
3926 (shift_operand): Ditto.
3927 (shift_immediate_operand): Ditto.
3928 (ashl_input_operand): Ditto.
3929 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
3930 using SDWIM mode iterator.
3931 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
3932 pattern from *ashl{di,ti}3_1 and corresponding splitters using
3933 DWI mode iterator.
3934 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
3935 from corresponding peephole2 patterns.
3936 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
3937 and x86_64_shift_adj_1 using SWI48 mode iterator.
3938 (x86_shift<mode>_adj_2): Ditto.
3939 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
3940 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
3941 using SWI48 mode iterator.
3942 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
3943 *ashldi3_cmp_rex64 using SWI mode iterator.
3944 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
3945 *ashldi3_cconly_rex64 using SWI mode iterator.
3946 * config/i386/i386.c (ix86_split_ashl): Update for renamed
3947 x86_shift<mode>_adj_{1,2}.
3948 (ix86_split_ashr): Ditto.
3949 (ix86_split_lshr): Ditto.
3950
3951 2010-04-09 Richard Guenther <rguenther@suse.de>
3952
3953 * target.h (builtin_conversion): Pass in input and output types.
3954 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
3955 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
3956 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
3957 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
3958
3959 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
3960 Handle AVX modes.
3961 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
3962
3963 2010-04-09 Richard Guenther <rguenther@suse.de>
3964
3965 PR target/43152
3966 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
3967
3968 2010-04-09 Richard Guenther <rguenther@suse.de>
3969
3970 * tree-vectorizer.h (struct _stmt_vec_info): Document
3971 that vectype is the type of the LHS.
3972 (supportable_widening_operation, supportable_narrowing_operation):
3973 Get both input and output vector types as arguments.
3974 (vect_is_simple_use_1): Declare.
3975 (get_same_sized_vectype): Likewise.
3976 * tree-vect-loop.c (vect_determine_vectorization_factor):
3977 Set STMT_VINFO_VECTYPE to the vector type of the def.
3978 (vectorizable_reduction): Adjust.
3979 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
3980 Adjust. Specify the output vector type.
3981 (vect_pattern_recog_1): Adjust.
3982 * tree-vect-stmts.c (get_same_sized_vectype): New function.
3983 (vectorizable_call): Adjust.
3984 (vectorizable_conversion): Likewise.
3985 (vectorizable_operation): Likewise.
3986 (vectorizable_type_demotion): Likewise.
3987 (vectorizable_type_promotion): Likewise.
3988 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
3989 the def.
3990 (vect_is_simple_use_1): New function.
3991 (supportable_widening_operation): Get both input and output
3992 vector types.
3993 (supportable_narrowing_operation): Likewise.
3994 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
3995
3996 2010-04-09 Kai Tietz <kai.tietz@onevision.com>
3997
3998 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
3999 __thiscall and _thiscall as predefined macros.
4000 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
4001 thiscall attribute handling.
4002 (ix86_comp_type_attributes): Likewise.
4003 (ix86_function_regparm): Likewise.
4004 (ix86_return_pops_args): Likewise.
4005 (init_cumulative_args): Likewise.
4006 (find_drap_reg): Likewise.
4007 (ix86_static_chain): Likewise.
4008 (x86_this_parameter): Likewise.
4009 (x86_output_mi_thunk): Likewise.
4010 (ix86_attribute_table): Add description for thiscall attribute.
4011 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
4012 * doc/extend.texi: Add documentation for thiscall.
4013
4014 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4015
4016 PR c++/28584
4017 * c.opt (Wint-to-pointer-cast): Available in C++.
4018 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
4019
4020 2010-04-08 Eric Botcazou <ebotcazou@adacore.com>
4021
4022 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
4023 * calls.c (expand_call): Pass the function type to aggregate_value_p.
4024 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
4025 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
4026 function type instead. Reorder and simplify checks.
4027
4028 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
4029
4030 2010-04-08 Jing Yu <jingyu@google.com>
4031 Zdenek Dvorak <ook@ucw.cz>
4032
4033 PR tree-optimization/42720
4034 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
4035 loop unswitch conditions here from ...
4036 (tree_unswitch_single_loop): ... here.
4037
4038 2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
4039
4040 * tree-if-conv.c: Fix comments and simplify logic.
4041
4042 2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
4043
4044 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
4045 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
4046 (main_tree_if_conversion): Update call to tree_if_conversion.
4047
4048 2010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4049
4050 PR 42485
4051 * doc/invoke.texi (-b,-V): Delete.
4052 * doc/tm.texi: Do not mention -b.
4053 * gcc.c (display_help): Delete -b and -V.
4054 (process_command): Delete -b and -V.
4055 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
4056
4057 2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
4058 Wolfgang Gellerich <gellerich@de.ibm.com>
4059
4060 Implement target hook for loop unrolling
4061 * target.h (loop_unroll_adjust): Add a new target hook function.
4062 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
4063 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
4064 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
4065 (s390_loop_unroll_adjust): Implement the new target hook for s390.
4066 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
4067 target hook.
4068 (decide_unroll_stupid): Likewise.
4069
4070 2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4071
4072 PR target/43643
4073 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
4074
4075 2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4076
4077 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
4078 (Specific, *-*-solaris2*): Likewise.
4079 Don't prefer Sun as over GNU as.
4080
4081 2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
4082
4083 * config/s390/s390.c (override_options): Adjust the z10
4084 defaults for max-unroll-times, max-completely-peeled-insns
4085 and max-completely-peel-times.
4086
4087 2010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4088
4089 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
4090 instructions for z10.
4091 (s390_expand_setmem): Likewise.
4092 (s390_expand_cmpmem): Likewise.
4093
4094 2010-04-08 Richard Guenther <rguenther@suse.de>
4095
4096 PR tree-optimization/43679
4097 * tree-ssa-pre.c (eliminate): Only propagate copies.
4098
4099 2010-04-08 Jakub Jelinek <jakub@redhat.com>
4100
4101 PR bootstrap/43681
4102 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
4103 set but not used variable warning.
4104
4105 2010-04-08 Wei Guozhi <carrot@google.com>
4106
4107 PR target/41653
4108 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
4109 (arm_size_rtx_costs): Call the new function when optimized for size.
4110
4111 2010-04-08 Jakub Jelinek <jakub@redhat.com>
4112
4113 PR debug/43670
4114 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
4115 op0 is not a MEM, just return NULL instead of assertion
4116 failure.
4117 (discover_nonconstant_array_refs): Don't walk debug stmts.
4118
4119 2010-04-08 Doug Kwan <dougkwan@google.com>
4120
4121 * configure.ac: Recognize gold and do not use its version number
4122 to test ld features.
4123 * configure: Regenerate.
4124
4125 2010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
4126
4127 PR middle-end/40815
4128 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
4129 (negate_value): Move code to push elements to broken_up_substracts ...
4130 (eliminate_plus_minus_pair): ... here. Push operands that have no
4131 negative pair to plus_negates.
4132 (repropagate_negates, init_reassoc, fini_reassoc): Update.
4133
4134 2010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4135
4136 * doc/install.texi (Configuration): Move description of
4137 --enable-lto, --with-libelf*, --enable-gold from Java section to
4138 general section.
4139
4140 * doc/generic.texi (Working with declarations)
4141 (Function Properties, C and C++ Trees): Fix typos.
4142 * doc/sourcebuild.texi (Top Level): Likewise.
4143
4144 2010-04-07 Jakub Jelinek <jakub@redhat.com>
4145
4146 PR c/18624
4147 * tree.h (DECL_READ_P): Define.
4148 (struct tree_decl_common): Add decl_read_flag.
4149 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
4150 a set but not used warning.
4151 (merge_decls): Merge DECL_READ_P flag.
4152 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
4153 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
4154 * c-common.c (handle_used_attribute, handle_unused_attribute):
4155 Likewise.
4156 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
4157 New prototypes.
4158 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
4159 New functions.
4160 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
4161 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
4162 c_parser_binary_expression, c_parser_cast_expression,
4163 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
4164 Call default_function_array_read_conversion instead of
4165 default_function_array_conversion where needed.
4166 (c_parser_unary_expression, c_parser_conditional_expression,
4167 c_parser_postfix_expression_after_primary, c_parser_initelt):
4168 Likewise. Call mark_exp_read where needed.
4169 (c_parser_statement_after_labels, c_parser_asm_operands,
4170 c_parser_typeof_specifier, c_parser_sizeof_expression,
4171 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
4172 where needed.
4173 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
4174 New.
4175 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
4176 (warn_unused_but_set_parameter): Default to warn_unused
4177 && extra_warnings.
4178 * doc/invoke.texi: Document -Wunused-but-set-variable and
4179 -Wunused-but-set-parameter.
4180
4181 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
4182 used count variable.
4183 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
4184 when operandN variables aren't used in the body of the expander
4185 or splitter.
4186 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
4187 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
4188 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
4189 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
4190 FOR_EACH_IMM_USE_ON_STMT): Likewise.
4191 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
4192 * tree.c (PROCESS_ARG): Likewise.
4193
4194 2010-04-07 Simon Baldwin <simonb@google.com>
4195
4196 * diagnostic.h (diagnostic_override_option_index): New macro to
4197 set a diagnostic's option_index.
4198 * c-tree.h (c_cpp_error): Add warning reason argument.
4199 * opts.c (_warning_as_error_callback): New.
4200 (register_warning_as_error_callback): Store callback for
4201 warnings enabled via enable_warning_as_error.
4202 (enable_warning_as_error): Call callback, minor code tidy.
4203 * opts.h (register_warning_as_error_callback): Declare.
4204 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
4205 response to -Werror=.
4206 (c_common_init_options): Register warning_as_error_callback in opts.c.
4207 * common.opt: Add -Wno-cpp option.
4208 * c-common.c (struct reason_option_codes_t): Map cpp warning
4209 reason codes to gcc option indexes.
4210 * (c_option_controlling_cpp_error): New function, lookup the gcc
4211 option index for a cpp warning reason code.
4212 * (c_cpp_error): Add warning reason argument, call
4213 c_option_controlling_cpp_error for diagnostic_override_option_index.
4214 * doc/invoke.texi: Document -Wno-cpp.
4215
4216 2010-04-07 Richard Guenther <rguenther@suse.de>
4217
4218 * ipa-reference.c (mark_load): Use get_base_address.
4219 (mark_store): Likewise.
4220
4221 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
4222 inserting GIMPLE_NOPs into the IL.
4223 * tree-ssa-structalias.c (get_constraint_for_component_ref):
4224 Explicitly strip handled components and indirect references.
4225
4226 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
4227 folding address expressions.
4228 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
4229 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
4230 operand_equal_p to compare decls.
4231 (ptr_deref_may_alias_decl_p): Likewise.
4232 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
4233 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
4234 Handle reversed comparison ops.
4235 * tree-sra.c (asm_visit_addr): Use get_base_address.
4236 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
4237 * ipa-reference.c (mark_address): Use get_base_address.
4238
4239 2010-04-07 Richard Guenther <rguenther@suse.de>
4240
4241 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
4242 Propagate constants everywhere.
4243
4244 2010-04-07 Jakub Jelinek <jakub@redhat.com>
4245
4246 PR debug/43516
4247 * tree.c (MAX_INT_CACHED_PREC): Define.
4248 (nonstandard_integer_type_cache): New array.
4249 (build_nonstandard_integer_type): Cache results for precision
4250 <= MAX_INT_CACHED_PREC.
4251
4252 2010-04-07 Richard Guenther <rguenther@suse.de>
4253
4254 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
4255 -fargument-noalias-global, -fargument-noalias-anything): Remove.
4256 * common.opt: Likewise.
4257 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
4258 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
4259 (nonoverlapping_memrefs_p): Likewise.
4260 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
4261 * opts.c (common_handle_option): Handle OPT_fargument_alias,
4262 OPT_fargument_noalias, OPT_fargument_noalias_anything and
4263 OPT_fargument_noalias_global for backward compatibility.
4264
4265 2010-04-07 Richard Guenther <rguenther@suse.de>
4266
4267 PR tree-optimization/43270
4268 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
4269 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
4270 * tree-ssa-pre.c (phi_translate_1): Adjust.
4271 (fully_constant_expression): Split out vn_reference handling to ...
4272 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
4273 Fold reads from constant strings.
4274 (vn_reference_lookup): Handle fully constant references.
4275 (vn_reference_lookup_pieces): Likewise.
4276 * Makefile.in (expmed.o-warn): Add -Wno-error.
4277
4278 2010-04-07 Martin Jambor <mjambor@suse.cz>
4279
4280 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
4281
4282 2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
4283
4284 PR driver/41594
4285 * gcc.c: Add -static-libstdc++ to list of recognized options.
4286
4287 2010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4288
4289 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
4290
4291 2010-04-07 Richard Guenther <rguenther@suse.de>
4292
4293 PR middle-end/42617
4294 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
4295 bases build simple mem attributes to retain points-to information.
4296
4297 2010-04-07 Richard Guenther <rguenther@suse.de>
4298
4299 PR middle-end/42617
4300 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
4301 preserve points-to related information.
4302
4303 2010-04-07 Richard Guenther <rguenther@suse.de>
4304
4305 PR middle-end/42617
4306 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
4307 discard plain indirect references.
4308 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
4309 * tree.c (tree_nop_conversion): Likewise.
4310
4311 2010-04-07 Dodji Seketeli <dodji@redhat.com>
4312
4313 PR debug/43628
4314 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
4315
4316 2010-04-06 Kai Tietz <kai.tietz@onevision.com>
4317
4318 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
4319 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
4320
4321 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
4322
4323 * tree-if-conv.c: Fix indentation and comments.
4324
4325 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
4326
4327 * tree-if-conv.c: Sort static functions in topological order.
4328
4329 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
4330
4331 * tree-if-conv.c: Fix indentation and comments.
4332
4333 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
4334
4335 PR middle-end/43519
4336 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
4337 lang_hooks.types.type_for_size instead of
4338 build_nonstandard_integer_type.
4339 When converting an unsigned type to signed, double its precision.
4340 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
4341 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
4342 (graphite_create_new_loop_guard): When ub + 1 wraps around,
4343 use lb <= ub.
4344
4345 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
4346
4347 PR middle-end/43519
4348 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
4349 POINTER_PLUS_EXPR for pointer types.
4350
4351 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
4352
4353 PR middle-end/43519
4354 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
4355 * graphite-clast-to-gimple.c: Include langhooks.h.
4356 (max_signed_precision_type): New.
4357 (max_precision_type): Takes two types as arguments.
4358 (precision_for_value): New.
4359 (precision_for_interval): New.
4360 (gcc_type_for_interval): New.
4361 (gcc_type_for_value): New.
4362 (gcc_type_for_clast_term): New.
4363 (gcc_type_for_clast_red): New.
4364 (gcc_type_for_clast_bin): New.
4365 (gcc_type_for_clast_expr): Split up into several functions.
4366 (gcc_type_for_clast_eq): Rewritten.
4367 (compute_bounds_for_level): New.
4368 (compute_type_for_level_1): New.
4369 (compute_type_for_level): New.
4370 (gcc_type_for_cloog_iv): Removed.
4371 (gcc_type_for_iv_of_clast_loop): Rewritten.
4372 (graphite_create_new_loop): Compute the lower and upper bound types
4373 with gcc_type_for_clast_expr.
4374 (graphite_create_new_loop_guard): Same.
4375 (find_cloog_iv_in_expr): Removed.
4376 (compute_cloog_iv_types_1): Removed.
4377 (compute_cloog_iv_types): Removed.
4378 (gloog): Do not call compute_cloog_iv_types.
4379 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
4380 GBB_CLOOG_IV_TYPES.
4381 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
4382 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
4383 (GBB_CLOOG_IV_TYPES): Removed.
4384
4385 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
4386
4387 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
4388 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
4389 (detect_commutative_reduction): Same.
4390
4391 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
4392
4393 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
4394 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
4395 argument.
4396 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
4397 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
4398 (rewrite_commutative_reductions_out_of_ssa): Same.
4399 * passes.c (execute_function_todo): Call verify_ssa for every pass
4400 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
4401 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
4402 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
4403 with an extra argument.
4404 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
4405 verify_ssa only when the extra argument is true.
4406 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
4407 with an extra argument.
4408 (tree_transform_and_unroll_loop): Same.
4409
4410 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
4411
4412 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
4413 for all the passes of the LNO having LOOP_CLOSED_SSA.
4414 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
4415 * tree-loop-distribution.c (pass_loop_distribution): Same.
4416 * tree-pass.h (TODO_verify_loops): Removed.
4417 * tree-ssa-loop.c (pass_tree_loop_init): Same.
4418 (pass_lim): Same.
4419 (pass_tree_unswitch): Same.
4420 (pass_predcom): Same.
4421 (pass_vectorize): Same.
4422 (pass_linear_transform): Same.
4423 (pass_graphite_transforms): Same.
4424 (pass_iv_canon): Same.
4425 (pass_complete_unroll): Same.
4426 (pass_complete_unrolli): Same.
4427 (pass_parallelize_loops): Same.
4428 (pass_loop_prefetch): Same.
4429 (pass_iv_optimize): Same.
4430
4431 2010-04-06 Changpeng Fang <changpeng.fang@amd.com>
4432
4433 PR middle-end/32824
4434 * passes.c (init_optimization_passes): Move pass_lim before
4435 pass_copy_prop and pass_dce_loop.
4436
4437 2010-04-06 Jakub Jelinek <jakub@redhat.com>
4438
4439 PR target/43667
4440 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
4441 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
4442 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
4443 MULTI_* defines for 4 argument vpermil2p* builtins.
4444
4445 2010-04-06 Uros Bizjak <ubizjak@gmail.com>
4446
4447 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
4448 * config/i386/i386.c (x86_maybe_negate_const_int): New.
4449 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
4450 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
4451 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
4452 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
4453 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
4454 Use x86_maybe_negate_const_int to output insn mnemonic.
4455 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
4456 check from instruction predicate. Update comments.
4457 * config/i386/sync.md (sync_add<mode>): Use
4458 x86_maybe_negate_const_int to output insn mnemonic.
4459
4460 2010-04-06 Jan Hubicka <jh@suse.cz>
4461
4462 PR tree-optimization/42906
4463 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
4464 IGNORE_SELF argument. Set visited_control_parents for fully
4465 processed BBs.
4466 (find_obviously_necessary_stmts): Update call of
4467 mark_control_dependent_edges_necessary.
4468 (propagate_necessity): Likewise. Handle PHI edges more curefully.
4469
4470 2010-04-06 Uros Bizjak <ubizjak@gmail.com>
4471
4472 * config/i386/i386.md: Remove comment about 'e' and 'E'
4473 operand modifier.
4474
4475 2010-04-06 Richard Guenther <rguenther@suse.de>
4476
4477 PR tree-optimization/43627
4478 * tree-vrp.c (extract_range_from_unary_expr): Widenings
4479 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
4480 not varying.
4481
4482 2010-04-06 Jakub Jelinek <jakub@redhat.com>
4483
4484 * BASE-VER: Change to 4.6.0.
4485
4486 PR target/43638
4487 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
4488 handling.
4489
4490 2010-04-06 Richard Guenther <rguenther@suse.de>
4491
4492 PR middle-end/43661
4493 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
4494
4495 2010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4496
4497 * doc/invoke.texi (Optimize Options): Document that LTO
4498 won't remove object access purely due to incompatible
4499 declarations.
4500
4501 2010-04-04 Matthias Klose <doko@ubuntu.com>
4502
4503 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
4504 Initialize variable.
4505
4506 2010-04-03 Richard Guenther <rguenther@suse.de>
4507
4508 PR middle-end/42509
4509 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
4510 require a non-NULL MEM_OFFSET.
4511
4512 2010-04-02 Steven Bosscher <steven@gcc.gnu.org>
4513
4514 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
4515 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
4516 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
4517 config/alpha/predicates.md, config/arm/arm.md,
4518 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
4519 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
4520 config/darwin9.h, config/darwin.c, config/darwin.h,
4521 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
4522 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
4523 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
4524 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
4525 config/mips/mips.md, config/mn10300/mn10300.c,
4526 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
4527 config/rs6000/aix.h, config/rs6000/dfp.md,
4528 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
4529 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
4530 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
4531 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
4532 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
4533 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
4534 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
4535 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
4536 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
4537 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
4538 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
4539 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
4540 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
4541 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
4542 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
4543 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
4544 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
4545 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
4546 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
4547 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
4548 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
4549 opt-functions.awk, opth-gen.awk, params.def, passes.c,
4550 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
4551 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
4552 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
4553 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
4554 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
4555 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
4556 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
4557 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
4558 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
4559 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
4560 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
4561 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
4562 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
4563 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
4564
4565 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4566
4567 PR other/43620
4568 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
4569 * aclocal.m4: Regenerate.
4570
4571 2010-04-02 Richard Guenther <rguenther@suse.de>
4572
4573 PR tree-optimization/43629
4574 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
4575 if we have seen a constant value.
4576
4577 2010-04-02 Joseph Myers <joseph@codesourcery.com>
4578
4579 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
4580
4581 2010-04-02 Richard Earnshaw <rearnsha@arm.com>
4582
4583 PR target/43469
4584 * arm.c (legitimize_tls_address): Adjust call to
4585 gen_tls_load_dot_plus_four.
4586 (arm_note_pic_base): New function.
4587 (arm_cannot_copy_insn_p): Use it.
4588 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
4589 constraint.
4590
4591 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4592
4593 PR bootstrap/43531
4594
4595 Revert:
4596 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4597
4598 * Makefile.in ($(out_object_file)): Depend on
4599 gt-$(basename $(notdir $(out_file))).h.
4600
4601 2010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
4602
4603 * config.gcc (lm32-*-rtems*): Add t-lm32.
4604
4605 2010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
4606
4607 * config.gcc: Add lm32-*-rtems*.
4608 * config/lm32/rtems.h: New file.
4609
4610 2010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
4611
4612 PR target/42609
4613 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
4614
4615 2010-04-01 Jakub Jelinek <jakub@redhat.com>
4616
4617 * dwarf2out.c (output_compilation_unit_header): For
4618 -gdwarf-4 use version 4 instead of version 3.
4619 (output_line_info): For version 4 and above emit additional
4620 maximum ops per insn header field.
4621 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
4622
4623 * dwarf2out.c (is_c_family, is_java): Remove.
4624 (lower_bound_default): New function.
4625 (add_bound_info, gen_descr_array_type_die): Use it.
4626
4627 2010-04-01 Dodji Seketeli <dodji@redhat.com>
4628
4629 PR debug/43325
4630 * dwarf2out.c (gen_variable_die): Allow debug info for variable
4631 re-declaration when it happens in a function.
4632
4633 2010-04-01 Aldy Hernandez <aldyh@redhat.com>
4634
4635 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
4636 (cgraph_remove_function_insertion_hook): Same.
4637 (cgraph_call_function_insertion_hooks): Same.
4638
4639 2010-04-01 Richard Guenther <rguenther@suse.de>
4640
4641 PR middle-end/43614
4642 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
4643 and TREE_THIS_VOLATILE.
4644 (copy_ref_info): Likewise.
4645 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
4646 * tree.c (build6_stat): Ignore side-effects of all but arg5
4647 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
4648 TARGET_MEM_REF.
4649
4650 2010-04-01 Richard Guenther <rguenther@suse.de>
4651
4652 PR tree-optimization/43607
4653 * ipa-type-escape.c (check_call): Do not access non-existing
4654 arguments.
4655
4656 2010-04-01 Richard Guenther <rguenther@suse.de>
4657
4658 PR middle-end/43602
4659 Revert
4660 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
4661 Jack Howarth <howarth@bromo.med.uc.edu>
4662
4663 * tree-profile.c (tree_init_ic_make_global_vars): Make static
4664 variables TLS.
4665
4666 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4667
4668 * doc/install.texi (Prerequisites): Document libelf usability on
4669 IRIX 5/6 and Solaris 2.
4670 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
4671 Update GNU as, GNU ld requirements.
4672 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
4673 Document Sun Studio compiler download.
4674 Update and simplify as, ld recommendations.
4675 (Specific, *-*-solaris2.7): Note obsoletion, removal.
4676
4677 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4678
4679 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
4680 with_tune_32 to pentium4.
4681
4682 2010-04-01 Uros Bizjak <ubizjak@gmail.com>
4683
4684 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
4685
4686 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4687
4688 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
4689 obsoletion, removal.
4690 Update IDO URL.
4691 Document GNU as requirement.
4692 Update configure requirements.
4693 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
4694 Recomment IRIX 6.5.18+.
4695 Document IDF/IDL requirement.
4696 Document GNU as requirement.
4697 Document GNU ld bootstrap failure.
4698 Remove freeware.sgi.com reference.
4699
4700 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4701
4702 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
4703 UNIX V4.0, V5.0 obsoletion, removal.
4704 Remove --with-gc=simple reference.
4705 Update VM requirements during bootstrap.
4706 Remove -oldas bootstrap description.
4707 Update binutils reference.
4708 Remove comparison failure note.
4709
4710 2010-03-31 Richard Guenther <rguenther@suse.de>
4711 Zdenek Dvorak <ook@ucw.cz>
4712 Sebastian Pop <sebastian.pop@amd.com>
4713
4714 PR middle-end/43464
4715 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
4716 with multiple arguments.
4717 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
4718
4719 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
4720
4721 * graphite-dependences.c (print_pddr): Call print_pdr with an
4722 extra argument.
4723 * graphite-poly.c (debug_pdr): Add an extra argument for the
4724 verbosity level.
4725 (print_pdr): Same.
4726 (print_pbb_domain): Same.
4727 (print_pbb): Same.
4728 (print_scop_context): Same.
4729 (print_scop): Same.
4730 (print_cloog): Same.
4731 (debug_pbb_domain): Same.
4732 (debug_pbb): Same.
4733 (print_pdrs): Same.
4734 (debug_pdrs): Same.
4735 (debug_scop_context): Same.
4736 (debug_scop): Same.
4737 (debug_cloog): Same.
4738 (print_scop_params): Same.
4739 (debug_scop_params): Same.
4740 (print_iteration_domain): Same.
4741 (print_iteration_domains): Same.
4742 (debug_iteration_domain): Same.
4743 (debug_iteration_domains): Same.
4744 (print_scattering_function): Same.
4745 (print_scattering_functions): Same.
4746 (debug_scattering_function): Same.
4747 (debug_scattering_functions): Same.
4748 * graphite-poly.h (debug_pdr): Update declaration.
4749 (print_pdr): Same.
4750 (print_pbb_domain): Same.
4751 (print_pbb): Same.
4752 (print_scop_context): Same.
4753 (print_scop): Same.
4754 (print_cloog): Same.
4755 (debug_pbb_domain): Same.
4756 (debug_pbb): Same.
4757 (print_pdrs): Same.
4758 (debug_pdrs): Same.
4759 (debug_scop_context): Same.
4760 (debug_scop): Same.
4761 (debug_cloog): Same.
4762 (print_scop_params): Same.
4763 (debug_scop_params): Same.
4764 (print_iteration_domain): Same.
4765 (print_iteration_domains): Same.
4766 (debug_iteration_domain): Same.
4767 (debug_iteration_domains): Same.
4768 (print_scattering_function): Same.
4769 (print_scattering_functions): Same.
4770 (debug_scattering_function): Same.
4771 (debug_scattering_functions): Same.
4772
4773 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
4774
4775 * graphite-poly.c (print_scattering_function_1): New.
4776 (print_scattering_function): Call it.
4777 (print_scop_params): Remove spaces at the end of lines.
4778 (print_cloog): New.
4779 (debug_cloog): New.
4780 * graphite-poly.h (print_cloog): Declared.
4781 (debug_cloog): Declared.
4782
4783 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
4784
4785 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
4786 in loop->header.
4787 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
4788 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
4789 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
4790 to switch between adding the IV bump in loop->latch or in loop->header.
4791
4792 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
4793
4794 * graphite-poly.c (print_scattering_function): Pretty print following
4795 the scoplib format.
4796 (print_pdr): Same.
4797 (print_pbb_domain): Same.
4798 (dump_gbb_cases): Same.
4799 (dump_gbb_conditions): Same.
4800 (print_pdrs): Same.
4801 (print_pbb): Same.
4802 (print_scop_params): Same.
4803 (print_scop_context): Same.
4804 (print_scop): Same.
4805 (print_pbb_body): New.
4806 (lst_indent_to): New.
4807 (print_lst): Start new lines with a #.
4808 * graphite-poly.h (pbb_bb): New.
4809 (pbb_index): Use pbb_bb.
4810 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
4811 disjuncts.
4812 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
4813
4814 2010-03-31 Jakub Jelinek <jakub@redhat.com>
4815
4816 * dwarf2out.c (size_of_die): For -gdwarf-4 use
4817 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
4818 and 0 instead of 1 for dw_val_class_flag.
4819 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
4820 dw_val_class_range_list, dw_val_class_loc_list,
4821 dw_val_class_lineptr and dw_val_class_macptr, use
4822 DW_FORM_flag_present for dw_val_class_flag and
4823 DW_FORM_exprloc for dw_val_class_loc.
4824 (output_die): For -gdwarf-4 print dw_val_class_loc
4825 size as uleb128 instead of 1 or 2 bytes and don't print
4826 anything for dw_val_class_flag.
4827
4828 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
4829 instead of cselib_lookup following by tweaking locs->setting_insn.
4830
4831 PR bootstrap/43596
4832 * cselib.c (cselib_process_insn): Clear cselib_current_insn
4833 even before returning from label, setjmp call or volatile asm
4834 handling.
4835
4836 2010-03-31 Richard Guenther <rguenther@suse.de>
4837
4838 PR middle-end/43600
4839 * cgraphunit.c (cgraph_output_in_order): Do not allocate
4840 temporary data on stack.
4841
4842 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4843
4844 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
4845 (PUSHSECTION_ASM_OP): Remove.
4846 (POPSECTION_ASM_OP): Remove.
4847 (PUSHSECTION_FORMAT): Remove.
4848 * config/sol2.h (PUSHSECTION_FORMAT): Define.
4849 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
4850 * config/sol2.c (solaris_output_init_fini): Use it.
4851
4852 2010-03-31 Jie Zhang <jie@codesourcery.com>
4853
4854 PR 43574
4855 * opt-functions.awk (var_type_struct): Use signed char type
4856 for simple variables.
4857
4858 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4859
4860 * config/sol2.c: Include output.h.
4861 (solaris_assemble_visibility): New function.
4862 * config/t-sol2 (sol2.o): Add output.h dependency.
4863 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
4864 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
4865 Redefine.
4866
4867 2010-03-31 Jakub Jelinek <jakub@redhat.com>
4868
4869 PR target/43580
4870 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
4871 V2SImode or XFmode on PRE_DEC.
4872
4873 PR debug/43557
4874 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
4875 BLKmode.
4876
4877 2010-03-31 Jie Zhang <jie@codesourcery.com>
4878
4879 PR 43562
4880 * reload.h (caller_save_initialized_p): Declare.
4881 * toplev.c (backend_init_target): Don't call
4882 init_caller_save but set caller_save_initialized_p to false.
4883 * caller-save.c (caller_save_initialized_p): Define.
4884 (init_caller_save): Check caller_save_initialized_p.
4885 * ira.c (ira): Call init_caller_save if flag_caller_saves.
4886
4887 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4888
4889 PR target/39048
4890 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
4891 and soft-fp/t-softfp to tmake_file.
4892 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
4893 (LIBGCC2_TF_CEXT): Define.
4894 (TF_SIZE): Define.
4895
4896 2010-03-30 Alexandre Oliva <aoliva@redhat.com>
4897
4898 PR debug/42977
4899 * cselib.c (n_useless_values): Document handling of debug locs.
4900 (n_useless_debug_values, n_debug_values): New variables.
4901 (new_elt_loc_list): Don't add to debug values, keep count.
4902 (promote_debug_loc): New.
4903 (cselib_reset_table): Zero new variables.
4904 (entry_and_rtx_equal_p): Promote debug locs.
4905 (discard_useless_locs): Increment n_useless_debug_values for
4906 debug values.
4907 (remove_useless_values): Adjust n_useless_values and n_debug_values
4908 with n_useless_debug_values.
4909 (add_mem_for_addr): Promote debug locs.
4910 (cselib_lookup_mem): Likewise.
4911 (cselib_lookup_addr): Renamed to...
4912 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
4913 (cselib_log_lookup): ... this. Turn into...
4914 (cselib_lookup_addr): ... new wrapper.
4915 (cselib_lookup_from_insn): New.
4916 (cselib_invalidate_regno): Increment n_useless_debug_values for
4917 debug values.
4918 (cselib_invalidate_mem): Likewise.
4919 (cselib_process_insn): Take n_deleted and n_debug_values into
4920 account to guard remove_useless_value call.
4921 (cselib_finish): Zero n_useless_debug_values.
4922 * cselib.h (cselib_lookup_from_insn): Declare.
4923 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
4924 (sched_analyze_2): Likewise.
4925
4926 2010-03-30 Jakub Jelinek <jakub@redhat.com>
4927
4928 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
4929 functions.
4930 (adjust_mems): Replace narrowing SUBREG of expression containing
4931 just PLUS, MINUS, MULT and ASHIFT of registers and constants
4932 with operations in the narrower mode.
4933
4934 PR debug/43593
4935 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
4936 regs_invalidated_by_call instead all call_used_reg_set registers.
4937
4938 2010-03-30 Sebastian Pop <sebastian.pop@amd.com>
4939
4940 PR middle-end/43430
4941 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
4942 pointer comparisons with types_compatible_p.
4943 * tree-vect-stmts.c (vectorizable_call): Same.
4944 (vectorizable_condition): Same.
4945
4946 2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4947
4948 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
4949 stack check if the mask would be zero.
4950
4951 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
4952 Jack Howarth <howarth@bromo.med.uc.edu>
4953
4954 * tree-profile.c (tree_init_ic_make_global_vars): Make static
4955 variables TLS.
4956
4957 2010-03-30 Joseph Myers <joseph@codesourcery.com>
4958
4959 PR other/25232
4960 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
4961 and __unordtf2.
4962 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
4963 Include ___unordxf2 and ___unordtf2.
4964 * config/i386/libgcc-glibc.ver: Do not define inheritance from
4965 GCC_4.4.0 here.
4966
4967 2010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
4968
4969 * config/lm32/t-lm32: New file.
4970 * config.gcc: Use the above file when targetting lm32.
4971
4972 2010-03-28 Duncan Sands <baldrick@free.fr>
4973
4974 * Makefile.in (PLUGIN_HEADERS): Add except.h.
4975
4976 2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
4977
4978 PR middle-end/43431
4979 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
4980 Improve vectorization cost model diagnostic.
4981
4982 2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
4983
4984 PR middle-end/43436
4985 * tree-vect-data-refs.c (vect_analyze_data_refs): When
4986 compute_data_dependences_for_loop returns false, early exit
4987 and output an extra diagnostic for the failed data reference
4988 analysis.
4989
4990 2010-03-29 Richard Guenther <rguenther@suse.de>
4991
4992 PR tree-optimization/43560
4993 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
4994 (can_sm_ref_p): Treat stores to readonly locations as trapping.
4995
4996 2010-03-29 Jie Zhang <jie@codesourcery.com>
4997
4998 PR 43564
4999 * toplev.c (process_options): Set optimization_default_node
5000 and optimization_current_node.
5001 * opts.c (decode_options): Don't set optimization_default_node
5002 and optimization_current_node.
5003
5004 2010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
5005
5006 * config/rtems.h: Abandon -qrtems_debug.
5007
5008 2010-03-28 Jan Hubicka <jh@suse.cz>
5009
5010 PR tree-optimization/43505
5011 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
5012 map should not be copied.
5013
5014 2010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5015
5016 PR middle-end/41674
5017 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
5018 cdtors, set DECL_PRESERVE_P.
5019 * ipa.c (cgraph_externally_visible_p): Return true if declaration
5020 should be preseved.
5021
5022 2010-03-27 Uros Bizjak <ubizjak@gmail.com>
5023
5024 PR tree-optimization/43528
5025 * stor-layout.c (place_field): Check that constant fits into
5026 unsigned HWI when skipping calculation of MS bitfield layout.
5027
5028 2010-03-27 Jan Hubicka <jh@suse.cz>
5029
5030 PR middle-end/43391
5031 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
5032 notice_global_symbol work.
5033
5034 2010-03-27 Jakub Jelinek <jakub@redhat.com>
5035
5036 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
5037 instead of dwarf2out_decl.
5038 (struct var_loc_node): Remove section_label field.
5039 (dwarf2out_function_decl): New function.
5040 (dwarf2out_var_location): Don't set section_label field.
5041 (dwarf2out_begin_function): Don't empty decl_loc_table here.
5042
5043 2010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
5044
5045 PR tree-optimization/43544
5046 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
5047 First argument for builtin vectorized function hook is now a
5048 tree to be able to distinguish between machine specific and
5049 standard builtins.
5050 * targhooks.c (default_builtin_vectorized_function): Ditto.
5051 * targhooks.h (default_builtin_vectorized_function): Ditto.
5052 * target.h (struct gcc_target): Ditto.
5053 * tree-vect-stmts.c (vectorizable_function): Ditto.
5054 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
5055 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
5056 Ditto.
5057
5058 2010-03-26 Joseph Myers <joseph@codesourcery.com>
5059
5060 PR c/43381
5061 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
5062 nested binding iff it is a FUNCTION_DECL.
5063 (store_parm_decls_newstyle): Pass nested=true to bind for
5064 FUNCTION_DECLs amongst parameters.
5065
5066 2010-03-26 Jakub Jelinek <jakub@redhat.com>
5067
5068 * var-tracking.c (vt_expand_loc_callback): Don't run
5069 cselib_expand_value_rtx_cb in dummy mode if
5070 cselib_dummy_expand_value_rtx_cb returned false.
5071
5072 * var-tracking.c (emit_note_insn_var_location): For one part
5073 notes with offset 0, don't add EXPR_LIST around the location.
5074 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
5075 add_location_or_const_value_attribute): Adjust for that change.
5076
5077 PR debug/43540
5078 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
5079 into first operand and location into second.
5080 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
5081 dw_cfi_oprnd_loc for DW_CFA_expression.
5082 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
5083 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
5084 assume first argument is regnum and second argument is location.
5085
5086 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
5087
5088 PR target/42113
5089 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
5090 of scratch register to DImode. Split to DImode comparison operator.
5091 Use SImode subreg of scratch register in the multiplication.
5092 (*cmp_sadd_sidi): Ditto.
5093 (*cmp_ssub_si): Ditto.
5094 (*cmp_ssub_sidi): Ditto.
5095
5096 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
5097
5098 PR target/43524
5099 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
5100 Remove invalid assert and wrong comment.
5101
5102 2010-03-26 Jakub Jelinek <jakub@redhat.com>
5103
5104 PR debug/43516
5105 * flags.h (final_insns_dump_p): New extern.
5106 * final.c (final_insns_dump_p): New variable.
5107 (rest_of_clean_state): Set it before -fdump-final-insns=
5108 dumping, clear afterwards.
5109 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
5110 MEM_ALIAS_SET on MEMs.
5111
5112 2010-03-26 David S. Miller <davem@davemloft.net>
5113
5114 * configure.ac: Fix sparc GOTDATA_OP bug check.
5115 * configure: Rebuild.
5116
5117 2010-03-26 Alan Modra <amodra@gmail.com>
5118
5119 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
5120
5121 2010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5122
5123 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
5124 TLS_SECTION_ASM_FLAG.
5125
5126 2010-03-25 Jakub Jelinek <jakub@redhat.com>
5127
5128 PR bootstrap/43511
5129 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
5130 Clear first_function_block_is_cold.
5131
5132 PR c/43385
5133 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
5134 argument if the argument is truth_value_p.
5135
5136 2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
5137
5138 * config/rs6000/constraints.md: Update copyright year for my changes.
5139
5140 PR target/43484
5141 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
5142 used in reg+reg addressing, swap registers.
5143
5144 2010-03-24 Jakub Jelinek <jakub@redhat.com>
5145
5146 PR debug/43293
5147 * target.h (struct gcc_target): Add code_end hook.
5148 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
5149 if not yet defined.
5150 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
5151 * toplev.c (compile_file): Call targetm.asm_out.code_end
5152 hook before unwind info/debug info output.
5153 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
5154 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
5155 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
5156 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
5157 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
5158 * config/i386/i386.c (ix86_file_end): Renamed to...
5159 (ix86_code_end): ... this. Make static. Don't call
5160 file_end_indicate_exec_stack. Emit unwind info using
5161 final_start_function/final_end_function.
5162 (darwin_x86_file_end): Remove.
5163 (TARGET_ASM_CODE_END): Define.
5164 * config/i386/i386.h (TARGET_ASM_FILE_END,
5165 NEED_INDICATE_EXEC_STACK): Don't define.
5166 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
5167 (TARGET_ASM_FILE_END): Define to darwin_file_end.
5168 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
5169 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
5170
5171 PR target/43498
5172 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
5173 at the beginning and final_end_function at the end.
5174 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
5175
5176 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5177
5178 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
5179 and Sun as TLS syntax.
5180 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
5181 * configure: Regenerate.
5182 * config.in: Regenerate.
5183 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
5184 (default_elf_asm_named_section): Use it.
5185 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
5186 (i386_output_dwarf_dtprel): Likewise.
5187 (output_addr_const_extra): Likewise.
5188 (output_pic_addr_const): Lowercase @GOTTPOFF.
5189 (output_addr_const_extra): Likewise.
5190 (output_pic_addr_const): Lowercase @GOTNTPOFF.
5191 (output_addr_const_extra): Likewise.
5192 (output_pic_addr_const): Lowercase @INDNTPOFF.
5193 (output_addr_const_extra): Likewise.
5194 (output_pic_addr_const): Lowercase @NTPOFF.
5195 (output_addr_const_extra): Likewise.
5196 (output_pic_addr_const): Lowercase @TPOFF.
5197 (output_addr_const_extra): Likewise.
5198 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
5199 (*tls_global_dynamic_64): Likewise.
5200 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
5201 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
5202
5203 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
5204 (ASM_OUTPUT_TLS_COMMON): Use it.
5205 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
5206
5207 PR target/38118
5208 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
5209 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
5210 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
5211 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
5212 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
5213 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
5214
5215 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5216
5217 * config/i386/i386.c (override_options): Don't accept
5218 -mtls-dialect=sun any longer.
5219 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
5220 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
5221 (*tls_local_dynamic_base_32_sun): Likewise.
5222 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
5223
5224 2010-03-24 Jakub Jelinek <jakub@redhat.com>
5225
5226 PR debug/43508
5227 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
5228 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
5229
5230 PR debug/43479
5231 * ira.c (adjust_cleared_regs): New function.
5232 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
5233
5234 PR debug/19192
5235 PR debug/43479
5236 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
5237 from gimple_block.
5238 * expr.c (expand_expr_real): Restore previous
5239 curr_insn_source_location and curr_insn_block after
5240 expand_expr_real_1 call.
5241 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
5242 instead of expand_expr_real_1.
5243
5244 2010-03-23 Vladimir Makarov <vmakarov@redhat.com>
5245
5246 PR rtl-optimization/43413
5247 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
5248 hard regs too.
5249
5250 2010-03-22 James E. Wilson <wilson@codesourcery.com>
5251
5252 PR target/43348
5253 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
5254 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
5255
5256 2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
5257
5258 * config/i386/i386.c (ix86_target_string): Add -mfma.
5259 Fix a typo in comment.
5260
5261 2010-03-22 Mike Stump <mikestump@comcast.net>
5262
5263 PR target/23071
5264 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
5265 Don't overly align based upon packed packed fields.
5266
5267 2010-03-22 Jason Merrill <jason@redhat.com>
5268
5269 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
5270 Use () rather than [], and move before the element type.
5271
5272 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5273
5274 * doc/configfiles.texi (Configuration Files): Removed
5275 fixinc/Makefile*, intl/Makefile.*.
5276 * doc/makefile.texi: Fixed markup. Abstract from version
5277 control system used.
5278 (Makefile): Removed obsolete gcc/java/parse.y example.
5279 * doc/sourcebuild.texi: Likewise.
5280 (Top Level): Added config, gnattools, libdecnumber, libgcc,
5281 libgomp, libssp. Removed fastjar.
5282 (Miscellaneous Docs): Clarify location.
5283 Added COPYING3, COPYING3.LIB.
5284 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
5285
5286 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5287
5288 PR target/38085
5289 * config/i386/i386.c (x86_function_profiler)
5290 [!NO_PROFILE_COUNTERS]: Fix typo.
5291 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
5292 instead of callq.
5293
5294 2010-03-22 Janis Johnson <janis187@us.ibm.com>
5295 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5296
5297 * doc/sourcebuild.texi (Test Directives): Split into six
5298 subsections, with most of the current text in new subsections
5299 Directives, Selectors, and Final Actions.
5300 (Directives): Split list of test directives into multiple
5301 subsubsections.
5302 (Selectors): Describe use and syntax of selectors.
5303 (Effective-Target Keywords): Describe all existing keywords.
5304 (Add Options): Describe features for dg-add-options.
5305 (Require Support): Describe variants of dg-require-support.
5306 (Final Actions): Describe commands to use in dg-final.
5307
5308 2010-03-22 Michael Matz <matz@suse.de>
5309
5310 PR middle-end/43475
5311 * recog.c (validate_replace_rtx_group): Replace also in
5312 REG_EQUAL and REG_EQUIV notes.
5313
5314 2010-03-22 Richard Guenther <rguenther@suse.de>
5315
5316 PR tree-optimization/43390
5317 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
5318 sure vector extracts are type correct.
5319
5320 2010-03-22 Richard Guenther <rguenther@suse.de>
5321
5322 PR middle-end/40106
5323 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
5324 x * sqrt (x) even when optimizing for size if the target
5325 has native support for sqrt.
5326
5327 2010-03-22 Jakub Jelinek <jakub@redhat.com>
5328
5329 * varasm.c (make_decl_rtl_for_debug): Also clear
5330 flag_mudflap for the duration of make_decl_rtl call.
5331
5332 PR debug/43443
5333 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
5334 locs from preserved VALUEs.
5335
5336 2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5337
5338 PR middle-end/42718
5339 * pa.md (movmemsi): Set align to one if zero.
5340 (movmemdi): Likewise.
5341
5342 2010-03-21 Richard Earnshaw <rearnsha@arm.com>
5343
5344 PR target/42321
5345 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
5346 with their corresponding prologue pushes.
5347
5348 2010-03-20 Andrew Pinski <pinskia@gmail.com>
5349
5350 PR target/43156
5351 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
5352 at the begining or end.
5353 (spu_expand_epilogue): Likewise.
5354
5355 2010-03-20 Richard Guenther <rguenther@suse.de>
5356
5357 PR rtl-optimization/43438
5358 * combine.c (make_extraction): Properly zero-/sign-extend an
5359 extraction of the low part of a CONST_INT. Also handle
5360 CONST_DOUBLE.
5361
5362 2010-03-19 Mike Stump <mikestump@comcast.net>
5363
5364 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
5365 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
5366 (override_options): Use SUBTARGET32_DEFAULT_CPU.
5367
5368 2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
5369
5370 PR c/43211
5371 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
5372 an error.
5373
5374 2010-03-19 Bernd Schmidt <bernds@codesourcery.com>
5375
5376 PR rtl-optimization/42258
5377 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
5378 use that may match DEF.
5379
5380 PR target/40697
5381 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
5382 the cost of loading the constant rather than assuming
5383 COSTS_N_INSNS (1).
5384 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
5385 outer code is AND, do the same tests as the andsi3 expander and
5386 return COSTS_N_INSNS (1) if and is cheap.
5387
5388 * optabs.c (avoid_expensive_constant): Fix formatting.
5389
5390 2010-03-19 Michael Matz <matz@suse.de>
5391
5392 PR c++/43116
5393 * attribs.c (decl_attributes): When rebuilding a function pointer
5394 type use the same qualifiers as the original pointer type.
5395
5396 2010-03-19 Martin Jambor <mjambor@suse.cz>
5397
5398 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
5399 and is_gimple_ip_invariant_address.
5400
5401 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5402
5403 Revert
5404 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5405
5406 * config/arm/arm.c (arm_override_options): Turn off
5407 flag_dwarf2_cfi_asm for AAPCS variants.
5408
5409 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5410
5411 PR target/43399
5412 * config/arm/arm.c (emit_multi_reg_push): Update comments.
5413 Use PRE_MODIFY instead of PRE_DEC.
5414 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
5415 (vfp_emit_fstmd): Likewise.
5416
5417 2010-03-19 Michael Matz <matz@suse.de>
5418
5419 PR target/43305
5420 * builtins.c (expand_builtin_interclass_mathfn,
5421 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
5422 if that fails.
5423
5424 2010-03-19 Richard Guenther <rguenther@suse.de>
5425
5426 PR tree-optimization/43415
5427 * tree-ssa-pre.c (phi_translate): Split out worker to ...
5428 (phi_translate_1): ... this.
5429 (phi_translate): Move all caching here. Cache all NARY
5430 and REFERENCE translations.
5431
5432 2010-03-19 David S. Miller <davem@davemloft.net>
5433
5434 With help from Eric Botcazou.
5435 * config/sparc/sparc.c: Include dwarf2out.h.
5436 (emit_pic_helper): Delete.
5437 (pic_helper_symbol_name): Delete.
5438 (pic_helper_emitted_p): Delete.
5439 (pic_helper_needed): New.
5440 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
5441 (get_pc_thunk_name): New.
5442 (load_pic_register): Remove 'delay_pic_helper' arg. Use
5443 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
5444 Set pic_helper_needed to true. Don't call emit_pic_helper.
5445 (sparc_expand_prologue): Update load_pic_register call.
5446 (sparc_output_mi_thunk): Likewise.
5447 (sparc_file_end): Emit a hidden comdat symbol for the PIC
5448 thunk if possible. Output CFI information as needed.
5449
5450 2010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5451 Jack Howarth <howarth@bromo.med.uc.edu>
5452
5453 PR target/36399
5454 * config/i386/i386.h: Fix ABI on darwin x86-32.
5455
5456 2010-03-18 Aldy Hernandez <aldyh@redhat.com>
5457
5458 * tree.h: Declare make_decl_rtl_for_debug.
5459 * varasm.c (make_decl_rtl_for_debug): New.
5460 * dwarf2out.c (rtl_for_decl_location): Call it.
5461 * cfgexpand.c (expand_debug_expr): Call it.
5462
5463 2010-03-18 Jakub Jelinek <jakub@redhat.com>
5464
5465 PR bootstrap/43399
5466 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
5467 mem_mode.
5468
5469 PR bootstrap/43403
5470 * var-tracking.c (vt_init_cfa_base): Do nothing if
5471 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
5472
5473 2010-03-18 Alexandre Oliva <aoliva@redhat.com>
5474
5475 PR debug/42873
5476 * var-tracking.c (canonicalize_vars_star): New.
5477 (dataflow_post_merge_adjust): Use it.
5478
5479 2010-03-18 Jakub Jelinek <jakub@redhat.com>
5480
5481 PR debug/43058
5482 * var-tracking.c (non_suitable_const): New function.
5483 (add_uses): For DEBUG_INSNs with constants, don't record any
5484 value, instead just the constant value itself.
5485 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
5486 is not VAR_LOC_UNKNOWN_P, set var to the constant.
5487 (emit_notes_in_bb): Likewise.
5488 (emit_note_insn_var_location): For onepart variables if
5489 cur_loc is a VOIDmode constant, use DECL_MODE.
5490
5491 2010-03-18 Martin Jambor <mjambor@suse.cz>
5492
5493 PR middle-end/42450
5494 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
5495 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
5496 all non-clones. Moved call redirection...
5497 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
5498 (cgraph_materialize_all_clones): Dispose of all
5499 combined_args_to_skip bitmaps.
5500 (verify_cgraph_node): Do not check for edges pointing to wrong
5501 nodes in inline clones.
5502 * tree-inline.c (copy_bb): Call
5503 cgraph_redirect_edge_call_stmt_to_callee.
5504 * ipa.c (cgraph_remove_unreachable_nodes): Call
5505 cgraph_node_remove_callees even when there are used clones.
5506
5507 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
5508
5509 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
5510
5511 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
5512
5513 PR target/43383
5514 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
5515 for 32bit.
5516
5517 2010-03-18 Michael Matz <matz@suse.de>
5518
5519 PR middle-end/43419
5520 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
5521 into sqrt(x) if we need to preserve signed zeros.
5522
5523 2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
5524 Eric Botcazou <ebotcazou@adacore.com>
5525
5526 PR rtl-optimization/43360
5527 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
5528 note if we don't know its invariant status.
5529
5530 2010-03-18 Michael Matz <matz@suse.de>
5531
5532 PR tree-optimization/43402
5533 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
5534 PHI chains of ssa names registered for update.
5535
5536 2010-03-17 Peter Bergner <bergner@vnet.ibm.com>
5537
5538 PR target/42427
5539 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
5540 non-offsettable and pre_modify update addressing.
5541 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
5542 and "2" alternatives "#".
5543 (*movdd_softfloat32): Make all alternatives "#";
5544 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
5545 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
5546 (*movdf_softfloat32): Make all alternatives "#";
5547 (movdi): Use the new DIFD mode iterator to create a common splitter
5548 for movdi, movdf and movdd patterns.
5549
5550 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
5551
5552 * common.opt (dumpdir): Remove redundant tab.
5553
5554 2010-03-17 Martin Jambor <mjambor@suse.cz>
5555
5556 PR tree-optimization/43347
5557 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
5558 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
5559
5560 2010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
5561
5562 PR rtl-optimization/42216
5563 * regrename.c (create_new_chain): New function, broken out from...
5564 (scan_rtx_reg): ... here. Call it. Handle the case where we are
5565 appending a use to an empty chain.
5566 (build_def_use): Remove previous changes that convert OP_INOUT to
5567 OP_OUT operands; instead detect the case where an OP_INOUT operand
5568 uses a previously untracked register and create an empty chain for it.
5569
5570 2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5571
5572 * doc/extend.texi (Function Attributes): Rewrite unfinished
5573 sentence in ms_abi documentation.
5574
5575 2010-03-17 Alan Modra <amodra@gmail.com>
5576
5577 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
5578 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
5579 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
5580 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
5581
5582 2010-03-16 Richard Henderson <rth@redhat.com>
5583
5584 PR middle-end/43365
5585 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
5586 (lower_try_finally): Save and restore eh_seq around the expansion
5587 of the try-finally.
5588
5589 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
5590
5591 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
5592 statements before splitting block.
5593
5594 2010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5595
5596 * doc/sourcebuild.texi (Testsuites): Fix markup.
5597 Use pathnames relative to gcc/testsuite.
5598 (Test Directives): Move description of how timeout is determined.
5599 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
5600 (C Tests): Correct gcc.misc-tests directory.
5601 Framework tests now live in gcc.test-framework.
5602
5603 2010-03-16 Richard Guenther <rguenther@suse.de>
5604
5605 PR middle-end/43379
5606 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
5607 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
5608
5609 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
5610 Alexandre Oliva <aoliva@redhat.com>
5611
5612 PR tree-optimization/42917
5613 * lambda-code.c (remove_iv): Skip debug statements.
5614 (lambda_loopnest_to_gcc_loopnest): Likewise.
5615 (not_interesting_stmt): Debug statements are not interesting.
5616
5617 2010-03-16 Jakub Jelinek <jakub@redhat.com>
5618
5619 PR debug/43051
5620 PR debug/43092
5621 * cselib.c (cselib_preserve_constants,
5622 cfa_base_preserved_val): New static variables.
5623 (preserve_only_constants): New function.
5624 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
5625 clear its REG_VALUES. If cselib_preserve_constants, don't
5626 empty the whole hash table, but preserve there VALUEs with constants,
5627 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
5628 (cselib_preserve_cfa_base_value): New function.
5629 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
5630 (cselib_init): Change argument to int bitfield. Set
5631 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
5632 is in it.
5633 (cselib_finish): Clear cselib_preserve_constants and
5634 cfa_base_preserved_val.
5635 * cselib.h (enum cselib_record_what): New enum.
5636 (cselib_init): Change argument to int.
5637 (cselib_preserve_cfa_base_value): New prototype.
5638 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
5639 * dse.c (dse_step1): Likewise.
5640 * cfgcleanup.c (thread_jump): Likewise.
5641 * sched-deps.c (sched_analyze): Likewise.
5642 * gcse.c (local_cprop_pass): Likewise.
5643 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
5644 If FN is non-NULL, call the callback always and whenever it returns
5645 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
5646 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
5647 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
5648 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
5649 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
5650 * var-tracking.c: Include recog.h.
5651 (bb_stack_adjust_offset): Remove.
5652 (vt_stack_adjustments): Don't call it, instead just gather the
5653 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
5654 (adjust_stack_reference): Remove.
5655 (compute_cfa_pointer): New function.
5656 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
5657 (struct adjust_mem_data): New type.
5658 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
5659 functions.
5660 (get_address_mode): New function.
5661 (replace_expr_with_values): Use it.
5662 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
5663 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
5664 (adjust_sets): Remove.
5665 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
5666 Use get_address_mode.
5667 (get_adjusted_src): Remove.
5668 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
5669 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
5670 (add_with_sets): Don't call adjust_sets.
5671 (fp_setter, vt_init_cfa_base): New functions.
5672 (vt_initialize): Change return type to bool. Move most of pool etc.
5673 initialization to the beginning of the function from end. Pass
5674 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
5675 If !frame_pointer_needed, call vt_stack_adjustment before mos
5676 vector is filled, call vt_init_cfa_base if argp/framep has been
5677 eliminated to sp. If frame_pointer_needed and argp/framep has
5678 been eliminated to hard frame pointer, set
5679 hard_frame_pointer_adjustment and call vt_init_cfa_base after
5680 encountering fp setter in the prologue. For MO_ADJUST, call
5681 log_op_type before pusing the op into mos vector, not afterwards.
5682 Call adjust_insn before cselib_process_insn/add_with_sets,
5683 call cancel_changes (0) afterwards.
5684 (variable_tracking_main_1): Adjust for vt_initialize calling
5685 vt_stack_adjustments and returning whether it succeeded or not.
5686
5687 2010-03-15 Aldy Hernandez <aldyh@redhat.com>
5688
5689 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
5690 debug statements.
5691
5692 2010-03-15 Jakub Jelinek <jakub@redhat.com>
5693
5694 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
5695 has been set.
5696 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
5697 drap_reg has not been set.
5698
5699 2010-03-15 Michael Matz <matz@suse.de>
5700
5701 PR middle-end/43300
5702 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
5703 use it to expand block copies.
5704 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
5705 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
5706 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
5707
5708 2010-03-15 Richard Guenther <rguenther@suse.de>
5709
5710 PR tree-optimization/43367
5711 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
5712 elimination check.
5713
5714 2010-03-15 Richard Guenther <rguenther@suse.de>
5715
5716 PR tree-optimization/43317
5717 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
5718
5719 2010-03-15 Martin Jambor <mjambor@suse.cz>
5720
5721 PR tree-optimization/43141
5722 * tree-sra.c (create_abstract_origin): New function.
5723 (modify_function): Call create_abstract_origin.
5724
5725 2010-03-15 Chris Demetriou <cgd@google.com>
5726
5727 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
5728 wasn't copied.
5729
5730 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5731
5732 PR middle-end/43354
5733 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
5734 call insert_out_of_ssa_copy for default definitions.
5735
5736 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5737
5738 * graphite-clast-to-gimple.c (my_long_long): Defined.
5739 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
5740 * graphite-sese-to-poly.c (my_long_long): Defined.
5741 (scop_ivs_can_be_represented): Use it.
5742
5743 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5744
5745 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
5746 graphite-max-bbs-per-function, and loop-block-tile-size.
5747 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
5748 with "maximum".
5749 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
5750
5751 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5752
5753 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
5754 forward declaration.
5755 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
5756 (add_upper_bounds_from_estimated_nit): New.
5757 (build_loop_iteration_domains): Use it.
5758
5759 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5760
5761 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
5762
5763 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5764
5765 PR middle-end/43306
5766 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
5767 should be an INTEGER_CST. Also handle CASE_CONVERT.
5768
5769 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5770
5771 * graphite.c (graphite_initialize): To bound the number of bbs per
5772 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
5773 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
5774 * doc/invoke.texi: Document it.
5775
5776 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5777
5778 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
5779 * graphite-sese-to-poly.h (build_poly_scop): Same.
5780
5781 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
5782
5783 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
5784 the number of parameters in the scop. Use as an upper bound
5785 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
5786 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
5787 * doc/invoke.texi: Document it.
5788
5789 2010-03-13 Jerry Quinn <jlquinn@optonline.net>
5790
5791 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
5792 * doc/c-tree.texi: Remove.
5793 * doc/generic.texi: Merge c-tree.texi here.
5794 * doc/gccint.texi (Trees): Remove menu entry.
5795 (c-tree.texi): Remove @include.
5796 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
5797 * doc/languages.texi (Reading RTL): Ditto.
5798
5799 2010-03-12 Steve Ellcey <sje@cup.hp.com>
5800
5801 PR target/42869
5802 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
5803
5804 2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
5805
5806 PR middle-end/42431
5807 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
5808 code added to work around reload clobbering CONST insns.
5809
5810 2010-03-12 Jakub Jelinek <jakub@redhat.com>
5811
5812 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
5813 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
5814 (cselib_preserve_only_values): Remove retain argument, don't
5815 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
5816 * cselib.h (cselib_preserve_only_values): Remove retain argument.
5817 * var-tracking.c (micro_operation): Move insn field before union.
5818 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
5819 (struct variable_tracking_info_def): Remove n_mos field, change
5820 mos into a vector of micro_operations.
5821 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
5822 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
5823 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
5824 changing into a vector.
5825 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
5826 come before all other uops generated by add_stores.
5827 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
5828 argument removal.
5829 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
5830 a vector. Run just one pass over the bbs instead of separate counting
5831 and computation phase.
5832 (vt_finalize): Free VTI (bb)->mos vector instead of array.
5833
5834 PR debug/43329
5835 * tree-inline.c (remap_decls): Put old_var rather than origin_var
5836 into *nonlocalized_list vector.
5837 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
5838 even if origin is non-NULL.
5839 (gen_variable_die): Likewise.
5840 (process_scope_var): Don't change origin.
5841 (gen_decl_die): Likewise.
5842 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
5843 before adding new edges instead of after it, fix moving over
5844 debug stmts.
5845
5846 2010-03-11 David S. Miller <davem@davemloft.net>
5847
5848 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
5849 of four.
5850 * configure: Rebuild.
5851
5852 2010-03-11 Martin Jambor <mjambor@suse.cz>
5853
5854 PR tree-optimization/43257
5855 * tree.c (assign_assembler_name_if_neeeded): New function.
5856 (free_lang_data_in_cgraph): Assembler name assignment moved to the
5857 above new function.
5858 * tree.h (assign_assembler_name_if_neeeded): Declare.
5859 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
5860 the function if needed.
5861
5862 2010-03-11 Chris Demetriou <cgd@google.com>
5863
5864 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
5865 include/stdint-gcc.h, and include/stdint.h world-readable.
5866
5867 2010-03-11 Richard Guenther <rguenther@suse.de>
5868
5869 PR tree-optimization/43255
5870 * tree-vrp.c (process_assert_insertions_for): Do not insert
5871 asserts for trivial conditions.
5872
5873 2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5874
5875 PR tree-optimization/43280
5876 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
5877 generation. Move calculation of size out of the if branch.
5878 (find_bswap): Modify compare number generation.
5879
5880 2010-03-11 Richard Guenther <rguenther@suse.de>
5881
5882 PR lto/43200
5883 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
5884 (input_gimple_stmt): Fixup handled component types during
5885 operand read. Also fix up decls in ADDR_EXPRs.
5886
5887 2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
5888
5889 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
5890 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
5891
5892 2010-03-10 Jan Hubicka <jh@suse.cz>
5893
5894 PR c/43288
5895 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
5896 * varasm.c (get_variable_section): Don't do that here...
5897 (make_decl_rtl): ... and here.
5898 (do_assemble_alias): Produce decl RTL.
5899 (assemble_alias): Likewise.
5900
5901 2010-03-10 Jakub Jelinek <jakub@redhat.com>
5902
5903 PR debug/43290
5904 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
5905 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
5906 of fde->vdrap_reg.
5907 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
5908 (based_loc_descr): Only express drap or vdrap regno based expressions
5909 using DW_OP_fbreg when not optimizing.
5910 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
5911 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
5912 REG_CFA_SET_VDRAP note.
5913
5914 2010-03-10 Alexander Monakov <amonakov@ispras.ru>
5915
5916 PR tree-optimization/43236
5917 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
5918 error in calculation of base address in reverse iteration case.
5919 (generate_builtin): Take number of latch executions if the statement
5920 is in the latch.
5921
5922 2010-03-10 Andrey Belevantsev <abel@ispras.ru>
5923
5924 PR middle-end/42859
5925 * tree-eh.c: Include pointer-set.h.
5926 (lower_eh_dispatch): Filter out duplicate case labels and
5927 remove the unneeded edge when the label is unused. Return
5928 true when some edges are removed.
5929 (execute_lower_eh_dispatch): When any lowering resulted in
5930 removing an edge, also delete unreachable blocks.
5931
5932 2010-03-10 Jakub Jelinek <jakub@redhat.com>
5933
5934 PR bootstrap/43287
5935 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
5936 UNSPEC_MACHOPIC_OFFSET.
5937
5938 2010-03-09 Andreas Schwab <schwab@linux-m68k.org>
5939
5940 PR target/43294
5941 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
5942 (m68k_delegitimize_address): New function.
5943
5944 2010-03-09 Jakub Jelinek <jakub@redhat.com>
5945
5946 PR debug/43299
5947 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
5948
5949 PR debug/43299
5950 * var-tracking.c (adjust_sets): New function.
5951 (count_with_sets, add_with_sets): Use it.
5952 (get_adjusted_src): New inline function.
5953 (add_stores): Use it.
5954
5955 PR debug/43304
5956 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
5957 call cselib_dummy_expand_value_rtx_cb instead of
5958 cselib_expand_value_rtx_cb.
5959
5960 PR debug/43293
5961 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
5962 * config/i386/i386.c: Include debug.h and dwarf2out.h.
5963 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
5964 and .cfi_endproc around the pic thunks.
5965 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
5966 all queued unwind info register saves are saved before the call.
5967 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
5968 considered as sp-=4 for unwind info and the pop as sp+=4 which
5969 also clobbers dest, but doesn't actually restore it.
5970
5971 PR debug/43290
5972 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
5973 RTX_FRAME_RELATED_P.
5974
5975 2010-03-09 Jie Zhang <jie@codesourcery.com>
5976
5977 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
5978 whitespaces in output template.
5979
5980 2010-03-09 Jie Zhang <jie@codesourcery.com>
5981
5982 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
5983 out array boundary.
5984
5985 2010-03-08 Jakub Jelinek <jakub@redhat.com>
5986
5987 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
5988 builtins.exp in a separate job.
5989
5990 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5991
5992 * graphite-sese-to-poly.c (add_param_constraints): Use
5993 lower_bound_in_type and upper_bound_in_type.
5994
5995 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5996
5997 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
5998 instead of unsigned_type_node.
5999
6000 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
6001 Reza Yazdani <reza.yazdani@amd.com>
6002
6003 PR middle-end/43065
6004 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
6005 on pointer type parameters.
6006
6007 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
6008
6009 PR middle-end/42644
6010 PR middle-end/42130
6011 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
6012 handle conversions from pointer to integers.
6013 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
6014 induction variable, to be able to work with code generated by CLooG.
6015 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
6016 (build_poly_scop): Bail out if we cannot codegen a loop.
6017
6018 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
6019
6020 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
6021 code generation with gloog_error.
6022
6023 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
6024
6025 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
6026 Call fold_convert on all the returned values.
6027 (expand_scalar_variables_expr): Pass to
6028 expand_scalar_variables_ssa_name the type of the resulting expression.
6029
6030 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
6031
6032 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
6033 ppl_min_for_le_pointset.
6034 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
6035 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
6036
6037 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
6038
6039 * graphite-dependences.c (map_into_dep_poly): Removed.
6040 (dependence_polyhedron_1): Use combine_context_id_scat.
6041
6042 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
6043
6044 * graphite-poly.h (struct poly_scattering): Add layout documentation.
6045 (struct poly_bb): Same.
6046 (combine_context_id_scat): New.
6047
6048 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
6049
6050 PR middle-end/42326
6051 * sese.c (name_defined_in_loop_p): Return false for default
6052 definitions.
6053
6054 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
6055
6056 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
6057 and clean up the logic.
6058
6059 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
6060
6061 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
6062 early return.
6063
6064 2010-03-08 Jakub Jelinek <jakub@redhat.com>
6065
6066 * var-tracking.c (remove_cselib_value_chains): Define only for
6067 ENABLE_CHECKING.
6068 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
6069 delete_slot_part, emit_notes_for_differences_1): Don't call
6070 remove_cselib_value_chains here.
6071 (set_slot_part, emit_notes_for_differences_2): Don't call
6072 add_cselib_value_chains here.
6073 (preserved_values): New vector.
6074 (preserve_value): New function.
6075 (add_uses, add_stores, vt_add_function_parameters): Use it
6076 instead of cselib_preserve_value.
6077 (changed_values_stack): New vector.
6078 (check_changed_vars_0): New function.
6079 (check_changed_vars_1, check_changed_vars_2): Use it.
6080 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
6081 changed_values_stack VALUEs.
6082 (vt_emit_notes): For all preserved_values call
6083 add_cselib_value_chains. If ENABLE_CHECKING call
6084 remove_cselib_value_chains before verifying value_chains is empty.
6085 Initialize and free changed_values_stack.
6086 (vt_initialize): Initialize preserved_values.
6087 (vt_finalize): Free preserved_values.
6088
6089 2010-03-08 Richard Guenther <rguenther@suse.de>
6090
6091 PR tree-optimization/43269
6092 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
6093 region detection.
6094
6095 2010-03-08 Martin Jambor <mjambor@suse.cz>
6096
6097 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
6098 (ipa_is_param_called): Removed.
6099 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
6100 (ipa_print_node_params): Do not print the called flag.
6101 (ipa_write_node_info): Do not stream the called flag.
6102 (ipa_read_node_info): Likewise.
6103
6104 2010-03-07 Jakub Jelinek <jakub@redhat.com>
6105
6106 PR debug/43176
6107 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
6108 * cselib.c (struct expand_value_data): Add dummy field.
6109 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
6110 dummy to false.
6111 (cselib_dummy_expand_value_rtx_cb): New function.
6112 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
6113 any rtl.
6114 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
6115 * var-tracking.c: Include pointer-set.h.
6116 (variable): Change n_var_parts to char from int. Add
6117 cur_loc_changed and in_changed_variables fields.
6118 (variable_canonicalize): Remove.
6119 (shared_var_p): New inline function.
6120 (unshare_variable): Maintain cur_loc_changed and
6121 in_changed_variables fields. If var was in changed_variables,
6122 replace it there with new_var. Just copy cur_loc instead of
6123 resetting it to something else.
6124 (variable_union): Don't recompute cur_loc. Use shared_var_p.
6125 (dataflow_set_union): Don't call variable_canonicalize.
6126 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
6127 of their DEBUG_EXPR_TREE_DECLs.
6128 (canonicalize_loc_order_check): Verify that cur_loc is NULL
6129 and in_changed_variables and cur_loc_changed is false.
6130 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
6131 and cur_loc_changed. Don't update cur_loc here.
6132 (variable_merge_over_src): Don't call variable_canonicalize.
6133 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
6134 removing loc that is equal to cur_loc, clear cur_loc,
6135 set cur_loc_changed and ensure variable_was_changed is called.
6136 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
6137 compare pointers in cur_loc check, if it is equal to loc,
6138 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
6139 (variable_different_p): Remove compare_current_location argument,
6140 don't compare cur_loc.
6141 (dataflow_set_different_1): Adjust variable_different_p caller.
6142 (variable_was_changed): If dv had some var in changed_variables
6143 already, reset in_changed_variables flag for it and propagate
6144 cur_loc_changed over to the new variable. On empty var
6145 always set cur_loc_changed. Set in_changed_variables on whatever
6146 var is added to changed_variables.
6147 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
6148 Use shared_var_p. When removing loc that is equal to cur_loc,
6149 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
6150 end, don't set it to something else, just call variable_was_changed.
6151 (delete_slot_part): Use shared_var_p. When cur_loc equals to
6152 loc being removed, clear cur_loc and set cur_loc_changed.
6153 Set cur_loc_changed if all locations have been removed.
6154 (struct expand_loc_callback_data): New type.
6155 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
6156 allocated. Always create SUBREGs if simplify_subreg failed.
6157 Prefer to use cur_loc, when that fails and still in
6158 changed_variables (and seen first time) recompute it. Set
6159 cur_loc_changed of variables which had to change cur_loc and
6160 compute elcd->cur_loc_changed if any of the subexpressions used
6161 had to change cur_loc.
6162 (vt_expand_loc): Adjust to pass arguments in
6163 expand_loc_callback_data structure.
6164 (vt_expand_loc_dummy): New function.
6165 (emitted_notes): New variable.
6166 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
6167 that weren't used for any other decl in current
6168 emit_notes_for_changes call call vt_expand_loc_dummy to update
6169 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
6170 first loc_chain location if NULL before. Always use just
6171 cur_loc instead of first loc_chain location. When cur_loc_changed
6172 is false, when not --enable-checking=rtl just don't emit any note.
6173 When rtl checking, compute the note and assert it is the same
6174 as previous note. Clear cur_loc_changed and in_changed_variables
6175 at the end before removing from changed_variables.
6176 (check_changed_vars_3): New function.
6177 (emit_notes_for_changes): Traverse changed_vars to call
6178 check_changed_vars_3 on each changed var.
6179 (emit_notes_for_differences_1): Clear cur_loc_changed and
6180 in_changed_variables. Recompute cur_loc of new_var.
6181 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
6182 (vt_emit_notes): Initialize and destroy emitted_notes.
6183
6184 2010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
6185
6186 PR rtl-optimization/42220
6187 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
6188 Use verify_reg_tracked to determine if we should use OP_OUT rather
6189 than OP_INOUT.
6190 (build_def_use): If we see an in-out operand for a register that we
6191 know nothing about, treat is an output if possible, fail the block if
6192 not.
6193
6194 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
6195
6196 PR debug/42897
6197 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
6198 permanently.
6199
6200 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
6201
6202 PR debug/42897
6203 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
6204 uses of relevant DEFs that are dead outside the loop too.
6205
6206 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
6207
6208 * var-tracking.c (dataflow_set_merge): Swap src and src2.
6209 Reverted:
6210 2010-01-13 Jakub Jelinek <jakub@redhat.com>
6211 PR debug/41371
6212 * var-tracking.c (values_to_unmark): New variable.
6213 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
6214 values_to_unmark vector. Moved body to...
6215 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
6216 instead queue it into values_to_unmark vector.
6217 (vt_find_locations): Free values_to_unmark vector.
6218
6219 2010-03-05 Eric Botcazou <ebotcazou@adacore.com>
6220
6221 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
6222 (site.exp): Export them when plugins are enabled.
6223
6224 2010-03-05 Sebastian Pop <sebastian.pop@amd.com>
6225
6226 PR middle-end/42326
6227 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
6228 that contain scevs.
6229 (chrec_fold_multiply): Same.
6230
6231 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
6232
6233 PR c/43248
6234 * c-decl.c (build_compound_literal): Return early if init is
6235 an error_mark_node.
6236
6237 2010-03-04 Martin Jambor <mjambor@suse.cz>
6238
6239 PR tree-optimization/43164
6240 PR tree-optimization/43191
6241 * tree-sra.c (type_consists_of_records_p): Reject records with
6242 zero-size bit-fields at the end.
6243
6244 2010-03-04 Mike Stump <mikestump@comcast.net>
6245
6246 * Makefile.in (TAGS): Remove *.y.
6247
6248 2010-03-04 Richard Guenther <rguenther@suse.de>
6249
6250 PR tree-optimization/40761
6251 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
6252 in reverse order.
6253 (my_rev_post_order_compute): New function.
6254 (init_pre): Call it.
6255
6256 2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
6257
6258 PR middle-end/43209
6259 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
6260 decrease the cost of an IV candidate when the cost is infinite.
6261
6262 2010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6263
6264 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
6265 Use '3DNow!' for the extension of that name, ensure normal space
6266 after the string.
6267 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
6268
6269 2010-03-03 Jeff Law <law@redhat.com>
6270
6271 * PR middle-end/32693
6272 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
6273 than gen_rtx_SUBREG.
6274 (extract_bit_field_1): Likewise.
6275
6276 2010-03-03 Janis Johnson <janis187@us.ibm.com>
6277
6278 * doc/sourcebuild.texi (Test directives): Document that arguments
6279 include-opts and exclude-opts are now optional for dg-skip-if,
6280 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
6281
6282 2010-03-03 Jason Merrill <jason@redhat.com>
6283
6284 PR c++/12909
6285 * cgraph.h (varpool_node): Add extra_name field.
6286 * varpool.c (varpool_extra_name_alias): New.
6287 (varpool_assemble_decl): Emit extra name aliases.
6288 (varpool_mark_needed_node): Look past an extra name alias.
6289 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
6290 * lto-streamer-in.c (lto_input_tree): Read it.
6291 * lto-streamer-out.c (output_unreferenced_globals): Write it.
6292
6293 2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
6294
6295 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
6296 (sparc*-*-solaris2*): ...this.
6297
6298 2010-03-03 Jakub Jelinek <jakub@redhat.com>
6299
6300 PR debug/43229
6301 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
6302 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
6303 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
6304 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
6305
6306 PR debug/43237
6307 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
6308 fallthrough to default handling, just with want_address 0 instead of 2.
6309 For single element lists, add_AT_loc directly, otherwise create an
6310 artificial variable DIE and stick location list to it.
6311
6312 PR debug/43177
6313 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
6314 (VAL_EXPR_HAS_REVERSE): Define.
6315 (reverse_op): New function.
6316 (add_stores): For reversible operations add an extra MO_VAL_USE.
6317
6318 2010-03-02 Jason Merrill <jason@redhat.com>
6319
6320 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
6321
6322 2010-03-02 Eric Botcazou <ebotcazou@adacore.com>
6323
6324 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
6325 (sparc64-*-linux*): Likewise.
6326 (sparc64-*-solaris2*): Include assembler files before linker ones.
6327 (sparc-*-solaris2*): Simplify and reorder to match previous case.
6328 * config/sparc/gas.h: Delete.
6329 * config/sparc/sol2-64.h: Add copyright notice.
6330 * config/sparc/sol2-gas-bi.h: Likewise.
6331 * config/sparc/sol2-gld.h: Likewise.
6332 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
6333 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
6334 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
6335 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
6336 (sparc_elf_asm_named_section): Rename into...
6337 (sparc_solaris_elf_asm_named_section): ...this. Always define.
6338
6339 2010-03-02 Uros Bizjak <ubizjak@gmail.com>
6340
6341 * config/alpha/alpha.c (override_options): Fix -mtune error message.
6342
6343 2010-03-02 Jeff Law <law@redhat.com>
6344
6345 PR middle-end/42431
6346 * reload1.c (rtx_p, substitute_stack): Declare.
6347 (substitute): Record addresses of changed rtxs.
6348 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
6349 Restore the original rtx when complete.
6350 (reload): Free subsitute_stack when complete.
6351
6352 2010-03-02 Janis Johnson <janis187@us.ibm.com>
6353
6354 * doc/gccint.texi (menu): Add Testsuites as a chapter.
6355 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
6356 new chapter.
6357 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
6358 LTO Testing, gcov Testing, profopt Testing, compat Testing,
6359 Torture Tests): Change from subsection to section.
6360
6361 2010-03-02 Jakub Jelinek <jakub@redhat.com>
6362 Steven Bosscher <steven@gcc.gnu.org>
6363
6364 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
6365 instead of bb.
6366
6367 2010-03-02 Reza Yazdani <reza.yazdani@amd.com>
6368
6369 PR middle-end/42640
6370 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
6371 the assignment from the new induction variable to the assignment
6372 of the value from the original loop PHI function.
6373
6374 2010-03-01 Janis Johnson <janis187@us.ibm.com>
6375 Daniel Jacobowitz <dan@codesourcery.com>
6376
6377 * doc/sourcebuild.texi (Test directives): Clarify options to
6378 dg-skip-if.
6379
6380 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6381
6382 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
6383 Disable cfi directives unless GCC and gas agree on using read-only
6384 .eh_frame sections for 64-bit.
6385 * configure: Regenerate.
6386
6387 2010-03-01 Richard Guenther <rguenther@suse.de>
6388
6389 PR tree-optimization/43220
6390 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
6391 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
6392
6393 2010-03-01 Richard Guenther <rguenther@suse.de>
6394 Martin Jambor <mjambor@suse.cz>
6395
6396 PR middle-end/41250
6397 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
6398 gimplified parameters.
6399
6400 2010-03-01 Christian Bruel <christian.bruel@st.com>
6401
6402 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
6403
6404 2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
6405
6406 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
6407
6408 2010-03-01 Richard Guenther <rguenther@suse.de>
6409
6410 PR middle-end/43213
6411 * expr.c (expand_assignment): Use the alias-oracle to tell
6412 if the rhs aliases the result decl.
6413
6414 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6415
6416 PR pch/14940
6417 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
6418 to sol_gt_pch_get_address.
6419 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
6420 64-bit, SPARC and x86.
6421 (sol_gt_pch_get_address): New function.
6422
6423 2010-03-01 Marco Poletti <poletti.marco@gmail.com>
6424
6425 * toplev.h (inform_n, error_n): Declare.
6426 * diagnostic.c (inform_n, error_n): New function.
6427
6428 2010-03-01 Jakub Jelinek <jakub@redhat.com>
6429
6430 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
6431 has no rtl yet when processing local_decls, queue it and recheck
6432 if deferred stack allocation hasn't assigned it rtl.
6433
6434 2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
6435
6436 * config/sh/sh.c (unspec_bbr_uid): New.
6437 (gen_block_redirect): Use it instead of INSN_UID.
6438 (gen_far_branch): Likewise.
6439
6440 2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
6441
6442 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
6443 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
6444
6445 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6446
6447 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
6448 (Warning Options): -Wno-conversion-null is valid for
6449 Objective-C++ as well.
6450 * doc/tm.texi (Named Address Spaces): Likewise.
6451 * doc/plugins.texi (Plugins): Replace TABs with spaces.
6452 * doc/tree-ssa.texi (Tree SSA): Likewise.
6453
6454 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
6455
6456 PR bootstrap/43202
6457 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
6458 by default. Don't set the default arch for
6459 i[34567]86-*-darwin*|x86_64-*-darwin*.
6460
6461 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
6462
6463 PR bootstrap/43202
6464 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
6465 default. Set the default 32bit/64bit archs with $with_arch
6466 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
6467
6468 2010-02-27 Richard Guenther <rguenther@suse.de>
6469
6470 PR tree-optimization/43186
6471 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
6472 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
6473 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
6474 unroller iterations.
6475
6476 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
6477
6478 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
6479 required and i[34567]86-*-* targets don't support 64bit ISA.
6480
6481 2010-02-26 Eric Botcazou <ebotcazou@adacore.com>
6482
6483 PR ada/43096
6484 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
6485 the same alias set.
6486
6487 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
6488
6489 * config.gcc: Set the default arch at least to Prescott for
6490 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
6491 if SSE math is enabled.
6492
6493 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6494
6495 * diagnostic.c (diagnostic_initialize): Update.
6496 (diagnostic_report_diagnostic): Test inhibit_notes_p for
6497 informative notes.
6498 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
6499 (diagnostic_inhibit_notes): New.
6500 * toplev.c (process_options): inhibit notes with -fcompare-debug.
6501
6502 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6503
6504 PR c/20631
6505 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
6506 * doc/standards.texi: Likewise.
6507 * doc/extend.texi: Likewise.
6508 * doc/trouble.texi: Likewise.
6509 * doc/cppopts.texi: Likewise.
6510 * doc/install.texi: Likewise.
6511 * c.opt (std=c90,std=gnu90): New options.
6512 * c-opts.c (c_common_handle_option): Handle them.
6513
6514 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6515
6516 PR c/24577
6517 * c-decl.c (undeclared_variable): Use an informative note.
6518
6519 2010-02-26 Richard Guenther <rguenther@suse.de>
6520
6521 PR tree-optimization/43186
6522 * gimple.h (gimple_fold): Remove.
6523 * gimple.c (gimple_fold): Remove. Inline into single user ...
6524 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
6525 Try harder for conditions.
6526
6527 2010-02-26 Jakub Jelinek <jakub@redhat.com>
6528
6529 PR debug/43190
6530 * function.c (used_types_insert): Don't skip through named pointer
6531 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
6532 and it is different from the main variant's type.
6533
6534 2010-02-26 Nick Clifton <nickc@redhat.com>
6535
6536 * config/rx/rx.md (sminsi3): Remove bogus alternative.
6537
6538 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
6539
6540 * config.gcc: Support --with-fpmath=sse for x86.
6541
6542 * config/i386/ssemath.h: New.
6543
6544 * doc/install.texi (--with-fpmath=sse): Documented.
6545
6546 2010-02-26 Richard Guenther <rguenther@suse.de>
6547
6548 PR tree-optimization/43188
6549 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
6550 vector types of over-aligned element type.
6551
6552 2010-02-26 Uros Bizjak <ubizjak@gmail.com>
6553
6554 PR target/43175
6555 * config/i386/i386.c (expand_vec_perm_blend): Use correct
6556 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
6557
6558 2010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
6559
6560 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
6561
6562 2010-02-26 Jakub Jelinek <jakub@redhat.com>
6563
6564 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
6565 * var-tracking.c: Include diagnostic.h.
6566 (debug_dv): New function.
6567 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
6568
6569 PR debug/43160
6570 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
6571 (add_value_chain, add_value_chains, remove_value_chain,
6572 remove_value_chains): Handle DEBUG_EXPRs.
6573 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
6574
6575 PR debug/43161
6576 * regcprop.c (struct queued_debug_insn_change): New type.
6577 (struct value_data_entry): Add debug_insn_changes field.
6578 (struct value_data): Add n_debug_insn_changes field.
6579 (debug_insn_changes_pool): New variable.
6580 (free_debug_insn_changes, apply_debug_insn_changes,
6581 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
6582 (kill_value_one_regno): Call free_debug_insn_changes if needed.
6583 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
6584 fields.
6585 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
6586 changes for them.
6587 (copyprop_hardreg_forward_1): Don't call apply_change_group for
6588 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
6589 changes, call cprop_find_used_regs via note_stores.
6590 (copyprop_hardreg_forward): When copying vd from predecessor
6591 which has any queued DEBUG_INSN changes, make sure the pointers are
6592 cleared. At the end call df_analyze and then if there are any
6593 DEBUG_INSN changes queued at the end of some basic block for still
6594 live registers, apply them.
6595 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
6596
6597 2010-02-25 Uros Bizjak <ubizjak@gmail.com>
6598
6599 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
6600 (arm*-*-*): Ditto.
6601
6602 2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
6603
6604 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
6605 targets. Set the default with_cpu/with_arch from arch/cpu.
6606 Allow x86-64 and native for with_cpu/with_arch.
6607
6608 2010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
6609
6610 * ebitmap.c: Change calls to verify_popcount with calls to
6611 sbitmap_verify_popcount.
6612 (ebitmap_clear_bit): Fixed map->cacheindex test and
6613 map>cache update when bit clearing results in an empty
6614 element.
6615
6616 2010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
6617
6618 PR target/43154
6619 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
6620 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
6621 and support both V2DF and V2DI modes.
6622 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
6623 support both V2DF and V2DI modes.
6624 (general): Delete trailing whitespace from a few patterns.
6625
6626 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
6627 V2DF/V2DI interleave high/low builtins.
6628
6629 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
6630 new VSX builtins.
6631
6632 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
6633 interleave high/low functions.
6634
6635 2010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
6636
6637 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
6638 #pragma extern_prefix.
6639
6640 2010-02-25 Jakub Jelinek <jakub@redhat.com>
6641
6642 PR debug/43166
6643 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
6644 BLKmode, assert op0 is a MEM and just adjust its mode.
6645
6646 PR debug/43165
6647 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
6648 if bitpos isn't multiple of mode's bitsize.
6649
6650 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
6651
6652 * c.opt (-ftemplate-depth=): New.
6653 (-ftemplate-depth-): Deprecate.
6654 * optc-gen.awk: Handle -ftemplate-depth=.
6655 * opth-gen.awk: Likewise.
6656 * c-opts.c (c_common_handle_option): Likewise.
6657 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
6658
6659 2010-02-24 Jason Merrill <jason@redhat.com>
6660
6661 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
6662
6663 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6664
6665 * cfg.c (alloc_aux_for_block): Remove inline.
6666 (alloc_aux_for_edge): Likewise.
6667
6668 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6669
6670 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
6671
6672 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6673
6674 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
6675 * config/i386/sol2-gas.h: New file.
6676 * config.gcc (i[34567]86-*-solaris2*): Use it.
6677
6678 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
6679
6680 PR c/43128
6681 * c-typeck.c (ep_convert_and_check): New.
6682 (build_conditional_expr): Use it.
6683 (build_binary_op): Likewise.
6684
6685 2010-02-24 Jakub Jelinek <jakub@redhat.com>
6686
6687 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
6688
6689 PR debug/43150
6690 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
6691 bounds even for -O+.
6692 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
6693 expr needs to have DECL_NAME set.
6694
6695 2010-02-24 Nick Clifton <nickc@redhat.com>
6696
6697 * config/mep/mep.c: Include gimple.h.
6698 (mep_function_uses_sp): Delete unused function.
6699 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
6700 parameters. Use unsigned integers to count args. Return a
6701 NULL_RTX instead of an error_mark_node. Toidy up formatting.
6702
6703 2010-02-23 Jakub Jelinek <jakub@redhat.com>
6704
6705 PR target/43107
6706 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
6707 greater or equal to nelt instead of 2 * nelt.
6708 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
6709 with nelt - 1.
6710
6711 2010-02-23 Jason Merrill <jason@redhat.com>
6712
6713 PR debug/42800
6714 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
6715 in cfun->local_decls even if they have register types.
6716
6717 PR c++/42837
6718 * stor-layout.c (place_field): Don't warn about unnecessary
6719 DECL_PACKED if the type is packed.
6720
6721 2010-02-23 Jakub Jelinek <jakub@redhat.com>
6722
6723 PR target/43139
6724 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
6725 GOTOFF relocs, even when the base reg isn't pic pointer.
6726
6727 2010-02-23 Michael Matz <matz@suse.de>
6728
6729 PR debug/43077
6730 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
6731 (expand_gimple_basic_block): Generate and use debug temps if there
6732 are debug uses left after the last real use of TERed ssa names.
6733 Unlink debug immediate uses when they are expanded.
6734
6735 2010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
6736
6737 PR 43123
6738 * config/i386/i386.c (override_options): Reorganise to provide
6739 better error messages.
6740
6741 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
6742
6743 PR middle-end/43083
6744 * graphite-scop-detection.c (create_single_exit_edge): Move
6745 the call to find_single_exit_edge to....
6746 (create_sese_edges): ...here. Don't handle multiple edges
6747 exiting the function.
6748 (build_graphite_scops): Don't handle multiple edges
6749 exiting the function.
6750
6751 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
6752
6753 PR middle-end/43097
6754 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
6755 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
6756
6757 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
6758
6759 PR middle-end/43026
6760 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
6761
6762 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6763
6764 PR c++/43126
6765 * c-typeck.c (convert_arguments): Print declaration location.
6766 * c-common.c (validate_nargs): Rename as
6767 builtin_function_validate_nargs.
6768 (check_builtin_function_arguments): Update.
6769
6770 2010-02-22 Richard Guenther <rguenther@suse.de>
6771
6772 PR lto/43045
6773 * tree-inline.c (declare_return_variable): Use the type of
6774 the call stmt lhs if available.
6775
6776 2010-02-22 Duncan Sands <baldrick@free.fr>
6777
6778 * passes.c (register_pass): Always consider all pass lists when
6779 ref_pass_instance_number is zero.
6780
6781 2010-02-22 Richard Guenther <rguenther@suse.de>
6782
6783 PR tree-optimization/42749
6784 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
6785 parameter. Do arithmetic in the original type.
6786 (update_accumulator_with_ops): Likewise.
6787 (adjust_accumulator_values): Adjust.
6788
6789 2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6790
6791 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
6792 (QI to BLKmode splitter): New splitter.
6793
6794 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
6795
6796 * config/i386/i386.c (initial_ix86_tune_features): Turn on
6797 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
6798
6799 2010-02-22 Richard Guenther <rguenther@suse.de>
6800
6801 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
6802
6803 2010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
6804
6805 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
6806 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
6807 ($(T)crti.o, $(T)crtn.o): Remove rules.
6808
6809 2010-02-21 Tobias Burnus <burnus@net-b.de>
6810
6811 PR fortran/35259
6812 * doc/invoke.texi (-fassociative-math): Document that this
6813 option is automatically enabled for Fortran.
6814
6815 2010-02-20 David S. Miller <davem@davemloft.net>
6816
6817 * configure.ac: Test if linker and assembler properly support
6818 GOTDATA_OP relocations.
6819 * configure: Rebuild.
6820 * config.in: Likewise.
6821 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
6822 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
6823 (movsi_high_pic): Likewise.
6824 (movdi_lo_sum_pic): Likewise.
6825 (movdi_high_pic): Likewise.
6826 (movsi_pic_gotdata_op): New pattern.
6827 (movdi_pic_gotdata_op): Likewise.
6828 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
6829 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
6830
6831 2010-02-20 Uros Bizjak <ubizjak@gmail.com>
6832
6833 PR target/43067
6834 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
6835 attribute to ssemul.
6836 (xop_mulv2div2di3_high): Ditto.
6837
6838 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6839
6840 PR c++/35669
6841 * c.opt (Wconversion-null): New option.
6842 * doc/invoke.texi (Wconversion-null): Document.
6843
6844 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6845
6846 * common.opt (Wlarger-than-): Add Undocumented.
6847
6848 2010-02-19 Mike Stump <mikestump@comcast.net>
6849
6850 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
6851
6852 2010-02-19 Jason Merrill <jason@redhat.com>
6853
6854 PR target/40332
6855 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
6856 * configure: Likewise.
6857
6858 2010-02-20 Alan Modra <amodra@gmail.com>
6859
6860 PR middle-end/42344
6861 * cgraph.h (cgraph_make_decl_local): Declare.
6862 * cgraph.c (cgraph_make_decl_local): New function.
6863 (cgraph_make_node_local): Use it.
6864 * cgraphunit.c (cgraph_function_versioning): Likewise.
6865 * ipa.c (function_and_variable_visibility): Likewise.
6866
6867 2010-02-19 Jakub Jelinek <jakub@redhat.com>
6868
6869 PR bootstrap/43121
6870 * except.c (sjlj_emit_function_enter): Don't call
6871 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
6872 directly.
6873 * rtl.h (add_reg_br_prob_note): Remove prototype.
6874
6875 2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6876
6877 PR 41779
6878 * c-common.c (conversion_warning): Remove widening conversions
6879 before checking the conversion of integers to reals.
6880
6881 2010-02-19 Mike Stump <mikestump@comcast.net>
6882
6883 PR middle-end/43125
6884 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
6885
6886 PR objc/43061
6887 * cgraphunit.c (process_function_and_variable_attributes): Check
6888 DECL_PRESERVE_P instead of looking up attribute "used".
6889 * ipa-pure-const.c (check_decl): Likewise.
6890 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
6891 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
6892 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
6893 instead of attribute "used".
6894 * config/sol2-c.c (solaris_pragma_init): Likewise.
6895 (solaris_pragma_fini): Likewise.
6896
6897 2010-02-19 Jakub Jelinek <jakub@redhat.com>
6898
6899 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
6900 Use XCNEW instead of xcalloc.
6901 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
6902 XNEW instead of xmalloc.
6903 (get_fields): Use XNEWVEC instead of xmalloc.
6904
6905 PR debug/43084
6906 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
6907 populate vars array.
6908 (create_new_general_access): For debug stmts just reset value.
6909 (get_stmt_accesses): For accesses within debug stmts just record them
6910 using add_access_to_acc_sites instead of preventing the peeling or
6911 counting them as accesses.
6912
6913 PR middle-end/42233
6914 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
6915
6916 2010-02-19 Richard Guenther <rguenther@suse.de>
6917
6918 PR tree-optimization/42916
6919 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
6920 instructions.
6921
6922 2010-02-19 Andreas Schwab <schwab@linux-m68k.org>
6923
6924 * configure.ac: Replace all uses of changequote in macro arguments
6925 with proper quoting.
6926
6927 2010-02-19 Jakub Jelinek <jakub@redhat.com>
6928
6929 PR middle-end/42233
6930 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
6931
6932 2010-02-19 Richard Guenther <rguenther@suse.de>
6933
6934 PR tree-optimization/42944
6935 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
6936 test for aliasing with errno.
6937
6938 2010-02-19 Jakub Jelinek <jakub@redhat.com>
6939
6940 PR middle-end/42233
6941 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
6942 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
6943 * dojump.c: Include output.h.
6944 (inv): New inline function.
6945 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
6946 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
6947 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
6948 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
6949 argument, pass it down to other calls.
6950 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
6951 add REG_BR_PROB note to the conditional jump.
6952 * cfgexpand.c (add_reg_br_prob_note): Removed.
6953 (expand_gimple_cond): Don't call it, add the probability
6954 as last argument to jumpif_1/jumpifnot_1.
6955 * Makefile.in (dojump.o): Depend on output.h.
6956 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
6957 callers.
6958 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
6959 * stmt.c (do_jump_if_equal): Likewise.
6960 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
6961 * loop-unswitch.c (compare_and_jump_seq): Likewise.
6962 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
6963 Likewise.
6964 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
6965 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
6966 jumpifnot_1 callers.
6967 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
6968 callers.
6969 (store_expr): Adjust jumpifnot caller.
6970 (store_constructor): Adjust jumpif caller.
6971
6972 PR middle-end/42233
6973 * gimplify.c (gimple_boolify): For __builtin_expect call
6974 gimple_boolify also on its first argument.
6975
6976 2010-02-18 Uros Bizjak <ubizjak@gmail.com>
6977
6978 * configure.ac (gnu-unique-object): Wrap regexps using [] in
6979 changequote block.
6980 (__stack_chk_fail): Ditto. Remove quadrigraphs.
6981 * configure: Regenerated.
6982
6983 2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6984
6985 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
6986 lang_hooks.types_compatible_p instead of comptypes.
6987
6988 2010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6989
6990 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
6991 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
6992 if __prefer_thumb__ is defined.
6993
6994 2010-02-18 Martin Jambor <mjambor@suse.cz>
6995
6996 PR tree-optimization/43066
6997 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
6998 array with zero-sized element type.
6999
7000 2010-02-18 Jakub Jelinek <jakub@redhat.com>
7001
7002 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
7003 rtx, allocate struct var_loc_node here and return it to the
7004 caller, and only if it is actually needed.
7005 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
7006 move it earlier and return immediately if it returns NULL.
7007
7008 2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
7009
7010 * config/sparc/gas.h: New file. Restore
7011 TARGET_ASM_NAMED_SECTION to its ELF default.
7012 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
7013 check !HAVE_GNU_AS.
7014 * config/sparc/sparc.c (sparc_elf_asm_named_section):
7015 Likewise. Add ATTRIBUTE_UNUSED to prototype.
7016 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
7017 after sparc/sysv4.h.
7018
7019 2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
7020
7021 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
7022
7023 2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
7024
7025 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
7026 patterns from predicated pattern.
7027
7028 2010-02-17 Uros Bizjak <ubizjak@gmail.com>
7029
7030 PR target/43103
7031 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
7032 for insn mnemonic suffix.
7033
7034 2010-02-17 Richard Guenther <rguenther@suse.de>
7035
7036 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
7037 to loop PHI nodes.
7038
7039 2010-02-17 Jakub Jelinek <jakub@redhat.com>
7040
7041 PR debug/42918
7042 * caller-save.c (save_call_clobbered_regs): If BB ends with
7043 a DEBUG_INSN, move any notes in between last real insn and the last
7044 DEBUG_INSN after the last DEBUG_INSN.
7045
7046 2010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
7047
7048 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
7049 Fix return type. Fix argument type. Explain meaning of return value.
7050
7051 2010-02-16 Richard Guenther <rguenther@suse.de>
7052
7053 PR tree-optimization/41043
7054 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
7055 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
7056 statements ...
7057 (vrp_visit_phi_node): ... but only for loop PHI nodes.
7058
7059 2010-02-16 Ira Rosen <irar@il.ibm.com>
7060
7061 PR tree-optimization/43074
7062 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
7063 * tree-vect-loop.c (vect_analyze_loop_operations): Add
7064 vectorizable cycles in hybrid SLP check.
7065 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
7066
7067 2010-02-16 Richard Guenther <rguenther@suse.de>
7068
7069 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
7070 (true_dependence): If memrefs_conflict_p computes must-alias
7071 trust it. Move TBAA check after offset-based disambiguation.
7072 (canon_true_dependence): Likewise.
7073
7074 2010-02-16 Alexandre Oliva <aoliva@redhat.com>
7075
7076 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
7077 * doc/invoke.texi: Document it.
7078 * var-tracking.c: Include toplev.h and params.h.
7079 (vt_find_locations): Return bool indicating success. Compute
7080 hash sizes unconditionally. Check new parameter, report.
7081 (variable_tracking_main_1): Check vt_find_locations results and
7082 retry. Renamed from...
7083 (variable_tracking_main): ... this. New wrapper to preserve
7084 flag_var_tracking_assignments.
7085 * Makefile.in (var-tracking.o): Adjust dependencies.
7086
7087 2010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
7088 Jakub Jelinek <jakub@redhat.com>
7089
7090 PR target/42854
7091 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
7092 if weak_import attribute is present.
7093 * config/darwin.c (machopic_select_section): Likewise.
7094
7095 2010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
7096
7097 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
7098 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
7099 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
7100 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
7101
7102 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
7103 types.
7104
7105 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
7106 Fix argument types.
7107
7108 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
7109 Rewrite text to refer to the names.
7110
7111 2010-02-15 Sebastian Pop <sebastian.pop@amd.com>
7112
7113 * config/i386/i386-builtin-types.def
7114 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
7115 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
7116 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
7117 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
7118 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
7119 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
7120 IX86_BUILTIN_VPERMIL2PS256.
7121 (MULTI_ARG_4_DF2_DI_I): Defined.
7122 (MULTI_ARG_4_DF2_DI_I1): Defined.
7123 (MULTI_ARG_4_SF2_SI_I): Defined.
7124 (MULTI_ARG_4_SF2_SI_I1): Defined.
7125 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
7126 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
7127 __builtin_ia32_vpermil2ps256.
7128 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
7129 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
7130 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
7131 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
7132 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
7133 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
7134 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
7135 CODE_FOR_xop_vpermil2v8sf3.
7136 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
7137 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
7138 * config/i386/xopintrin.h (_mm_permute2_pd): New.
7139 (_mm256_permute2_pd): New.
7140 (_mm_permute2_ps): New.
7141 (_mm256_permute2_ps): New.
7142
7143 2010-02-15 Nick Clifton <nickc@redhat.com>
7144
7145 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
7146 boolean parameters. Use emit_jump_insn when emitting a pop
7147 instruction containing a return insn.
7148 (push): Use 'true' rather than '1' as second parameter to F.
7149 (h8300_expand_prologue): Likewise.
7150 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
7151 (h8300_expand_epilogue): Likewise.
7152
7153 2010-02-15 Richard Guenther <rguenther@suse.de>
7154
7155 PR middle-end/43068
7156 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
7157 if that is zero.
7158
7159 2010-02-15 Nick Clifton <nickc@redhat.com>
7160
7161 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
7162 delta.
7163
7164 2010-02-14 Marco Poletti <poletti.marco@gmail.com>
7165
7166 * intl.c (fake_ngettext): New function.
7167 * intl.h (fake_ngettext): Declare.
7168 (ngettext): Define macro.
7169 * collect2.c (notice_translated): New function.
7170 (main): Use notice_translated and ngettext.
7171 * collect2.h (notice_translated): Declare.
7172
7173 2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
7174
7175 * reorg.c (delete_computation): Comment fixes.
7176 * caller-save.c (setup_save_areas): Idem.
7177 * sel-sched-dump.c (dump_lv_set): Idem.
7178 * rtl.def: Idem.
7179
7180 2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7181
7182 * config/s390/s390.c (s390_sched_init): New function.
7183 (TARGET_SCHED_INIT): Target hook defined.
7184
7185 2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
7186 Jack Howarth <howarth@bromo.med.uc.edu>
7187 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
7188
7189 PR target/42982
7190 Partial revert of unintended change in fix for PR41605.
7191 * config/darwin.h: Fix typo.
7192 * config/darwin9.h: Same.
7193
7194 2010-02-11 Jakub Jelinek <jakub@redhat.com>
7195
7196 * c-pch.c (pch_init): Clear v.
7197
7198 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
7199
7200 PR middle-end/42930
7201 * graphite-scop-detection.c (graphite_can_represent_scev): Call
7202 graphite_can_represent_init for MULT_EXPR.
7203
7204 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
7205
7206 PR middle-end/42914
7207 PR middle-end/42530
7208 * graphite-sese-to-poly.c (remove_phi): New.
7209 (translate_scalar_reduction_to_array): Call remove_phi.
7210
7211 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
7212
7213 PR middle-end/42771
7214 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
7215 * graphite-clast-to-gimple.h (gloog): Update declaration.
7216 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
7217 * graphite-poly.h (struct poly_bb): Add missing comments.
7218 (struct scop): Add poly_scop_p field.
7219 (POLY_SCOP_P): New.
7220 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
7221 * graphite.c (graphite_transform_loops): Build the polyhedral
7222 representation for each scop before code generation.
7223 * sese.c (rename_variables_in_operand): Removed.
7224 (rename_variables_in_expr): Return the renamed expression.
7225 (rename_sese_parameters): New.
7226 * sese.h (rename_sese_parameters): Declared.
7227
7228 2010-02-11 Richard Guenther <rguenther@suse.de>
7229
7230 PR tree-optimization/42998
7231 * tree-ssa-pre.c (create_expression_by_pieces): Treat
7232 POINTER_PLUS_EXPR properly.
7233
7234 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
7235 Changpeng Fang <changpeng.fang@amd.com>
7236
7237 PR middle-end/40886
7238 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
7239 the cost of an IV candidate when the IV is used in a test against zero.
7240
7241 * gcc.dg/tree-ssa/ivopts-3.c: New.
7242
7243 2010-02-11 Richard Guenther <rguenther@suse.de>
7244
7245 PR lto/41664
7246 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
7247 pointer-vs-decl case by swapping refs. Handle some cases
7248 of pointer-vs-decl disambiguations more conservatively.
7249 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
7250 to false after expanding.
7251
7252 2010-02-11 Richard Guenther <rguenther@suse.de>
7253
7254 PR driver/43021
7255 * gcc.c (process_command): Handle LTO file@offset case more
7256 appropriately.
7257
7258 2010-02-11 Jakub Jelinek <jakub@redhat.com>
7259
7260 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
7261 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
7262 of DEBUG_INSNs.
7263 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
7264
7265 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
7266 if MEM's mode size isn't DWARF2_ADDR_SIZE.
7267 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
7268 Optimize eq/ne comparisons when both arguments are known to be
7269 zero-extended.
7270 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
7271 Don't mask operands unnecessarily if they are known to be already
7272 zero-extended.
7273
7274 2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
7275
7276 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
7277 instead of loop.
7278
7279 2010-02-10 Richard Guenther <rguenther@suse.de>
7280
7281 PR tree-optimization/43017
7282 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
7283 for wrapping signed arithmetic.
7284
7285 2010-02-10 Jakub Jelinek <jakub@redhat.com>
7286
7287 PR debug/43010
7288 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
7289 if no debug info should be emitted for it.
7290
7291 2010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
7292
7293 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
7294 note when flag_exceptions is set.
7295
7296 2010-02-10 Duncan Sands <baldrick@free.fr>
7297
7298 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
7299
7300 2010-02-10 Richard Guenther <rguenther@suse.de>
7301
7302 PR c/43007
7303 * tree.c (get_unwidened): Handle constants.
7304 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
7305
7306 2010-02-10 Martin Jambor <mjambor@suse.cz>
7307
7308 PR lto/42985
7309 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
7310 check for variable argument counts independently.
7311
7312 2010-02-10 Christian Bruel <christian.bruel@st.com>
7313
7314 PR target/42841
7315 * config/sh/sh.c (find_barrier): Increase length for non delayed
7316 conditional branches.
7317
7318 2010-02-10 Christian Bruel <christian.bruel@st.com>
7319
7320 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
7321
7322 2010-02-10 Jakub Jelinek <jakub@redhat.com>
7323
7324 * builtins.c (set_builtin_user_assembler_name): Also handle
7325 ffs if int is smaller than word.
7326
7327 2010-02-09 Vladimir Makarov <vmakarov@redhat.com>
7328
7329 PR middle-end/42973
7330 * ira-conflicts.c (get_dup): Remove.
7331 (process_reg_shuffles): Add new parameter. Use it as an
7332 additional guard for copy generation.
7333 (add_insn_allocno_copies): Rewrite.
7334
7335 2010-02-09 Alexander Monakov <amonakov@ispras.ru>
7336
7337 * common.opt (fsched2-use-traces): Preserved for backward
7338 compatibility.
7339 * doc/invoke.texi: Remove the documentation about option
7340 -fsched2-use-traces.
7341 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
7342 flag_sched2_use_traces.
7343 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
7344 the backward compatibility flag section.
7345
7346 2010-02-09 Richard Guenther <rguenther@suse.de>
7347
7348 PR tree-optimization/43008
7349 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
7350 make HEAP variables initialized from global memory if they
7351 are not known builtin functions.
7352 (find_func_aliases): Adjust.
7353
7354 2010-02-09 Richard Guenther <rguenther@suse.de>
7355
7356 PR tree-optimization/43000
7357 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
7358 arithmetic manually.
7359
7360 2010-02-08 Jakub Jelinek <jakub@redhat.com>
7361
7362 PR tree-optimization/42931
7363 * tree-loop-linear.c (try_interchange_loops): Don't call
7364 double_int_mul if estimated_loop_iterations failed.
7365
7366 2010-02-08 Martin Jambor <mjambor@suse.cz>
7367
7368 PR middle-end/42898
7369 * tree-sra.c (build_accesses_from_assign): Do not mark in
7370 should_scalarize_away_bitmap if stmt has volatile ops.
7371 (sra_modify_assign): Do not process assigns piecemeal if if stmt
7372 has volatile ops.
7373
7374 2010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
7375
7376 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
7377
7378 2010-02-07 Adam Nemet <adambnmet@gmail.com>
7379
7380 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
7381 before the pattern.
7382
7383 2010-02-07 Andrew Pinski <pinskia@gmail.com>
7384
7385 PR middle-end/42946
7386 * df-core.c (df_finish_pass): Change type of saved_flags to int.
7387
7388 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
7389
7390 PR middle-end/42988
7391 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
7392 to unknown_dependence.
7393 (graphite_legal_transform_dr): Handle the unknown_dependence.
7394 (graphite_carried_dependence_level_k): Same.
7395
7396 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
7397
7398 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
7399
7400 2010-02-07 Richard Guenther <rguenther@suse.de>
7401
7402 PR middle-end/42991
7403 * expr.c (get_inner_reference): Always initialize *pbitsize.
7404
7405 2010-02-07 Richard Guenther <rguenther@suse.de>
7406
7407 PR middle-end/42956
7408 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
7409 new ARRAY_REFs on variable size element or minimal index arrays.
7410 Complete.
7411 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
7412 gimple_fold_indirect_ref.
7413
7414 2010-02-06 Richard Earnshaw <rearnsha@arm.com>
7415
7416 PR target/42957
7417 * arm.c (arm_override_options): Just return if the user has specified
7418 an invalid fpu name.
7419
7420 2010-02-03 Jason Merrill <jason@redhat.com>
7421
7422 PR c++/42870
7423 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
7424 i386_pe_maybe_record_exported_symbol.
7425
7426 2010-02-05 Steve Ellcey <sje@cup.hp.com>
7427
7428 PR target/42924
7429 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
7430 (pa_delegitimize_address): New function.
7431
7432 2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
7433
7434 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
7435 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
7436
7437 2010-02-05 Richard Guenther <rguenther@suse.de>
7438
7439 PR lto/42762
7440 * lto-streamer-in.c (get_resolution): Deal with references
7441 to undefined functions.
7442
7443 2010-02-05 Richard Guenther <rguenther@suse.de>
7444
7445 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
7446 (fold_const_aggregate_ref): Likewise.
7447 (ccp_fold_stmt): Substitute loads.
7448 (maybe_fold_reference): Verify types before substituting.
7449 Unshare properly.
7450 (fold_gimple_assign): Unshare properly.
7451 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
7452
7453 2010-02-05 Nathan Froyd <froydnj@codesourcery.com>
7454
7455 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
7456 for rs6000_gen_cell_microcode.
7457
7458 2010-02-04 Richard Guenther <rguenther@suse.de>
7459
7460 PR rtl-optimization/42952
7461 * dse.c (const_or_frame_p): Remove MEM handling.
7462
7463 2010-02-04 Nick Clifton <nickc@redhat.com>
7464
7465 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
7466 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
7467 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
7468 (mn10300_asm_output_mi_thunk): New function.
7469 (mn10300_can_output_mu_thunk): New function.
7470 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
7471 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
7472 (FUNCTION_ARG): Delete incorrect comment.
7473
7474 2010-02-03 Jason Merrill <jason@redhat.com>
7475
7476 PR c++/40138
7477 * fold-const.c (operand_equal_p): Handle erroneous types.
7478
7479 2010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
7480
7481 * config/h8300/h8300.md (can_delay): Fix attibute condition.
7482
7483 2010-02-03 Vladimir Makarov <vmakarov@redhat.com>
7484
7485 PR rtl-optimization/42941
7486 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
7487 of xmalloc.
7488
7489 2010-02-03 Jason Merrill <jason@redhat.com>
7490
7491 PR c++/35652
7492 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
7493
7494 2010-02-03 Alexandre Oliva <aoliva@redhat.com>
7495
7496 PR debug/42896
7497 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
7498 (cselib_reset_table): Renamed from...
7499 (cselib_reset_table_with_next_value): ... this.
7500 (cselib_get_next_uid): Renamed from...
7501 (cselib_get_next_unknown_value): ... this.
7502 * cselib.c (next_uid): Renamed from...
7503 (next_unknown_value): ... this.
7504 (cselib_clear_table): Adjust.
7505 (cselib_reset_table): Adjust. Renamed from...
7506 (cselib_reset_table_with_next_value): ... this.
7507 (cselib_get_next_uid): Adjust. Renamed from...
7508 (cselib_get_next_unknown_value): ... this.
7509 (get_value_hash): Use hash.
7510 (cselib_hash_rtx): Likewise.
7511 (new_cselib_val): Adjust. Set and dump uid.
7512 (cselib_lookup_mem): Pass next_uid as hash.
7513 (cselib_subst_to_values): Likewise.
7514 (cselib_log_lookup): Dump uid.
7515 (cselib_lookup): Pass next_uid as hash. Adjust.
7516 (cselib_process_insn): Adjust.
7517 (cselib_init): Initialize next_uid.
7518 (cselib_finish): Adjust.
7519 (dump_cselib_table): Likewise.
7520 * dse.c (canon_address): Dump value uid.
7521 * print-rtl.c (print_rtx): Print value uid.
7522 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
7523 (dvuid): New type.
7524 (dv_uid): New function, sort of renamed from...
7525 (dv_htab_hash): ... this, reimplemented in terms of it and...
7526 (dv_uid2hash): ... this. New.
7527 (variable_htab_eq): Drop excess assertions.
7528 (tie_break_pointers): Removed.
7529 (canon_value_cmp): Compare uids.
7530 (variable_post_merge_New_vals): Print uids.
7531 (vt_add_function_parameters): Adjust.
7532 (vt_initialize): Reset table. Adjust.
7533
7534 2010-02-03 Richard Guenther <rguenther@suse.de>
7535
7536 PR tree-optimization/42944
7537 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
7538 (call_may_clobber_ref_p_1): Likewise. Properly handle
7539 malloc and calloc clobbering errno.
7540
7541 2010-02-03 Steven Bosscher <steven@gcc.gnu.org>
7542
7543 * doc/invoke.texi: Fix name of sched1 dump.
7544
7545 * opts.c (decode_options): Set flag_tree_switch_conversion
7546 only conditionally on optimize >= 2.
7547
7548 * gcse.c: Assorted comment fixes in pass description.
7549
7550 2010-02-03 Anthony Green <green@moxielogic.com>
7551
7552 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
7553 nop padding in order to maintain alignment of storage location of
7554 target function address.
7555 (moxie_trampoline_init): Store target function address at newly
7556 aligned location.
7557 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
7558 to 32.
7559 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
7560
7561 2010-02-03 Richard Guenther <rguenther@suse.de>
7562
7563 PR middle-end/42927
7564 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
7565
7566 2010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7567
7568 * config.gcc: Reenable check for obsolete targets.
7569 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
7570 mips-sgi-irix6.[0-4]*.
7571
7572 2010-02-02 Nick Clifton <nickc@redhat.com>
7573
7574 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
7575 constant size of 4 as being the same as 0.
7576 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
7577 can take values in the range 0..4.
7578
7579 2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
7580
7581 PR java/41991
7582 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
7583 as _darwin10_Unwind_FindEnclosingFunction().
7584 * libgcc-libsystem.ver: New.
7585
7586 2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
7587
7588 PR target/41399
7589 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
7590 implicitly set registers.
7591
7592 2010-02-01 Richard Earnshaw <rearnsha@arm.com>
7593
7594 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
7595 (arm_override_options): Allow automatic selection of the thread
7596 pointer register if thumb2.
7597 (legitimize_pic_address): Improve code sequences for Thumb2.
7598 (arm_call_tls_get_addr): Likewise.
7599 (legitimize_tls_address): Likewise.
7600 * arm.md (pic_load_addr_arm): Delete. Replace with ...
7601 (pic_load_addr_32bit): ... this. New named pattern.
7602 * thumb2.md (pic_load_addr_thumb2): Delete.
7603 (pic_load_dot_plus_four): Delete.
7604 (tls_load_dot_plus_four): New named pattern.
7605
7606 2010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7607
7608 PR libgomp/29986
7609 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
7610 Document fix for TLS bug.
7611
7612 2010-01-31 Richard Guenther <rguenther@suse.de>
7613
7614 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
7615 conservatively correct.
7616
7617 2010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7618
7619 PR target/42850
7620 Revert:
7621 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7622
7623 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
7624
7625 2010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7626
7627 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
7628
7629 2010-01-31 Kai Tietz <kai.tietz@onevision.com>
7630
7631 * config.gcc: Adjust order of makefile fragments for mingw targets.
7632
7633 2010-01-31 Richard Guenther <rguenther@suse.de>
7634
7635 PR middle-end/42898
7636 * gimplify.c (gimplify_init_constructor): For volatile LHS
7637 initialize a temporary.
7638
7639 2010-01-31 Matthias Klose <doko@ubuntu.com>
7640
7641 * configure.ac: Fix __stack_chk_fail check for cross builds configured
7642 --with-headers
7643 * configure: Regenerate.
7644
7645 2010-01-29 Eric Botcazou <ebotcazou@adacore.com>
7646
7647 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
7648 the same alias set and their sizes different constantness.
7649 (aliasing_component_refs_p): Revert 2009-10-24 change.
7650
7651 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7652
7653 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
7654 unused.
7655
7656 2010-01-29 Richard Guenther <rguenther@suse.de>
7657
7658 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
7659 Assert we successfully updated the call.
7660
7661 2010-01-29 Jakub Jelinek <jakub@redhat.com>
7662
7663 PR rtl-optimization/42889
7664 * df.h (df_set_bb_dirty_nonlr): New prototype.
7665 * df-core.c (df_set_bb_dirty_nonlr): New function.
7666 * df-scan.c (df_insn_rescan): Call it instead of
7667 df_set_bb_dirty for DEBUG_INSNs.
7668
7669 2010-01-29 Richard Guenther <rguenther@suse.de>
7670
7671 PR middle-end/37448
7672 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
7673 quadratic behavior in most cases.
7674
7675 2010-01-28 Uros Bizjak <ubizjak@gmail.com>
7676
7677 PR target/42891
7678 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
7679 in the call to gen_x86_movsicc_0_m1.
7680
7681 2010-01-28 Richard Guenther <rguenther@suse.de>
7682
7683 PR tree-optimization/42871
7684 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
7685
7686 2010-01-28 Richard Guenther <rguenther@suse.de>
7687
7688 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
7689 into call arguments.
7690
7691 2010-01-28 Richard Guenther <rguenther@suse.de>
7692
7693 PR middle-end/42883
7694 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
7695 the forwarder if the destination is an EH landing pad.
7696
7697 2010-01-28 Razya Ladelsky <razya@il.ibm.com>
7698
7699 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
7700 block list passed to gimple_duplicate_sese_tail.
7701 (parallelize_loops): Avoid parallelization when the function
7702 has_nonlocal_label.
7703 Avoid parallelization when the preheader is IRREDUCIBLE.
7704 Try to optimize when estimated_loop_iterations_int is unresolved.
7705 Add the loop's location to the dump file.
7706 * tree-cfg.c (add_phi_args_after_redirect): Remove.
7707 (gimple_duplicate_sese_tail): Remove the check for the latch.
7708 Redirect nexits to the exit block.
7709 Remove handling of the incoming edges to the latch.
7710 Redirect the backedge from the copied latch to the exit bb.
7711
7712 2010-01-28 Michael Matz <matz@suse.de>
7713
7714 PR target/42881
7715 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
7716 Wrap force_reg into a sequence, emit it before user.
7717
7718 2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
7719
7720 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
7721 (arm_rev): New.
7722 (arm_legacy_rev): Likewise.
7723 (thumb_legacy_rev): Likewise.
7724
7725 2010-01-27 Jakub Jelinek <jakub@redhat.com>
7726
7727 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
7728 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
7729 on MEM's address failed, try avoid_constant_pool_reference and
7730 recurse if it returned something different.
7731 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
7732 address, try avoid_constant_pool_reference and recurse if it
7733 returned something different.
7734 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
7735 address and avoid_constant_pool_reference returned something
7736 different, don't set have_address.
7737
7738 2010-01-27 Alexandre Oliva <aoliva@redhat.com>
7739
7740 PR debug/42861
7741 * var-tracking.c (val_store): Add modified argument, obey it.
7742 Adjust callers.
7743 (count_uses): Move down logging of main.
7744 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
7745 don't need resolution.
7746 (emit_notes_in_bb): Likewise.
7747
7748 2010-01-27 Richard Guenther <rguenther@suse.de>
7749
7750 PR middle-end/42878
7751 * tree-inline.c (remap_decl): Delay remapping of SSA name
7752 default definitions until we need them.
7753
7754 2010-01-27 Jakub Jelinek <jakub@redhat.com>
7755
7756 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
7757 (rs6000_delegitimize_address): New function.
7758
7759 * config/s390/s390.c (s390_delegitimize_address): Call
7760 delegitimize_mem_from_attrs.
7761
7762 PR middle-end/42874
7763 * tree-inline.c (cannot_copy_type_1): Removed.
7764 (copy_forbidden): Don't forbid copying of functions containing
7765 records/unions with variable length fields.
7766
7767 2010-01-27 Christian Bruel <christian.bruel@st.com>
7768
7769 Revert:
7770 PR target/42841
7771 * config/sh/sh.c (find_barrier): Increase length for non delayed
7772 conditional branches.
7773
7774 2010-01-27 Matthias Klose <doko@ubuntu.com>
7775
7776 * configure.ac (gnu-unique-object): Fix ldd version check.
7777 * configure: Regenerate.
7778
7779 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7780
7781 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
7782 HAVE_GNU_AS value.
7783 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
7784 Test for HAVE_GNU_AS value.
7785
7786 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7787
7788 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
7789 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
7790 INT64_TYPE): Define.
7791 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
7792 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
7793 INT_LEAST64_TYPE): Define.
7794 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
7795 UINT_LEAST64_TYPE): Define.
7796 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
7797 INT_FAST64_TYPE): Define.
7798 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
7799 UINT_FAST64_TYPE): Define.
7800 (INTMAX_TYPE, UINTMAX_TYPE): Define.
7801 (INTPTR_TYPE, UINTPTR_TYPE): Define.
7802 (SIG_ATOMIC_TYPE): Define.
7803
7804 2010-01-26 Richard Guenther <rguenther@suse.de>
7805
7806 * df-scan.c (df_scan_set_bb_info): Remove assert.
7807 (df_insn_rescan_debug_internal): Merge asserts.
7808 (df_install_ref): Likewise.
7809 (df_mark_reg): Use bitmap_set_range.
7810 (df_hard_reg_used_p): Remove assert.
7811 (df_hard_reg_used_count): Likewise.
7812
7813 2010-01-26 Richard Guenther <rguenther@suse.de>
7814
7815 PR rtl-optimization/42685
7816 * web.c (web_main): Ignore DEBUG_INSNs.
7817
7818 2010-01-26 Joern Rennecke <amylaar@spamcop.net>
7819
7820 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
7821
7822 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
7823 Fix types of fndecl and arglist parameters.
7824
7825 2010-01-26 Richard Guenther <rguenther@suse.de>
7826
7827 PR middle-end/42806
7828 * tree-eh.c (unsplit_eh): Skip debug insns.
7829
7830 2010-01-26 Richard Guenther <rguenther@suse.de>
7831
7832 PR tree-optimization/42250
7833 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
7834
7835 2010-01-26 Jakub Jelinek <jakub@redhat.com>
7836
7837 PR fortran/42866
7838 * omp-low.c (expand_omp_sections): Only use single_pred if
7839 l2_bb is single_pred_p.
7840
7841 2010-01-25 Christian Bruel <christian.bruel@st.com>
7842
7843 PR target/42841
7844 * config/sh/sh.c (find_barrier): Increase length for non delayed
7845 conditional branches.
7846 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
7847
7848 2010-01-24 David S. Miller <davem@davemloft.net>
7849
7850 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
7851 define if not using GAS.
7852 * config/sparc/sparc.c (sparc_elf_asm_named_section):
7853 Likewise. Delete SECTION_MERGE code, which is only applicable
7854 when using GAS.
7855
7856 2010-01-24 Mark Mitchell <mark@codesourcery.com>
7857
7858 PR c++/42748
7859 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
7860 mangling of va_list in system headers.
7861
7862 2010-01-23 Toon Moene <toon@moene.org>
7863
7864 * tree-predcom.c (combine_chains): Return NULL, not false.
7865
7866 2010-01-23 Joern Rennecke <amylaar@spamcop.net>
7867
7868 * tree-loop-distribution.c (distribute_loop): Fix declaration and
7869 initialization of variable res to agree with return type.
7870
7871 2010-01-22 Steve Ellcey <sje@cup.hp.com>
7872
7873 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
7874 * tree-sra.c: Add include of expr.h.
7875
7876 2010-01-22 Jakub Jelinek <jakub@redhat.com>
7877
7878 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
7879 insert the debug stmt on the single non-EH edge from the stmt.
7880
7881 2010-01-22 Richard Henderson <rth@redhat.com>
7882
7883 PR tree-opt/42833
7884 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
7885 the RHS until after generate_subtree_copies has insertted its
7886 code before the current statement.
7887
7888 2010-01-22 Joern Rennecke <amylaar@spamcop.net>
7889
7890 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
7891
7892 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
7893
7894 2010-01-21 Martin Jambor <mjambor@suse.cz>
7895
7896 PR tree-optimization/42585
7897 * tree-sra.c (struct access): New field grp_total_scalarization.
7898 (dump_access): Dump the new field.
7899 (should_scalarize_away_bitmap): New variable.
7900 (cannot_scalarize_away_bitmap): Likewise.
7901 (sra_initialize): Allocate new bitmaps.
7902 (sra_deinitialize): Free new bitmaps.
7903 (create_access_1): New function.
7904 (create_access): Parts moved to create_access_1.
7905 (type_consists_of_records_p): New function.
7906 (completely_scalarize_record): Likewise.
7907 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
7908 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
7909 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
7910 access.
7911 (analyze_all_variable_accesses): Completely scalarize small eligible
7912 records.
7913
7914 2010-01-21 Martin Jambor <mjambor@suse.cz>
7915
7916 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
7917
7918 2010-01-21 Andrew Haley <aph@redhat.com>
7919
7920 * gcc.c (process_command): Move lang_specific_driver before
7921 setting cc_libexec_prefix.
7922
7923 2010-01-21 Richard Guenther <rguenther@suse.de>
7924
7925 PR middle-end/19988
7926 * fold-const.c (negate_expr_p): Pretend only negative
7927 real constants are easily negatable.
7928
7929 2010-01-20 Janis Johnson <janis187@us.ibm.com>
7930 Jason Merrill <jason@redhat.com>
7931
7932 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
7933 (TYPE_TRANSPARENT_AGGR): this, for union and record.
7934 * calls.c (initialize argument_information): Handle it.
7935 * c-common.c (handle_transparent_union_attribute): Use new name.
7936 * c-decl.c (finish_struct): Ditto.
7937 * c-typeck.c (type_lists_compatible_p): Ditto.
7938 (convert_for_assignment): Use new name and also handle record.
7939 * function.c (aggregate_value_p): Handle it.
7940 (pass_by_reference): Ditto.
7941 (assign_parm_data_types): Ditto.
7942 * print-tree.c (print_node): Ditto.
7943 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
7944 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
7945 * tree.c (first_field): New fn.
7946
7947 2010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
7948
7949 PR target/42818
7950 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
7951 even when linking statically, for now.
7952
7953 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
7954
7955 PR debug/42715
7956 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
7957 without a cselib val.
7958 (count_uses): Accept MO_VAL_SET with no val on stores.
7959 (add_stores): Likewise.
7960
7961 2010-01-20 Jakub Jelinek <jakub@redhat.com>
7962
7963 * var-tracking.c (check_value_val): Add a compile time assertion.
7964 (dv_is_decl_p): Simplify.
7965 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
7966 gcc_assert if ENABLE_CHECKING.
7967
7968 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
7969
7970 PR debug/42782
7971 * var-tracking.c: Include tree-flow.h.
7972 (mem_dies_at_call): New.
7973 (dataflow_set_preserve_mem_locs): Use it.
7974 (dataflow_set_remove_mem_locs): Likewise.
7975 (dump_var): Renamed from dump_variable. Adjust all callers.
7976 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
7977 * Makefile.in (var-tracking.o): Adjust deps.
7978
7979 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
7980
7981 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
7982
7983 2010-01-20 Richard Guenther <rguenther@suse.de>
7984
7985 PR tree-optimization/42717
7986 * tree-ssa-dce.c (get_live_post_dom): Remove.
7987 (forward_edge_to_pdom): Take an arbitrary edge to copy
7988 degenerate PHI args from.
7989 (remove_dead_stmt): Use the first post-dominator even if it
7990 does not contain live statements as redirection destination.
7991
7992 2010-01-20 Richard Guenther <rguenther@suse.de>
7993
7994 * tree-inline.c (estimate_num_insns): Handle EH builtins.
7995
7996 2010-01-20 Jakub Jelinek <jakub@redhat.com>
7997
7998 * sel-sched.c (create_speculation_check): Remove set but not used
7999 variable twin.
8000 (try_transformation_cache): Remove set but not used variable ds.
8001 (calculate_privileged_insns): Remove set but not used variables
8002 cur_insn and min_spec_insn.
8003 (find_best_expr): Remove set but not used variable avail_n.
8004 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
8005 variable e.
8006 * cgraphunit.c (assemble_thunk): Remove set but not used variable
8007 false_label.
8008 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
8009 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
8010 new_scop_exit_edge.
8011
8012 2010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
8013
8014 PR bootstrap/42786
8015 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
8016 cpu types. Add support for *-sse3 cpu types.
8017 (x86_64-*-*): Ditto.
8018
8019 2010-01-20 Jakub Jelinek <jakub@redhat.com>
8020
8021 PR middle-end/42803
8022 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
8023 argument, call initializer_constant_valid_p_1 instead of
8024 initializer_constant_valid_p, pass CACHE to it, return NULL
8025 immediately if first call returns NULL.
8026 (initializer_constant_valid_p_1): New function.
8027 (initializer_constant_valid_p): Use it.
8028
8029 2010-01-20 Thomas Quinot <quinot@adacore.com>
8030
8031 * tree.def (PLACEHOLDER_EXPR): Fix comment.
8032
8033 2010-01-20 Jakub Jelinek <jakub@redhat.com>
8034
8035 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
8036 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
8037 (loc_list_from_tree): Don't handle unsigned division. Handle
8038 signed modulo using DW_OP_{over,over,div,mul,minus}.
8039 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
8040 modulo instead of signed.
8041
8042 2010-01-20 DJ Delorie <dj@redhat.com>
8043
8044 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
8045 (Fpa): Pass it
8046 (h8300_emit_stack_adjustment): Propogate it.
8047 (push): Pass it.
8048 (h8300_expand_prologue): Likewise.
8049 (h8300_expand_epilogue): Likewise.
8050
8051 2010-01-19 Michael Matz <matz@suse.de>
8052
8053 PR tree-optimization/41783
8054 * tree-data-ref.c (toplevel): Include flags.h.
8055 (dump_data_dependence_relation): Also dump the inputs if the
8056 result will be unknown.
8057 (split_constant_offset_1): Look through some conversions.
8058 * tree-predcom.c (determine_roots_comp): Restart a new chain if
8059 the offset from last element is too large.
8060 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
8061 (reassociate_to_the_same_stmt): Handle vector registers.
8062 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
8063 (e.g. conversions).
8064 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
8065 wide_prolog_niters argument, emit widening instructions.
8066 (vect_do_peeling_for_alignment): Adjust caller, use widened
8067 variant of the iteration cound.
8068 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
8069
8070 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8071
8072 PR target/38697
8073 * config/arm/neon-testgen.m (emit_automatics): New parameter
8074 features. Adjust for Fixed_return_reg feature.
8075 (test_intrinsic): Call emit_automatics with new feature.
8076 * config/arm/neon.ml: Update copyright years.
8077 (features): New Fixed_return_reg feature.
8078 (ops): Update feature for Vget_low.
8079
8080 2010-01-19 Jakub Jelinek <jakub@redhat.com>
8081
8082 PR tree-optimization/42719
8083 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
8084 stmt uses.
8085
8086 PR debug/42728
8087 * fwprop.c (all_uses_available_at): Return false if def_set dest
8088 is a REG that is used in def_insn.
8089
8090 2010-01-19 Joern Rennecke <amylaar@spamcop.net>
8091
8092 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
8093
8094 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
8095 Add argument names.
8096
8097 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
8098
8099 * target.h (struct gcc_target) <secondary_reload>: Change type
8100 of last argument to secondary_reload_info *.
8101
8102 2010-01-18 Uros Bizjak <ubizjak@gmail.com>
8103
8104 PR target/42774
8105 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
8106 memory references with unaligned offsets. Remove CQImode handling.
8107 (unaligned_memory_operand): Return 1 for memory references with
8108 unaligned offsets. Remove CQImode handling.
8109
8110 2010-01-18 Richard Guenther <rguenther@suse.de>
8111
8112 PR middle-end/39954
8113 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
8114 builtin calls.
8115
8116 2010-01-18 Richard Guenther <rguenther@suse.de>
8117
8118 PR tree-optimization/42781
8119 * tree-ssa-structalias.c (find_what_var_points_to): Skip
8120 restrict processing only if the original variable was artificial.
8121
8122 2010-01-18 Joern Rennecke <amylaar@spamcop.net>
8123
8124 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
8125 find number of popped argument bytes.
8126
8127 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
8128 Fix the text that describes the return value for invalid insns.
8129
8130 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
8131
8132 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
8133 Clarify what 'cost of the -dependence' is. Fix quoting.
8134
8135 * toplev.c (default_get_pch_validity): Rename argument to "sz".
8136 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
8137
8138 2010-01-17 Jakub Jelinek <jakub@redhat.com>
8139
8140 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
8141 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
8142
8143 2010-01-17 Richard Guenther <rguenther@suse.de>
8144
8145 PR middle-end/42248
8146 * function.c (split_complex_args): Take a VEC to modify.
8147 (assign_parms_augmented_arg_list): Build a VEC instead of
8148 a chain of PARM_DECLs.
8149 (assign_parms_unsplit_complex): Take a VEC of arguments.
8150 Do not fixup unmodified parms.
8151 (assign_parms): Deal with the VEC.
8152 (gimplify_parameters): Likewise.
8153
8154 2010-01-17 Richard Guenther <rguenther@suse.de>
8155
8156 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
8157 node existence check.
8158 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
8159 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
8160 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
8161 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
8162 (gimple_execute_on_growing_pred): Likewise.
8163
8164 2010-01-17 Richard Guenther <rguenther@suse.de>
8165
8166 PR tree-optimization/42773
8167 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
8168 (compute_antic_aux): Likewise.
8169 (compute_partial_antic_aux): Likewise.
8170
8171 2010-01-17 Jie Zhang <jie.zhang@analog.com>
8172
8173 PR debug/42767
8174 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
8175 and US_TRUNCATE.
8176
8177 2010-01-17 Joern Rennecke <amylaar@spamcop.net>
8178
8179 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
8180 appearance.
8181
8182 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
8183 Fix markup for strict argument.
8184
8185 (TARGET_SCHED_REORDER2): Fix argument types.
8186
8187 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
8188 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
8189
8190 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
8191 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
8192
8193 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
8194 Add argument name.
8195
8196 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
8197 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
8198 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
8199 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
8200 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
8201
8202 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
8203
8204 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
8205
8206 (TARGET_ASM_RELOC_RW_MASK): Add return type.
8207 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
8208
8209 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
8210
8211 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
8212 Use prototype.
8213
8214 (TARGET_ASM_NAMED_SECTION): Fix argument list.
8215
8216 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
8217 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
8218
8219 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
8220
8221 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
8222
8223 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
8224 referring to it. Fix language.
8225
8226 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
8227
8228 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
8229
8230 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
8231
8232 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
8233
8234 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
8235 '@var{stream}. Remove stray 'and'.
8236
8237 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
8238
8239 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
8240
8241 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
8242
8243 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
8244 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
8245
8246 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
8247 Fix description of return value.
8248 Rename argument "sz" to "len."
8249
8250 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
8251 Clarify meaning of 'true' return value.
8252
8253 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
8254
8255 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
8256 rep_mode versus mode_rep.
8257
8258 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
8259
8260 (TARGET_BUILTIN_DECL): Fix name.
8261
8262 (TARGET_COMMUTATIVE_P): Fix type of first argument.
8263
8264 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
8265
8266 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
8267
8268 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
8269
8270 (TARGET_RELAXED_ORDERING): Use @deftypevr.
8271
8272 (TARGET_GET_DRAP_RTX): Note that this is a hook.
8273 Clarify language.
8274
8275 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
8276 Rename argument tm_fn to md_fn.
8277
8278 (TARGET_OPTION_PRINT): Fix argument list.
8279
8280 2010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
8281
8282 PR target/42664
8283 * config/i386/i386.c (ix86_fixup_binary_operands):
8284 Revert FMA4 fixup of operands.
8285
8286 2010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8287
8288 PR gcc/42525
8289 * Makefile.in (write_entries_to_file, install-plugin):
8290 Use \012 instead of \n with tr.
8291
8292 2010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
8293
8294 * configure.ac (HAVE_AS_REF): New C macro.
8295 * configure: Regenerate.
8296 * config.in: Likewise.
8297 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
8298 if HAVE_AS_REF.
8299 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
8300 if HAVE_AS_REF.
8301
8302 2010-01-16 Joern Rennecke <amylaar@spamcop.net>
8303
8304 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
8305
8306 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
8307
8308 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
8309
8310 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
8311
8312 (TARGET_IN_SMALL_DATA_P): Fix argument type.
8313
8314 (TARGET_BINDS_LOCAL_P): Fix argument type.
8315
8316 (TARGET_ASM_FILE_END): Use prototype.
8317
8318 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
8319
8320 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
8321
8322 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
8323
8324 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
8325
8326 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
8327 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
8328
8329 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
8330 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
8331
8332 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
8333 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
8334 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
8335 (TARGET_ADDR_SPACE_CONVERT): Likewise.
8336
8337 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
8338
8339 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
8340
8341 (TARGET_INIT_BUILTINS): Use prototype.
8342
8343 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
8344 Put 'const char *' in braces. Fix parameter types.
8345 (TARGET_INVALID_CONVERSION): Fix parameter types.
8346 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
8347 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
8348
8349 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
8350 Fix argument type.
8351
8352 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
8353
8354 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
8355
8356 2010-01-15 Joern Rennecke <amylaar@spamcop.net>
8357
8358 * doc/tm.texi (TARGET_HELP): Fix return type.
8359
8360 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
8361 in braces. Fix argument types.
8362
8363 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
8364
8365 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
8366
8367 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
8368
8369 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
8370 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
8371
8372 (TARGET_MANGLE_TYPE): Fix argument types.
8373
8374 (TARGET_IRA_COVER_CLASSES): Use prototype.
8375
8376 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
8377
8378 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
8379
8380 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
8381
8382 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
8383
8384 (TARGET_CALLEE_COPIES): Fix argument types.
8385
8386 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
8387
8388 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
8389
8390 (TARGET_FUNCTION_VALUE): Fix argument types.
8391
8392 (TARGET_RETURN_IN_MSB): Fix argument type.
8393
8394 (TARGET_RETURN_IN_MEMORY): Fix argument types.
8395
8396 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
8397
8398 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
8399
8400 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
8401 agree with return type.
8402
8403 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
8404
8405 2010-01-15 Jing Yu <jingyu@google.com>
8406
8407 PR rtl-optimization/42691
8408 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
8409 a pseudo to a constant and are merged, and adjust comments.
8410
8411 2010-01-15 Eric Botcazou <ebotcazou@adacore.com>
8412
8413 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
8414
8415 2010-01-15 Richard Guenther <rguenther@suse.de>
8416
8417 PR middle-end/42739
8418 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
8419 labels of computed or non-local gotos to the destination.
8420 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
8421 landing pad label is the first label.
8422
8423 2010-01-15 Richard Guenther <rguenther@suse.de>
8424
8425 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
8426
8427 2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
8428
8429 PR target/42747
8430 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
8431 to allow generation of the xssqrtdp instruction on power7.
8432 (sqrtdf2_fpr): Ditto.
8433
8434 2010-01-14 Jakub Jelinek <jakub@redhat.com>
8435
8436 PR middle-end/42674
8437 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
8438 functions with noreturn attribute.
8439
8440 PR c++/42608
8441 * varasm.c (declare_weak): Add weak attribute to decl if it
8442 doesn't have one already.
8443 (assemble_external): Only add decls to weak_decls if they also
8444 have weak attribute.
8445
8446 2010-01-14 Alexandre Oliva <aoliva@redhat.com>
8447
8448 * var-tracking.c (var_reg_delete): Don't delete the association
8449 between REGs and values or one-part variables if the register
8450 isn't clobbered.
8451
8452 2010-01-14 Jakub Jelinek <jakub@redhat.com>
8453
8454 PR debug/42657
8455 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
8456 because its first operand is a non-localized variable.
8457
8458 2010-01-14 Martin Jambor <mjambor@suse.cz>
8459
8460 PR tree-optimization/42706
8461 * tree-sra.c (encountered_recursive_call): New variable.
8462 (encountered_unchangable_recursive_call): Likewise.
8463 (sra_initialize): Initialize both new variables.
8464 (callsite_has_enough_arguments_p): New function.
8465 (scan_function): Call decl and flags check only for IPA-SRA, check
8466 whether there is a recursive call and whether it has enough arguments.
8467 (all_callers_have_enough_arguments_p): New function.
8468 (convert_callers): Look for recursive calls only when
8469 encountered_recursive_call is set.
8470 (ipa_early_sra): Bail out either if
8471 !all_callers_have_enough_arguments_p or
8472 encountered_unchangable_recursive_call.
8473
8474 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
8475
8476 * sel-sched.c: Add 2010 to copyright years.
8477 * sel-sched-ir.c: Likewise.
8478 * sel-sched-ir.h: Likewise.
8479
8480 2010-01-14 Martin Jambor <mjambor@suse.cz>
8481
8482 PR tree-optimization/42714
8483 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
8484 constructors specially.
8485
8486 2010-01-14 Andi Kleen <ak@linux.intel.com>
8487
8488 * config/i386/drivers-i386.c (detect_caches_intel):
8489 Add l2sizekb parameter and fill in.
8490 (host_detect_local_cpu): Add l2sizekb, fill in.
8491 Add Atom small cache heuristic.
8492
8493 2010-01-14 Andi Kleen <ak@linux.intel.com>
8494
8495 * config/i386/drivers-i386.c (detect_caches_cpuid4):
8496 Add level3 parameter and fill in.
8497 (detect_caches_intel): Handle level3 cache.
8498
8499 2010-01-14 Andi Kleen <ak@linux.intel.com>
8500
8501 * config/i386/drivers-i386.c (host_detect_local_cpu):
8502 Fix core duo detection.
8503
8504 2010-01-14 Andi Kleen <ak@linux.intel.com>
8505
8506 * config/i386/drivers-i386.c (host_detect_local_cpu):
8507 Fix Atom detection.
8508
8509 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
8510
8511 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
8512 (rs6000_variable_issue_1): this. Use...
8513 (rs6000_variable_issue): here. Reimplement. Print debug info.
8514
8515 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
8516
8517 * sel-sched-ir.c (sel_restore_other_notes): Rename to
8518 sel_restore_notes. Update all callers. Call reemit_notes
8519 for all insns.
8520
8521 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
8522
8523 PR rtl-optimization/42246
8524 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
8525 loops.
8526
8527 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
8528
8529 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
8530 all successors is the same as number of successors in current region.
8531
8532 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
8533
8534 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
8535 to rename is not separable. Otherwise check that its LHS is not NULL.
8536
8537 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
8538
8539 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
8540
8541 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
8542
8543 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
8544 available registers when failed to discover LHS register class.
8545 Fix indentation. Update comment.
8546
8547 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
8548 Alexander Monakov <amonakov@ispras.ru>
8549
8550 PR rtl-optimization/42389
8551 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
8552 to can_issue_more.
8553 (advance_state_on_fence): Likewise.
8554 (sel_target_adjust_priority): Print debug output only when
8555 sched_verbose >= 4, not 2.
8556 (get_expr_cost): Do not issue all unique insns on the next cycle.
8557 (fill_insns): Initialize can_issue_more from the value saved
8558 with the fence.
8559 * sel-sched-ir.c (flist_add): New parameter issue_more.
8560 Init FENCE_ISSUE_MORE with it.
8561 (merge_fences): Likewise.
8562 (init_fences): Update call to flist_add.
8563 (add_to_fences, add_clean_fence_to_fences)
8564 (add_dirty_fence_to_fences): Likewise.
8565 (move_fence_to_fences): Update call to merge_fences.
8566 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
8567 sched groups.
8568 * sel-sched-ir.h (struct _fence): New field issue_more.
8569 (FENCE_ISSUE_MORE): New accessor macro.
8570
8571 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
8572
8573 PR rtl-optimization/42388
8574 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
8575 that have no predecessors nor successors. Do not call move_bb_info
8576 for empty blocks outside of current region.
8577
8578 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
8579
8580 PR rtl-optimization/42294
8581 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
8582 * sel-sched.c (move_exprs_to_boundary): Transitively add all
8583 originators' originators.
8584
8585 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
8586
8587 PR rtl-optimization/39453
8588 PR rtl-optimization/42246
8589 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
8590 for pipelining_p.
8591 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
8592
8593 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
8594 Alexander Monakov <amonakov@ispras.ru>
8595
8596 PR middle-end/42245
8597 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
8598 (maybe_tidy_empty_bb): ... here. Make static. Add new
8599 argument. Update all callers.
8600 (tidy_control_flow): ... and here. Recompute topological order
8601 of basic blocks in region if necessary.
8602 (sel_redirect_edge_and_branch): Change return type. Return true
8603 if topological order might have been invalidated.
8604 (purge_empty_blocks): Export and move from...
8605 * sel-sched.c (purge_empty_blocks): ... here.
8606 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
8607 (maybe_tidy_empty_bb): Delete prototype.
8608 (purge_empty_blocks): Declare.
8609
8610 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
8611
8612 PR rtl-optimization/42249
8613 * sel-sched.c (try_replace_dest_reg): When chosen register
8614 and original register is the same, do not bail out early, but
8615 still check all original insns for validity of replacing destination
8616 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
8617 in this case.
8618
8619 2010-01-14 Jakub Jelinek <jakub@redhat.com>
8620
8621 PR c/42721
8622 Port from no-undefined-overflow branch:
8623 2009-03-09 Richard Guenther <rguenther@suse.de>
8624
8625 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
8626
8627 2010-01-14 Richard Guenther <rguenther@suse.de>
8628
8629 PR lto/42665
8630 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
8631
8632 2010-01-14 Ira Rosen <irar@il.ibm.com>
8633
8634 PR tree-optimization/42709
8635 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
8636 as scalar type in creation of constant vector operand.
8637
8638 2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8639
8640 PR testsuite/42414
8641 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
8642 (check-parallel-%): Match `testsuite' directory component only
8643 at the end.
8644
8645 2010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
8646
8647 PR translation/39521
8648 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
8649 strings with _().
8650
8651 2010-01-13 Richard Guenther <rguenther@suse.de>
8652
8653 PR tree-optimization/42730
8654 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
8655 offset zero.
8656
8657 2010-01-13 Steve Ellcey <sje@cup.hp.com>
8658
8659 PR target/pr42542
8660 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
8661 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
8662 them signed.
8663
8664 2010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
8665
8666 * config/bfin/libgcc-bfin.ver: Regenerate based on current
8667 libgcc-std.ver. Add entries for ___smulsi3_highpart and
8668 ___umulsi3_highpart.
8669
8670 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
8671 rather than schedule_insns if the pass is enabled.
8672
8673 2010-01-13 Martin Jambor <mjambor@suse.cz>
8674
8675 PR tree-optimization/42704
8676 * tree-sra.c (sra_modify_assign): Do not delete assignments to
8677 SSA_NAMEs.
8678
8679 2010-01-13 Martin Jambor <mjambor@suse.cz>
8680
8681 PR tree-optimization/42703
8682 * tree-sra.c (analyze_access_subtree): Check that we can build a
8683 reference to the original data within the aggregate.
8684
8685 2010-01-13 Richard Guenther <rguenther@suse.de>
8686
8687 PR tree-optimization/42705
8688 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
8689
8690 2010-01-13 Richard Guenther <rguenther@suse.de>
8691
8692 PR middle-end/42716
8693 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
8694
8695 2010-01-13 Jakub Jelinek <jakub@redhat.com>
8696
8697 PR debug/41371
8698 * var-tracking.c (values_to_unmark): New variable.
8699 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
8700 values_to_unmark vector. Moved body to...
8701 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
8702 instead queue it into values_to_unmark vector.
8703 (vt_find_locations): Free values_to_unmark vector.
8704
8705 2010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
8706
8707 * config/s390/s390.c (override_options): Set
8708 default of max-pending-list-length to 256
8709
8710 2010-01-13 Richard Guenther <rguenther@suse.de>
8711
8712 PR lto/42678
8713 * tree-pass.h (PROP_gimple_lcx): New.
8714 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
8715 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
8716 before the final cleanup_eh.
8717 (dump_properties): Dump PROP_gimple_lcx.
8718 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
8719 (tree_lower_complex_O0): Remove.
8720 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
8721 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
8722 tree_lower_complex, schedule TODO_update_ssa.
8723 * lto-streamer-out.c (output_function): Stream the functions
8724 properties.
8725 * lto-streamer-in.c (input_function): Likewise.
8726 (lto_read_body): Do not override them here.
8727
8728 2010-01-12 Joseph Myers <joseph@codesourcery.com>
8729
8730 PR c/42708
8731 * c-typeck.c (build_c_cast): Fold value cast to union type before
8732 wrapping it in a CONSTRUCTOR.
8733
8734 2010-01-12 Jakub Jelinek <jakub@redhat.com>
8735
8736 PR rtl-optimization/42699
8737 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
8738 involved.
8739
8740 2010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8741
8742 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
8743 SUBTARGET_WARN_UNUSED_SPEC): Move ...
8744 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
8745 SUBTARGET_WARN_UNUSED_SPEC): ... here
8746 * config/mips/iris5.h (LIBGCC_SPEC): Define.
8747
8748 2010-01-12 Julian Brown <julian@codesourcery.com>
8749
8750 * config/arm/neon-schedgen.ml (Utils): Don't try to
8751 open missing module.
8752 (find_with_result): New.
8753
8754 2010-01-12 Jakub Jelinek <jakub@redhat.com>
8755
8756 PR debug/42662
8757 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
8758 sharing when canonicalizing ({lt,ge}u (plus a b) b).
8759
8760 PR tree-optimization/42645
8761 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
8762 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
8763 decl_map, set processing_debug_stmt to -1 and return name without
8764 any remapping.
8765
8766 2010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
8767
8768 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
8769 binutils version, and reword target configuration description.
8770
8771 2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
8772
8773 * config/avr/avr.h (LINKER_NAME): Remove.
8774
8775 2010-01-11 Janis Johnson <janis187@us.ibm.com>
8776
8777 PR target/42416
8778 * config/rs6000/rs6000.c (rs6000_override_options): On targets
8779 that support VSX, warn for -mno-altivec if vsx is not disabled,
8780 and disable vsx.
8781
8782 2010-01-11 Joseph Myers <joseph@codesourcery.com>
8783 Shujing Zhao <pearly.zhao@oracle.com>
8784
8785 PR translation/42469
8786 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
8787 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
8788 character between option name and help text.
8789 * c.opt (imultilib): Likewise.
8790
8791 2010-01-10 Rafael Avila de Espindola <espindola@google.com>
8792
8793 * lto-streamer-out.c (output_unreferenced_globals): Output static
8794 variables.
8795
8796 2010-01-10 Steven Bosscher <steven@gcc.gnu.org>
8797
8798 PR rtl-optimization/42621
8799 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
8800 optimizing for size.
8801 (duplicate_computed_gotos): Remove now-redundant check.
8802
8803 2010-01-10 Steve Ellcey <sje@cup.hp.com>
8804
8805 PR target/37454
8806 * configure.ac: Save and restore LDFLAGS and LIBS
8807 * configure: Regenerate.
8808
8809 2010-01-10 Richard Guenther <rguenther@suse.de>
8810
8811 PR middle-end/42667
8812 * builtins.c (fold_builtin_strlen): Add type argument and
8813 convert the resulting length to it.
8814 (fold_builtin_1): Adjust.
8815
8816 2010-01-09 Jakub Jelinek <jakub@redhat.com>
8817
8818 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
8819 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
8820 1 insn.
8821 (num_insns_constant_wide): Adjust for that change.
8822
8823 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
8824
8825 PR debug/42631
8826 * web.c (union_defs): Add used argument, to combine uses of
8827 uninitialized regs.
8828 (entry_register): Adjust type and tests of used argument.
8829 (web_main): Widen used for new use. Pass it to union_defs.
8830 * df.h (union_defs): Adjust prototype.
8831
8832 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
8833
8834 PR debug/42630
8835 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
8836 uses in new incoming argument. Free body.
8837 (reset_debug_uses_in_loop): New.
8838 (analyze_insn_to_expand_var): Call the latter if the former found
8839 anything. Fix whitespace. Reject invalid dest overlaps before
8840 going through all insns in the loop.
8841
8842 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
8843
8844 PR debug/42629
8845 * haifa-sched.c (dying_use_p): Debug insns don't count.
8846
8847 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
8848
8849 PR middle-end/42363
8850 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
8851 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
8852 (verify_gimple_call): Reject LHS in noreturn calls.
8853
8854 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
8855
8856 PR debug/42604
8857 PR debug/42395
8858 * tree-vect-loop-manip.c (adjust_info): New type.
8859 (adjust_vec): New pointer to vector.
8860 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
8861 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
8862 (slpeel_update_phis_for_duplicate_loop): Use them.
8863 (slpeel_update_phi_nodes_for_guard1): Likewise.
8864 (slpeel_update_phi_nodes_for_guard2): Likewise.
8865 (slpeel_tree_peel_loop_to_edge): Likewise.
8866 (vect_update_ivs_after_vectorizer): Likewise.
8867
8868 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
8869
8870 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
8871 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
8872
8873 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
8874
8875 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
8876 bogus uninitialized warning.
8877
8878 2010-01-09 Richard Guenther <rguenther@suse.de>
8879
8880 PR middle-end/42512
8881 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
8882 the evolution is compatible with the initial condition.
8883
8884 2010-01-09 Jakub Jelinek <jakub@redhat.com>
8885
8886 * gcc.c (process_command): Update copyright notice dates.
8887 * gcov.c (print_version): Likewise.
8888 * gcov-dump.c (print_version): Likewise.
8889 * mips-tfile.c (main): Likewise.
8890 * mips-tdump.c (main): Likewise.
8891
8892 2010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
8893
8894 PR target/41885
8895 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
8896 (rotlhi3): Delete.
8897 (rotlhi3_8): Delete.
8898 (rotlsi3): Delete.
8899 (rotlsi3_8): Delete.
8900 (rotlsi3_16): Delete.
8901 (rotlsi3_24): Delete.
8902 (rotl<mode>3): New.
8903 (*rotw<mode>3): New.
8904 (*rotb<mode>3): New.
8905 * config/avr/avr.c (avr_rotate_bytes): New function.
8906 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
8907
8908 2010-01-08 Steve Ellcey <sje@cup.hp.com>
8909
8910 PR target/37454
8911 * configure.ac: Modify -rdynamic check.
8912 * configure: Regenerate.
8913
8914 2010-01-08 DJ Delorie <dj@redhat.com>
8915
8916 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
8917 register popping order.
8918
8919 2010-01-08 Richard Guenther <rguenther@suse.de>
8920
8921 PR lto/42528
8922 * c.opt (fsigned-char): Also let LTO handle this option.
8923 (funsigned-char): Likewise.
8924
8925 2010-01-07 Richard Guenther <rguenther@suse.de>
8926
8927 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
8928 (gimple_op): Likewise.
8929 (gimple_op_ptr): Likewise.
8930 (gimple_assign_set_lhs): Remove gcc_assert.
8931 (gimple_assign_set_rhs1): Likewise.
8932 (gimple_assign_set_rhs2): Likewise.
8933 (gimple_call_set_lhs): Likewise.
8934 (gimple_call_set_fn): Likewise.
8935 (gimple_call_set_fndecl): Likewise.
8936 (gimple_call_fndecl): Likewise.
8937 (gimple_call_return_type): Likewise.
8938 (gimple_call_set_chain): Likewise.
8939 (gimple_call_num_args): Likewise.
8940 (gimple_call_set_arg): Likewise.
8941 (gimple_cond_set_code): Likewise.
8942 (gimple_cond_set_lhs): Likewise.
8943 (gimple_cond_set_rhs): Likewise.
8944 (gimple_cond_set_true_label): Likewise.
8945 (gimple_cond_set_false_label): Likewise.
8946 (gimple_label_set_label): Likewise.
8947 (gimple_goto_set_dest): Likewise.
8948 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
8949 (gimple_debug_bind_get_value): Likewise.
8950 (gimple_debug_bind_get_value_ptr): Likewise.
8951 (gimple_debug_bind_set_var): Likewise.
8952 (gimple_debug_bind_set_value): Likewise.
8953 (gimple_debug_bind_reset_value): Likewise.
8954 (gimple_debug_bind_has_value_p): Likewise.
8955 (gimple_return_retval_ptr): Remove gcc_assert.
8956 (gimple_return_retval): Likewise.
8957 (gimple_return_set_retval): Likewise.
8958 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
8959 (safe_referenced_var_iterator): Remove.
8960 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
8961 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
8962 (fill_referenced_var_vec): Remove.
8963 (first_readonly_imm_use): Remove redundant gcc_assert.
8964 (phi_arg_index_from_use): Combine gcc_asserts.
8965 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
8966 (first_imm_use_stmt): Remove redundant gcc_assert.
8967 * tree-cfg.c (verify_gimple_call): Verify function and chain
8968 operands. Verify arguments.
8969 (verify_types_in_gimple_stmt): Verify condition code and labels.
8970
8971 2010-01-07 Richard Guenther <rguenther@suse.de>
8972
8973 PR tree-optimization/42641
8974 * sese.c (rename_map_elt_info): Use the SSA name version, do
8975 not hash pointers.
8976
8977 2010-01-07 Jakub Jelinek <jakub@redhat.com>
8978
8979 PR tree-optimization/42625
8980 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
8981 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
8982
8983 2010-01-07 Duncan Sands <baldrick@free.fr>
8984
8985 * Makefile.in (PLUGIN_HEADERS): Add version.h.
8986
8987 2010-01-07 Uros Bizjak <ubizjak@gmail.com>
8988
8989 PR target/42511
8990 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
8991 note itself is not function_invariant_p.
8992
8993 2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
8994
8995 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
8996 Do not add the DF_NOTE problem.
8997 * store-motion.c (execute_rtl_store_motion): Likewise.
8998
8999 2010-01-07 Martin Jambor <mjambor@suse.cz>
9000
9001 PR tree-optimization/42157
9002 * tree-sra.c (compare_access_positions): Stabilize sort if both
9003 accesses have integer types, return zero immediately if they are the
9004 same.
9005
9006 2010-01-06 Richard Henderson <rth@redhat.com>
9007
9008 PR middle-end/41883
9009 * haifa-sched.c (add_to_note_list): Merge into ...
9010 (concat_note_lists): ... here, and ...
9011 (unlink_other_notes, rm_other_notes): Merge into...
9012 (remove_notes): ... here. Create REG_SAVE_NOTEs for
9013 NOTE_INSN_EPILOGUE_BEG.
9014
9015 2010-01-06 Richard Guenther <rguenther@suse.de>
9016
9017 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
9018 not inline regular functions into always-inline functions.
9019
9020 2010-01-06 Nick Clifton <nickc@redhat.com>
9021
9022 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
9023 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
9024 used together.
9025 (OVERRIDE_OPTIONS): Delete.
9026 (OPTIMIZATION_OPTIONS): Define.
9027 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
9028 * config/rx/rx.c (rx_handle_option): Issue an error message if
9029 -mcpu=rx200 and -fpu are used together.
9030 (rx_set_optimization_options): New function. Issue an error
9031 message if an optimization attribute attempts to reset the FPU/
9032 math optimization pairing.
9033 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
9034 * config/rx/rx.opt: Set the default to 32-bit doubles.
9035 * config/rx/t-rx: Add multilibs for -nofpu option.
9036 * doc/invoke.texi: Update documentation of RX options.
9037
9038 2010-01-06 Richard Guenther <rguenther@suse.de>
9039
9040 * tree-ssa-pre.c (name_to_id): New global.
9041 (alloc_expression_id): Simplify SSA name handling.
9042 (lookup_expression_id): Likewise.
9043 (init_pre): Zero name_to_id.
9044 (fini_pre): Free it.
9045
9046 2010-01-06 Uros Bizjak <ubizjak@gmail.com>
9047
9048 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
9049
9050 2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
9051
9052 PR target/42542
9053 * config/i386/sse.md (smaxv2di3): New.
9054 (umaxv2di3): Likewise.
9055 (sminv2di3): Likewise.
9056 (uminv2di3): Likewise.
9057
9058 2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
9059
9060 PR target/42564
9061 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
9062 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
9063 (legitimize_tls_address): Likewise.
9064 (sparc_tls_referenced_p): Likewise.
9065 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
9066 and adjust calls to legitimize_pic_address.
9067 (legitimate_constant_p) Use sparc_tls_referenced_p.
9068 (legitimate_pic_operand_p): Likewise.
9069 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
9070 (sparc_tls_symbol_ref_1): Delete.
9071 (sparc_tls_referenced_p): Make static, recognize specific patterns.
9072 (legitimize_tls_address): Make static, handle CONST patterns.
9073 (legitimize_pic_address): Make static, remove unused parameter and
9074 adjust recursive calls.
9075 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
9076 and adjust call to legitimize_pic_address.
9077 (sparc_output_mi_thunk): Likewise.
9078
9079 2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
9080 H.J. Lu <hongjiu.lu@intel.com>
9081
9082 PR target/42542
9083 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
9084 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
9085 operands to make them signed.
9086
9087 Revert:
9088 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9089
9090 PR target/42542
9091 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
9092 GTU to GT for V4SI and V2DI.
9093
9094 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
9095 (umin<mode>3): Removed.
9096 (uminv8hi3): New.
9097 (uminv4si3): Likewise.
9098
9099 2010-01-05 Martin Jambor <mjambor@suse.cz>
9100
9101 PR tree-optimization/42462
9102 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
9103 current_function_decl to helper functions and macros.
9104
9105 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9106
9107 PR bootstrap/41771
9108 * flags.h: Don't include real.h.
9109 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
9110 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
9111 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
9112 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
9113 * dominance.c: Update copyright.
9114 * gimple.c (walk_gimple_op): Remove inline.
9115 * tree-ssa-reassoc.c: Include real.h.
9116 * Makefile.in (FLAGS_H): Remove $(REAL_H).
9117 (tree-ssa-reassoc.o): Depend on $(REAL_H).
9118
9119 2010-01-05 Nick Clifton <nickc@redhat.com>
9120
9121 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
9122 register to push into the stack frame when the accumulator has to
9123 be saved during interrupts.
9124
9125 2010-01-05 Eric Fisher <joefoxreal@gmail.com>
9126
9127 * doc/invoke.texi: Remove the documentation about option
9128 -Wunreachable-code.
9129 * common.opt (Wunreachable-code): Preserved for backward
9130 compatibility.
9131 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
9132 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
9133 the backward compatibility flag section.
9134
9135 2010-01-05 Richard Guenther <rguenther@suse.de>
9136
9137 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
9138
9139 2010-01-05 Jakub Jelinek <jakub@redhat.com>
9140
9141 PR other/42611
9142 * cfgexpand.c (expand_one_var): Diagnose too large variables.
9143
9144 PR tree-optimization/42508
9145 * tree-sra.c (convert_callers): Check for recursive call
9146 by comparing cgraph nodes instead of decls.
9147 (modify_function): Call ipa_modify_formal_parameters also
9148 on all same_body aliases.
9149
9150 * cgraphunit.c (cgraph_materialize_all_clones): Compare
9151 cgraph nodes when checking for same_body aliases.
9152
9153 2010-01-05 Richard Guenther <rguenther@suse.de>
9154
9155 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
9156 allocation and lookup.
9157 (get_or_alloc_expr_for_constant): Likewise.
9158 (phi_translate): Sink allocation.
9159
9160 2010-01-04 Richard Guenther <rguenther@suse.de>
9161
9162 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
9163 a new entry only if needed.
9164 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
9165 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
9166 hashtable lookup.
9167 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
9168 the result array.
9169 (phi_translate): Handle CONSTANTs early.
9170
9171 2010-01-04 Martin Jambor <mjambor@suse.cz>
9172
9173 PR tree-optimization/42398
9174 * tree-sra.c (struct access): Removed flag grp_different_types.
9175 (dump_access): Do not dump the removed flag.
9176 (sort_and_splice_var_accesses): Do not set the removed flag.
9177 (sra_modify_expr): Check for type compatibility directly.
9178
9179 2010-01-04 Martin Jambor <mjambor@suse.cz>
9180
9181 PR tree-optimization/42366
9182 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
9183 edges with variable number of parameters.
9184 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
9185 flag instead of asserting it.
9186 (ipa_read_node_info): Read uses_analysis_done flag.
9187
9188 2010-01-04 Richard Guenther <rguenther@suse.de>
9189
9190 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
9191 iterative_hash_* as intended.
9192 (vn_reference_compute_hash): Likewise. Simplify hashing
9193 SSA names.
9194 (vn_reference_lookup_2): Likewise.
9195 (vn_nary_op_compute_hash): Likewise.
9196 (vn_phi_compute_hash): Likewise.
9197 (expressions_equal_p): Remove strange code.
9198 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
9199 (pre_expr_hash): Likewise. Simplify hashing SSA names.
9200 (bitmap_insert_into_set_1): Take value-id as parameter.
9201 (add_to_value): Pass it.
9202 (bitmap_insert_into_set): Likewise.
9203 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
9204
9205 2010-01-04 Jakub Jelinek <jakub@redhat.com>
9206
9207 PR driver/42442
9208 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
9209 (do_self_spec): For switches with SWITCH_IGNORE set set also
9210 SWITCH_IGNORE_PERMANENTLY.
9211 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
9212 of SWITCH_IGNORE.
9213
9214 2010-01-04 Rafael Avila de Espindola <espindola@google.com>
9215
9216 * lto-streamer-out.c (output_unreferenced_globals): Output the full
9217 tree of an unreferenced global var.
9218
9219 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9220
9221 PR target/42542
9222 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
9223 GTU to GT for V4SI and V2DI.
9224
9225 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
9226 (umin<mode>3): Removed.
9227 (uminv8hi3): New.
9228 (uminv4si3): Likewise.
9229
9230 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9231
9232 PR lto/42581
9233 * collect2.c (main): Turn on trace in collect2 if -v is passed
9234 to gcc with LTO.
9235
9236 2010-01-03 Jerry Quinn <jlquinn@optonline.net>
9237
9238 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
9239 description of expression operand.
9240
9241 2010-01-03 Andrew Jenner <andrew@codesourcery.com>
9242
9243 * configure.ac: Add install-html to target_list for Make-hooks.
9244 * configure: Regenerate.
9245 * fortran/Make-lang.in (F95_HTMLFILES): New.
9246 (fortran.html): Use it.
9247 (fortran.install-html): New.
9248 * Makefile.in (install-html): Add lang.install-html.
9249 * java/Make-lang.in (JAVA_HTMLFILES): New.
9250 (java.html): Use it.
9251 (java.install-html): New.
9252 * objc/Make-lang.in (objc.install-html): New.
9253 * objcp/Make-lang.in (obj-c++.install-html): New.
9254 * cp/Make-lang.in (c++.install-html): New.
9255 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
9256 * lto/Make-lang.in (lto.install-html): New.
9257
9258 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
9259
9260 PR lto/42520
9261 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
9262
9263 2009-01-03 Steven Bosscher <steven@gcc.gnu.org>
9264
9265 PR rtl-optimization/41862
9266 * store-motion.c (store_killed_in_insn, compute_store_table,
9267 remove_reachable_equiv_notes, replace_store_insn,
9268 build_store_vectors): Ignore all DEBUG_INSNs.
9269
9270 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
9271
9272 PR lto/41564
9273 * common.opt: Add dumpdir.
9274
9275 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
9276 isn't specified.
9277 (option_map): Add --dumpdir.
9278
9279 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
9280
9281 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
9282
9283 * opts.c (decode_options): Try dump_dir_name first if
9284 dump_base_name isn't an absolute path.
9285 (common_handle_option): Handle OPT_dumpdir.
9286
9287 * toplev.c (dump_dir_name): New.
9288 (print_switch_values): Also ignore -dumpdir.
9289
9290 * toplev.h (dump_dir_name): New.
9291
9292 2010-01-03 Richard Guenther <rguenther@suse.de>
9293
9294 PR tree-optimization/42589
9295 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
9296 double-word expansion of bswap32.
9297
9298 2010-01-03 Steven Bosscher <steven@gcc.gnu.org>
9299
9300 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
9301 with BLOCK_FOR_INSN.
9302 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
9303 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
9304 noce_process_if_block): Likewise.
9305 * gcse.c (compute_local_properties, insert_expr_in_table,
9306 insert_set_in_table, canon_list_insert, find_avail_set,
9307 pre_insert_copy_insn): Likewise.
9308
9309 * basic-block.h (BLOCK_NUM): Move from here...
9310 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
9311
9312 2010-01-03 Richard Guenther <rguenther@suse.de>
9313
9314 PR tree-optimization/42438
9315 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
9316 contains_may_not_return_call flag.
9317 (BB_MAY_NOTRETURN): New.
9318 (valid_in_sets): Trapping nary operations are not valid
9319 in blocks that may not return.
9320 (insert_into_preds_of_block): Remove check for trapping expressions.
9321 (compute_avail): Compute also BB_MAY_NOTRETURN.
9322
9323 2010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
9324
9325 * doc/invoke.texi: Add 2010 to copyright years.
9326
9327 2010-01-03 Eric Botcazou <ebotcazou@adacore.com>
9328
9329 * config/sparc/sparc.c: Fix formatting nits.
9330
9331 2010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
9332 Alexander Monakov <amonakov@ispras.ru>
9333
9334 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
9335
9336 2010-01-02 Richard Guenther <rguenther@suse.de>
9337
9338 PR middle-end/42577
9339 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
9340 (simplify_switch_using_ranges): Mark to be removed edges
9341 as non-executable.
9342
9343 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9344
9345 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
9346
9347 * collect2.c (scan_libraries): Add missing argument in call to
9348 scan_prog_file.
9349
9350 2010-01-02 Uros Bizjak <ubizjak@gmail.com>
9351
9352 PR target/42448
9353 * config/alpha/predicates.md (aligned_memory_operand): Return false
9354 for CQImode.
9355 (unaligned_memory_operand): Return true for CQImode.
9356 * config/alpha/alpha.c (get_aligned_mem): Assert that location
9357 doesn not cross aligned SImode word boundary.
9358
9359 2010-01-02 Anatoly Sokolov <aesok@post.ru>
9360
9361 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
9362 Remove.
9363 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
9364 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
9365
9366 2010-01-02 Richard Guenther <rguenther@suse.de>
9367
9368 PR lto/41597
9369 * toplev.c (compile_file): Emit LTO marker properly. Change
9370 it to __gnu_lto_v1.
9371 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
9372
9373 2010-01-01 Richard Guenther <rguenther@suse.de>
9374
9375 PR debug/42455
9376 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
9377
9378 2010-01-01 Richard Guenther <rguenther@suse.de>
9379
9380 PR c/42570
9381 * c-decl.c (grokdeclarator): For zero-size arrays force
9382 structural equality checks as layout_type does.
9383
9384 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
9385
9386 * builtins.c: Update copyright to 2010.
9387
9388 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
9389
9390 PR lto/42531
9391 * lto-streamer-out.c (produce_asm): Revert the last change.
9392 (copy_function): Likewise.
9393
9394 * lto-streamer.c (lto_get_section_name): Skip any leading
9395 asterisk in name.
9396
9397 2010-01-01 Richard Guenther <rguenther@suse.de>
9398
9399 PR middle-end/42559
9400 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
9401 for LABEL_DECLs.
9402
9403 \f
9404 Copyright (C) 2010 Free Software Foundation, Inc.
9405
9406 Copying and distribution of this file, with or without modification,
9407 are permitted in any medium without royalty provided the copyright
9408 notice and this notice are preserved.