OSDN Git Service

2010-04-28 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-04-28  Richard Guenther  <rguenther@suse.de>
2
3         PR tree-optimization/43879
4         PR tree-optimization/43909
5         * tree-ssa-structalias.c (struct variable_info): Add
6         only_restrict_pointers flag.
7         (new_var_info): Initialize it.  Increment stats.total_vars here.
8         (create_function_info_for): Do not increment stats.total_vars
9         here.
10         (get_function_part_constraint): Fix build with C++.
11         (insert_into_field_list): Remove.
12         (push_fields_onto_fieldstack): Properly merge fields.
13         (create_variable_info_for): Split and simplify.
14         (create_variable_info_for_1): New piece.
15         (intra_create_variable_infos): Properly make restrict constraints
16         from parameters.
17
18 2010-04-28  Richard Guenther  <rguenther@suse.de>
19
20         PR c++/43880
21         * tree-inline.c (copy_bind_expr): Also copy bind expr vars
22         value-exprs.
23
24 2010-04-27  Manuel López-Ibáñez  <manu@gcc.gnu.org>
25             Jan Hubicka <hubicka@ucw.cz>
26
27         * doc/invoke.texi (-Wsuggest-attribute=const,
28         -Wsuggest-attribute=pure): Document.
29         * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
30         (function_always_visible_to_compiler_p,
31         suggest_attribute, warn_function_pure, warn_function_const):
32         New functions.
33         (check_call): Improve debug info.
34         (analyze_function): Do not check availability.
35         (add_new_function): Check availability.
36         (propagate): Output warnings.
37         (skip_function_for_local_pure_const): New function.
38         (local_pure_const): Use it; output warnings.
39         * common.opt (Wsuggest-attribute=const,
40         Wsuggest-attribute=pure): New.
41
42 2010-04-27  Jakub Jelinek  <jakub@redhat.com>
43
44         * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
45         force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
46         or DW_CFA_def_cfa_offset{,_sf}.
47
48 2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
49
50         * tree.h: Fix truncated long macros.
51
52 2010-04-27  Kai Tietz  <kai.tietz@onevision.com>
53
54         * collect2.c (TARGET_64BIT): Redefine to target's default.
55         * tlink.c: Likewise.
56         * config/i386/cygming.h (USER_LABEL_PREFIX): Define
57         dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
58         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
59         for underscoring __USER_LABEL_PREFIX__.
60         * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
61         (SUB_LINK_ENTRY32): New.
62         (SUB_LINK_ENTRY64): New.
63         (LINK_SPEC): Replace entry point spec by
64         SUB_LINK_ENTRY.
65         * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
66         (SUB_LINK_ENTRY64): New.
67         (SUB_LINK_ENTRY): New.
68         (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
69         (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
70         x64 target is choosen.
71         * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
72         * configure: Regenerated.
73         * configure.ac (leading-mingw64-underscores): Option added.
74
75 2010-04-27  Jan Hubicka  <jh@suse.cz>
76
77         * doc/invoke.texi (-fipa-profile): Document.
78         * opts.c (decode_options): Enable ipa-profile at -O1.
79         * timevar.def (TV_IPA_PROFILE): Define.
80         * common.opt (fipa-profile): Add.
81         * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
82         flag for clones.
83         (cgraph_propagate_frequency): Handle only local ones.
84         * tree-pass.h (pass_ipa_profile): Declare.
85         * ipa-profile.c (gate_profile): Use flag_ipa_profile.
86         (pass_ipa_profile): Use TV_IPA_PROFILE.
87         * ipa.c (ipa_profile): New function.
88         (gate_ipa_profile): Likewise.
89         (pass_ipa_profile): New global variable.
90         * passes.c (pass_ipa_profile): New.
91
92 2010-04-27  Nathan Froyd  <froydnj@codesourcery.com>
93
94         * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
95
96 2010-04-27  Martin Jambor  <mjambor@suse.cz>
97
98         PR middle-end/43812
99         * ipa.c (dissolve_same_comdat_group_list): New function.
100         (function_and_variable_visibility): Call
101         dissolve_same_comdat_group_list when comdat group contains external or
102         newly local nodes.
103         * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
104         lists are circular and that they contain only DECL_ONE_ONLY nodes.
105
106 2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
107
108         * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
109         (const_hash_1) <VECTOR_CST>: New case.
110         (compare_constant) <VECTOR_CST>: Likewise.
111         <ADDR_EXPR>: Deal with LABEL_REFs.
112         (copy_constant) <VECTOR_CST>: New case.
113
114 2010-04-27  Jan Hubicka  <jh@suse.cz>
115
116         * cgraph.c (cgraph_propagate_frequency): New function.
117         * cgraph.h (cgraph_propagate_frequency): Declare.
118         * ipa-inline.c (cgraph_clone_inlined_nodes): Call
119         cgraph_propagate_frequency.
120
121 2010-04-27  Jakub Jelinek  <jakub@redhat.com>
122
123         * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
124
125 2010-04-27  Bernd Schmidt  <bernds@codesourcery.com>
126
127         PR target/40657
128         * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
129         (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
130         here to determine which regs to push and how much stack to reserve.
131
132 2010-04-27  Jie Zhang  <jie@codesourcery.com>
133
134         * doc/gimple.texi (gimple_statement_with_ops): Remove
135         addresses_taken field.
136         (gimple_statement_with_memory_ops): Likewise.
137
138 2010-04-27  Jan Hubicka  <jh@suse.cz>
139
140         * tree-inline.c (eni_inlining_weights): Remove.
141         (estimate_num_insns): Special case more builtins.
142
143 2010-04-27  Shujing Zhao  <pearly.zhao@oracle.com>
144         
145         PR c/32207
146         * c-typeck.c (build_binary_op): Move forward check for comparison
147         pointer with null pointer constant and adjust the diagnostic message.
148
149 2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>
150
151         PR lto/42776
152         * configure.ac (gcc_cv_as_section_has_align): Set if installed
153         binutils supports extended .section directive needed by LTO, or
154         warn if older binutils found.
155         (LTO_BINARY_READER): New AC_SUBST'd variable.
156         (LTO_USE_LIBELF): Likewise.
157         * gcc/config.gcc (lto_binary_reader): New target-specific configure
158         variable.
159         * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
160         (LTO_USE_LIBELF): Likewise.
161         * configure: Regenerate.
162
163         * collect2.c (is_elf): Rename from this ...
164         (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
165          object files in addition to ELF-formatted ones.
166         (scan_prog_file): Caller updated.  Also allow for LTO info marker
167         symbol to be prefixed or not by an extra underscore.
168
169         * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
170         * config/i386/winnt.c: Also #include lto-streamer.h
171         (i386_pe_asm_named_section): Specify 1-byte section alignment for
172         LTO named sections.
173         (i386_pe_asm_output_aligned_decl_common): Add comment.
174         (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
175
176 2010-04-27  Hans-Peter Nilsson  <hp@bitrange.com>
177
178         PR target/43889
179         * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
180         Add missing earlyclobber for second alternative.
181
182 2010-04-26  Bernd Schmidt  <bernds@codesourcery.com>
183
184         * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
185         bits for artificial defs at the top of the block.
186         * fwprop.c (single_def_use_enter_block): Don't call it.
187
188 2010-04-26  Jack Howarth <howarth@bromo.med.uc.edu>
189
190         PR 43715
191         * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
192         instead of "$gcc_cv_objdump -T".
193         Use "-undefined dynamic_lookup" on darwin.
194         * gcc/configure: Regenerate.
195
196 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
197
198         PR c/43893
199         * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
200
201 2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
202
203         * c-parser.c (struct c_token): Move location field up.
204         * c-tree.h (struct c_typespec): Move expr_const_operands field up.
205         (struct c_declspecs): Convert typespec_word, storage_class, and
206         default_int_p into bitfields.
207         (struct c_declarator): Move loc field up.
208
209 2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
210
211         * cfgloop.h (struct loop): Move can_be_parallel field up.
212         * ipa-prop.h (struct ip_node_params): Move bitfields up.
213         * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
214         down.
215         (struct iv_cand): Convert pos field into a bitfield.
216         * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
217         field up.
218         (struct _stmt_vec_info): Shuffle fields for better packing.
219
220 2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
221
222         * varasm.c (IN_NAMED_SECTION): Remove guard.
223         * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
224         (IN_NAMED_SECTION_P): ...this.
225         (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
226         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
227
228 2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
229
230         * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
231         Use VOID_TYPE_P for all void type tests.  Adjust TYPE variable instead
232         of shadowing it.  Fix comments.
233
234 2010-04-26  Jan Hubicka  <jh@suse.cz>
235
236         * cgraph.c (cgraph_create_node): Set node frequency to normal.
237         (cgraph_clone_node): Copy function frequency.
238         * cgraph.h (node_frequency): New enum
239         (struct cgraph_node): Add.
240         * final.c (rest_of_clean_state): Update.
241         * lto-cgraph.c (lto_output_node): Output node frequency.
242         (input_overwrite_node): Input node frequency.
243         * tre-ssa-loop-ivopts (computation_cost): Update.
244         * lto-streamer-out.c (output_function): Do not output function
245         frequency.
246         * predict.c (maybe_hot_frequency_p): Update and handle functions
247         executed once.
248         (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
249         attribute lookup.
250         (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
251         (compute_function_frequency): Set noreturn functions to be executed
252         once.
253         (choose_function_section): Update.
254         * lto-streamer-in.c (input_function): Do not input function frequency.
255         * function.c (allocate_struct_function): Do not initialize function
256         frequency.
257         * function.h (function_frequency): Remove.
258         (struct function): Remove function frequency.
259         * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
260         (try_update): Update.
261         * tree-inline.c (initialize_cfun): Do not update function frequency.
262         * passes.c (pass_init_dump_file): Update.
263         * i386.c (ix86_compute_frame_layout): Update.
264         (ix86_pad_returns): Update.
265
266 2010-04-26  Jie Zhang  <jie@codesourcery.com>
267
268         PR tree-optimization/43833
269         * tree-vrp.c (range_int_cst_p): New.
270         (range_int_cst_singleton_p): New.
271         (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
272         when both operands are constants.  Use range_int_cst_p in
273         BIT_IOR_EXPR case.
274
275 2010-04-26  Jan Hubicka  <jh@suse.cz>
276
277         * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
278
279 2010-04-26  Richard Guenther  <rguenther@suse.de>
280
281         PR lto/43080
282         * gimple.c (gimple_decl_printable_name): Deal gracefully
283         with a NULL DECL_NAME.
284
285 2010-04-26  Richard Guenther  <rguenther@suse.de>
286
287         PR lto/42425
288         * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
289         if emitting debug information and it is either a function
290         or a namespace decl.
291
292 2010-04-26  Ira Rosen  <irar@il.ibm.com>
293
294         * tree-vectorizer.h (struct _stmt_vec_info): Add new field to 
295         determine if the statement is vectorizable, and a macro to 
296         access it.
297         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): 
298         Skip statements that can't be vectorized. If the analysis 
299         fails, mark the statement as unvectorizable if vectorizing 
300         basic block.
301         (vect_compute_data_refs_alignment): Likewise.
302         (vect_verify_datarefs_alignment): Skip statements marked as 
303         unvectorizable. Add print.
304         (vect_analyze_group_access): Skip statements that can't be 
305         vectorized. If the analysis fails, mark the statement as 
306         unvectorizable if vectorizing basic block.
307         (vect_analyze_data_ref_accesses, vect_analyze_data_refs): 
308         Likewise.
309         * tree-vect-stmts.c (vectorizable_store): Fix the number of 
310         generated stmts for SLP.
311         (new_stmt_vec_info): Initialize the new field.
312         * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize 
313         statements marked as unvectorizable.
314
315 2010-04-25  Joseph Myers  <joseph@codesourcery.com>
316
317         * c-common.c (flag_isoc1x): New.
318         (flag_isoc99): Update comment.
319         * c-common.h (flag_isoc1x): New.
320         (flag_isoc99): Update comment.
321         * c-cppbuiltin.c (builtin_define_float_constants): Also define
322         __<type>_DECIMAL_DIG__.
323         * c-opts.c (set_std_c1x): New.
324         (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
325         (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
326         * c.opt (-std=c1x, -std=gnu1x): New options.
327         * doc/cpp.texi: Mention -std=c1x.
328         * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
329         * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
330         * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
331         * doc/standards.texi: Mention C1X.
332         * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
333         LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
334         LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
335         Define for C1X.
336
337 2010-04-25  Uros Bizjak  <ubizjak@gmail.com>
338
339         * config/i386/gmon-sol2.c (_mcleanup): Change format string
340         placeholder from 0x%x to %#x.
341         * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
342         * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
343         * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
344         * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
345         * config/i386/i386.c (ix86_target_string): Ditto.
346         (output_pic_addr_const): Ditto.
347         (print_operand): Ditto.
348
349 2010-04-25  Paolo Bonzini  <bonzini@gnu.org>
350
351         * combine.c (find_split_point): Add third argument.  Use it
352         to find nested multiply-accumulate instructions.  Adjust calls.
353         (try_combine): Adjust call to find_split_point.
354
355 2010-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
356
357         * doc/contrib.texi (Contributors): Add Dodji Seketeli.
358
359 2010-04-24  Bernd Schmidt  <bernds@codesourcery.com>
360
361         PR tree-optimization/41442
362         * fold-const.c (merge_truthop_with_opposite_arm): New function.
363         (fold_binary_loc): Call it.
364
365 2010-04-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
366
367         * toplev.c (general_init): Set default for fdiagnostics-show-option.
368         * opts.c (common_handle_option): Allow disabling it.
369         * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
370
371 2010-04-23  Eric Botcazou  <ebotcazou@adacore.com>
372
373         * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
374         between modes if both types are integral.
375
376 2010-04-23  Richard Guenther  <rguenther@suse.de>
377
378         PR tree-optimization/43572
379         * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
380
381 2010-04-23  Richard Guenther  <rguenther@suse.de>
382
383         PR lto/43455
384         * tree-inline.c (tree_can_inline_p): Also check compatibility
385         of return types.
386
387 2010-04-23  Martin Jambor  <mjambor@suse.cz>
388
389         PR tree-optimization/43846
390         * tree-sra.c (struct access): New flag grp_assignment_read.
391         (build_accesses_from_assign): Set grp_assignment_read.
392         (sort_and_splice_var_accesses): Propagate grp_assignment_read.
393         (enum mark_read_status): New type.
394         (analyze_access_subtree): Propagate grp_assignment_read, create
395         accesses also if both direct_read and root->grp_assignment_read.
396
397 2010-04-23  Martin Jambor  <mjambor@suse.cz>
398
399         PR middle-end/43835
400         * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
401         function does not have type attributes.
402
403 2010-04-23  Richard Guenther  <rguenther@suse.de>
404
405         PR lto/42653
406         * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
407         of FUNCTION_DECLs.
408
409 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
410
411         * sese.h (create_if_region_on_edge): Remove.
412
413         * sese.c (create_if_region_on_edge): Make static.
414
415         * tree-inline.c: Do not include ggc.h.
416
417         * expr.c: Do not include ggc.h.
418
419         * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
420         dependencies.
421
422 2010-04-22  Kaz Kojima  <kkojima@gcc.gnu.org>
423
424         PR target/43744
425         * config/sh/sh.c (find_barrier): Don't emit a constant pool
426         in the middle of insns for casesi_worker_2.
427
428 2010-04-22  David Edelsohn  <edelsohn@gnu.org>
429
430         * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
431
432 2010-04-22  Ira Rosen  <irar@il.ibm.com>
433
434         PR tree-optimization/43842
435         * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
436         loop unrolling in update of exit phis. Fix comment.
437         * tree-vect-slp.c (vect_analyze_slp): Check that there are at
438         least two reduction statements in the loop before starting SLP
439         analysis.
440
441 2010-04-22  Nick Clifton  <nickc@redhat.com>
442
443         * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
444
445 2010-04-22  Alexander Monakov  <amonakov@ispras.ru>
446
447         * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
448         to simplify a + ~a.
449
450 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
451
452         * tree-parloops.c (loop_parallel_p): New argument
453         parloop_obstack.  Pass it down.
454         (parallelize_loops): New variable parloop_obstack.  Initialize it,
455         pass it down, free it.
456
457         * tree-loop-linear.c (linear_transform_loops): Pass down
458         lambda_obstack.
459
460         * tree-data-ref.h (lambda_compute_access_matrices): New argument
461         of type struct obstack *.
462
463         * tree-data-ref.c (analyze_subscript_affine_affine): New variable
464         scratch_obstack.  Initialize it, pass down, free it.
465
466         * lambda.h (lambda_loop_new): Remove.
467         (lambda_matrix_new, lambda_matrix_inverse)
468         (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
469         argument of type struct obstack *.
470
471         * lambda-trans.c (lambda_trans_matrix_new): New argument
472         lambda_obstack.  Pass it down, use obstack allocation for ret.
473         (lambda_trans_matrix_inverse): New argument lambda_obstack.  Pass
474         it down.
475
476         * lambda-mat.c (lambda_matrix_get_column)
477         (lambda_matrix_project_to_null): Remove.
478         (lambda_matrix_new): New argument lambda_obstack.  Use obstack
479         allocation for mat.
480         (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
481         lambda_obstack.
482
483         * lambda-code.c (lambda_loop_new): New function.
484         (lambda_lattice_new, compute_nest_using_fourier_motzkin)
485         (lambda_compute_auxillary_space, lambda_compute_target_space)
486         (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
487         (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
488         (build_access_matrix): New argument lambda_obstack.  Use obstack
489         allocation for am.
490         (lambda_compute_step_signs, lambda_compute_access_matrices): New
491         argument lambda_obstack.  Pass it down.
492
493 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
494
495         * optabs.h (expand_widening_mult): Declare.
496
497 2010-04-22  Richard Guenther  <rguenther@suse.de>
498
499         PR tree-optimization/43845
500         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
501         lookup the CALL_EXPR function and arguments.
502
503 2010-04-22  Nick Clifton  <nickc@redhat.com>
504
505         * config/stormy16/stormy16.c
506         (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
507         * config/stormy16/stormy16.h: Tidy up formatting.
508         (DONT_USE_BUILTIN_SETJMP): Remove definition.
509         * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
510         (ineqbranchsi): Delete pattern.
511         * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
512         * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
513         * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
514         stormy16-lib2-ucmpsi2.c.
515
516 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
517
518         * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
519         df_simulate_find_noclobber_defs as appropriate.  Keep track of an
520         extra set merge_set_noclobber, and use it to relax the final test
521         slightly.
522         * df.h (df_simulate_find_noclobber_defs): Declare.
523         * df-problems.c (df_simulate_find_defs): Don't ignore partial or
524         conditional defs.
525         (df_simulate_find_noclobber_defs): New function.
526
527 2010-04-22  Uros Bizjak  <ubizjak@gmail.com>
528
529         * config/i386/i386.md: Use {} around multi-line preparation statements.
530
531 2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
532
533         * c-tree.h (push_init_level, pop_init_level, set_init_index)
534         (process_init_element): New argument of type struct obstack *.
535
536         * c-typeck.c (push_init_level, pop_init_level, set_designator)
537         (set_init_index, set_init_label, set_nonincremental_init)
538         (set_nonincremental_init_from_string, find_init_member)
539         (output_init_element, output_pending_init_elements)
540         (process_init_element): New argument braced_init_obstack.  Pass it
541         down.
542         (push_range_stack, add_pending_init): New argument
543         braced_init_obstack.  Use obstack allocation.
544
545         * c-parser.c (c_parser_initelt, c_parser_initval): New argument
546         braced_init_obstack.  Pass it down.
547         (c_parser_braced_init): New variables ret, braced_init_obstack.
548         Initialize obstack, pass it down and finally free it.
549
550 2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
551
552         PR middle-end/29274
553         * tree-pass.h (pass_optimize_widening_mul): Declare.
554         * tree-ssa-math-opts.c (execute_optimize_widening_mul,
555         gate_optimize_widening_mul): New static functions.
556         (pass_optimize_widening_mul): New.
557         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
558         <case MULT_EXPR>: Remove support for widening multiplies.
559         * tree.def (WIDEN_MULT_EXPR): Tweak comment.
560         * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
561         simplify_gen_unary rather than directly building extensions.
562         * tree-cfg.c (verify_gimple_assign_binary): Add tests for
563         WIDEN_MULT_EXPR.
564         * expmed.c (expand_widening_mult): New function.
565         * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
566
567 2010-04-21  Jan Hubicka  <jh@suse.cz>
568
569         * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
570         * lto-section-in.c (lto_section_name): Remove wpa_fixup.
571         * lto-wpa-fixup.c: Remove.
572         * Makefile.in (lto-wpa-fixup.o): Remove.
573         * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
574         (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
575         * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
576
577 2010-04-21  Jan Hubicka  <jh@suse.cz>
578
579         * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
580         add write_optimization_summary, read_optimization_summary.
581         (ipa_write_summaries_of_cgraph_node_set): Remove.
582         (ipa_write_optimization_summaries): Declare.
583         (ipa_read_optimization_summaries): Declare.
584         * ipa-cp.c (pass_ipa_cp): Update.
585         * ipa-reference.c (pass_ipa_reference): Update.
586         * ipa-pure-const.c (pass_ipa_pure_const): Update.
587         * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
588         Update.
589         * ipa-inline.c (pass_ipa_inline): Update.
590         * ipa.c (pass_ipa_whole_program): Update.
591         * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
592         * passes.c (ipa_write_summaries_1): Do not test wpa.
593         (ipa_write_optimization_summaries_1): New.
594         (ipa_write_optimization_summaries): New.
595         (ipa_read_summaries): Do not test ltrans.
596         (ipa_read_optimization_summaries_1): New.
597         (ipa_read_optimization_summaries): New.
598
599 2010-04-21  Jan Hubicka  <jh@suse.cz>
600
601         * lto-cgraph.c (lto_output_node): Do not output comdat groups
602         for boundary nodes.
603         (output_cgraph): Do not arrange comdat groups for boundary nodes.
604
605 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
606
607         PR debug/40040
608         * dwarf2out.c (add_name_and_src_coords_attributes): Add
609         DW_AT_{,MIPS_}linkage_name even for Fortran decls.
610
611 2010-04-21  Jan Hubicka  <jh@suse.cz>
612
613         * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
614
615 2010-04-21  Jan Hubicka  <jh@suse.cz>
616
617         * varpool.c (decide_is_variable_needed): Variable is always needed
618         during ltrans.
619
620 2010-04-21  Jan Hubicka  <jh@suse.cz>
621
622         * opts.c (decode_options): Enable pure-const pass for whopr.
623
624 2010-04-21  Jan Hubicka  <jh@suse.cz>
625
626         * cgraph.c (dump_cgraph_node): Dump also assembler name.
627         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
628         at WPA dumping.
629         (cgraph_decide_inlining): Do not expect callee to be removed in all
630         cases.
631
632 2010-04-21  Eric B. Weddington  <eric.weddington@atmel.com>
633
634         * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
635
636 2010-04-21  Uros Bizjak  <ubizjak@gmail.com>
637
638         * config/i386/i386.md (x86_shrd): Add athlon_decode and
639         amdfam10_decode attributes.
640
641 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
642
643         PR middle-end/43570
644         * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
645         OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
646         (lower_copyprivate_clauses): Use private var in outer
647         context instead of original var.  Make sure the types
648         are correct for VLAs.
649
650 2010-04-21  Richard Guenther  <rguenther@suse.de>
651
652         * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
653         to non-pointer objects.
654
655 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
656
657         * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument.  Drop
658         last chain entry if it starts with the still current label.
659         (add_location_or_const_value_attribute): Check that
660         loc_list->first->next is NULL instead of comparing ->first with ->last.
661         (dwarf2out_var_location): Pass last_label resp. last_postcall_label
662         to add_var_loc_to_decl.
663
664         * dwarf2out.c (output_call_frame_info): For dw_cie_version
665         >= 4 add also address size and segment size fields into CIE header.
666
667         * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
668         long as address size is the same as sizeof (void *) and
669         segment size is 0.
670         * unwind-dw2-fde.c (get_cie_encoding): Likewise.  If
671         address size or segment size is unexpected, return DW_EH_PE_omit.
672         (classify_object_over_fdes): If get_cie_encoding returned
673         DW_EH_PE_omit, return -1.
674         (init_object): If classify_object_over_fdes returned -1,
675         pretend there were no FDEs at all.
676
677 2010-04-21  Uros Bizjak  <ubizjak@gmail.com>
678
679         * config/i386/i386.md (bswap<mode>2): Macroize expander from
680         bswap{si,di}2 using SWI48 mode iterator.
681         (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
682         SWI48 mode iterator.  Set type attribute of bswap insn to bitmanip,
683         set modrm attribute of bswap insn to 0 and remove length attribute.
684         (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
685         iterator.  Set type attribute to bitmanip, set modrm attribute to 0,
686         set mode attribute to <MODE> and remove length attribute.
687
688 2010-04-20  James E. Wilson  <wilson@codesourcery.com>
689
690         PR rtl-optimization/43520
691         * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
692         zero available registers.
693
694 2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
695
696         * builtins.c (fold_builtin_cproj): Fold more cases.
697
698 2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
699
700         * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
701         (fold_builtin_1): Fold builtin cproj.
702         * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
703         Use ATTR_CONST_NOTHROW_LIST.
704
705 2010-04-20  Uros Bizjak  <ubizjak@gmail.com>
706
707         * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
708         and ffsdi2 using SWI48 mode iterator.  Expand SImode insn through
709         ffsi2_no_cmove for !TARGET_CMOVE.
710         (ffssi2_no_cmove): Rename from *ffs_no_cmove.  Make public.
711         (ffssi2): Remove expander.
712         (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
713         mode iterator.
714         (ctz<mode>2): Ditto from ctz{si,di}2.
715         (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
716         mode iterator.
717         (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
718         mode iterator.
719
720 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
721
722         * dwarf2out.c (AT_linkage_name): Define.
723         (clone_as_declaration): Handle DW_AT_linkage_name.
724         (add_name_and_src_coords_attributes): Use AT_linkage_name instead
725         of DW_AT_MIPS_linkage_name.
726         (move_linkage_attr): Likewise.
727         (dwarf2out_finish): Likewise.
728
729 2010-04-20  Xinliang David Li  <davidxl@gcc.gnu.org>
730
731         PR middle-end/41952
732         * fold-const.c (fold_comparison): New folding rule.
733
734 2010-04-20  Anatoly Sokolov  <aesok@post.ru>
735
736         * double-int.h (double_int_setbit): Declare.
737         * double-int.c (double_int_setbit): New function.
738         * rtl.h (immed_double_int_const): Declare.
739         * emit-rtl.c (immed_double_int_const): New function.
740         * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
741         and immed_double_int_const functions.
742         * optabs.c (expand_absneg_bit, expand_copysign_absneg,
743         expand_copysign_bit):  (Ditto.).
744         * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
745         * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
746         * dojump.c (prefer_and_bit_test): (Ditto.).
747         * expr.c (convert_modes, reduce_to_bit_field_precision,
748         const_vector_from_tree): (Ditto.).
749         * expmed.c (mask_rtx, lshift_value): (Ditto.).
750
751 2010-04-20  Jan Hubicka  <jh@suse.cz>
752
753         * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
754         (dump_cgraph_node): Dump new flags.
755         * cgraph.h (struct cgraph_node): Add flags
756         reachable_from_other_partition and in_other_partition.
757         (cgraph_can_remove_if_no_direct_calls_p): Functions used by
758         other partition can not be removed.
759         * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
760         the other partition must be output; silence sanity checking on
761         leaking functions bodies from other paritition.
762         * lto-cgraph.c (reachable_from_other_partition_p): New function.
763         (lto_output_node): Output new flags; do not sanity check that inline
764         clones are output; drop lto_forced_extern_inline_p code; do not mock
765         visibility flags at partition boundaries.
766         (add_node_to): New function.
767         (output_cgraph): Use it to sort functions so masters appear before
768         clones.
769         (input_overwrite_node): Input new flags.
770         * passes.c (ipa_write_summaries): Do not call
771         lto_new_extern_inline_states.
772         * lto-section-out.c (forced_extern_inline, lto_new_extern_inline_states,
773         lto_delete_extern_inline_states, lto_force_functions_extern_inline,
774         lto_forced_extern_inline_p): Kill.
775         * lto-streamer.h (lto_new_extern_inline_states,
776         * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
777         lto_forced_extern_inline_p): Kill.
778
779 2010-04-20  Richard Guenther  <rguenther@suse.de>
780
781         * tree-ssa-structalias.c (do_sd_constraint): Add edges only
782         from vars that can have pointers.
783         (process_constraint): Dump useless constraints.
784
785 2010-04-20  Richard Guenther  <rguenther@suse.de>
786
787         * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
788         (dump_sa_points_to_info): Remove asserts.
789         (init_base_vars): nothing_id isn't an escape point nor does it
790         have pointers.
791
792 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
793
794         * tree.h (TYPE_REF_IS_RVALUE): Define.
795         * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
796         should_move_die_to_comdat, prune_unused_types_walk): Handle
797         DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
798         (modified_type_die, gen_reference_type_die): Emit
799         DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
800         if TYPE_REF_IS_RVALUE and -gdwarf-4.
801
802 2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
803
804         PR target/43635
805         * config/s390/s390.c (s390_emit_call): Turn direct into indirect
806         calls for -fpic -m31 if they have been sibcall optimized.
807
808 2010-04-19  James E. Wilson  <wilson@codesourcery.com>
809
810         * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
811         ar.lc fixed and call-used.
812
813         * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
814
815 2010-04-19  Jan Hubicka  <jh@suse.cz>
816
817         * opts.c (decode_options): Disable whpr incompatible passes.
818         * lto/lto.c (lto_1_to_1_map): Skip clones.
819         (read_cgraph_and_symbols): Do not mark everything as needed.
820         (do_whole_program_analysis): Do map only after optimizing;
821         set proper cgraph_state; use passmanager.
822
823 2010-04-19  DJ Delorie  <dj@redhat.com>
824
825         * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
826         POINTER_PLUS_EXPR and fix them.
827
828 2010-04-19  Eric B. Weddington  <eric.weddington@atmel.com>
829
830         * config/avr/avr-devices.c (avr_mcu_types): Add support for new
831         devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
832         attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
833         atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
834         atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
835         atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
836         atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
837         atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
838         m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
839         atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
840         * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
841
842 2010-04-19  Eric Botcazou  <ebotcazou@adacore.com>
843
844         * ifcvt.c (noce_try_cmove_arith): Fix long lines.
845         (check_cond_move_block): Likewise.
846         (cond_move_process_if_block): Likewise.
847         (noce_find_if_block): Improve formatting.
848         (find_if_header): Pass 0 to memset and tweak conditions.
849         (cond_exec_find_if_block): Fix long lines and tweak conditions.
850
851 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
852
853         * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
854         for -gdwarf-4.
855
856         PR middle-end/43337
857         * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
858         with non-local decl doesn't need chain.
859
860 2010-04-19  Vladimir Makarov  <vmakarov@redhat.com>
861
862         * ira-color.c (allocno_reload_assign): Avoid accumulating
863         reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
864
865 2010-04-19  Martin Jambor  <mjambor@suse.cz>
866
867         * gimple.h (create_tmp_reg): Declare.
868         * gimplify.c (create_tmp_reg): New function.
869         (gimplify_return_expr): Use create_tmp_reg.
870         (gimplify_omp_atomic): Likewise.
871         (gimple_regimplify_operands): Likewise.
872         * tree-dfa.c (make_rename_temp): Likewise.
873         * tree-predcom.c (predcom_tmp_var): Likewise.
874         (reassociate_to_the_same_stmt): Likewise.
875         * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
876         (get_replaced_param_substitute): Likewise.
877         * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
878         * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
879         * tree-ssa-pre.c (get_representative_for): Likewise.
880         (create_expression_by_pieces): Likewise.
881         * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
882         (create_tailcall_accumulator): Likewise.
883
884 2010-04-19  Martin Jambor  <mjambor@suse.cz>
885
886         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
887         new_stmt.
888         (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
889
890 2010-04-19  Richard Guenther  <rguenther@suse.de>
891
892         PR tree-optimization/43796
893         * tree-vrp.c (adjust_range_with_scev): Lookup init and step
894         from SCEV in the lattice.
895         (vrp_visit_phi_node): Dump change.
896
897 2010-04-19  Richard Guenther  <rguenther@suse.de>
898
899         * configure.ac: Fix quoting around elf_getshstrndx ABI check.
900         * configure: Re-generated.
901
902 2010-04-19  Richard Guenther  <rguenther@suse.de>
903
904         PR tree-optimization/43783
905         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
906         constant ARRAY_REF operands two and three if possible.
907
908 2010-04-19  Uros Bizjak  <ubizjak@gmail.com>
909
910         PR target/43766
911         * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
912
913 2010-04-19  Jie Zhang  <jie@codesourcery.com>
914
915         PR target/43662
916         * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
917
918 2010-04-19  Ira Rosen  <irar@il.ibm.com>
919
920         PR tree-optimization/37027
921         * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
922         and macro to access it.
923         (vectorizable_reduction): Add argument.
924         (vect_get_slp_defs): Likewise.
925         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
926         statements for possible use in SLP.
927         (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
928         (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
929         (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
930         add new argument.
931         (vectorizable_reduction): Likewise.
932         * tree-vect-stmts.c (vect_get_vec_defs): Update call to
933         vect_get_slp_defs.
934         (vectorizable_type_demotion, vectorizable_type_promotion,
935         vectorizable_store): Likewise.
936         (vect_analyze_stmt): Update call to vectorizable_reduction.
937         (vect_transform_stmt): Likewise.
938         * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
939         (vect_build_slp_tree): Fix indentation. Check that there are no loads
940         from different interleaving chains in same node.
941         (vect_slp_rearrange_stmts): New function.
942         (vect_supported_load_permutation_p): Allow load permutations for
943         reductions. Call vect_slp_rearrange_stmts() to rearrange statements
944         inside SLP nodes if necessary.
945         (vect_analyze_slp_instance): Handle reductions.
946         (vect_analyze_slp): Try to build SLP instances originating from groups
947         of reductions.
948         (vect_detect_hybrid_slp_stmts): Skip reduction statements.
949         (vect_get_constant_vectors): Create initial vectors for reductions
950         according to reduction code. Add new argument.
951         (vect_get_slp_defs): Add new argument, pass it to
952         vect_get_constant_vectors.
953         (vect_schedule_slp_instance): Remove SLP tree root statements.
954
955 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
956
957         * tree.h (ENUM_IS_SCOPED): Define.
958         * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
959         for ENUM_IS_SCOPED enums.
960
961 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
962
963         * fold-const.c (fold_comparison): Use ssizetype.
964         * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
965         * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
966         * tree-loop-distribution.c (build_size_arg_loc): Likewise.
967         * tree-object-size.c (compute_object_sizes): Use size_type_node.
968
969         * tree.h (initialize_sizetypes): Remove parameter.
970         (build_common_tree_nodes): Remove second parameter.
971         * stor-layout.c (initialize_sizetypes): Remove parameter.
972         Always create an unsigned type.
973         (set_sizetype): Assert that the passed type is unsigned and simplify.
974         * tree.c (build_common_tree_nodes): Remove second parameter.
975         Adjust call to initialize_sizetypes.
976         * c-decl.c (c_init_decl_processing): Remove second argument in call to
977         build_common_tree_nodes.
978
979 2010-04-18  Matthias Klose  <doko@ubuntu.com>
980
981         * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
982
983 2010-04-18  Ira Rosen  <irar@il.ibm.com>
984
985         PR tree-optimization/43771
986         * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
987         load permutation doesn't have gaps.
988
989 2010-04-18  Jan Hubicka  <jh@suse.cz>
990
991         * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
992         (sse_prologue_save_insn expander): Use new pattern.
993         (sse_prologue_save_insn1): New pattern and splitter.
994         (sse_prologue_save_insn): Update to deal also with 64bit aligned
995         blocks.
996         * i386.c (setup_incoming_varargs_64): Do not compute jump
997         destination here.
998         (ix86_gimplify_va_arg): Update alignment needed.
999         (ix86_local_alignment): Do not align all local arrays to 128bit.
1000
1001 2010-04-17  Jan Hubicka  <jh@suse.cz>
1002
1003         * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
1004
1005 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
1006
1007         * arm.md (negdi2): Remove redundant code to force values into a
1008         register.
1009
1010 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
1011
1012         * arm/bpabi.S: Add EABI alignment attributes to objects.
1013         * arm/bpabi-v6m.S: Likewise.
1014         * arm/crti.asm: Likewise.
1015         * arm/crtn.asm: Likewise.
1016         * arm/lib1funcs.asm: Likewise.
1017         * arm/libunwind.S: Likewise.
1018
1019 2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
1020
1021         * arm-protos.h (tune_params): New structure.
1022         * arm.c (current_tune): New variable.
1023         (arm_constant_limit): Delete.
1024         (struct processors): Add pointer to the tune parameters.
1025         (arm_slowmul_tune): New tuning option.
1026         (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
1027         (all_cores): Adjust to pick up the tuning model.
1028         (arm_constant_limit): New function.
1029         (arm_override_options): Select the appropriate tuning model.  Delete
1030         initialization of arm_const_limit.
1031         (arm_split_constant): Use the new constant-limit model.
1032         (arm_rtx_costs): Pick up the current tuning model.
1033         * arm.md (is_strongarm, is_xscale): Delete.
1034         * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
1035         for Xscale variant architectures.
1036         (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
1037
1038 2010-04-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1039
1040         * config/arm/arm.c (arm_gen_constant): Remove unused variable
1041         can_shift.
1042         (arm_rtx_costs_1): Remove unused variable extra_cost.
1043         (arm_unwind_emit_set): Use variable offset.
1044         (thumb1_output_casesi): Remove unused variable flags.
1045
1046 2010-04-16  Jeff Law  <law@redhat.com>
1047
1048         * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
1049         needing assignment rather than doing a two-phase assignment.  Remove
1050         unused variable 'm'.
1051
1052 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
1053
1054         PR bootstrap/43767
1055         * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
1056
1057 2010-04-16  Doug Kwan  <dougkwan@google.com>
1058
1059         * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
1060         (next_operand_entry_id): New static variable.
1061         (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
1062         (add_to_ops_vec): Assigned unique ID to operand entry.
1063         (struct oecount_s): New field ID.
1064         (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
1065         (undistribute_ops_list): Assign unique IDs to oecounts.
1066         (init_reassoc): reset next_operand_entry_id.
1067
1068 2010-04-16  Doug Kwan  <dougkwan@google.com>
1069
1070         * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
1071         missing left parenthesis.
1072
1073 2010-04-16  Uros Bizjak  <ubizjak@gmail.com>
1074
1075         * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
1076         *btdi_rex64 using SWI48 mode iterator.
1077         (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
1078         (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
1079         *jcc_btdi_mask_rex64.
1080
1081 2010-04-16  Anatoly Sokolov  <aesok@post.ru>
1082
1083         * double-int.h (tree_to_double_int): Convert to macro.
1084         * double-int.c (tree_to_double_int): Remove.
1085
1086 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
1087
1088         PR debug/43762
1089         * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
1090         with want_address 2 and in case a single element list might be
1091         possible, call it again with want_address 0.
1092
1093 2010-04-12  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
1094
1095         * config/h8300/h8300.c (print_operand) : Modify case 'V' and
1096         case 'W' print operands for HI mode.
1097         * config/h8300/h8300.h (Y0, Y2) : New constraints.
1098         * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
1099         (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
1100         * config/h8300/predicate.md (bit_register_indirect_operand): New.
1101
1102         * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
1103
1104         * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
1105         cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
1106         #xx:3 and #xx:4 mode.
1107
1108         * config/h8300/h8300.md (inverted load with HImode dest): Add
1109         support for H8300SX.
1110
1111         * config/h8300/predicate.md (bit_operand): Allow immediate values that
1112         satisfy 'U' constraint.
1113
1114 2010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1115
1116         * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
1117         * configure: Regenerate.
1118         * config.in: Regenerate.
1119         * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
1120         works.
1121
1122 2010-04-16  Richard Guenther  <rguenther@suse.de>
1123
1124         * tree.h (struct tree_decl_minimal): Move pt_uid ...
1125         (struct tree_decl_common): ... here.
1126         (DECL_PT_UID): Adjust.
1127         (SET_DECL_PT_UID): Likewise.
1128         (DECL_PT_UID_SET_P): Likewise.
1129
1130 2010-04-16  Richard Guenther  <rguenther@suse.de>
1131
1132         PR tree-optimization/43572
1133         * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
1134         * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
1135         * tree-flow.h (is_call_clobbered): Remove.
1136         * tree-flow-inline.h (is_call_clobbered): Likewise.
1137         * tree-dfa.c (dump_variable): Do not dump call clobber state.
1138         * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
1139         (execute_return_slot_opt): Adjust.
1140         * tree-tailcall.c (suitable_for_tail_opt_p): Remove
1141         check for call clobbered vars here.
1142         (find_tail_calls): Move tailcall verification to the
1143         proper place.
1144
1145 2010-04-16  Diego Novillo  <dnovillo@google.com>
1146
1147         * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
1148
1149 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
1150
1151         PR target/40603
1152         * config/arm/arm.md (cbranchqi4): New pattern.
1153         * config/arm/predicates.md (const0_operand,
1154         cbranchqi4_comparison_operator): New predicates.
1155
1156 2010-04-16  Richard Guenther  <rguenther@suse.de>
1157
1158         * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
1159         (dump_gimple_stmt): Likewise.
1160
1161 2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
1162
1163         * recog.h (struct recog_data): New field is_operator.
1164         (struct insn_operand_data): New field is_operator.
1165         * recog.c (extract_insn): Set recog_data.is_operator.
1166         * genoutput.c (output_operand_data): Emit code to set the
1167         is_operator field.
1168         * reload.c (find_reloads): Use it rather than testing for an
1169         empty constraint string.
1170
1171         PR target/41514
1172         * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
1173         If the previous insn is a cbranchsi4_insn with the same arguments,
1174         omit the compare instruction.
1175
1176         * config/arm/arm.md (addsi3_cbranch): If destination is a high
1177         register, inputs must be low registers and we need a low register
1178         scratch.  Handle alternative 2 like alternative 3.
1179
1180 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
1181
1182         * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
1183         don't call get_addr on both.  If one expression is a VALUE and
1184         the other a REG, check VALUE's locs if the REG isn't among them.
1185
1186 2010-04-16  Christian Bruel  <christian.bruel@st.com>
1187
1188         * config/sh/sh.h (sh_frame_pointer_required): New function.
1189         * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
1190         (flag_omit_frame_pointer) Set.
1191         (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
1192         (rounded_frame_size): Adjust size with outgoing_args_size.
1193         (sh_set_return_address): Must return from stack pointer.
1194         * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
1195         (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
1196         (ACCUMULATE_OUTGOING_ARGS): Define.
1197         * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
1198         * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
1199
1200 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
1201
1202         PR target/43471
1203         * config/sh/sh.c (sh_legitimize_reload_address): Use
1204         MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
1205         Remove a unneeded check for offset_base.
1206
1207 2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>
1208
1209         * configure: Regenerated.
1210
1211 2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1212
1213         * config/s390/s390.c (s390_call_save_register_used): Switch back
1214         to HARD_REGNO_NREGS.
1215
1216 2010-04-15  Richard Guenther  <rguenther@suse.de>
1217
1218         * alias.c (alias_set_subset_of): Handle alias-set zero
1219         child properly.
1220
1221 2010-04-15  Mark Shinwell  <shinwell@codesourcery.com>
1222             Julian Brown  <julian@codesourcery.com>
1223
1224         * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
1225         alternatives according to use of high and low regs.
1226         * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
1227         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
1228         optimizing for size on Thumb-2.
1229
1230 2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
1231
1232         * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
1233
1234 2010-04-15  Richard Guenther  <rguenther@suse.de>
1235
1236         * tree-ssa-structalias.c (struct variable_info): Add
1237         is_fn_info flag.
1238         (new_var_info): Initialize it.
1239         (dump_constraints): Support printing last added constraints.
1240         (debug_constraints): Adjust.
1241         (dump_constraint_graph): Likewise.
1242         (make_heapvar_for): Check for NULL cfun.
1243         (get_function_part_constraint): New function.
1244         (get_fi_for_callee): Likewise.
1245         (find_func_aliases): Properly implement IPA PTA constraints.
1246         (process_ipa_clobber): New function.
1247         (find_func_clobbers): Likewise.
1248         (insert_into_field_list_sorted): Remove.
1249         (create_function_info_for): Properly allocate vars for IPA mode.
1250         Do not use insert_into_field_list_sorted.
1251         (create_variable_info_for): Properly generate constraints for
1252         global vars in IPA mode.
1253         (dump_solution_for_var): Always dump the solution.
1254         (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
1255         (find_what_var_points_to): Adjust.
1256         (pt_solution_set): Change.
1257         (pt_solution_ior_into): New function.
1258         (pt_solution_empty_p): Export.
1259         (pt_solution_includes_global): Adjust.
1260         (pt_solution_includes_1): Likewise.
1261         (pt_solutions_intersect_1): Likewise.
1262         (dump_sa_points_to_info): Check some invariants.
1263         (solve_constraints): Move constraint dumping ...
1264         (compute_points_to_sets): ... here.
1265         (ipa_pta_execute): ... and here.
1266         (compute_may_aliases): Do not re-compute points-to info
1267         locally if IPA info is available.
1268         (ipa_escaped_pt): New global var.
1269         (ipa_pta_execute): Properly implement IPA PTA.
1270         * tree-into-ssa.c (dump_decl_set): Support dumping
1271         decls not in referenced-vars.
1272         * tree-flow.h (struct gimple_df): Add ipa_pta flag.
1273         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
1274         (dump_points_to_solution): Likewise.
1275         * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
1276         * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
1277         (remap_gimple_stmt): Reset call clobber/use information if necessary.
1278         (copy_decl_to_var): Copy DECL_PT_UID.
1279         (copy_result_decl_to_var): Likewise.
1280         * tree.c (make_node_stat): Initialize DECL_PT_UID.
1281         (copy_node_stat): Copy it.
1282         * tree.h (DECL_PT_UID): New macro.
1283         (SET_DECL_PT_UID): Likewise.
1284         (DECL_PT_UID_SET_P): Likewise.
1285         (struct tree_decl_minimal): Add pt_uid member.
1286         * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
1287         (pt_solution_empty_p): Declare.
1288         (pt_solution_set): Adjust.
1289         (ipa_escaped_pt): Declare.
1290         * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
1291         * gimple-pretty-print.c (pp_points_to_solution): New function.
1292         (dump_gimple_call): Dump call clobber/use information.
1293         * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
1294         * tree-pass.h (TDF_ALIAS): New dump option.
1295         * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
1296         * doc/invoke.texi (-fipa-pta): Update documentation.
1297
1298 2010-04-15  Richard Guenther  <rguenther@suse.de>
1299
1300         * Makefile.in (OBJS-common): Add gimple-fold.o.
1301         (gimple-fold.o): New rule.
1302         * tree.h (maybe_fold_offset_to_reference,
1303         maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
1304         prototypes ...
1305         * gimple.h: ... here.
1306         * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
1307         may_propagate_address_into_dereference): Move prototypes ...
1308         * gimple.h: ... here.
1309         * tree-ssa-ccp.c (get_symbol_constant_value,
1310         may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
1311         maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
1312         maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
1313         maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
1314         ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
1315         fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
1316         gimplify_and_update_call_from_tree): Move ...
1317         * gimple-fold.c: ... here.  New file.
1318         (ccp_fold_builtin): Rename to ...
1319         (gimple_fold_builtin): ... this.
1320         * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
1321
1322 2010-04-15  Richard Guenther  <rguenther@suse.de>
1323
1324         * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
1325         fit_double_type, force_fit_type_double, add_double_with_sign,
1326         neg_double, mul_double_with_sign, lshift_double, rshift_double,
1327         lrotate_double, rrotate_double, div_and_round_double): Move ...
1328         * double-int.c: ... here.
1329         * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
1330         add_double, neg_double, mul_double_with_sign, mul_double,
1331         lshift_double, rshift_double, lrotate_double, rrotate_double,
1332         div_and_round_double): Move prototypes ...
1333         * double-int.h: ... here.
1334
1335 2010-04-15  Bernd Schmidt  <bernds@codesourcery.com>
1336
1337         PR target/43742
1338         * config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
1339         matching constraints to ensure inputs match the output.
1340
1341 2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
1342
1343         PR target/43742
1344         * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
1345         in an input-only operand.
1346
1347 2010-04-15  Anatoly Sokolov  <aesok@post.ru>
1348
1349         * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
1350         (double_int_not, double_int_lshift, double_int_rshift): Declare.
1351         (double_int_negative_p): Convert to static inline function.
1352         * double-int.c (double_int_lshift, double_int_lshift): Add new function.
1353         (double_int_negative_p): Remove.
1354         * tree.h (lshift_double, rshift_double):
1355         * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
1356         * fold-const.c (fold_convert_const_int_from_real,
1357         fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
1358         (lshift_double): Change type of arith argument to bool.
1359         (rshift_double): Change type of arith argument to bool. Correct
1360         comment.
1361         * expmed.c (mask_rtx, lshift_value): (Ditto.).
1362
1363 2010-04-14  Bernd Schmidt  <bernds@codesourcery.com>
1364
1365         PR target/21803
1366         * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
1367         at the start and end of the then/else blocks, and omit them from the
1368         conversion.
1369         * cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
1370         argument; all callers changed.  Pass zero to old_insns_match_p instead.
1371         (flow_find_head_matching_sequence): New function.
1372         (old_insns_match_p): Check REG_EH_REGION notes for calls.
1373         * basic-block.h (flow_find_cross_jump,
1374         flow_find_head_matching_sequence): Declare functions.
1375
1376 2010-04-14  Jason Merrill  <jason@redhat.com>
1377
1378         PR c++/36625
1379         * c-common.c (attribute_takes_identifier_p): New fn.
1380         * c-common.h: Declare it.
1381
1382 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
1383
1384         * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
1385         splitter condition.
1386         (*udivmod<mode>4): Ditto.
1387
1388 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
1389
1390         * config/i386/i386.md (maxmin_int): Rename code attribute from
1391         maxminiprefix and update all users.
1392         (maxmin_float): Ditto from maxminfprefix.
1393         (logic): Ditto from logicprefix.
1394         (absneg_mnemonic): Ditto from absnegprefix.
1395         * config/i386/mmx.md: Update all users of maxminiprefix,
1396         maxminfprefix and logicprefix for rename.
1397         * config/i386/sse.md: Ditto.
1398         * config/i386/sync.md (sync_<code><mode>): Update for
1399         logicprefix rename.
1400
1401 2010-04-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1402
1403         PR 42966
1404         * diagnostics.c (diagnostic_report_diagnostic): Mark specially
1405         warnings converted to errors.
1406
1407 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
1408
1409         * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
1410         used insn_type variable.
1411         (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
1412         to avoid set-but-not-used warning.
1413
1414 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
1415
1416         * df-core.c (df_ref_debug): Change format string placeholder
1417         from 0x%x to %#x.
1418         * dwarf2asm.c (dw2_asm_output_data_raw,
1419         dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
1420         dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
1421         * dwarf2out.c (output_cfi, output_cfi_directive,
1422         dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
1423         output_cfa_loc_raw, output_die, output_ranges, output_file_names):
1424         Ditto.
1425         * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
1426         * print-rtl.c (print_rtx): Ditto.
1427
1428 2010-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
1429
1430         PR middle-end/42694
1431         * builtins.c (expand_builtin_pow_root): New function to expand pow
1432         calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
1433         series of sqrt and cbrt calls under -ffast-math.
1434         (expand_builtin_pow): Call it.
1435
1436 2010-04-14  Michael Matz  <matz@suse.de>
1437
1438         PR tree-optimization/42963
1439         * tree-cfg.c (touched_switch_bbs): New static variable.
1440         (group_case_labels_stmt): New function broken out from ...
1441         (group_case_labels): ... here, use the above.
1442         (start_recording_case_labels): Allocate touched_switch_bbs.
1443         (end_recording_case_labels): Deallocate it, call
1444         group_case_labels_stmt.
1445         (gimple_redirect_edge_and_branch): Remember index of affected BB.
1446
1447 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
1448
1449         * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
1450         from insn template.
1451
1452 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
1453
1454         * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
1455
1456 2010-04-13  Jan Hubicka  <jh@suse.cz>
1457
1458         * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
1459         of optimized out static functions.
1460         (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
1461         cost computation.  Also sanity check for overflows.
1462         (update_caller_keys): Update cgraph_edge_badness call; properly
1463         update fibheap and sanity check that it is up to date.
1464         (add_new_edges_to_heap): Update cgraph_edge_badness.
1465         (cgraph_decide_inlining_of_small_function): Likewise;
1466         add sanity checking that badness in heap is up to date;
1467         improve dumping of reason; Update badness of calls to the
1468         offline copy of function currently inlined; dump badness
1469         of functions not inlined because of unit growth limits.
1470
1471 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
1472
1473         PR middle-end/32628
1474         * c-common.c (pointer_int_sum): Disregard overflow that occured only
1475         because of sign-extension change when converting to sizetype here...
1476         * fold-const.c (fold_convert_const_int_from_int): ...and not here.
1477
1478         * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
1479         the folding to constants.  Remove redundant final conversion.
1480         (fold_binary) <associate>: Do not associate if the re-association of
1481         constants alone overflows.
1482         (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
1483         to the end of the list.
1484         (multiple_of_p) <COND_EXPR>: New case.
1485
1486 2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1487
1488         * opt-functions.awk (opt_sanitized_name): New.
1489         (opt_enum): New.
1490         * optc-gen.awk: Use it
1491         * opth-gen.awk: Use it.
1492
1493 2010-04-13  Martin Jambor  <mjambor@suse.cz>
1494
1495         * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
1496         (sra_modify_assign): Delete stmts loading dead data even if racc has no
1497         children.  Call replace_uses_with_default_def_ssa_name to handle
1498         SSA_NAES on lhs.
1499
1500 2010-04-13  Michael Matz  <matz@suse.de>
1501
1502         PR middle-end/43730
1503         * builtins.c (expand_builtin_interclass_mathfn): Also create
1504         a register if the predicate doesn't match.
1505
1506 2010-04-13  Diego Novillo  <dnovillo@google.com>
1507
1508         * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
1509         * c-pch.c: Include timevar.h.
1510         (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
1511         (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
1512         * ggc-common.c: Include timevar.h.
1513         (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
1514         * timevar.def (TV_PCH_SAVE): Define.
1515         (TV_PCH_CPP_SAVE): Define.
1516         (TV_PCH_PTR_REALLOC): Define.
1517         (TV_PCH_PTR_SORT): Define.
1518         (TV_PCH_RESTORE): Define.
1519         (TV_PCH_CPP_RESTORE): Define.
1520
1521 2010-04-13  Michael Matz  <matz@suse.de>
1522
1523         * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
1524         into MINUS_EXPRs.
1525         (can_reassociate_p): New function.
1526         (break_up_subtract_bb, reassociate_bb): Use it.
1527
1528 2010-04-13  Richard Guenther  <rguenther@suse.de>
1529
1530         PR bootstrap/43737
1531         * builtins.c (c_readstr): Fix assert.
1532
1533 2010-04-13  Uros Bizjak  <ubizjak@gmail.com>
1534
1535         * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
1536         when generating cltd insn.
1537
1538         (*ashl<mode>3_1): Remove special handling for register operand 2.
1539         (*ashlsi3_1_zext): Ditto.
1540         (*ashlhi3_1): Ditto.
1541         (*ashlhi3_1_lea): Ditto.
1542         (*ashlqi3_1): Ditto.
1543         (*ashlqi3_1_lea): Ditto.
1544         (*<shiftrt_insn><mode>3_1): Ditto.
1545         (*<shiftrt_insn>si3_1_zext): Ditto.
1546         (*<shiftrt_insn>qi3_1_slp): Ditto.
1547         (*<rotate_insn><mode>3_1): Ditto.
1548         (*<rotate_insn>si3_1_zext): Ditto.
1549         (*<rotate_insn>qi3_1_slp): Ditto.
1550
1551 2010-04-13  Richard Guenther  <rguenther@suse.de>
1552
1553         * tree-ssa-structalias.c (callused_id): Remove.
1554         (call_stmt_vars): New.
1555         (get_call_vi): Likewise.
1556         (lookup_call_use_vi): Likewise.
1557         (lookup_call_clobber_vi): Likewise.
1558         (get_call_use_vi): Likewise.
1559         (get_call_clobber_vi): Likewise.
1560         (make_transitive_closure_constraints): Likewise.
1561         (handle_const_call): Adjust to do per-call call-used handling.
1562         (handle_pure_call): Likewise.
1563         (find_what_var_points_to): Remove general callused handling.
1564         (init_base_vars): Likewise.
1565         (init_alias_vars): Initialize call_stmt_vars.
1566         (compute_points_to_sets): Process call-used and call-clobbered
1567         vars for call statements.
1568         (delete_points_to_sets): Free call_stmt_vars.
1569
1570 2010-04-13  Richard Guenther  <rguenther@suse.de>
1571
1572         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
1573         Only add RW dependence for dependence distance zero.
1574         Adjust maximal vectorization factor according to dependences.
1575         Move alignment handling ...
1576         (vect_find_same_alignment_drs): ... here.  New function.
1577         (vect_analyze_data_ref_dependences): Adjust.
1578         (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
1579         (vect_analyze_data_refs): Adjust minimal vectorization factor
1580         according to data references.
1581         * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
1582         dependences before determining the vectorization factor.
1583         Analyze alignment after determining the vectorization factor.
1584         * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
1585         dependences before alignment.
1586         * tree-vectorizer.h (vect_analyze_data_ref_dependences):
1587         Adjust prototype.
1588         (vect_analyze_data_refs): Likewise.
1589         (MAX_VECTORIZATION_FACTOR): New define.
1590
1591 2010-04-13  Duncan Sands  <baldrick@free.fr>
1592
1593         * except.h (lang_eh_type_covers): Remove.
1594         * except.c (lang_eh_type_covers): Likewise.
1595
1596 2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1597             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1598
1599         * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
1600         * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
1601         UNITS_PER_LONG where it is ABI relevant.
1602         (s390_return_addr_rtx): Likewise.
1603         (s390_back_chain_rtx): Likewise.
1604         (s390_frame_area): Likewise.
1605         (s390_frame_info): Likewise.
1606         (s390_initial_elimination_offset): Likewise.
1607         (save_gprs): Likewise.
1608         (s390_emit_prologue): Likewise.
1609         (s390_emit_epilogue): Likewise.
1610         (s390_function_arg_advance): Likewise.
1611         (s390_function_arg): Likewise.
1612         (s390_va_start): Likewise.
1613         (s390_gimplify_va_arg): Likewise.
1614         (s390_function_profiler): Likewise.
1615         (s390_optimize_prologue): Likewise.
1616         (s390_rtx_costs): Likewise.
1617         (s390_secondary_reload): Likewise.
1618         (s390_promote_function_mode): Likewise.
1619         (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
1620         (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
1621         registers available.
1622         (s390_unwind_word_mode): New function.
1623         (s390_function_value): Split 64 bit values into register pair if
1624         used as return value.
1625         (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
1626         function call parameters.  Handle parallels.
1627         (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
1628         (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
1629         (DWARF_CIE_DATA_ALIGNMENT): New macro.
1630         (s390_expand_setmem): Remove unused variable src_addr.
1631         * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
1632         deal with 64 bit registers.
1633         * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
1634         Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
1635         (UNITS_PER_LONG): New macro.
1636         * libjava/include/s390-signal.h: Define extended ucontext
1637         structure containing the upper halfs of the 64 bit registers.
1638
1639 2010-04-13  Simon Baldwin  <simonb@google.com>
1640
1641         * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
1642
1643 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
1644
1645         * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
1646         rvalue on the RHS if the LHS is of a non-renamable type.
1647         * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
1648
1649 2010-04-13  Matthias Klose  <doko@ubuntu.com>
1650
1651         * gcc.c (cc1_options): Handle -iplugindir before processing
1652         the cc1 spec. Only add -iplugindir once.
1653         (cpp_unique_options): Add -iplugindir option if -fplugin* options
1654         found.
1655         * common.opt (iplugindir): Remove `Separate' property, initialize.
1656         * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
1657         option.
1658         * Makefile.in (check-%, check-parallel-%): Create plugin dir.
1659         (distclean): Remove plugin dir.
1660         * doc/invoke.texi: Document -iplugindir.
1661
1662 2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>
1663
1664         * doc/plugins.texi (Loading Plugins): Document short
1665         -fplugin=foo option.
1666         (Plugin API): Mention default_plugin_dir_name function.
1667
1668         * gcc.c (find_file_spec_function): Add new declaration.
1669         (static_spec_func): Use it for "find-file".
1670         (find_file_spec_function): Add new function.
1671         (cc1_options): Add -iplugindir option if -fplugin* options found.
1672
1673         * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
1674
1675         * plugin.c (add_new_plugin): Updated comment, and handle short
1676         plugin name.
1677         (default_plugin_dir_name): Added new function.
1678
1679         * common.opt (iplugindir): New option to set the plugin directory.
1680
1681 2010-04-12  Uros Bizjak  <ubizjak@gmail.com>
1682
1683         * config/i386/i386.md (any_rotate): New code iterator.
1684         (rotate_insn): New code attribute.
1685         (rotate): Ditto.
1686         (SWIM124): New mode iterator.
1687         (<rotate_insn>ti3): New expander.
1688         (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
1689         any_rotate code iterator.
1690         (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
1691         using any_rotate code iterator and SWIM124 mode iterator.
1692         (ix86_rotlti3): New insn_and_split pattern.
1693         (ix86_rotrti3): Ditto.
1694         (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
1695         ix86_rotl{di,ti}3 patterns.
1696         (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
1697         (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
1698         and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
1699         *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
1700         code iterator and SWI mode iterator.
1701         (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
1702         Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
1703         code iterator.
1704         (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
1705         Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
1706         (bswap rotatert splitter): Add splitter.
1707         (bswap splitter): Macroize splitter using any_rotate code iterator.
1708         Add insn predicate to split only for TARGET_USE_XCHGB or when
1709         optimizing function for size.
1710
1711 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
1712
1713         * config/pa/pa.c (emit_move_sequence): Remove use of
1714         deleted variable flag_argument_noalias.
1715
1716 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1717
1718         * config.gcc: Removed *-*-solaris2.7* from list of obsolete
1719         configurations.
1720         Add to unsupported targets list.
1721         * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
1722         sparc*-sun-solaris2.[567]* from target lists.
1723         * configure: Regenerate.
1724         * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
1725         removal.
1726         Remove Solaris 7 patch references.
1727         (Specific, sparc-sun-solaris2.7): Removed.
1728         (sparc-sun-solaris2*): Update Solaris 7 example.
1729         (sparc64-*-solaris2*): Likewise.
1730
1731 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1732
1733         * config.build (alpha*-dec-osf4*): Remove.
1734         * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
1735         of obsolete configurations.
1736         (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
1737         support.
1738         * config/alpha/t-osf4: Renamed to ...
1739         * config/alpha/t-osf5: ... this.
1740         * config/alpha/osf.h: Renamed to ...
1741         * config/alpha/osf5.h: ... this.
1742         Merged old osf5.h contents.
1743         Update comments.
1744         (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
1745         (EXTRA_SPECS): Removed.
1746         * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
1747         reflect removal of Tru64 UNIX V4.0/V5.0 support.
1748         Document that.
1749
1750 2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1751
1752         * doc/contrib.texi (Contributors, Rainer Orth): Update.
1753
1754 2010-04-12  Kai Tietz  <kai.tietz@onevision.com>
1755
1756         PR/43702
1757         * config/i386/i386.c (x86_this_parameter): Handle aggregate for
1758         __thiscall convention.
1759
1760 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
1761
1762         * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
1763         orig_base.
1764         * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
1765
1766 2010-04-12  Steve Ellcey  <sje@cup.hp.com>
1767
1768         * function.c (assign_parms_initialize_all): Add unused attribute
1769         to fntype.
1770
1771 2010-04-12  Richard Guenther  <rguenther@suse.de>
1772
1773         * gsstruct.def (GSS_CALL): New.
1774         * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
1775         * gimple.h: Include tree-ssa-alias.h.
1776         (struct gimple_statement_call): New.
1777         (union gimple_statement_struct_d): Add gimple_call member.
1778         (gimple_call_reset_alias_info): Declare.
1779         (gimple_call_use_set): New function.
1780         (gimple_call_clobber_set): Likewise.
1781         * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
1782         * gimple.c (gimple_call_reset_alias_info): New function.
1783         (gimple_build_call_1): Call it.
1784         * lto-streamer-in.c (input_gimple_stmt): Likewise.
1785         * tree-inline.c (remap_gimple_stmt): Likewise.
1786         (expand_call_inline): Remove callused handling.
1787         * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
1788         * tree-dfa.c (dump_variable): Likewise.
1789         * tree-parloops.c (parallelize_loops): Likewise.
1790         * tree-ssa.c (init_tree_ssa): Likewise.
1791         (delete_tree_ssa): Likewise.
1792         * tree-flow-inline.h (is_call_used): Remove.
1793         * tree-flow.h (struct gimple_df): Remove callused member.
1794         * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
1795         * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
1796         (ref_maybe_used_by_call_p_1): Simplify.
1797         (call_may_clobber_ref_p_1): Likewise.
1798         * tree-ssa-structalias.c (compute_points_to_sets): Set
1799         the call stmt used and clobbered sets.
1800         * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
1801         (find_tail_calls): Verify the tail call.
1802
1803 2010-04-12  Richard Guenther  <rguenther@suse.de>
1804
1805         * ipa.c (cgraph_postorder): Adjust postorder to guarantee
1806         single-iteration always-inline inlining.
1807         * ipa-inline.c (cgraph_mark_inline): Do not return anything.
1808         (cgraph_decide_inlining): Do not handle always-inline specially.
1809         (try_inline): Remove always-inline cycle detection special case.
1810         Do not recurse on always-inlines.
1811         (cgraph_early_inlining): Do not iterate if not optimizing.
1812         (cgraph_gate_early_inlining): remove.
1813         (pass_early_inline): Run unconditionally.
1814         (gate_cgraph_decide_inlining): New function.
1815         (pass_ipa_inline): Use it.  Do not run the IPA inliner if
1816         not inlining or optimizing.
1817         (cgraph_decide_inlining_of_small_functions): Also consider
1818         always-inline functions.
1819         (cgraph_default_inline_p): Return true for nodes which should
1820         disregard inline limits.
1821         (estimate_function_body_sizes): Assume zero size and time for
1822         nodes which are marked as disregarding inline limits.
1823         (cgraph_decide_recursive_inlining): Do not perform recursive
1824         inlining on always-inline nodes.
1825
1826 2010-04-12  Jakub Jelinek  <jakub@redhat.com>
1827
1828         PR bootstrap/43699
1829         * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
1830         for exprs satisfying handled_component_p.
1831
1832 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
1833
1834         * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
1835         non-constant aggregate elements.
1836
1837         * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
1838         is a real initialization.
1839
1840 2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
1841
1842         PR c/36774
1843         * c-decl.c (start_function): Move forward check for nested function.
1844
1845 2010-04-11  Kaz Kojima  <kkojima@gcc.gnu.org>
1846
1847         * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
1848         * config/sh/sh.c: Include reload.h.
1849         (sh_legitimize_reload_address): New.
1850         * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
1851         sh_legitimize_reload_address.
1852
1853 2010-04-11  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
1854
1855         * config/sh/sh.md (*movqi_pop): New insn pattern.
1856         * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
1857
1858 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
1859
1860         * config/i386/i386.md (any_shiftrt): New code iterator.
1861         (shiftrt_insn): New code attribute.
1862         (shiftrt): Ditto.
1863         (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
1864         using any_shiftrt code iterator.
1865         (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
1866         *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
1867         (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
1868         pattern from corresponding peephole2 patterns.
1869         (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
1870         using any_shiftrt code iterator.
1871         (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
1872         (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
1873         (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
1874         (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
1875         *{ashr,lshr}<mode>3_cmp_zext.
1876         (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
1877
1878 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
1879
1880         * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
1881         scratch register.
1882         (*lshr<mode>3_cconly): Ditto.
1883
1884 2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
1885
1886         * config/i386/i386.md (lshr<mode>3): Macroize expander from
1887         lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
1888         (*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
1889         pattern from *lshr{di,ti}3_1 and corresponding splitters using
1890         DWI mode iterator.
1891         (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
1892         from corresponding peephole2 patterns.
1893         (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
1894         *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
1895         and *lshrdi3_1_rex64 using SWI mode iterator.
1896         (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
1897         (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
1898         (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
1899         *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
1900         and *lshrdi3_cmp_rex64 using SWI mode iterator.
1901         (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
1902         (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
1903         *lshrdi3_one_bit_cconly_rex64. Macroize insn from
1904         *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
1905         SWI mode iterator.
1906
1907 2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
1908
1909         * config/i386/i386.md (ashr<mode>3): Macroize expander from
1910         ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
1911         (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
1912         pattern from *ashr{di,ti}3_1 and corresponding splitters using
1913         DWI mode iterator.
1914         (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
1915         from corresponding peephole2 patterns.
1916         (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
1917         (ashrsi3_cvt): Rename from ashrsi3_31.
1918         (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
1919         (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
1920         and x86_64_shift_adj_3 using SWI48 mode iterator.
1921         (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
1922         *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
1923         and *ashrdi3_1_rex64 using SWI mode iterator.
1924         (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
1925         (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
1926         (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
1927         *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
1928         and *ashrdi3_cmp_rex64 using SWI mode iterator.
1929         (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
1930         (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
1931         *ashrdi3_one_bit_cconly_rex64. Macroize insn from
1932         *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
1933         SWI mode iterator.
1934         (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
1935         * config/i386/i386.c (ix86_split_ashr): Update for renamed
1936         x86_shift<mode>_adj_3 expanders.
1937
1938 2010-04-10  Wei Guozhi  <carrot@google.com>
1939
1940         PR target/42601
1941         * config/arm/arm.c (arm_pic_static_addr): New function.
1942         (legitimize_pic_address): Call arm_pic_static_addr when it detects
1943         a static symbol.
1944         (arm_output_addr_const_extra): Output expression for new pattern.
1945         * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
1946
1947 2010-04-10  Bernd Schmidt  <bernds@codesourcery.com>
1948
1949         * ira-costs.c (record_reg_classes): Ignore alternatives that are
1950         not enabled.
1951
1952         * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
1953         * web.c: Include "insn-config.h" and "recog.h".
1954         (union_match_dups): New function.
1955         (web_main): Call it.
1956         (union_defs): Don't try to recognize match_dups.
1957
1958         * reload1.c (eliminate_regs_in_insn): Don't restore an operand
1959         if doing so would replace the entire pattern.
1960
1961 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
1962
1963         PR target/43707
1964         PR target/43709
1965         * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
1966         and splitter pattern.  Change splitter operand 1 predicate to
1967         nonmemory_operand.
1968
1969 2010-04-09  Martin Jambor  <mjambor@suse.cz>
1970
1971         * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
1972         lattices are addresses of CONST_DECLs with the same initial value.
1973         (ipcp_print_all_lattices): Print values of CONST_DECLs.
1974         * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
1975
1976 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
1977             Bernd Schmidt  <bernds@codesourcery.com>
1978
1979         * loop-invariant.c (replace_uses): New static function.
1980         (move_invariant_reg): Use it to ensure we can replace the uses.
1981
1982 2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
1983
1984         * config/picochip/picochip.c (picochip_rtx_costs): Use correct
1985         function template.
1986         (picochip_override_options): Enable section anchors only above -O1.
1987         (picochip_reorg): Fixed a couple of build warnings.
1988
1989 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1990
1991         * configure.ac (plugin -rdynamic test): Log result.
1992         * configure: Regenerate.
1993         * config/sol2.h (LINK_SPEC): Handle -rdynamic.
1994         (RDYNAMIC_SPEC): Define.
1995         * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
1996
1997 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1998
1999         * configure.ac: Determine Sun ld version numbers.
2000         (comdat_group): Restrict GNU ld version checks to gld.
2001         (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
2002         (enable_comdat): Support --enable-comdat.
2003         * configure: Regenerate.
2004         * doc/install.texi (Configuration): Document --enable-comdat.
2005
2006 2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2007
2008         * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
2009         * config/sol2-gld.h: ... here.
2010         * config.gcc (sparc*-*-solaris2*): Reflect this.
2011         (i[34567]86-*-solaris2*): Use it.
2012
2013 2010-04-09  Steve Ellcey  <sje@cup.hp.com>
2014
2015         * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
2016         setup_clocks_p.
2017         (final_emit_insn_group_barriers): Remove unused variable prev_insn.
2018
2019 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2020
2021         PR 42965
2022         * diagnostic.c (diagnostic_initialize): Initialize
2023         some_warnings_are_errors.
2024         (diagnostic_finish): New.
2025         (diagnostic_action_after_output): Call it before exiting.
2026         (diagnostic_report_diagnostic): Do not print message here. Set
2027         some_warnings_are_errors.
2028         * diagnostic.h (diagnostic_context): Delete
2029         issue_warnings_are_errors_message. Add some_warnings_are_errors.
2030         (diagnostic_finish): Declare.
2031         * toplev.c (toplev_main): Call it before exit.
2032
2033 2010-04-09  Jason Merrill  <jason@redhat.com>
2034
2035         PR c++/42623
2036         * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
2037         for incomplete type.
2038
2039         PR c++/41788
2040         * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
2041         based on a warning flag.
2042
2043 2010-04-09  Richard Guenther  <rguenther@suse.de>
2044
2045         * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
2046
2047 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
2048
2049         PR bootstrap/43684
2050         * varasm.c (default_assemble_visibility): Wrap vars that are
2051         set, but unused, by targets without GAS.
2052         * config/rs6000/rs6000.c: (paired_emit_vector_compare):
2053         Remove set, but unused, vars.
2054         (rs6000_legitimize_tls_address): Likewise.
2055         (altivec_expand_dst_builtin): Likewise.
2056         * config/darwin.c (machopic_classify_symbol): Likewise.
2057         (machopic_indirection_name): Likewise.
2058
2059 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
2060
2061         * config/i386/i386.md (DWI): New mode iterator.
2062         (S): New mode attribute.
2063         (shift_operand): Ditto.
2064         (shift_immediate_operand): Ditto.
2065         (ashl_input_operand): Ditto.
2066         (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
2067         using SDWIM mode iterator.
2068         (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
2069         pattern from *ashl{di,ti}3_1 and corresponding splitters using
2070         DWI mode iterator.
2071         (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
2072         from corresponding peephole2 patterns.
2073         (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
2074         and x86_64_shift_adj_1 using SWI48 mode iterator.
2075         (x86_shift<mode>_adj_2): Ditto.
2076         (*ashldi3_1_rex64): Split TYPE_LEA pattern.
2077         (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
2078         using SWI48 mode iterator.
2079         (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
2080         *ashldi3_cmp_rex64 using SWI mode iterator.
2081         (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
2082         *ashldi3_cconly_rex64 using SWI mode iterator.
2083         * config/i386/i386.c (ix86_split_ashl): Update for renamed
2084         x86_shift<mode>_adj_{1,2}.
2085         (ix86_split_ashr): Ditto.
2086         (ix86_split_lshr): Ditto.
2087
2088 2010-04-09  Richard Guenther  <rguenther@suse.de>
2089
2090         * target.h (builtin_conversion): Pass in input and output types.
2091         * targhooks.c (default_builtin_vectorized_conversion): Adjust.
2092         * targhooks.h (default_builtin_vectorized_conversion): Likewise.
2093         * tree-vect-stmts.c (vectorizable_conversion): Adjust.
2094         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
2095
2096         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
2097         Handle AVX modes.
2098         * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
2099
2100 2010-04-09  Richard Guenther  <rguenther@suse.de>
2101
2102         PR target/43152
2103         * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
2104
2105 2010-04-09  Richard Guenther  <rguenther@suse.de>
2106
2107         * tree-vectorizer.h (struct _stmt_vec_info): Document
2108         that vectype is the type of the LHS.
2109         (supportable_widening_operation, supportable_narrowing_operation):
2110         Get both input and output vector types as arguments.
2111         (vect_is_simple_use_1): Declare.
2112         (get_same_sized_vectype): Likewise.
2113         * tree-vect-loop.c (vect_determine_vectorization_factor):
2114         Set STMT_VINFO_VECTYPE to the vector type of the def.
2115         (vectorizable_reduction): Adjust.
2116         * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
2117         Adjust.  Specify the output vector type.
2118         (vect_pattern_recog_1): Adjust.
2119         * tree-vect-stmts.c (get_same_sized_vectype): New function.
2120         (vectorizable_call): Adjust.
2121         (vectorizable_conversion): Likewise.
2122         (vectorizable_operation): Likewise.
2123         (vectorizable_type_demotion): Likewise.
2124         (vectorizable_type_promotion): Likewise.
2125         (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
2126         the def.
2127         (vect_is_simple_use_1): New function.
2128         (supportable_widening_operation): Get both input and output
2129         vector types.
2130         (supportable_narrowing_operation): Likewise.
2131         * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
2132
2133 2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
2134
2135         * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
2136         __thiscall and _thiscall as predefined macros.
2137         * config/i386/i386.c (ix86_handle_cconv_attribute): Add
2138         thiscall attribute handling.
2139         (ix86_comp_type_attributes): Likewise.
2140         (ix86_function_regparm): Likewise.
2141         (ix86_return_pops_args): Likewise.
2142         (init_cumulative_args): Likewise.
2143         (find_drap_reg): Likewise.
2144         (ix86_static_chain): Likewise.
2145         (x86_this_parameter): Likewise.
2146         (x86_output_mi_thunk): Likewise.
2147         (ix86_attribute_table): Add description for thiscall attribute.
2148         * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
2149         * doc/extend.texi: Add documentation for thiscall.
2150
2151 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2152
2153         PR c++/28584
2154         * c.opt (Wint-to-pointer-cast): Available in C++.
2155         * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
2156
2157 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
2158
2159         * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
2160         * calls.c (expand_call): Pass the function type to aggregate_value_p.
2161         * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
2162         the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
2163         function type instead.  Reorder and simplify checks.
2164
2165         * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
2166
2167 2010-04-08  Jing Yu  <jingyu@google.com>
2168             Zdenek Dvorak  <ook@ucw.cz>
2169
2170         PR tree-optimization/42720
2171         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
2172         loop unswitch conditions here from ...
2173         (tree_unswitch_single_loop): ... here.
2174
2175 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
2176
2177         * tree-if-conv.c: Fix comments and simplify logic.
2178
2179 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
2180
2181         * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
2182         (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
2183         (main_tree_if_conversion): Update call to tree_if_conversion.
2184
2185 2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2186
2187         PR 42485
2188         * doc/invoke.texi (-b,-V): Delete.
2189         * doc/tm.texi: Do not mention -b.
2190         * gcc.c (display_help): Delete -b and -V.
2191         (process_command): Delete -b and -V.
2192         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
2193
2194 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
2195             Wolfgang Gellerich  <gellerich@de.ibm.com>
2196
2197         Implement target hook for loop unrolling
2198         * target.h (loop_unroll_adjust): Add a new target hook function.
2199         * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
2200         * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
2201         * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
2202         (s390_loop_unroll_adjust): Implement the new target hook for s390.
2203         * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
2204         target hook.
2205         (decide_unroll_stupid): Likewise.
2206
2207 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2208
2209         PR target/43643
2210         * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
2211
2212 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2213
2214         * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
2215         (Specific, *-*-solaris2*): Likewise.
2216         Don't prefer Sun as over GNU as.
2217
2218 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
2219
2220         * config/s390/s390.c (override_options): Adjust the z10
2221           defaults for max-unroll-times, max-completely-peeled-insns
2222           and max-completely-peel-times.
2223
2224 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2225
2226         * config/s390/s390.c (s390_expand_movmem): Issue prefetch
2227         instructions for z10.
2228         (s390_expand_setmem): Likewise.
2229         (s390_expand_cmpmem): Likewise.
2230
2231 2010-04-08  Richard Guenther  <rguenther@suse.de>
2232
2233         PR tree-optimization/43679
2234         * tree-ssa-pre.c (eliminate): Only propagate copies.
2235
2236 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
2237
2238         PR bootstrap/43681
2239         * expr.c (block_move_libcall_safe_for_call_parm): Avoid
2240         set but not used variable warning.
2241
2242 2010-04-08  Wei Guozhi  <carrot@google.com>
2243
2244         PR target/41653
2245         * config/arm/arm.c (thumb1_size_rtx_costs): New function.
2246         (arm_size_rtx_costs): Call the new function when optimized for size.
2247
2248 2010-04-08  Jakub Jelinek  <jakub@redhat.com>
2249
2250         PR debug/43670
2251         * cfgexpand.c (expand_debug_expr): If for non-NULL offset
2252         op0 is not a MEM, just return NULL instead of assertion
2253         failure.
2254         (discover_nonconstant_array_refs): Don't walk debug stmts.
2255
2256 2010-04-08  Doug Kwan  <dougkwan@google.com>
2257
2258         * configure.ac: Recognize gold and do not use its version number
2259         to test ld features.
2260         * configure: Regenerate.
2261
2262 2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
2263
2264         PR middle-end/40815
2265         * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
2266         (negate_value): Move code to push elements to broken_up_substracts ...
2267         (eliminate_plus_minus_pair): ... here.  Push operands that have no
2268         negative pair to plus_negates.
2269         (repropagate_negates, init_reassoc, fini_reassoc): Update.
2270
2271 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2272
2273         * doc/install.texi (Configuration): Move description of
2274         --enable-lto, --with-libelf*, --enable-gold from Java section to
2275         general section.
2276
2277         * doc/generic.texi (Working with declarations)
2278         (Function Properties, C and C++ Trees): Fix typos.
2279         * doc/sourcebuild.texi (Top Level): Likewise.
2280
2281 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
2282
2283         PR c/18624
2284         * tree.h (DECL_READ_P): Define.
2285         (struct tree_decl_common): Add decl_read_flag.
2286         * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
2287         a set but not used warning.
2288         (merge_decls): Merge DECL_READ_P flag.
2289         (finish_decl, build_compound_literal): Set DECL_READ_P flag.
2290         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
2291         * c-common.c (handle_used_attribute, handle_unused_attribute):
2292         Likewise.
2293         * c-tree.h (default_function_array_read_conversion, mark_exp_read):
2294         New prototypes.
2295         * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
2296         New functions.
2297         (default_conversion, c_process_expr_stmt): Call mark_exp_read.
2298         * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
2299         c_parser_binary_expression, c_parser_cast_expression,
2300         c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
2301         Call default_function_array_read_conversion instead of
2302         default_function_array_conversion where needed.
2303         (c_parser_unary_expression, c_parser_conditional_expression,
2304         c_parser_postfix_expression_after_primary, c_parser_initelt):
2305         Likewise.  Call mark_exp_read where needed.
2306         (c_parser_statement_after_labels, c_parser_asm_operands,
2307         c_parser_typeof_specifier, c_parser_sizeof_expression,
2308         c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
2309         where needed.
2310         * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
2311         New.
2312         * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
2313         (warn_unused_but_set_parameter): Default to warn_unused
2314         && extra_warnings.
2315         * doc/invoke.texi: Document -Wunused-but-set-variable and
2316         -Wunused-but-set-parameter.
2317
2318         * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
2319         used count variable.
2320         * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
2321         when operandN variables aren't used in the body of the expander
2322         or splitter.
2323         * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
2324         FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
2325         * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
2326         * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
2327         FOR_EACH_IMM_USE_ON_STMT): Likewise.
2328         * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
2329         * tree.c (PROCESS_ARG): Likewise.
2330
2331 2010-04-07  Simon Baldwin  <simonb@google.com>
2332
2333         * diagnostic.h (diagnostic_override_option_index): New macro to
2334         set a diagnostic's option_index.
2335         * c-tree.h (c_cpp_error): Add warning reason argument.
2336         * opts.c (_warning_as_error_callback): New.
2337         (register_warning_as_error_callback): Store callback for
2338         warnings enabled via enable_warning_as_error.
2339         (enable_warning_as_error): Call callback, minor code tidy.
2340         * opts.h (register_warning_as_error_callback): Declare.
2341         * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
2342         response to -Werror=.
2343         (c_common_init_options): Register warning_as_error_callback in opts.c.
2344         * common.opt: Add -Wno-cpp option.
2345         * c-common.c (struct reason_option_codes_t): Map cpp warning
2346         reason codes to gcc option indexes.
2347         * (c_option_controlling_cpp_error): New function, lookup the gcc
2348         option index for a cpp warning reason code.
2349         * (c_cpp_error): Add warning reason argument, call
2350         c_option_controlling_cpp_error for diagnostic_override_option_index.
2351         * doc/invoke.texi: Document -Wno-cpp.
2352
2353 2010-04-07  Richard Guenther  <rguenther@suse.de>
2354
2355         * ipa-reference.c (mark_load): Use get_base_address.
2356         (mark_store): Likewise.
2357
2358         * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
2359         inserting GIMPLE_NOPs into the IL.
2360         * tree-ssa-structalias.c (get_constraint_for_component_ref):
2361         Explicitly strip handled components and indirect references.
2362
2363         * fold-const.c (fold_unary_loc): Do not strip qualifiers when
2364         folding address expressions.
2365         * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
2366         * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
2367         operand_equal_p to compare decls.
2368         (ptr_deref_may_alias_decl_p): Likewise.
2369         * tree-ssa-operands.c (get_asm_expr_operands): Simplify
2370         * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
2371         Handle reversed comparison ops.
2372         * tree-sra.c (asm_visit_addr): Use get_base_address.
2373         * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
2374         * ipa-reference.c (mark_address): Use get_base_address.
2375
2376 2010-04-07  Richard Guenther  <rguenther@suse.de>
2377
2378         * tree-ssa-forwprop.c (forward_propagate_addr_expr):
2379         Propagate constants everywhere.
2380
2381 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
2382
2383         PR debug/43516
2384         * tree.c (MAX_INT_CACHED_PREC): Define.
2385         (nonstandard_integer_type_cache): New array.
2386         (build_nonstandard_integer_type): Cache results for precision
2387         <= MAX_INT_CACHED_PREC.
2388
2389 2010-04-07  Richard Guenther  <rguenther@suse.de>
2390
2391         * doc/invoke.texi (-fargument-alias, -fargument-noalias,
2392         -fargument-noalias-global, -fargument-noalias-anything): Remove.
2393         * common.opt: Likewise.
2394         * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
2395         * alias.c (base_alias_check): Remove flag_argument_noalias handling.
2396         (nonoverlapping_memrefs_p): Likewise.
2397         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
2398         * opts.c (common_handle_option): Handle OPT_fargument_alias,
2399         OPT_fargument_noalias, OPT_fargument_noalias_anything and
2400         OPT_fargument_noalias_global for backward compatibility.
2401
2402 2010-04-07  Richard Guenther  <rguenther@suse.de>
2403
2404         PR tree-optimization/43270
2405         * tree-vrp.c (check_array_ref): Fix flexible array member detection.
2406         * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
2407         * tree-ssa-pre.c (phi_translate_1): Adjust.
2408         (fully_constant_expression): Split out vn_reference handling to ...
2409         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
2410         Fold reads from constant strings.
2411         (vn_reference_lookup): Handle fully constant references.
2412         (vn_reference_lookup_pieces): Likewise.
2413         * Makefile.in (expmed.o-warn): Add -Wno-error.
2414
2415 2010-04-07  Martin Jambor  <mjambor@suse.cz>
2416
2417         * tree-sra.c (find_param_candidates): Allow scalar va_list types.
2418
2419 2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
2420
2421         PR driver/41594
2422         * gcc.c: Add -static-libstdc++ to list of recognized options.
2423
2424 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2425
2426         * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
2427
2428 2010-04-07  Richard Guenther  <rguenther@suse.de>
2429
2430         PR middle-end/42617
2431         * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
2432         bases build simple mem attributes to retain points-to information.
2433
2434 2010-04-07  Richard Guenther  <rguenther@suse.de>
2435
2436         PR middle-end/42617
2437         * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
2438         preserve points-to related information.
2439
2440 2010-04-07  Richard Guenther  <rguenther@suse.de>
2441
2442         PR middle-end/42617
2443         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
2444         discard plain indirect references.
2445         * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
2446         * tree.c (tree_nop_conversion): Likewise.
2447
2448 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
2449
2450         PR debug/43628
2451         * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
2452
2453 2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
2454
2455         * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
2456         calling convention attributes on METHOD_TYPEs for w64 ABI, too.
2457
2458 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
2459
2460         * tree-if-conv.c: Fix indentation and comments.
2461
2462 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
2463
2464         * tree-if-conv.c: Sort static functions in topological order.
2465
2466 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
2467
2468         * tree-if-conv.c: Fix indentation and comments.
2469
2470 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
2471
2472         PR middle-end/43519
2473         * graphite-clast-to-gimple.c (max_signed_precision_type): Use
2474         lang_hooks.types.type_for_size instead of
2475         build_nonstandard_integer_type.
2476         When converting an unsigned type to signed, double its precision.
2477         (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
2478         (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
2479         (graphite_create_new_loop_guard): When ub + 1 wraps around,
2480         use lb <= ub.
2481
2482 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
2483
2484         PR middle-end/43519
2485         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
2486         POINTER_PLUS_EXPR for pointer types.
2487
2488 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
2489
2490         PR middle-end/43519
2491         * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
2492         * graphite-clast-to-gimple.c: Include langhooks.h.
2493         (max_signed_precision_type): New.
2494         (max_precision_type): Takes two types as arguments.
2495         (precision_for_value): New.
2496         (precision_for_interval): New.
2497         (gcc_type_for_interval): New.
2498         (gcc_type_for_value): New.
2499         (gcc_type_for_clast_term): New.
2500         (gcc_type_for_clast_red): New.
2501         (gcc_type_for_clast_bin): New.
2502         (gcc_type_for_clast_expr): Split up into several functions.
2503         (gcc_type_for_clast_eq): Rewritten.
2504         (compute_bounds_for_level): New.
2505         (compute_type_for_level_1): New.
2506         (compute_type_for_level): New.
2507         (gcc_type_for_cloog_iv): Removed.
2508         (gcc_type_for_iv_of_clast_loop): Rewritten.
2509         (graphite_create_new_loop): Compute the lower and upper bound types
2510         with gcc_type_for_clast_expr.
2511         (graphite_create_new_loop_guard): Same.
2512         (find_cloog_iv_in_expr): Removed.
2513         (compute_cloog_iv_types_1): Removed.
2514         (compute_cloog_iv_types): Removed.
2515         (gloog): Do not call compute_cloog_iv_types.
2516         * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
2517         GBB_CLOOG_IV_TYPES.
2518         (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
2519         * sese.h (struct gimple_bb): Removed field cloog_iv_types.
2520         (GBB_CLOOG_IV_TYPES): Removed.
2521
2522 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
2523
2524         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
2525         gimple_phi_num_args of the loop close SSA phi node is equal to 1.
2526         (detect_commutative_reduction): Same.
2527
2528 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
2529
2530         * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
2531         call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
2532         argument.
2533         * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
2534         * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
2535         (rewrite_commutative_reductions_out_of_ssa): Same.
2536         * passes.c (execute_function_todo): Call verify_ssa for every pass
2537         in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
2538         * tree-flow.h (verify_loop_closed_ssa): Update declaration.
2539         * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
2540         with an extra argument.
2541         * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
2542         verify_ssa only when the extra argument is true.
2543         (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
2544         with an extra argument.
2545         (tree_transform_and_unroll_loop): Same.
2546
2547 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
2548
2549         * passes.c (execute_function_todo): Call verify_loop_closed_ssa
2550         for all the passes of the LNO having LOOP_CLOSED_SSA.
2551         * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
2552         * tree-loop-distribution.c (pass_loop_distribution): Same.
2553         * tree-pass.h (TODO_verify_loops): Removed.
2554         * tree-ssa-loop.c (pass_tree_loop_init): Same.
2555         (pass_lim): Same.
2556         (pass_tree_unswitch): Same.
2557         (pass_predcom): Same.
2558         (pass_vectorize): Same.
2559         (pass_linear_transform): Same.
2560         (pass_graphite_transforms): Same.
2561         (pass_iv_canon): Same.
2562         (pass_complete_unroll): Same.
2563         (pass_complete_unrolli): Same.
2564         (pass_parallelize_loops): Same.
2565         (pass_loop_prefetch): Same.
2566         (pass_iv_optimize): Same.
2567
2568 2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
2569
2570         PR middle-end/32824
2571         * passes.c (init_optimization_passes): Move pass_lim before
2572         pass_copy_prop and pass_dce_loop.
2573
2574 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
2575
2576         PR target/43667
2577         * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
2578         instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
2579         (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
2580         MULTI_* defines for 4 argument vpermil2p* builtins.
2581
2582 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
2583
2584         * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
2585         * config/i386/i386.c (x86_maybe_negate_const_int): New.
2586         (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
2587         * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
2588         *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
2589         *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
2590         *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
2591         Use x86_maybe_negate_const_int to output insn mnemonic.
2592         (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
2593         check from instruction predicate.  Update comments.
2594         * config/i386/sync.md (sync_add<mode>): Use
2595         x86_maybe_negate_const_int to output insn mnemonic.
2596
2597 2010-04-06  Jan Hubicka  <jh@suse.cz>
2598
2599         PR tree-optimization/42906
2600         * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
2601         IGNORE_SELF argument.  Set visited_control_parents for fully
2602         processed BBs.
2603         (find_obviously_necessary_stmts): Update call of
2604         mark_control_dependent_edges_necessary.
2605         (propagate_necessity): Likewise.  Handle PHI edges more curefully.
2606
2607 2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
2608
2609         * config/i386/i386.md: Remove comment about 'e' and 'E'
2610         operand modifier.
2611
2612 2010-04-06  Richard Guenther  <rguenther@suse.de>
2613
2614         PR tree-optimization/43627
2615         * tree-vrp.c (extract_range_from_unary_expr): Widenings
2616         of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
2617         not varying.
2618
2619 2010-04-06  Jakub Jelinek  <jakub@redhat.com>
2620
2621         * BASE-VER: Change to 4.6.0.
2622
2623         PR target/43638
2624         * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
2625         handling.
2626
2627 2010-04-06  Richard Guenther  <rguenther@suse.de>
2628
2629         PR middle-end/43661
2630         * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
2631
2632 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2633
2634         * doc/invoke.texi (Optimize Options): Document that LTO
2635         won't remove object access purely due to incompatible
2636         declarations.
2637
2638 2010-04-04  Matthias Klose  <doko@ubuntu.com>
2639
2640         * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
2641         Initialize variable.
2642
2643 2010-04-03  Richard Guenther  <rguenther@suse.de>
2644
2645         PR middle-end/42509
2646         * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
2647         require a non-NULL MEM_OFFSET.
2648
2649 2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
2650
2651         * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
2652         basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
2653         collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
2654         config/alpha/predicates.md, config/arm/arm.md,
2655         config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
2656         config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
2657         config/darwin9.h, config/darwin.c, config/darwin.h,
2658         config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
2659         config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
2660         config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
2661         config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
2662         config/mips/mips.md, config/mn10300/mn10300.c,
2663         config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
2664         config/rs6000/aix.h, config/rs6000/dfp.md,
2665         config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
2666         config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
2667         config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
2668         config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
2669         config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
2670         config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
2671         c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
2672         diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
2673         doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
2674         doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
2675         fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
2676         gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
2677         graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
2678         graphite-dependences.c, graphite-poly.c, graphite-poly.h,
2679         graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
2680         graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
2681         intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
2682         ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
2683         ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
2684         loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
2685         objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
2686         opt-functions.awk, opth-gen.awk, params.def, passes.c,
2687         postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
2688         rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
2689         store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
2690         tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
2691         tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
2692         tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
2693         tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
2694         tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
2695         tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
2696         tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
2697         tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
2698         tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
2699         tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
2700         unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
2701
2702 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2703
2704         PR other/43620
2705         * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
2706         * aclocal.m4: Regenerate.
2707
2708 2010-04-02  Richard Guenther  <rguenther@suse.de>
2709
2710         PR tree-optimization/43629
2711         * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
2712         if we have seen a constant value.
2713
2714 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
2715
2716         * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
2717
2718 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
2719
2720         PR target/43469
2721         * arm.c (legitimize_tls_address): Adjust call to
2722         gen_tls_load_dot_plus_four.
2723         (arm_note_pic_base): New function.
2724         (arm_cannot_copy_insn_p): Use it.
2725         * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
2726         constraint.
2727
2728 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2729
2730         PR bootstrap/43531
2731
2732         Revert:
2733         2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2734
2735         * Makefile.in ($(out_object_file)): Depend on
2736         gt-$(basename $(notdir $(out_file))).h.
2737
2738 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
2739
2740         * config.gcc (lm32-*-rtems*): Add t-lm32.
2741
2742 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
2743
2744         * config.gcc: Add lm32-*-rtems*.
2745         * config/lm32/rtems.h: New file.
2746
2747 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
2748
2749         PR target/42609
2750         * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
2751
2752 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
2753
2754         * dwarf2out.c (output_compilation_unit_header): For
2755         -gdwarf-4 use version 4 instead of version 3.
2756         (output_line_info): For version 4 and above emit additional
2757         maximum ops per insn header field.
2758         (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
2759
2760         * dwarf2out.c (is_c_family, is_java): Remove.
2761         (lower_bound_default): New function.
2762         (add_bound_info, gen_descr_array_type_die): Use it.
2763
2764 2010-04-01  Dodji Seketeli  <dodji@redhat.com>
2765
2766         PR debug/43325
2767         * dwarf2out.c (gen_variable_die): Allow debug info for variable
2768         re-declaration when it happens in a function.
2769
2770 2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
2771
2772         * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
2773         (cgraph_remove_function_insertion_hook): Same.
2774         (cgraph_call_function_insertion_hooks): Same.
2775
2776 2010-04-01  Richard Guenther  <rguenther@suse.de>
2777
2778         PR middle-end/43614
2779         * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
2780         and TREE_THIS_VOLATILE.
2781         (copy_ref_info): Likewise.
2782         * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
2783         * tree.c (build6_stat): Ignore side-effects of all but arg5
2784         for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
2785         TARGET_MEM_REF.
2786
2787 2010-04-01  Richard Guenther  <rguenther@suse.de>
2788
2789         PR tree-optimization/43607
2790         * ipa-type-escape.c (check_call): Do not access non-existing
2791         arguments.
2792
2793 2010-04-01  Richard Guenther  <rguenther@suse.de>
2794
2795         PR middle-end/43602
2796         Revert
2797         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
2798                     Jack Howarth <howarth@bromo.med.uc.edu>
2799
2800         * tree-profile.c (tree_init_ic_make_global_vars): Make static
2801         variables TLS.
2802
2803 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2804
2805         * doc/install.texi (Prerequisites): Document libelf usability on
2806         IRIX 5/6 and Solaris 2.
2807         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
2808         Update GNU as, GNU ld requirements.
2809         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
2810         Document Sun Studio compiler download.
2811         Update and simplify as, ld recommendations.
2812         (Specific, *-*-solaris2.7): Note obsoletion, removal.
2813
2814 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2815
2816         * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
2817         with_tune_32 to pentium4.
2818
2819 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
2820
2821         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
2822
2823 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2824
2825         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
2826         obsoletion, removal.
2827         Update IDO URL.
2828         Document GNU as requirement.
2829         Update configure requirements.
2830         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
2831         Recomment IRIX 6.5.18+.
2832         Document IDF/IDL requirement.
2833         Document GNU as requirement.
2834         Document GNU ld bootstrap failure.
2835         Remove freeware.sgi.com reference.
2836
2837 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2838
2839         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
2840         UNIX V4.0, V5.0 obsoletion, removal.
2841         Remove --with-gc=simple reference.
2842         Update VM requirements during bootstrap.
2843         Remove -oldas bootstrap description.
2844         Update binutils reference.
2845         Remove comparison failure note.
2846
2847 2010-03-31  Richard Guenther  <rguenther@suse.de>
2848             Zdenek Dvorak  <ook@ucw.cz>
2849             Sebastian Pop  <sebastian.pop@amd.com>
2850
2851         PR middle-end/43464
2852         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
2853         with multiple arguments.
2854         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
2855
2856 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2857
2858         * graphite-dependences.c (print_pddr): Call print_pdr with an
2859         extra argument.
2860         * graphite-poly.c (debug_pdr): Add an extra argument for the
2861         verbosity level.
2862         (print_pdr): Same.
2863         (print_pbb_domain): Same.
2864         (print_pbb): Same.
2865         (print_scop_context): Same.
2866         (print_scop): Same.
2867         (print_cloog): Same.
2868         (debug_pbb_domain): Same.
2869         (debug_pbb): Same.
2870         (print_pdrs): Same.
2871         (debug_pdrs): Same.
2872         (debug_scop_context): Same.
2873         (debug_scop): Same.
2874         (debug_cloog): Same.
2875         (print_scop_params): Same.
2876         (debug_scop_params): Same.
2877         (print_iteration_domain): Same.
2878         (print_iteration_domains): Same.
2879         (debug_iteration_domain): Same.
2880         (debug_iteration_domains): Same.
2881         (print_scattering_function): Same.
2882         (print_scattering_functions): Same.
2883         (debug_scattering_function): Same.
2884         (debug_scattering_functions): Same.
2885         * graphite-poly.h (debug_pdr): Update declaration.
2886         (print_pdr): Same.
2887         (print_pbb_domain): Same.
2888         (print_pbb): Same.
2889         (print_scop_context): Same.
2890         (print_scop): Same.
2891         (print_cloog): Same.
2892         (debug_pbb_domain): Same.
2893         (debug_pbb): Same.
2894         (print_pdrs): Same.
2895         (debug_pdrs): Same.
2896         (debug_scop_context): Same.
2897         (debug_scop): Same.
2898         (debug_cloog): Same.
2899         (print_scop_params): Same.
2900         (debug_scop_params): Same.
2901         (print_iteration_domain): Same.
2902         (print_iteration_domains): Same.
2903         (debug_iteration_domain): Same.
2904         (debug_iteration_domains): Same.
2905         (print_scattering_function): Same.
2906         (print_scattering_functions): Same.
2907         (debug_scattering_function): Same.
2908         (debug_scattering_functions): Same.
2909
2910 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2911
2912         * graphite-poly.c (print_scattering_function_1): New.
2913         (print_scattering_function): Call it.
2914         (print_scop_params): Remove spaces at the end of lines.
2915         (print_cloog): New.
2916         (debug_cloog): New.
2917         * graphite-poly.h (print_cloog): Declared.
2918         (debug_cloog): Declared.
2919
2920 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2921
2922         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
2923         in loop->header.
2924         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
2925         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
2926         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
2927         to switch between adding the IV bump in loop->latch or in loop->header.
2928
2929 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
2930
2931         * graphite-poly.c (print_scattering_function): Pretty print following
2932         the scoplib format.
2933         (print_pdr): Same.
2934         (print_pbb_domain): Same.
2935         (dump_gbb_cases): Same.
2936         (dump_gbb_conditions): Same.
2937         (print_pdrs): Same.
2938         (print_pbb): Same.
2939         (print_scop_params): Same.
2940         (print_scop_context): Same.
2941         (print_scop): Same.
2942         (print_pbb_body): New.
2943         (lst_indent_to): New.
2944         (print_lst): Start new lines with a #.
2945         * graphite-poly.h (pbb_bb): New.
2946         (pbb_index): Use pbb_bb.
2947         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
2948         disjuncts.
2949         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
2950
2951 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
2952
2953         * dwarf2out.c (size_of_die): For -gdwarf-4 use
2954         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
2955         and 0 instead of 1 for dw_val_class_flag.
2956         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
2957         dw_val_class_range_list, dw_val_class_loc_list,
2958         dw_val_class_lineptr and dw_val_class_macptr, use
2959         DW_FORM_flag_present for dw_val_class_flag and
2960         DW_FORM_exprloc for dw_val_class_loc.
2961         (output_die): For -gdwarf-4 print dw_val_class_loc
2962         size as uleb128 instead of 1 or 2 bytes and don't print
2963         anything for dw_val_class_flag.
2964
2965         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
2966         instead of cselib_lookup following by tweaking locs->setting_insn.
2967
2968         PR bootstrap/43596
2969         * cselib.c (cselib_process_insn): Clear cselib_current_insn
2970         even before returning from label, setjmp call or volatile asm
2971         handling.
2972
2973 2010-03-31  Richard Guenther  <rguenther@suse.de>
2974
2975         PR middle-end/43600
2976         * cgraphunit.c (cgraph_output_in_order): Do not allocate
2977         temporary data on stack.
2978
2979 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2980
2981         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
2982         (PUSHSECTION_ASM_OP): Remove.
2983         (POPSECTION_ASM_OP): Remove.
2984         (PUSHSECTION_FORMAT): Remove.
2985         * config/sol2.h (PUSHSECTION_FORMAT): Define.
2986         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
2987         * config/sol2.c (solaris_output_init_fini): Use it.
2988
2989 2010-03-31  Jie Zhang  <jie@codesourcery.com>
2990
2991         PR 43574
2992         * opt-functions.awk (var_type_struct): Use signed char type
2993         for simple variables.
2994
2995 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2996
2997         * config/sol2.c: Include output.h.
2998         (solaris_assemble_visibility): New function.
2999         * config/t-sol2 (sol2.o): Add output.h dependency.
3000         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
3001         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
3002         Redefine.
3003
3004 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
3005
3006         PR target/43580
3007         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
3008         V2SImode or XFmode on PRE_DEC.
3009
3010         PR debug/43557
3011         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
3012         BLKmode.
3013
3014 2010-03-31  Jie Zhang  <jie@codesourcery.com>
3015
3016         PR 43562
3017         * reload.h (caller_save_initialized_p): Declare.
3018         * toplev.c (backend_init_target): Don't call
3019         init_caller_save but set caller_save_initialized_p to false.
3020         * caller-save.c (caller_save_initialized_p): Define.
3021         (init_caller_save): Check caller_save_initialized_p.
3022         * ira.c (ira): Call init_caller_save if flag_caller_saves.
3023
3024 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3025
3026         PR target/39048
3027         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
3028         and soft-fp/t-softfp to tmake_file.
3029         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
3030         (LIBGCC2_TF_CEXT): Define.
3031         (TF_SIZE): Define.
3032
3033 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
3034
3035         PR debug/42977
3036         * cselib.c (n_useless_values): Document handling of debug locs.
3037         (n_useless_debug_values, n_debug_values): New variables.
3038         (new_elt_loc_list): Don't add to debug values, keep count.
3039         (promote_debug_loc): New.
3040         (cselib_reset_table): Zero new variables.
3041         (entry_and_rtx_equal_p): Promote debug locs.
3042         (discard_useless_locs): Increment n_useless_debug_values for
3043         debug values.
3044         (remove_useless_values): Adjust n_useless_values and n_debug_values
3045         with n_useless_debug_values.
3046         (add_mem_for_addr): Promote debug locs.
3047         (cselib_lookup_mem): Likewise.
3048         (cselib_lookup_addr): Renamed to...
3049         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
3050         (cselib_log_lookup): ... this.  Turn into...
3051         (cselib_lookup_addr): ... new wrapper.
3052         (cselib_lookup_from_insn): New.
3053         (cselib_invalidate_regno): Increment n_useless_debug_values for
3054         debug values.
3055         (cselib_invalidate_mem): Likewise.
3056         (cselib_process_insn): Take n_deleted and n_debug_values into
3057         account to guard remove_useless_value call.
3058         (cselib_finish): Zero n_useless_debug_values.
3059         * cselib.h (cselib_lookup_from_insn): Declare.
3060         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
3061         (sched_analyze_2): Likewise.
3062
3063 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
3064
3065         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
3066         functions.
3067         (adjust_mems): Replace narrowing SUBREG of expression containing
3068         just PLUS, MINUS, MULT and ASHIFT of registers and constants
3069         with operations in the narrower mode.
3070
3071         PR debug/43593
3072         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
3073         regs_invalidated_by_call instead all call_used_reg_set registers.
3074
3075 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
3076
3077         PR middle-end/43430
3078         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
3079         pointer comparisons with types_compatible_p.
3080         * tree-vect-stmts.c (vectorizable_call): Same.
3081         (vectorizable_condition): Same.
3082
3083 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3084
3085         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
3086         stack check if the mask would be zero.
3087
3088 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
3089             Jack Howarth <howarth@bromo.med.uc.edu>
3090
3091         * tree-profile.c (tree_init_ic_make_global_vars): Make static
3092         variables TLS.
3093
3094 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
3095
3096         PR other/25232
3097         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
3098         and __unordtf2.
3099         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
3100         Include ___unordxf2 and ___unordtf2.
3101         * config/i386/libgcc-glibc.ver: Do not define inheritance from
3102         GCC_4.4.0 here.
3103
3104 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
3105
3106         * config/lm32/t-lm32: New file.
3107         * config.gcc: Use the above file when targetting lm32.
3108
3109 2010-03-28  Duncan Sands  <baldrick@free.fr>
3110
3111         * Makefile.in (PLUGIN_HEADERS): Add except.h.
3112
3113 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
3114
3115         PR middle-end/43431
3116         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
3117         Improve vectorization cost model diagnostic.
3118
3119 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
3120
3121         PR middle-end/43436
3122         * tree-vect-data-refs.c (vect_analyze_data_refs): When
3123         compute_data_dependences_for_loop returns false, early exit
3124         and output an extra diagnostic for the failed data reference
3125         analysis.
3126
3127 2010-03-29  Richard Guenther  <rguenther@suse.de>
3128
3129         PR tree-optimization/43560
3130         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
3131         (can_sm_ref_p): Treat stores to readonly locations as trapping.
3132
3133 2010-03-29  Jie Zhang  <jie@codesourcery.com>
3134
3135         PR 43564
3136         * toplev.c (process_options): Set optimization_default_node
3137         and optimization_current_node.
3138         * opts.c (decode_options): Don't set optimization_default_node
3139         and optimization_current_node.
3140
3141 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
3142
3143         * config/rtems.h: Abandon -qrtems_debug.
3144
3145 2010-03-28  Jan Hubicka  <jh@suse.cz>
3146
3147         PR tree-optimization/43505
3148         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
3149         map should not be copied.
3150
3151 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3152
3153         PR middle-end/41674
3154         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
3155         cdtors, set DECL_PRESERVE_P.
3156         * ipa.c (cgraph_externally_visible_p): Return true if declaration
3157         should be preseved.
3158
3159 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
3160
3161         PR tree-optimization/43528
3162         * stor-layout.c (place_field): Check that constant fits into
3163         unsigned HWI when skipping calculation of MS bitfield layout.
3164
3165 2010-03-27  Jan Hubicka  <jh@suse.cz>
3166
3167         PR middle-end/43391
3168         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
3169         notice_global_symbol work.
3170
3171 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
3172
3173         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
3174         instead of dwarf2out_decl.
3175         (struct var_loc_node): Remove section_label field.
3176         (dwarf2out_function_decl): New function.
3177         (dwarf2out_var_location): Don't set section_label field.
3178         (dwarf2out_begin_function): Don't empty decl_loc_table here.
3179
3180 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
3181
3182         PR tree-optimization/43544
3183         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
3184         First argument for builtin vectorized function hook is now a
3185         tree to be able to distinguish between machine specific and
3186         standard builtins.
3187         * targhooks.c (default_builtin_vectorized_function): Ditto.
3188         * targhooks.h (default_builtin_vectorized_function): Ditto.
3189         * target.h (struct gcc_target): Ditto.
3190         * tree-vect-stmts.c (vectorizable_function): Ditto.
3191         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
3192         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
3193         Ditto.
3194
3195 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
3196
3197         PR c/43381
3198         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
3199         nested binding iff it is a FUNCTION_DECL.
3200         (store_parm_decls_newstyle): Pass nested=true to bind for
3201         FUNCTION_DECLs amongst parameters.
3202
3203 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
3204
3205         * var-tracking.c (vt_expand_loc_callback): Don't run
3206         cselib_expand_value_rtx_cb in dummy mode if
3207         cselib_dummy_expand_value_rtx_cb returned false.
3208
3209         * var-tracking.c (emit_note_insn_var_location): For one part
3210         notes with offset 0, don't add EXPR_LIST around the location.
3211         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
3212         add_location_or_const_value_attribute): Adjust for that change.
3213
3214         PR debug/43540
3215         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
3216         into first operand and location into second.
3217         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
3218         dw_cfi_oprnd_loc for DW_CFA_expression.
3219         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
3220         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
3221         assume first argument is regnum and second argument is location.
3222
3223 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
3224
3225         PR target/42113
3226         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
3227         of scratch register to DImode.  Split to DImode comparison operator.
3228         Use SImode subreg of scratch register in the multiplication.
3229         (*cmp_sadd_sidi): Ditto.
3230         (*cmp_ssub_si): Ditto.
3231         (*cmp_ssub_sidi): Ditto.
3232
3233 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
3234
3235         PR target/43524
3236         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
3237         Remove invalid assert and wrong comment.
3238
3239 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
3240
3241         PR debug/43516
3242         * flags.h (final_insns_dump_p): New extern.
3243         * final.c (final_insns_dump_p): New variable.
3244         (rest_of_clean_state): Set it before -fdump-final-insns=
3245         dumping, clear afterwards.
3246         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
3247         MEM_ALIAS_SET on MEMs.
3248
3249 2010-03-26  David S. Miller  <davem@davemloft.net>
3250
3251         * configure.ac: Fix sparc GOTDATA_OP bug check.
3252         * configure: Rebuild.
3253
3254 2010-03-26  Alan Modra  <amodra@gmail.com>
3255
3256         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
3257
3258 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3259
3260         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
3261         TLS_SECTION_ASM_FLAG.
3262
3263 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
3264
3265         PR bootstrap/43511
3266         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
3267         Clear first_function_block_is_cold.
3268
3269         PR c/43385
3270         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
3271         argument if the argument is truth_value_p.
3272
3273 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
3274
3275         * config/rs6000/constraints.md: Update copyright year for my changes.
3276
3277         PR target/43484
3278         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
3279         used in reg+reg addressing, swap registers.
3280
3281 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
3282
3283         PR debug/43293
3284         * target.h (struct gcc_target): Add code_end hook.
3285         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
3286         if not yet defined.
3287         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
3288         * toplev.c (compile_file): Call targetm.asm_out.code_end
3289         hook before unwind info/debug info output.
3290         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
3291         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
3292         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
3293         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
3294         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
3295         * config/i386/i386.c (ix86_file_end): Renamed to...
3296         (ix86_code_end): ... this.  Make static.  Don't call
3297         file_end_indicate_exec_stack.  Emit unwind info using
3298         final_start_function/final_end_function.
3299         (darwin_x86_file_end): Remove.
3300         (TARGET_ASM_CODE_END): Define.
3301         * config/i386/i386.h (TARGET_ASM_FILE_END,
3302         NEED_INDICATE_EXEC_STACK): Don't define.
3303         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
3304         (TARGET_ASM_FILE_END): Define to darwin_file_end.
3305         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
3306         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
3307
3308         PR target/43498
3309         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
3310         at the beginning and final_end_function at the end.
3311         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
3312
3313 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3314
3315         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
3316         and Sun as TLS syntax.
3317         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
3318         * configure: Regenerate.
3319         * config.in: Regenerate.
3320         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
3321         (default_elf_asm_named_section): Use it.
3322         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
3323         (i386_output_dwarf_dtprel): Likewise.
3324         (output_addr_const_extra): Likewise.
3325         (output_pic_addr_const): Lowercase @GOTTPOFF.
3326         (output_addr_const_extra): Likewise.
3327         (output_pic_addr_const): Lowercase @GOTNTPOFF.
3328         (output_addr_const_extra): Likewise.
3329         (output_pic_addr_const): Lowercase @INDNTPOFF.
3330         (output_addr_const_extra): Likewise.
3331         (output_pic_addr_const): Lowercase @NTPOFF.
3332         (output_addr_const_extra): Likewise.
3333         (output_pic_addr_const): Lowercase @TPOFF.
3334         (output_addr_const_extra): Likewise.
3335         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
3336         (*tls_global_dynamic_64): Likewise.
3337         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
3338         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
3339
3340         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
3341         (ASM_OUTPUT_TLS_COMMON): Use it.
3342         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
3343
3344         PR target/38118
3345         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
3346         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
3347         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
3348         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
3349         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
3350         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
3351
3352 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3353
3354         * config/i386/i386.c (override_options): Don't accept
3355         -mtls-dialect=sun any longer.
3356         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
3357         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
3358         (*tls_local_dynamic_base_32_sun): Likewise.
3359         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
3360
3361 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
3362
3363         PR debug/43508
3364         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
3365         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
3366
3367         PR debug/43479
3368         * ira.c (adjust_cleared_regs): New function.
3369         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
3370
3371         PR debug/19192
3372         PR debug/43479
3373         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
3374         from gimple_block.
3375         * expr.c (expand_expr_real): Restore previous
3376         curr_insn_source_location and curr_insn_block after
3377         expand_expr_real_1 call.
3378         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
3379         instead of expand_expr_real_1.
3380
3381 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
3382
3383         PR rtl-optimization/43413
3384         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
3385         hard regs too.
3386
3387 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
3388
3389         PR target/43348
3390         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
3391         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
3392
3393 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
3394
3395         * config/i386/i386.c (ix86_target_string): Add -mfma.
3396         Fix a typo in comment.
3397
3398 2010-03-22  Mike Stump  <mikestump@comcast.net>
3399
3400         PR target/23071
3401         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
3402         Don't overly align based upon packed packed fields.
3403
3404 2010-03-22  Jason Merrill  <jason@redhat.com>
3405
3406         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
3407         Use () rather than [], and move before the element type.
3408
3409 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3410
3411         * doc/configfiles.texi (Configuration Files): Removed
3412         fixinc/Makefile*, intl/Makefile.*.
3413         * doc/makefile.texi: Fixed markup. Abstract from version
3414         control system used.
3415         (Makefile): Removed obsolete gcc/java/parse.y example.
3416         * doc/sourcebuild.texi: Likewise.
3417         (Top Level): Added config, gnattools, libdecnumber, libgcc,
3418         libgomp, libssp.  Removed fastjar.
3419         (Miscellaneous Docs): Clarify location.
3420         Added COPYING3, COPYING3.LIB.
3421         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
3422
3423 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3424
3425         PR target/38085
3426         * config/i386/i386.c (x86_function_profiler)
3427         [!NO_PROFILE_COUNTERS]: Fix typo.
3428         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
3429         instead of callq.
3430
3431 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
3432             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3433
3434         * doc/sourcebuild.texi (Test Directives): Split into six
3435         subsections, with most of the current text in new subsections
3436         Directives, Selectors, and Final Actions.
3437         (Directives): Split list of test directives into multiple
3438         subsubsections.
3439         (Selectors): Describe use and syntax of selectors.
3440         (Effective-Target Keywords): Describe all existing keywords.
3441         (Add Options): Describe features for dg-add-options.
3442         (Require Support): Describe variants of dg-require-support.
3443         (Final Actions): Describe commands to use in dg-final.
3444