OSDN Git Service

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