OSDN Git Service

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