OSDN Git Service

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