OSDN Git Service

* cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
2
3         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
4         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
5         (cselib_preserve_only_values): Remove retain argument, don't
6         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
7         * cselib.h (cselib_preserve_only_values): Remove retain argument.
8         * var-tracking.c (micro_operation): Move insn field before union.
9         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
10         (struct variable_tracking_info_def): Remove n_mos field, change
11         mos into a vector of micro_operations.
12         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
13         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
14         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
15         changing into a vector.
16         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
17         come before all other uops generated by add_stores.
18         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
19         argument removal.
20         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
21         a vector.  Run just one pass over the bbs instead of separate counting
22         and computation phase.
23         (vt_finalize): Free VTI (bb)->mos vector instead of array.
24
25         PR debug/43329
26         * tree-inline.c (remap_decls): Put old_var rather than origin_var
27         into *nonlocalized_list vector.
28         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
29         even if origin is non-NULL.
30         (gen_variable_die): Likewise.
31         (process_scope_var): Don't change origin.
32         (gen_decl_die): Likewise.
33         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
34         before adding new edges instead of after it, fix moving over
35         debug stmts.
36
37 2010-03-11  David S. Miller  <davem@davemloft.net>
38
39         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple of four.
40         * configure: Rebuild.
41
42 2010-03-11  Martin Jambor  <mjambor@suse.cz>
43
44         PR tree-optimization/43257
45         * tree.c (assign_assembler_name_if_neeeded): New function.
46         (free_lang_data_in_cgraph): Assembler name assignment moved to the
47         above new function.
48         * tree.h (assign_assembler_name_if_neeeded): Declare.
49         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
50         the function if needed.
51
52 2010-03-11  Chris Demetriou  <cgd@google.com>
53
54         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
55         include/stdint-gcc.h, and include/stdint.h world-readable.
56
57 2010-03-11  Richard Guenther  <rguenther@suse.de>
58
59         PR tree-optimization/43255
60         * tree-vrp.c (process_assert_insertions_for): Do not insert
61         asserts for trivial conditions.
62
63 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
64
65         PR tree-optimization/43280
66         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number generation.
67         Move calculation of size out of the if branch.
68         (find_bswap): Modify compare number generation.
69
70 2010-03-11  Richard Guenther  <rguenther@suse.de>
71
72         PR lto/43200
73         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
74         (input_gimple_stmt): Fixup handled component types during
75         operand read.  Also fix up decls in ADDR_EXPRs.
76
77 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
78
79         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
80         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
81
82 2010-03-10  Jan Hubicka  <jh@suse.cz>
83
84         PR c/43288
85         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
86         * varasm.c (get_variable_section): Don't do that here...
87         (make_decl_rtl): ... and here.
88         (do_assemble_alias): Produce decl RTL.
89         (assemble_alias): Likewise.
90
91 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
92
93         PR debug/43290
94         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
95         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
96         of fde->vdrap_reg.
97         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
98         (based_loc_descr): Only express drap or vdrap regno based expressions
99         using DW_OP_fbreg when not optimizing.
100         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
101         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
102         REG_CFA_SET_VDRAP note.
103
104 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
105
106         PR tree-optimization/43236
107         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
108         error in calculation of base address in reverse iteration case.
109         (generate_builtin): Take number of latch executions if the statement
110         is in the latch.
111
112 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
113
114         PR middle-end/42859
115         * tree-eh.c: Include pointer-set.h.
116         (lower_eh_dispatch): Filter out duplicate case labels and
117         remove the unneeded edge when the label is unused.  Return
118         true when some edges are removed.
119         (execute_lower_eh_dispatch): When any lowering resulted in
120         removing an edge, also delete unreachable blocks.
121
122 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
123
124         PR bootstrap/43287
125         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
126         UNSPEC_MACHOPIC_OFFSET.
127
128 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
129
130         PR target/43294
131         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
132         (m68k_delegitimize_address): New function.
133
134 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
135
136         PR debug/43299
137         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
138
139         PR debug/43299
140         * var-tracking.c (adjust_sets): New function.
141         (count_with_sets, add_with_sets): Use it.
142         (get_adjusted_src): New inline function.
143         (add_stores): Use it.
144
145         PR debug/43304
146         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
147         call cselib_dummy_expand_value_rtx_cb instead of
148         cselib_expand_value_rtx_cb.
149
150         PR debug/43293
151         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
152         * config/i386/i386.c: Include debug.h and dwarf2out.h.
153         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
154         and .cfi_endproc around the pic thunks.
155         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
156         all queued unwind info register saves are saved before the call.
157         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
158         considered as sp-=4 for unwind info and the pop as sp+=4 which
159         also clobbers dest, but doesn't actually restore it.
160
161         PR debug/43290
162         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
163         RTX_FRAME_RELATED_P.
164
165 2010-03-09  Jie Zhang  <jie@codesourcery.com>
166
167         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
168         whitespaces in output template.
169
170 2010-03-09  Jie Zhang  <jie@codesourcery.com>
171
172         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
173         out array boundary.
174
175 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
176
177         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
178         builtins.exp in a separate job.
179
180 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
181
182         * graphite-sese-to-poly.c (add_param_constraints): Use
183         lower_bound_in_type and upper_bound_in_type.
184
185 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
186
187         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
188         instead of unsigned_type_node.
189
190 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
191             Reza Yazdani  <reza.yazdani@amd.com>
192
193         PR middle-end/43065
194         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
195         on pointer type parameters.
196
197 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
198
199         PR middle-end/42644
200         PR middle-end/42130
201         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
202         handle conversions from pointer to integers.
203         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
204         induction variable, to be able to work with code generated by
205         CLooG.
206         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
207         (build_poly_scop): Bail out if we cannot codegen a loop.
208
209 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
210
211         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
212         code generation with gloog_error.
213
214 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
215
216         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
217         Call fold_convert on all the returned values.
218         (expand_scalar_variables_expr): Pass to expand_scalar_variables_ssa_name
219         the type of the resulting expression.
220
221 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
222
223         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
224         ppl_min_for_le_pointset.  Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
225         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
226
227 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
228
229         * graphite-dependences.c (map_into_dep_poly): Removed.
230         (dependence_polyhedron_1): Use combine_context_id_scat.
231
232 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
233
234         * graphite-poly.h (struct poly_scattering): Add layout documentation.
235         (struct poly_bb): Same.
236         (combine_context_id_scat): New.
237
238 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
239
240         PR middle-end/42326
241         * sese.c (name_defined_in_loop_p): Return false for default
242         definitions.
243
244 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
245
246         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
247         and clean up the logic.
248
249 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
250
251         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
252         early return.
253
254 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
255
256         * var-tracking.c (remove_cselib_value_chains): Define only for
257         ENABLE_CHECKING.
258         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
259         delete_slot_part, emit_notes_for_differences_1): Don't call
260         remove_cselib_value_chains here.
261         (set_slot_part, emit_notes_for_differences_2): Don't call
262         add_cselib_value_chains here.
263         (preserved_values): New vector.
264         (preserve_value): New function.
265         (add_uses, add_stores, vt_add_function_parameters): Use it
266         instead of cselib_preserve_value.
267         (changed_values_stack): New vector.
268         (check_changed_vars_0): New function.
269         (check_changed_vars_1, check_changed_vars_2): Use it.
270         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
271         changed_values_stack VALUEs.
272         (vt_emit_notes): For all preserved_values call
273         add_cselib_value_chains.  If ENABLE_CHECKING call
274         remove_cselib_value_chains before verifying value_chains is empty.
275         Initialize and free changed_values_stack.
276         (vt_initialize): Initialize preserved_values.
277         (vt_finalize): Free preserved_values.
278
279 2010-03-08  Richard Guenther  <rguenther@suse.de>
280
281         PR tree-optimization/43269
282         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
283         region detection.
284
285 2010-03-08  Martin Jambor  <mjambor@suse.cz>
286
287         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
288         (ipa_is_param_called): Removed.
289         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
290         (ipa_print_node_params): Do not print the called flag.
291         (ipa_write_node_info): Do not stream the called flag.
292         (ipa_read_node_info): Likewise.
293
294 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
295
296         PR debug/43176
297         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
298         * cselib.c (struct expand_value_data): Add dummy field.
299         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
300         dummy to false.
301         (cselib_dummy_expand_value_rtx_cb): New function.
302         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
303         any rtl.
304         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
305         * var-tracking.c: Include pointer-set.h.
306         (variable): Change n_var_parts to char from int.  Add
307         cur_loc_changed and in_changed_variables fields.
308         (variable_canonicalize): Remove.
309         (shared_var_p): New inline function.
310         (unshare_variable): Maintain cur_loc_changed and
311         in_changed_variables fields.  If var was in changed_variables,
312         replace it there with new_var.  Just copy cur_loc instead of
313         resetting it to something else.
314         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
315         (dataflow_set_union): Don't call variable_canonicalize.
316         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
317         of their DEBUG_EXPR_TREE_DECLs.
318         (canonicalize_loc_order_check): Verify that cur_loc is NULL
319         and in_changed_variables and cur_loc_changed is false.
320         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
321         and cur_loc_changed.  Don't update cur_loc here.
322         (variable_merge_over_src): Don't call variable_canonicalize.
323         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
324         removing loc that is equal to cur_loc, clear cur_loc,
325         set cur_loc_changed and ensure variable_was_changed is called.
326         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
327         compare pointers in cur_loc check, if it is equal to loc,
328         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
329         (variable_different_p): Remove compare_current_location argument,
330         don't compare cur_loc.
331         (dataflow_set_different_1): Adjust variable_different_p caller.
332         (variable_was_changed): If dv had some var in changed_variables
333         already, reset in_changed_variables flag for it and propagate
334         cur_loc_changed over to the new variable.  On empty var
335         always set cur_loc_changed.  Set in_changed_variables on whatever
336         var is added to changed_variables.
337         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
338         Use shared_var_p.  When removing loc that is equal to cur_loc,
339         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
340         end, don't set it to something else, just call variable_was_changed.
341         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
342         loc being removed, clear cur_loc and set cur_loc_changed.
343         Set cur_loc_changed if all locations have been removed.
344         (struct expand_loc_callback_data): New type.
345         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
346         allocated.  Always create SUBREGs if simplify_subreg failed.
347         Prefer to use cur_loc, when that fails and still in
348         changed_variables (and seen first time) recompute it.  Set
349         cur_loc_changed of variables which had to change cur_loc and
350         compute elcd->cur_loc_changed if any of the subexpressions used
351         had to change cur_loc.
352         (vt_expand_loc): Adjust to pass arguments in
353         expand_loc_callback_data structure.
354         (vt_expand_loc_dummy): New function.
355         (emitted_notes): New variable.
356         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
357         that weren't used for any other decl in current
358         emit_notes_for_changes call call vt_expand_loc_dummy to update
359         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
360         first loc_chain location if NULL before.  Always use just
361         cur_loc instead of first loc_chain location.  When cur_loc_changed
362         is false, when not --enable-checking=rtl just don't emit any note.
363         When rtl checking, compute the note and assert it is the same
364         as previous note.  Clear cur_loc_changed and in_changed_variables
365         at the end before removing from changed_variables.
366         (check_changed_vars_3): New function.
367         (emit_notes_for_changes): Traverse changed_vars to call
368         check_changed_vars_3 on each changed var.
369         (emit_notes_for_differences_1): Clear cur_loc_changed and
370         in_changed_variables.  Recompute cur_loc of new_var.
371         (emit_notes_for_differences_2): Clear cur_loc if new variable
372         appears.
373         (vt_emit_notes): Initialize and destroy emitted_notes.
374
375 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
376
377         PR rtl-optimization/42220
378         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
379         Use verify_reg_tracked to determine if we should use OP_OUT rather
380         than OP_INOUT.
381         (build_def_use): If we see an in-out operand for a register that we
382         know nothing about, treat is an output if possible, fail the block if
383         not.
384
385 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
386
387         PR debug/42897
388         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
389         permanently.
390
391 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
392
393         PR debug/42897
394         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
395         uses of relevant DEFs that are dead outside the loop too.
396
397 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
398
399         * var-tracking.c (dataflow_set_merge): Swap src and src2.
400         Reverted:
401         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
402         PR debug/41371
403         * var-tracking.c (values_to_unmark): New variable.
404         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
405         values_to_unmark vector.  Moved body to...
406         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
407         instead queue it into values_to_unmark vector.
408         (vt_find_locations): Free values_to_unmark vector.
409
410 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
411
412         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
413         (site.exp): Export them when plugins are enabled.
414
415 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
416
417         PR middle-end/42326
418         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
419         that contain scevs.
420         (chrec_fold_multiply): Same.
421
422 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
423
424         PR c/43248
425         * c-decl.c (build_compound_literal): Return early if init is
426         an error_mark_node.
427
428 2010-03-04  Martin Jambor  <mjambor@suse.cz>
429
430         PR tree-optimization/43164
431         PR tree-optimization/43191
432         * tree-sra.c (type_consists_of_records_p): Reject records with
433         zero-size bit-fields at the end.
434
435 2010-03-04  Mike Stump  <mikestump@comcast.net>
436
437         * Makefile.in (TAGS): Remove *.y.
438
439 2010-03-04  Richard Guenther  <rguenther@suse.de>
440
441         PR tree-optimization/40761
442         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
443         in reverse order.
444         (my_rev_post_order_compute): New function.
445         (init_pre): Call it.
446
447 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
448
449         PR middle-end/43209
450         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
451         decrease the cost of an IV candidate when the cost is infinite.
452
453 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
454
455         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
456         Use '3DNow!' for the extension of that name, ensure normal space
457         after the string.
458         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
459
460 2010-03-03  Jeff Law  <law@redhat.com>
461
462         * PR middle-end/32693
463         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
464         than gen_rtx_SUBREG.
465         (extract_bit_field_1): Likewise.
466
467 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
468
469         * doc/sourcebuild.texi (Test directives): Document that arguments
470         include-opts and exclude-opts are now optional for dg-skip-if,
471         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
472
473 2010-03-03  Jason Merrill  <jason@redhat.com>
474
475         PR c++/12909
476         * cgraph.h (varpool_node): Add extra_name field.
477         * varpool.c (varpool_extra_name_alias): New.
478         (varpool_assemble_decl): Emit extra name aliases.
479         (varpool_mark_needed_node): Look past an extra name alias.
480         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
481         * lto-streamer-in.c (lto_input_tree): Read it.
482         * lto-streamer-out.c (output_unreferenced_globals): Write it.
483
484 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
485
486         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
487         (sparc*-*-solaris2*): ...this.
488
489 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
490
491         PR debug/43229
492         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
493         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
494         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
495         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
496
497         PR debug/43237
498         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
499         fallthrough to default handling, just with want_address 0 instead of 2.
500         For single element lists, add_AT_loc directly, otherwise create an
501         artificial variable DIE and stick location list to it.
502
503         PR debug/43177
504         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
505         (VAL_EXPR_HAS_REVERSE): Define.
506         (reverse_op): New function.
507         (add_stores): For reversible operations add an extra MO_VAL_USE.
508
509 2010-03-02  Jason Merrill  <jason@redhat.com>
510
511         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
512
513 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
514
515         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
516         (sparc64-*-linux*): Likewise.
517         (sparc64-*-solaris2*): Include assembler files before linker ones.
518         (sparc-*-solaris2*): Simplify and reorder to match previous case.
519         * config/sparc/gas.h: Delete.
520         * config/sparc/sol2-64.h: Add copyright notice.
521         * config/sparc/sol2-gas-bi.h: Likewise.
522         * config/sparc/sol2-gld.h: Likewise.
523         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
524         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
525         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
526         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
527         (sparc_elf_asm_named_section): Rename into...
528         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
529
530 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
531
532         * config/alpha/alpha.c (override_options): Fix -mtune error message.
533
534 2010-03-02  Jeff Law  <law@redhat.com>
535
536         PR middle-end/42431
537         * reload1.c (rtx_p, substitute_stack): Declare.
538         (substitute): Record addresses of changed rtxs.
539         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
540         Restore the original rtx when complete.
541         (reload): Free subsitute_stack when complete.
542
543 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
544
545         * doc/gccint.texi (menu): Add Testsuites as a chapter.
546         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
547         new chapter.
548         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
549         LTO Testing, gcov Testing, profopt Testing, compat Testing,
550         Torture Tests): Change from subsection to section.
551
552 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
553             Steven Bosscher  <steven@gcc.gnu.org>
554
555         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
556         instead of bb.
557
558 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
559
560         PR middle-end/42640
561         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
562         the assignment from the new induction variable to the assignment
563         of the value from the original loop PHI function.
564
565 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
566             Daniel Jacobowitz  <dan@codesourcery.com>
567
568         * doc/sourcebuild.texi (Test directives): Clarify options to
569         dg-skip-if.
570
571 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
572
573         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
574         Disable cfi directives unless GCC and gas agree on using read-only
575         .eh_frame sections for 64-bit.
576         * configure: Regenerate.
577
578 2010-03-01  Richard Guenther  <rguenther@suse.de>
579
580         PR tree-optimization/43220
581         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
582         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
583
584 2010-03-01  Richard Guenther  <rguenther@suse.de>
585             Martin Jambor  <mjambor@suse.cz>
586
587         PR middle-end/41250
588         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
589         gimplified parameters.
590
591 2010-03-01  Christian Bruel  <christian.bruel@st.com>
592
593         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
594
595 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
596
597         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
598
599 2010-03-01  Richard Guenther  <rguenther@suse.de>
600
601         PR middle-end/43213
602         * expr.c (expand_assignment): Use the alias-oracle to tell
603         if the rhs aliases the result decl.
604
605 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
606
607         PR pch/14940
608         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
609         to sol_gt_pch_get_address.
610         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
611         64-bit, SPARC and x86.
612         (sol_gt_pch_get_address): New function.
613
614 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
615
616         * toplev.h (inform_n, error_n): Declare.
617         * diagnostic.c (inform_n, error_n): New function.
618
619 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
620
621         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
622         has no rtl yet when processing local_decls, queue it and recheck
623         if deferred stack allocation hasn't assigned it rtl.
624
625 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
626
627         * config/sh/sh.c (unspec_bbr_uid): New.
628         (gen_block_redirect): Use it instead of INSN_UID.
629         (gen_far_branch): Likewise.
630
631 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
632
633         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
634         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
635
636 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
637
638         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
639         (Warning Options): -Wno-conversion-null is valid for
640         Objective-C++ as well.
641         * doc/tm.texi (Named Address Spaces): Likewise.
642         * doc/plugins.texi (Plugins): Replace TABs with spaces.
643         * doc/tree-ssa.texi (Tree SSA): Likewise.
644
645 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
646
647         PR bootstrap/43202
648         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
649         by default.  Don't set the default arch for
650         i[34567]86-*-darwin*|x86_64-*-darwin*.
651
652 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
653
654         PR bootstrap/43202
655         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
656         default.  Set the default 32bit/64bit archs with $with_arch
657         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
658
659 2010-02-27  Richard Guenther  <rguenther@suse.de>
660
661         PR tree-optimization/43186
662         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
663         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
664         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
665         unroller iterations.
666
667 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
668
669         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
670         required and i[34567]86-*-* targets don't support 64bit ISA.
671
672 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
673
674         PR ada/43096
675         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
676         the same alias set.
677
678 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
679
680         * config.gcc: Set the default arch at least to Prescott for
681         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
682         if SSE math is enabled.
683
684 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
685
686         * diagnostic.c (diagnostic_initialize): Update.
687         (diagnostic_report_diagnostic): Test inhibit_notes_p for
688         informative notes.
689         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
690         (diagnostic_inhibit_notes): New.
691         * toplev.c (process_options): inhibit notes with -fcompare-debug.
692
693 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
694
695         PR c/20631
696         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
697         * doc/standards.texi: Likewise.
698         * doc/extend.texi: Likewise.
699         * doc/trouble.texi: Likewise.
700         * doc/cppopts.texi: Likewise.
701         * doc/install.texi: Likewise.
702         * c.opt (std=c90,std=gnu90): New options.
703         * c-opts.c (c_common_handle_option): Handle them.
704
705 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
706
707         PR c/24577
708         * c-decl.c (undeclared_variable): Use an informative note.
709
710 2010-02-26  Richard Guenther  <rguenther@suse.de>
711
712         PR tree-optimization/43186
713         * gimple.h (gimple_fold): Remove.
714         * gimple.c (gimple_fold): Remove.  Inline into single user ...
715         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
716         Try harder for conditions.
717
718 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
719
720         PR debug/43190
721         * function.c (used_types_insert): Don't skip through named pointer
722         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
723         and it is different from the main variant's type.
724
725 2010-02-26  Nick Clifton  <nickc@redhat.com>
726
727         * config/rx/rx.md (sminsi3): Remove bogus alternative.
728
729 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
730
731         * config.gcc: Support --with-fpmath=sse for x86.
732
733         * config/i386/ssemath.h: New.
734
735         * doc/install.texi (--with-fpmath=sse): Documented.
736
737 2010-02-26  Richard Guenther  <rguenther@suse.de>
738
739         PR tree-optimization/43188
740         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
741         vector types of over-aligned element type.
742
743 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
744
745         PR target/43175
746         * config/i386/i386.c (expand_vec_perm_blend): Use correct
747         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
748
749 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
750
751         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
752
753 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
754
755         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
756         * var-tracking.c: Include diagnostic.h.
757         (debug_dv): New function.
758         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
759
760         PR debug/43160
761         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
762         (add_value_chain, add_value_chains, remove_value_chain,
763         remove_value_chains): Handle DEBUG_EXPRs.
764         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
765
766         PR debug/43161
767         * regcprop.c (struct queued_debug_insn_change): New type.
768         (struct value_data_entry): Add debug_insn_changes field.
769         (struct value_data): Add n_debug_insn_changes field.
770         (debug_insn_changes_pool): New variable.
771         (free_debug_insn_changes, apply_debug_insn_changes,
772         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
773         (kill_value_one_regno): Call free_debug_insn_changes if needed.
774         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
775         fields.
776         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
777         changes for them.
778         (copyprop_hardreg_forward_1): Don't call apply_change_group for
779         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
780         changes, call cprop_find_used_regs via note_stores.
781         (copyprop_hardreg_forward): When copying vd from predecessor
782         which has any queued DEBUG_INSN changes, make sure the pointers are
783         cleared.  At the end call df_analyze and then if there are any
784         DEBUG_INSN changes queued at the end of some basic block for still
785         live registers, apply them.
786         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
787
788 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
789
790         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
791         (arm*-*-*): Ditto.
792
793 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
794
795         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
796         targets.  Set the default with_cpu/with_arch from arch/cpu.
797         Allow x86-64 and native for with_cpu/with_arch.
798
799 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
800
801         * ebitmap.c: Change calls to verify_popcount with calls to
802         sbitmap_verify_popcount.
803         (ebitmap_clear_bit): Fixed map->cacheindex test and
804         map>cache update when bit clearing results in an empty
805         element.
806
807 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
808
809         PR target/43154
810         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
811         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
812         and support both V2DF and V2DI modes.
813         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
814         support both V2DF and V2DI modes.
815         (general): Delete trailing whitespace from a few patterns.
816
817         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
818         V2DF/V2DI interleave high/low builtins.
819
820         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
821         new VSX builtins.
822
823         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
824         interleave high/low functions.
825
826 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
827
828         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
829         #pragma extern_prefix.
830
831 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
832
833         PR debug/43166
834         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
835         BLKmode, assert op0 is a MEM and just adjust its mode.
836
837         PR debug/43165
838         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
839         if bitpos isn't multiple of mode's bitsize.
840
841 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
842
843         * c.opt (-ftemplate-depth=): New.
844         (-ftemplate-depth-): Deprecate.
845         * optc-gen.awk: Handle -ftemplate-depth=.
846         * opth-gen.awk: Likewise.
847         * c-opts.c (c_common_handle_option): Likewise.
848         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
849
850 2010-02-24  Jason Merrill  <jason@redhat.com>
851
852         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
853
854 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
855
856         * cfg.c (alloc_aux_for_block): Remove inline.
857         (alloc_aux_for_edge): Likewise.
858
859 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
860
861         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
862
863 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
864
865         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
866         * config/i386/sol2-gas.h: New file.
867         * config.gcc (i[34567]86-*-solaris2*): Use it.
868
869 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
870
871         PR c/43128
872         * c-typeck.c (ep_convert_and_check): New.
873         (build_conditional_expr): Use it.
874         (build_binary_op): Likewise.
875
876 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
877
878         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
879
880         PR debug/43150
881         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
882         bounds even for -O+.
883         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
884         expr needs to have DECL_NAME set.
885
886 2010-02-24  Nick Clifton  <nickc@redhat.com>
887
888         * config/mep/mep.c: Include gimple.h.
889         (mep_function_uses_sp): Delete unused function.
890         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
891         parameters.  Use unsigned integers to count args.  Return a
892         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
893
894 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
895
896         PR target/43107
897         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
898         greater or equal to nelt instead of 2 * nelt.
899         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
900         with nelt - 1.
901
902 2010-02-23  Jason Merrill  <jason@redhat.com>
903
904         PR debug/42800
905         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
906         in cfun->local_decls even if they have register types.
907
908         PR c++/42837
909         * stor-layout.c (place_field): Don't warn about unnecessary
910         DECL_PACKED if the type is packed.
911
912 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
913
914         PR target/43139
915         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
916         GOTOFF relocs, even when the base reg isn't pic pointer.
917
918 2010-02-23  Michael Matz  <matz@suse.de>
919
920         PR debug/43077
921         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
922         (expand_gimple_basic_block): Generate and use debug temps if there
923         are debug uses left after the last real use of TERed ssa names.
924         Unlink debug immediate uses when they are expanded.
925
926 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
927
928         PR 43123
929         * config/i386/i386.c (override_options): Reorganise to provide
930         better error messages.
931
932 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
933
934         PR middle-end/43083
935         * graphite-scop-detection.c (create_single_exit_edge): Move
936         the call to find_single_exit_edge to....
937         (create_sese_edges): ...here.  Don't handle multiple edges
938         exiting the function.
939         (build_graphite_scops): Don't handle multiple edges
940         exiting the function.
941
942 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
943
944         PR middle-end/43097
945         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
946         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
947
948 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
949
950         PR middle-end/43026
951         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
952
953 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
954
955         PR c++/43126
956         * c-typeck.c (convert_arguments): Print declaration location.
957         * c-common.c (validate_nargs): Rename as
958         builtin_function_validate_nargs.
959         (check_builtin_function_arguments): Update.
960
961 2010-02-22  Richard Guenther  <rguenther@suse.de>
962
963         PR lto/43045
964         * tree-inline.c (declare_return_variable): Use the type of
965         the call stmt lhs if available.
966
967 2010-02-22  Duncan Sands  <baldrick@free.fr>
968
969         * passes.c (register_pass): Always consider all pass lists when
970         ref_pass_instance_number is zero.
971
972 2010-02-22  Richard Guenther  <rguenther@suse.de>
973
974         PR tree-optimization/42749
975         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
976         parameter.  Do arithmetic in the original type.
977         (update_accumulator_with_ops): Likewise.
978         (adjust_accumulator_values): Adjust.
979
980 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
981
982         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
983         (QI to BLKmode splitter): New splitter.
984
985 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
986
987         * config/i386/i386.c (initial_ix86_tune_features): Turn on
988         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
989
990 2010-02-22  Richard Guenther  <rguenther@suse.de>
991
992         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
993
994 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
995
996         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
997         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
998         ($(T)crti.o, $(T)crtn.o): Remove rules.
999
1000 2010-02-21  Tobias Burnus  <burnus@net-b.de>
1001
1002         PR fortran/35259
1003         * doc/invoke.texi (-fassociative-math): Document that this
1004         option is automatically enabled for Fortran.
1005
1006 2010-02-20  David S. Miller  <davem@davemloft.net>
1007
1008         * configure.ac: Test if linker and assembler properly support
1009         GOTDATA_OP relocations.
1010         * configure: Rebuild.
1011         * config.in: Likewise.
1012         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
1013         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
1014         (movsi_high_pic): Likewise.
1015         (movdi_lo_sum_pic): Likewise.
1016         (movdi_high_pic): Likewise.
1017         (movsi_pic_gotdata_op): New pattern.
1018         (movdi_pic_gotdata_op): Likewise.
1019         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
1020         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
1021
1022 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
1023
1024         PR target/43067
1025         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
1026         attribute to ssemul.
1027         (xop_mulv2div2di3_high): Ditto.
1028
1029 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1030
1031         PR c++/35669
1032         * c.opt (Wconversion-null): New option.
1033         * doc/invoke.texi (Wconversion-null): Document.
1034
1035 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1036
1037         * common.opt (Wlarger-than-): Add Undocumented.
1038
1039 2010-02-19  Mike Stump  <mikestump@comcast.net>
1040
1041         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
1042
1043 2010-02-19  Jason Merrill  <jason@redhat.com>
1044
1045         PR target/40332
1046         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
1047         * configure: Likewise.
1048
1049 2010-02-20  Alan Modra  <amodra@gmail.com>
1050
1051         PR middle-end/42344
1052         * cgraph.h (cgraph_make_decl_local): Declare.
1053         * cgraph.c (cgraph_make_decl_local): New function.
1054         (cgraph_make_node_local): Use it.
1055         * cgraphunit.c (cgraph_function_versioning): Likewise.
1056         * ipa.c (function_and_variable_visibility): Likewise.
1057
1058 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1059
1060         PR bootstrap/43121
1061         * except.c (sjlj_emit_function_enter): Don't call
1062         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
1063         directly.
1064         * rtl.h (add_reg_br_prob_note): Remove prototype.
1065
1066 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1067
1068         PR 41779
1069         * c-common.c (conversion_warning): Remove widening conversions
1070         before checking the conversion of integers to reals.
1071
1072 2010-02-19  Mike Stump  <mikestump@comcast.net>
1073
1074         PR middle-end/43125
1075         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
1076
1077         PR objc/43061
1078         * cgraphunit.c (process_function_and_variable_attributes): Check
1079         DECL_PRESERVE_P instead of looking up attribute "used".
1080         * ipa-pure-const.c (check_decl): Likewise.
1081         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
1082         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
1083         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
1084         instead of attribute "used".
1085         * config/sol2-c.c (solaris_pragma_init): Likewise.
1086         (solaris_pragma_fini): Likewise.
1087
1088 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1089
1090         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
1091         Use XCNEW instead of xcalloc.
1092         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
1093         XNEW instead of xmalloc.
1094         (get_fields): Use XNEWVEC instead of xmalloc.
1095
1096         PR debug/43084
1097         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
1098         populate vars array.
1099         (create_new_general_access): For debug stmts just reset value.
1100         (get_stmt_accesses): For accesses within debug stmts just record them
1101         using add_access_to_acc_sites instead of preventing the peeling or
1102         counting them as accesses.
1103
1104         PR middle-end/42233
1105         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
1106
1107 2010-02-19  Richard Guenther  <rguenther@suse.de>
1108
1109         PR tree-optimization/42916
1110         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
1111         instructions.
1112
1113 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
1114
1115         * configure.ac: Replace all uses of changequote in macro arguments
1116         with proper quoting.
1117
1118 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1119
1120         PR middle-end/42233
1121         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
1122
1123 2010-02-19  Richard Guenther  <rguenther@suse.de>
1124
1125         PR tree-optimization/42944
1126         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
1127         test for aliasing with errno.
1128
1129 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1130
1131         PR middle-end/42233
1132         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
1133         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
1134         * dojump.c: Include output.h.
1135         (inv): New inline function.
1136         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
1137         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
1138         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
1139         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
1140         argument, pass it down to other calls.
1141         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
1142         add REG_BR_PROB note to the conditional jump.
1143         * cfgexpand.c (add_reg_br_prob_note): Removed.
1144         (expand_gimple_cond): Don't call it, add the probability
1145         as last argument to jumpif_1/jumpifnot_1.
1146         * Makefile.in (dojump.o): Depend on output.h.
1147         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
1148         callers.
1149         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
1150         * stmt.c (do_jump_if_equal): Likewise.
1151         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
1152         * loop-unswitch.c (compare_and_jump_seq): Likewise.
1153         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
1154         Likewise.
1155         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
1156         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
1157         jumpifnot_1 callers.
1158         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
1159         callers.
1160         (store_expr): Adjust jumpifnot caller.
1161         (store_constructor): Adjust jumpif caller.
1162
1163         PR middle-end/42233
1164         * gimplify.c (gimple_boolify): For __builtin_expect call
1165         gimple_boolify also on its first argument.
1166
1167 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
1168
1169         * configure.ac (gnu-unique-object): Wrap regexps using [] in
1170         changequote block.
1171         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
1172         * configure: Regenerated.
1173
1174 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1175
1176         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
1177         lang_hooks.types_compatible_p instead of comptypes.
1178
1179 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
1180
1181         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
1182         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
1183         if __prefer_thumb__ is defined.
1184
1185 2010-02-18  Martin Jambor  <mjambor@suse.cz>
1186
1187         PR tree-optimization/43066
1188         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
1189         array with zero-sized element type.
1190
1191 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
1192
1193         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
1194         rtx, allocate struct var_loc_node here and return it to the
1195         caller, and only if it is actually needed.
1196         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
1197         move it earlier and return immediately if it returns NULL.
1198
1199 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
1200
1201         * config/sparc/gas.h: New file.  Restore
1202         TARGET_ASM_NAMED_SECTION to its ELF default.
1203         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
1204         check !HAVE_GNU_AS.
1205         * config/sparc/sparc.c (sparc_elf_asm_named_section):
1206         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
1207         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
1208         after sparc/sysv4.h.
1209
1210 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
1211
1212         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
1213
1214 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
1215
1216         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
1217         patterns from predicated pattern.
1218
1219 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
1220
1221         PR target/43103
1222         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
1223         for insn mnemonic suffix.
1224
1225 2010-02-17  Richard Guenther  <rguenther@suse.de>
1226
1227         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
1228         to loop PHI nodes.
1229
1230 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
1231
1232         PR debug/42918
1233         * caller-save.c (save_call_clobbered_regs): If BB ends with
1234         a DEBUG_INSN, move any notes in between last real insn and the last
1235         DEBUG_INSN after the last DEBUG_INSN.
1236
1237 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
1238
1239         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
1240         Fix return type.  Fix argument type.  Explain meaning of return value.
1241
1242 2010-02-16  Richard Guenther  <rguenther@suse.de>
1243
1244         PR tree-optimization/41043
1245         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
1246         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
1247         statements ...
1248         (vrp_visit_phi_node): ... but only for loop PHI nodes.
1249
1250 2010-02-16  Ira Rosen <irar@il.ibm.com>
1251
1252         PR tree-optimization/43074
1253         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
1254         * tree-vect-loop.c (vect_analyze_loop_operations): Add
1255         vectorizable cycles in hybrid SLP check.
1256         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
1257
1258 2010-02-16  Richard Guenther  <rguenther@suse.de>
1259
1260         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
1261         (true_dependence): If memrefs_conflict_p computes must-alias
1262         trust it.  Move TBAA check after offset-based disambiguation.
1263         (canon_true_dependence): Likewise.
1264
1265 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
1266
1267         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
1268         * doc/invoke.texi: Document it.
1269         * var-tracking.c: Include toplev.h and params.h.
1270         (vt_find_locations): Return bool indicating success.  Compute
1271         hash sizes unconditionally.  Check new parameter, report.
1272         (variable_tracking_main_1): Check vt_find_locations results and
1273         retry.  Renamed from...
1274         (variable_tracking_main): ... this.  New wrapper to preserve
1275         flag_var_tracking_assignments.
1276         * Makefile.in (var-tracking.o): Adjust dependencies.
1277
1278 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
1279             Jakub Jelinek <jakub@redhat.com>
1280
1281         PR target/42854
1282         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
1283         if weak_import attribute is present.
1284         * config/darwin.c (machopic_select_section): Likewise.
1285
1286 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
1287
1288         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
1289         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
1290         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
1291         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
1292
1293         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
1294
1295         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
1296         Fix argument types.
1297
1298         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
1299         Rewrite text to refer to the names.
1300
1301 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
1302
1303         * config/i386/i386-builtin-types.def
1304         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
1305         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
1306         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
1307         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
1308         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
1309         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
1310         IX86_BUILTIN_VPERMIL2PS256.
1311         (MULTI_ARG_4_DF2_DI_I): Defined.
1312         (MULTI_ARG_4_DF2_DI_I1): Defined.
1313         (MULTI_ARG_4_SF2_SI_I): Defined.
1314         (MULTI_ARG_4_SF2_SI_I1): Defined.
1315         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
1316         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
1317         __builtin_ia32_vpermil2ps256.
1318         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
1319         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
1320         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
1321         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
1322         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
1323         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
1324         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
1325         CODE_FOR_xop_vpermil2v8sf3.
1326         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
1327         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
1328         * config/i386/xopintrin.h (_mm_permute2_pd): New.
1329         (_mm256_permute2_pd): New.
1330         (_mm_permute2_ps): New.
1331         (_mm256_permute2_ps): New.
1332
1333 2010-02-15  Nick Clifton  <nickc@redhat.com>
1334
1335         * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
1336         boolean parameters.  Use emit_jump_insn when emitting a pop
1337         instruction containing a return insn.
1338         (push): Use 'true' rather than '1' as second parameter to F.
1339         (h8300_expand_prologue): Likewise.
1340         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
1341         (h8300_expand_epilogue): Likewise.
1342
1343 2010-02-15  Richard Guenther  <rguenther@suse.de>
1344
1345         PR middle-end/43068
1346         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
1347         if that is zero.
1348
1349 2010-02-15  Nick Clifton  <nickc@redhat.com>
1350
1351         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
1352         delta.
1353
1354 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
1355
1356         * intl.c (fake_ngettext): New function.
1357         * intl.h (fake_ngettext): Declare.
1358         (ngettext): Define macro.
1359         * collect2.c (notice_translated): New function.
1360         (main): Use notice_translated and ngettext.
1361         * collect2.h (notice_translated): Declare.
1362
1363 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
1364
1365         * reorg.c (delete_computation): Comment fixes.
1366         * caller-save.c (setup_save_areas): Idem.
1367         * sel-sched-dump.c (dump_lv_set): Idem.
1368         * rtl.def: Idem.
1369
1370 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1371
1372         * config/s390/s390.c (s390_sched_init): New function.
1373         (TARGET_SCHED_INIT): Target hook defined.
1374
1375 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
1376             Jack Howarth  <howarth@bromo.med.uc.edu>
1377             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1378
1379         PR target/42982
1380         Partial revert of unintended change in fix for PR41605.
1381         * config/darwin.h: Fix typo.
1382         * config/darwin9.h: Same.
1383
1384 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
1385
1386         * c-pch.c (pch_init): Clear v.
1387
1388 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
1389
1390         PR middle-end/42930
1391         * graphite-scop-detection.c (graphite_can_represent_scev): Call
1392         graphite_can_represent_init for MULT_EXPR.
1393
1394 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
1395
1396         PR middle-end/42914
1397         PR middle-end/42530
1398         * graphite-sese-to-poly.c (remove_phi): New.
1399         (translate_scalar_reduction_to_array): Call remove_phi.
1400
1401 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
1402
1403         PR middle-end/42771
1404         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
1405         * graphite-clast-to-gimple.h (gloog): Update declaration.
1406         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
1407         * graphite-poly.h (struct poly_bb): Add missing comments.
1408         (struct scop): Add poly_scop_p field.
1409         (POLY_SCOP_P): New.
1410         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
1411         * graphite.c (graphite_transform_loops): Build the polyhedral
1412         representation for each scop before code generation.
1413         * sese.c (rename_variables_in_operand): Removed.
1414         (rename_variables_in_expr): Return the renamed expression.
1415         (rename_sese_parameters): New.
1416         * sese.h (rename_sese_parameters): Declared.
1417
1418 2010-02-11  Richard Guenther  <rguenther@suse.de>
1419
1420         PR tree-optimization/42998
1421         * tree-ssa-pre.c (create_expression_by_pieces): Treat
1422         POINTER_PLUS_EXPR properly.
1423
1424 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
1425             Changpeng Fang  <changpeng.fang@amd.com>
1426
1427         PR middle-end/40886
1428         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
1429         the cost of an IV candidate when the IV is used in a test against zero.
1430
1431         * gcc.dg/tree-ssa/ivopts-3.c: New.
1432
1433 2010-02-11  Richard Guenther  <rguenther@suse.de>
1434
1435         PR lto/41664
1436         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
1437         pointer-vs-decl case by swapping refs.  Handle some cases
1438         of pointer-vs-decl disambiguations more conservatively.
1439         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
1440         to false after expanding.
1441
1442 2010-02-11  Richard Guenther  <rguenther@suse.de>
1443
1444         PR driver/43021
1445         * gcc.c (process_command): Handle LTO file@offset case more
1446         appropriately.
1447
1448 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
1449
1450         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
1451         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
1452         of DEBUG_INSNs.
1453         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
1454
1455         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
1456         if MEM's mode size isn't DWARF2_ADDR_SIZE.
1457         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
1458         Optimize eq/ne comparisons when both arguments are known to be
1459         zero-extended.
1460         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
1461         Don't mask operands unnecessarily if they are known to be already
1462         zero-extended.
1463
1464 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
1465
1466         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
1467         instead of loop.
1468
1469 2010-02-10  Richard Guenther  <rguenther@suse.de>
1470
1471         PR tree-optimization/43017
1472         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
1473         for wrapping signed arithmetic.
1474
1475 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
1476
1477         PR debug/43010
1478         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
1479         if no debug info should be emitted for it.
1480
1481 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
1482
1483         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
1484         note when flag_exceptions is set.
1485
1486 2010-02-10  Duncan Sands  <baldrick@free.fr>
1487
1488         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
1489
1490 2010-02-10  Richard Guenther  <rguenther@suse.de>
1491
1492         PR c/43007
1493         * tree.c (get_unwidened): Handle constants.
1494         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
1495
1496 2010-02-10  Martin Jambor  <mjambor@suse.cz>
1497
1498         PR lto/42985
1499         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
1500         check for variable argument counts independently.
1501
1502 2010-02-10  Christian Bruel  <christian.bruel@st.com>
1503
1504         PR target/42841
1505         * config/sh/sh.c (find_barrier): Increase length for non delayed
1506         conditional branches.
1507
1508 2010-02-10  Christian Bruel  <christian.bruel@st.com>
1509
1510         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
1511
1512 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
1513
1514         * builtins.c (set_builtin_user_assembler_name): Also handle
1515         ffs if int is smaller than word.
1516
1517 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
1518
1519         PR middle-end/42973
1520         * ira-conflicts.c (get_dup): Remove.
1521         (process_reg_shuffles): Add new parameter.  Use it as an
1522         additional guard for copy generation.
1523         (add_insn_allocno_copies): Rewrite.
1524
1525 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
1526
1527         * common.opt (fsched2-use-traces): Preserved for backward
1528         compatibility.
1529         * doc/invoke.texi: Remove the documentation about option
1530         -fsched2-use-traces.
1531         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
1532         flag_sched2_use_traces.
1533         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
1534         the backward compatibility flag section.
1535
1536 2010-02-09  Richard Guenther  <rguenther@suse.de>
1537
1538         PR tree-optimization/43008
1539         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
1540         make HEAP variables initialized from global memory if they
1541         are not known builtin functions.
1542         (find_func_aliases): Adjust.
1543
1544 2010-02-09  Richard Guenther  <rguenther@suse.de>
1545
1546         PR tree-optimization/43000
1547         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
1548         arithmetic manually.
1549
1550 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
1551
1552         PR tree-optimization/42931
1553         * tree-loop-linear.c (try_interchange_loops): Don't call
1554         double_int_mul if estimated_loop_iterations failed.
1555
1556 2010-02-08  Martin Jambor  <mjambor@suse.cz>
1557
1558         PR middle-end/42898
1559         * tree-sra.c (build_accesses_from_assign): Do not mark in
1560         should_scalarize_away_bitmap if stmt has volatile ops.
1561         (sra_modify_assign): Do not process assigns piecemeal if if stmt
1562         has volatile ops.
1563
1564 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
1565
1566         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
1567
1568 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
1569
1570         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
1571         before the pattern.
1572
1573 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
1574
1575         PR middle-end/42946
1576         * df-core.c (df_finish_pass): Change type of saved_flags to int.
1577
1578 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
1579
1580         PR middle-end/42988
1581         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
1582         to unknown_dependence.
1583         (graphite_legal_transform_dr): Handle the unknown_dependence.
1584         (graphite_carried_dependence_level_k): Same.
1585
1586 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
1587
1588         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
1589
1590 2010-02-07  Richard Guenther  <rguenther@suse.de>
1591
1592         PR middle-end/42991
1593         * expr.c (get_inner_reference): Always initialize *pbitsize.
1594
1595 2010-02-07  Richard Guenther  <rguenther@suse.de>
1596
1597         PR middle-end/42956
1598         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
1599         new ARRAY_REFs on variable size element or minimal index arrays.
1600         Complete.
1601         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
1602         gimple_fold_indirect_ref.
1603
1604 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
1605
1606         PR target/42957
1607         * arm.c (arm_override_options): Just return if the user has specified
1608         an invalid fpu name.
1609
1610 2010-02-03  Jason Merrill  <jason@redhat.com>
1611
1612         PR c++/42870
1613         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
1614         i386_pe_maybe_record_exported_symbol.
1615
1616 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
1617
1618         PR target/42924
1619         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
1620         (pa_delegitimize_address): New function.
1621
1622 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
1623
1624         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
1625         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
1626
1627 2010-02-05  Richard Guenther  <rguenther@suse.de>
1628
1629         PR lto/42762
1630         * lto-streamer-in.c (get_resolution): Deal with references
1631         to undefined functions.
1632
1633 2010-02-05  Richard Guenther  <rguenther@suse.de>
1634
1635         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
1636         (fold_const_aggregate_ref): Likewise.
1637         (ccp_fold_stmt): Substitute loads.
1638         (maybe_fold_reference): Verify types before substituting.
1639         Unshare properly.
1640         (fold_gimple_assign): Unshare properly.
1641         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
1642
1643 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
1644
1645         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
1646         for rs6000_gen_cell_microcode.
1647
1648 2010-02-04  Richard Guenther  <rguenther@suse.de>
1649
1650         PR rtl-optimization/42952
1651         * dse.c (const_or_frame_p): Remove MEM handling.
1652
1653 2010-02-04  Nick Clifton  <nickc@redhat.com>
1654
1655         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
1656         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
1657         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
1658         (mn10300_asm_output_mi_thunk): New function.
1659         (mn10300_can_output_mu_thunk): New function.
1660         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
1661         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
1662         (FUNCTION_ARG): Delete incorrect comment.
1663
1664 2010-02-03  Jason Merrill  <jason@redhat.com>
1665
1666         PR c++/40138
1667         * fold-const.c (operand_equal_p): Handle erroneous types.
1668
1669 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
1670
1671         * config/h8300/h8300.md (can_delay): Fix attibute condition.
1672
1673 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
1674
1675         PR rtl-optimization/42941
1676         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
1677         of xmalloc.
1678
1679 2010-02-03  Jason Merrill  <jason@redhat.com>
1680
1681         PR c++/35652
1682         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
1683
1684 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
1685
1686         PR debug/42896
1687         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
1688         (cselib_reset_table): Renamed from...
1689         (cselib_reset_table_with_next_value): ... this.
1690         (cselib_get_next_uid): Renamed from...
1691         (cselib_get_next_unknown_value): ... this.
1692         * cselib.c (next_uid): Renamed from...
1693         (next_unknown_value): ... this.
1694         (cselib_clear_table): Adjust.
1695         (cselib_reset_table): Adjust.  Renamed from...
1696         (cselib_reset_table_with_next_value): ... this.
1697         (cselib_get_next_uid): Adjust.  Renamed from...
1698         (cselib_get_next_unknown_value): ... this.
1699         (get_value_hash): Use hash.
1700         (cselib_hash_rtx): Likewise.
1701         (new_cselib_val): Adjust.  Set and dump uid.
1702         (cselib_lookup_mem): Pass next_uid as hash.
1703         (cselib_subst_to_values): Likewise.
1704         (cselib_log_lookup): Dump uid.
1705         (cselib_lookup): Pass next_uid as hash.  Adjust.
1706         (cselib_process_insn): Adjust.
1707         (cselib_init): Initialize next_uid.
1708         (cselib_finish): Adjust.
1709         (dump_cselib_table): Likewise.
1710         * dse.c (canon_address): Dump value uid.
1711         * print-rtl.c (print_rtx): Print value uid.
1712         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
1713         (dvuid): New type.
1714         (dv_uid): New function, sort of renamed from...
1715         (dv_htab_hash): ... this, reimplemented in terms of it and...
1716         (dv_uid2hash): ... this.  New.
1717         (variable_htab_eq): Drop excess assertions.
1718         (tie_break_pointers): Removed.
1719         (canon_value_cmp): Compare uids.
1720         (variable_post_merge_New_vals): Print uids.
1721         (vt_add_function_parameters): Adjust.
1722         (vt_initialize): Reset table.  Adjust.
1723
1724 2010-02-03  Richard Guenther  <rguenther@suse.de>
1725
1726         PR tree-optimization/42944
1727         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
1728         (call_may_clobber_ref_p_1): Likewise.  Properly handle
1729         malloc and calloc clobbering errno.
1730
1731 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
1732
1733         * doc/invoke.texi: Fix name of sched1 dump.
1734
1735         * opts.c (decode_options): Set flag_tree_switch_conversion
1736         only conditionally on optimize >= 2.
1737
1738         * gcse.c: Assorted comment fixes in pass description.
1739
1740 2010-02-03  Anthony Green  <green@moxielogic.com>
1741
1742         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
1743         nop padding in order to maintain alignment of storage location of
1744         target function address.
1745         (moxie_trampoline_init): Store target function address at newly
1746         aligned location.
1747         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
1748         to 32.
1749         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
1750
1751 2010-02-03  Richard Guenther  <rguenther@suse.de>
1752
1753         PR middle-end/42927
1754         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
1755
1756 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1757
1758         * config.gcc: Reenable check for obsolete targets.
1759         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
1760         mips-sgi-irix6.[0-4]*.
1761
1762 2010-02-02  Nick Clifton  <nickc@redhat.com>
1763
1764         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
1765         constant size of 4 as being the same as 0.
1766         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
1767         can take values in the range 0..4.
1768
1769 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
1770
1771         PR java/41991
1772         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
1773         as _darwin10_Unwind_FindEnclosingFunction().
1774         * libgcc-libsystem.ver: New.
1775
1776 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
1777
1778         PR target/41399
1779         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
1780         implicitly set registers.
1781
1782 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
1783
1784         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
1785         (arm_override_options): Allow automatic selection of the thread
1786         pointer register if thumb2.
1787         (legitimize_pic_address): Improve code sequences for Thumb2.
1788         (arm_call_tls_get_addr): Likewise.
1789         (legitimize_tls_address): Likewise.
1790         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
1791         (pic_load_addr_32bit): ... this.  New named pattern.
1792         * thumb2.md (pic_load_addr_thumb2): Delete.
1793         (pic_load_dot_plus_four): Delete.
1794         (tls_load_dot_plus_four): New named pattern.
1795
1796 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1797
1798         PR libgomp/29986
1799         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
1800         Document fix for TLS bug.
1801
1802 2010-01-31  Richard Guenther  <rguenther@suse.de>
1803
1804         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
1805         conservatively correct.
1806
1807 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1808
1809         PR target/42850
1810         Revert:
1811         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1812
1813         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
1814
1815 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1816
1817         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
1818
1819 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
1820
1821         * config.gcc: Adjust order of makefile fragments for mingw targets.
1822
1823 2010-01-31  Richard Guenther  <rguenther@suse.de>
1824
1825         PR middle-end/42898
1826         * gimplify.c (gimplify_init_constructor): For volatile LHS
1827         initialize a temporary.
1828
1829 2010-01-31  Matthias Klose  <doko@ubuntu.com>
1830
1831         * configure.ac: Fix __stack_chk_fail check for cross builds configured
1832         --with-headers
1833         * configure: Regenerate.
1834
1835 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
1836
1837         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
1838         the same alias set and their sizes different constantness.
1839         (aliasing_component_refs_p): Revert 2009-10-24 change.
1840
1841 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1842
1843         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
1844         unused.
1845
1846 2010-01-29  Richard Guenther  <rguenther@suse.de>
1847
1848         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
1849         Assert we successfully updated the call.
1850
1851 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
1852
1853         PR rtl-optimization/42889
1854         * df.h (df_set_bb_dirty_nonlr): New prototype.
1855         * df-core.c (df_set_bb_dirty_nonlr): New function.
1856         * df-scan.c (df_insn_rescan): Call it instead of
1857         df_set_bb_dirty for DEBUG_INSNs.
1858
1859 2010-01-29  Richard Guenther  <rguenther@suse.de>
1860
1861         PR middle-end/37448
1862         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
1863         quadratic behavior in most cases.
1864
1865 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
1866
1867         PR target/42891
1868         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
1869         in the call to gen_x86_movsicc_0_m1.
1870
1871 2010-01-28  Richard Guenther  <rguenther@suse.de>
1872
1873         PR tree-optimization/42871
1874         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
1875
1876 2010-01-28  Richard Guenther  <rguenther@suse.de>
1877
1878         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
1879         into call arguments.
1880
1881 2010-01-28  Richard Guenther  <rguenther@suse.de>
1882
1883         PR middle-end/42883
1884         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
1885         the forwarder if the destination is an EH landing pad.
1886
1887 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
1888
1889         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
1890         block list passed to gimple_duplicate_sese_tail.
1891         (parallelize_loops): Avoid parallelization when the function
1892         has_nonlocal_label.
1893         Avoid parallelization when the preheader is IRREDUCIBLE.
1894         Try to optimize when estimated_loop_iterations_int is unresolved.
1895         Add the loop's location to the dump file.
1896         * tree-cfg.c (add_phi_args_after_redirect): Remove.
1897         (gimple_duplicate_sese_tail): Remove the check for the latch.
1898         Redirect nexits to the exit block.
1899         Remove handling of the incoming edges to the latch.
1900         Redirect the backedge from the copied latch to the exit bb.
1901
1902 2010-01-28  Michael Matz  <matz@suse.de>
1903
1904         PR target/42881
1905         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
1906         Wrap force_reg into a sequence, emit it before user.
1907
1908 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
1909
1910         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
1911         (arm_rev): New.
1912         (arm_legacy_rev): Likewise.
1913         (thumb_legacy_rev): Likewise.
1914
1915 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
1916
1917         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
1918         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
1919         on MEM's address failed, try avoid_constant_pool_reference and
1920         recurse if it returned something different.
1921         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
1922         address, try avoid_constant_pool_reference and recurse if it
1923         returned something different.
1924         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
1925         address and avoid_constant_pool_reference returned something
1926         different, don't set have_address.
1927
1928 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
1929
1930         PR debug/42861
1931         * var-tracking.c (val_store): Add modified argument, obey it.
1932         Adjust callers.
1933         (count_uses): Move down logging of main.
1934         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
1935         don't need resolution.
1936         (emit_notes_in_bb): Likewise.
1937
1938 2010-01-27  Richard Guenther  <rguenther@suse.de>
1939
1940         PR middle-end/42878
1941         * tree-inline.c (remap_decl): Delay remapping of SSA name
1942         default definitions until we need them.
1943
1944 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
1945
1946         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
1947         (rs6000_delegitimize_address): New function.
1948
1949         * config/s390/s390.c (s390_delegitimize_address): Call
1950         delegitimize_mem_from_attrs.
1951
1952         PR middle-end/42874
1953         * tree-inline.c (cannot_copy_type_1): Removed.
1954         (copy_forbidden): Don't forbid copying of functions containing
1955         records/unions with variable length fields.
1956
1957 2010-01-27  Christian Bruel  <christian.bruel@st.com>
1958
1959         Revert:
1960         PR target/42841
1961         * config/sh/sh.c (find_barrier): Increase length for non delayed
1962         conditional branches.
1963
1964 2010-01-27  Matthias Klose  <doko@ubuntu.com>
1965
1966         * configure.ac (gnu-unique-object): Fix ldd version check.
1967         * configure: Regenerate.
1968
1969 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1970
1971         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
1972         HAVE_GNU_AS value.
1973         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
1974         Test for HAVE_GNU_AS value.
1975
1976 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1977
1978         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
1979         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
1980         INT64_TYPE): Define.
1981         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
1982         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
1983         INT_LEAST64_TYPE): Define.
1984         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
1985         UINT_LEAST64_TYPE): Define.
1986         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
1987         INT_FAST64_TYPE): Define.
1988         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
1989         UINT_FAST64_TYPE): Define.
1990         (INTMAX_TYPE, UINTMAX_TYPE): Define.
1991         (INTPTR_TYPE, UINTPTR_TYPE): Define.
1992         (SIG_ATOMIC_TYPE): Define.
1993
1994 2010-01-26  Richard Guenther  <rguenther@suse.de>
1995
1996         * df-scan.c (df_scan_set_bb_info): Remove assert.
1997         (df_insn_rescan_debug_internal): Merge asserts.
1998         (df_install_ref): Likewise.
1999         (df_mark_reg): Use bitmap_set_range.
2000         (df_hard_reg_used_p): Remove assert.
2001         (df_hard_reg_used_count): Likewise.
2002
2003 2010-01-26  Richard Guenther  <rguenther@suse.de>
2004
2005         PR rtl-optimization/42685
2006         * web.c (web_main): Ignore DEBUG_INSNs.
2007
2008 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
2009
2010         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
2011
2012         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
2013         Fix types of fndecl and arglist parameters.
2014
2015 2010-01-26  Richard Guenther  <rguenther@suse.de>
2016
2017         PR middle-end/42806
2018         * tree-eh.c (unsplit_eh): Skip debug insns.
2019
2020 2010-01-26  Richard Guenther  <rguenther@suse.de>
2021
2022         PR tree-optimization/42250
2023         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
2024
2025 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
2026
2027         PR fortran/42866
2028         * omp-low.c (expand_omp_sections): Only use single_pred if
2029         l2_bb is single_pred_p.
2030
2031 2010-01-25  Christian Bruel  <christian.bruel@st.com>
2032
2033         PR target/42841
2034         * config/sh/sh.c (find_barrier): Increase length for non delayed
2035         conditional branches.
2036         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
2037
2038 2010-01-24  David S. Miller  <davem@davemloft.net>
2039
2040         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
2041         define if not using GAS.
2042         * config/sparc/sparc.c (sparc_elf_asm_named_section):
2043         Likewise.  Delete SECTION_MERGE code, which is only applicable
2044         when using GAS.
2045
2046 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
2047
2048         PR c++/42748
2049         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
2050         mangling of va_list in system headers.
2051
2052 2010-01-23  Toon Moene  <toon@moene.org>
2053
2054         * tree-predcom.c (combine_chains): Return NULL, not false.
2055
2056 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
2057
2058         * tree-loop-distribution.c (distribute_loop): Fix declaration and
2059         initialization of variable res to agree with return type.
2060
2061 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
2062
2063         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
2064         * tree-sra.c: Add include of expr.h.
2065
2066 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
2067
2068         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
2069         insert the debug stmt on the single non-EH edge from the stmt.
2070
2071 2010-01-22  Richard Henderson  <rth@redhat.com>
2072
2073         PR tree-opt/42833
2074         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
2075         the RHS until after generate_subtree_copies has insertted its
2076         code before the current statement.
2077
2078 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
2079
2080         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
2081
2082         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
2083
2084 2010-01-21  Martin Jambor  <mjambor@suse.cz>
2085
2086         PR tree-optimization/42585
2087         * tree-sra.c (struct access): New field grp_total_scalarization.
2088         (dump_access): Dump the new field.
2089         (should_scalarize_away_bitmap): New variable.
2090         (cannot_scalarize_away_bitmap): Likewise.
2091         (sra_initialize): Allocate new bitmaps.
2092         (sra_deinitialize): Free new bitmaps.
2093         (create_access_1): New function.
2094         (create_access): Parts moved to create_access_1.
2095         (type_consists_of_records_p): New function.
2096         (completely_scalarize_record): Likewise.
2097         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
2098         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
2099         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
2100         access.
2101         (analyze_all_variable_accesses): Completely scalarize small eligible
2102         records.
2103
2104 2010-01-21  Martin Jambor  <mjambor@suse.cz>
2105
2106         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
2107
2108 2010-01-21  Andrew Haley  <aph@redhat.com>
2109
2110         * gcc.c (process_command): Move lang_specific_driver before
2111         setting cc_libexec_prefix.
2112
2113 2010-01-21  Richard Guenther  <rguenther@suse.de>
2114
2115         PR middle-end/19988
2116         * fold-const.c (negate_expr_p): Pretend only negative
2117         real constants are easily negatable.
2118
2119 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
2120             Jason Merrill  <jason@redhat.com>
2121
2122         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
2123         (TYPE_TRANSPARENT_AGGR): this, for union and record.
2124         * calls.c (initialize argument_information): Handle it.
2125         * c-common.c (handle_transparent_union_attribute): Use new name.
2126         * c-decl.c (finish_struct): Ditto.
2127         * c-typeck.c (type_lists_compatible_p): Ditto.
2128         (convert_for_assignment): Use new name and also handle record.
2129         * function.c (aggregate_value_p): Handle it.
2130         (pass_by_reference): Ditto.
2131         (assign_parm_data_types): Ditto.
2132         * print-tree.c (print_node): Ditto.
2133         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
2134         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
2135         * tree.c (first_field): New fn.
2136
2137 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
2138
2139         PR target/42818
2140         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
2141         even when linking statically, for now.
2142
2143 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
2144
2145         PR debug/42715
2146         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
2147         without a cselib val.
2148         (count_uses): Accept MO_VAL_SET with no val on stores.
2149         (add_stores): Likewise.
2150
2151 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2152
2153         * var-tracking.c (check_value_val): Add a compile time assertion.
2154         (dv_is_decl_p): Simplify.
2155         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
2156         gcc_assert if ENABLE_CHECKING.
2157
2158 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
2159
2160         PR debug/42782
2161         * var-tracking.c: Include tree-flow.h.
2162         (mem_dies_at_call): New.
2163         (dataflow_set_preserve_mem_locs): Use it.
2164         (dataflow_set_remove_mem_locs): Likewise.
2165         (dump_var): Renamed from dump_variable.  Adjust all callers.
2166         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
2167         * Makefile.in (var-tracking.o): Adjust deps.
2168
2169 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
2170
2171         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
2172
2173 2010-01-20  Richard Guenther  <rguenther@suse.de>
2174
2175         PR tree-optimization/42717
2176         * tree-ssa-dce.c (get_live_post_dom): Remove.
2177         (forward_edge_to_pdom): Take an arbitrary edge to copy
2178         degenerate PHI args from.
2179         (remove_dead_stmt): Use the first post-dominator even if it
2180         does not contain live statements as redirection destination.
2181
2182 2010-01-20  Richard Guenther  <rguenther@suse.de>
2183
2184         * tree-inline.c (estimate_num_insns): Handle EH builtins.
2185
2186 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2187
2188         * sel-sched.c (create_speculation_check): Remove set but not used
2189         variable twin.
2190         (try_transformation_cache): Remove set but not used variable ds.
2191         (calculate_privileged_insns): Remove set but not used variables
2192         cur_insn and min_spec_insn.
2193         (find_best_expr): Remove set but not used variable avail_n.
2194         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
2195         variable e.
2196         * cgraphunit.c (assemble_thunk): Remove set but not used variable
2197         false_label.
2198         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
2199         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
2200         new_scop_exit_edge.
2201
2202 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
2203
2204         PR bootstrap/42786
2205         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
2206         cpu types.  Add support for *-sse3 cpu types.
2207         (x86_64-*-*): Ditto.
2208
2209 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2210
2211         PR middle-end/42803
2212         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
2213         argument, call initializer_constant_valid_p_1 instead of
2214         initializer_constant_valid_p, pass CACHE to it, return NULL
2215         immediately if first call returns NULL.
2216         (initializer_constant_valid_p_1): New function.
2217         (initializer_constant_valid_p): Use it.
2218
2219 2010-01-20  Thomas Quinot  <quinot@adacore.com>
2220
2221         * tree.def (PLACEHOLDER_EXPR): Fix comment.
2222
2223 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2224
2225         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
2226         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
2227         (loc_list_from_tree): Don't handle unsigned division.  Handle
2228         signed modulo using DW_OP_{over,over,div,mul,minus}.
2229         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
2230         modulo instead of signed.
2231
2232 2010-01-20  DJ Delorie  <dj@redhat.com>
2233
2234         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
2235         (Fpa): Pass it
2236         (h8300_emit_stack_adjustment): Propogate it.
2237         (push): Pass it.
2238         (h8300_expand_prologue): Likewise.
2239         (h8300_expand_epilogue): Likewise.
2240
2241 2010-01-19  Michael Matz  <matz@suse.de>
2242
2243         PR tree-optimization/41783
2244         * tree-data-ref.c (toplevel): Include flags.h.
2245         (dump_data_dependence_relation):  Also dump the inputs if the
2246         result will be unknown.
2247         (split_constant_offset_1): Look through some conversions.
2248         * tree-predcom.c (determine_roots_comp): Restart a new chain if
2249         the offset from last element is too large.
2250         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
2251         (reassociate_to_the_same_stmt): Handle vector registers.
2252         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
2253         (e.g. conversions).
2254         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
2255         wide_prolog_niters argument, emit widening instructions.
2256         (vect_do_peeling_for_alignment): Adjust caller, use widened
2257         variant of the iteration cound.
2258         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
2259
2260 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2261
2262         PR target/38697
2263         * config/arm/neon-testgen.m (emit_automatics): New parameter
2264         features. Adjust for Fixed_return_reg feature.
2265         (test_intrinsic): Call emit_automatics with new feature.
2266         * config/arm/neon.ml: Update copyright years.
2267         (features): New Fixed_return_reg feature.
2268         (ops): Update feature for Vget_low.
2269
2270 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
2271
2272         PR tree-optimization/42719
2273         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
2274         stmt uses.
2275
2276         PR debug/42728
2277         * fwprop.c (all_uses_available_at): Return false if def_set dest
2278         is a REG that is used in def_insn.
2279
2280 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
2281
2282         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
2283
2284         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
2285         Add argument names.
2286
2287         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
2288
2289         * target.h (struct gcc_target) <secondary_reload>: Change type
2290         of last argument to secondary_reload_info *.
2291
2292 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
2293
2294         PR target/42774
2295         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
2296         memory references with unaligned offsets.  Remove CQImode handling.
2297         (unaligned_memory_operand): Return 1 for memory references with
2298         unaligned offsets.  Remove CQImode handling.
2299
2300 2010-01-18  Richard Guenther  <rguenther@suse.de>
2301
2302         PR middle-end/39954
2303         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
2304         builtin calls.
2305
2306 2010-01-18  Richard Guenther  <rguenther@suse.de>
2307
2308         PR tree-optimization/42781
2309         * tree-ssa-structalias.c (find_what_var_points_to): Skip
2310         restrict processing only if the original variable was artificial.
2311
2312 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
2313
2314         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
2315         find number of popped argument bytes.
2316
2317         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
2318         Fix the text that describes the return value for invalid insns.
2319
2320         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
2321
2322         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
2323         Clarify what 'cost of the -dependence' is.  Fix quoting.
2324
2325         * toplev.c (default_get_pch_validity): Rename argument to "sz".
2326         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
2327
2328 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
2329
2330         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
2331         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
2332
2333 2010-01-17  Richard Guenther  <rguenther@suse.de>
2334
2335         PR middle-end/42248
2336         * function.c (split_complex_args): Take a VEC to modify.
2337         (assign_parms_augmented_arg_list): Build a VEC instead of
2338         a chain of PARM_DECLs.
2339         (assign_parms_unsplit_complex): Take a VEC of arguments.
2340         Do not fixup unmodified parms.
2341         (assign_parms): Deal with the VEC.
2342         (gimplify_parameters): Likewise.
2343
2344 2010-01-17  Richard Guenther  <rguenther@suse.de>
2345
2346         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
2347         node existence check.
2348         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
2349         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
2350         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
2351         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
2352         (gimple_execute_on_growing_pred): Likewise.
2353
2354 2010-01-17  Richard Guenther  <rguenther@suse.de>
2355
2356         PR tree-optimization/42773
2357         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
2358         (compute_antic_aux): Likewise.
2359         (compute_partial_antic_aux): Likewise.
2360
2361 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
2362
2363         PR debug/42767
2364         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
2365         and US_TRUNCATE.
2366
2367 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
2368
2369         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
2370         appearance.
2371
2372         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
2373         Fix markup for strict argument.
2374
2375         (TARGET_SCHED_REORDER2): Fix argument types.
2376
2377         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
2378         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
2379
2380         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
2381         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
2382
2383         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
2384         Add argument name.
2385
2386         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
2387         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
2388         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
2389         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
2390         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
2391
2392         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
2393
2394         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
2395
2396         (TARGET_ASM_RELOC_RW_MASK): Add return type.
2397         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
2398
2399         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
2400
2401         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
2402         Use prototype.
2403
2404         (TARGET_ASM_NAMED_SECTION): Fix argument list.
2405
2406         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
2407         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
2408
2409         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
2410
2411         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
2412
2413         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
2414         referring to it.  Fix language.
2415
2416         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
2417
2418         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
2419
2420         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
2421
2422         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
2423
2424         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
2425         '@var{stream}.  Remove stray 'and'.
2426
2427         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
2428
2429         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
2430
2431         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
2432
2433         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
2434         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
2435
2436         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
2437         Fix description of return value.
2438         Rename argument "sz" to "len."
2439
2440         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
2441         Clarify meaning of 'true' return value.
2442
2443         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
2444
2445         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
2446         rep_mode versus mode_rep.
2447
2448         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
2449
2450         (TARGET_BUILTIN_DECL): Fix name.
2451
2452         (TARGET_COMMUTATIVE_P): Fix type of first argument.
2453
2454         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
2455
2456         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
2457
2458         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
2459
2460         (TARGET_RELAXED_ORDERING): Use @deftypevr.
2461
2462         (TARGET_GET_DRAP_RTX): Note that this is a hook.
2463         Clarify language.
2464
2465         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
2466         Rename argument tm_fn to md_fn.
2467
2468         (TARGET_OPTION_PRINT): Fix argument list.
2469
2470 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
2471
2472         PR target/42664
2473         * config/i386/i386.c (ix86_fixup_binary_operands):
2474         Revert FMA4 fixup of operands.
2475
2476 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2477
2478         PR gcc/42525
2479         * Makefile.in (write_entries_to_file, install-plugin):
2480         Use \012 instead of \n with tr.
2481
2482 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
2483
2484         * configure.ac (HAVE_AS_REF): New C macro.
2485         * configure: Regenerate.
2486         * config.in: Likewise.
2487         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
2488         if HAVE_AS_REF.
2489         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
2490         if HAVE_AS_REF.
2491
2492 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
2493
2494         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
2495
2496         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
2497
2498         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
2499
2500         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
2501
2502         (TARGET_IN_SMALL_DATA_P): Fix argument type.
2503
2504         (TARGET_BINDS_LOCAL_P): Fix argument type.
2505
2506         (TARGET_ASM_FILE_END): Use prototype.
2507
2508         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
2509
2510         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
2511
2512         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
2513
2514         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
2515
2516         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
2517         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
2518
2519         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
2520         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
2521
2522         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
2523         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
2524         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
2525         (TARGET_ADDR_SPACE_CONVERT): Likewise.
2526
2527         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
2528
2529         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
2530
2531         (TARGET_INIT_BUILTINS): Use prototype.
2532
2533         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
2534         Put 'const char *' in braces.  Fix parameter types.
2535         (TARGET_INVALID_CONVERSION): Fix parameter types.
2536         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
2537         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
2538
2539         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
2540         Fix argument type.
2541
2542         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
2543
2544         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
2545
2546 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
2547
2548         * doc/tm.texi (TARGET_HELP): Fix return type.
2549
2550         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
2551         in braces.  Fix argument types.
2552
2553         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
2554
2555         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
2556
2557         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
2558
2559         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
2560         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
2561
2562         (TARGET_MANGLE_TYPE): Fix argument types.
2563
2564         (TARGET_IRA_COVER_CLASSES): Use prototype.
2565
2566         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
2567
2568         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
2569
2570         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
2571
2572         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
2573
2574         (TARGET_CALLEE_COPIES): Fix argument types.
2575
2576         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
2577
2578         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
2579
2580         (TARGET_FUNCTION_VALUE): Fix argument types.
2581
2582         (TARGET_RETURN_IN_MSB): Fix argument type.
2583
2584         (TARGET_RETURN_IN_MEMORY): Fix argument types.
2585
2586         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
2587
2588         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
2589
2590         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
2591         agree with return type.
2592
2593         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
2594
2595 2010-01-15  Jing Yu  <jingyu@google.com>
2596
2597         PR rtl-optimization/42691
2598         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
2599         a pseudo to a constant and are merged, and adjust comments.
2600
2601 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
2602
2603         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
2604
2605 2010-01-15  Richard Guenther  <rguenther@suse.de>
2606
2607         PR middle-end/42739
2608         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
2609         labels of computed or non-local gotos to the destination.
2610         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
2611         landing pad label is the first label.
2612
2613 2010-01-15  Richard Guenther  <rguenther@suse.de>
2614
2615         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
2616
2617 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2618
2619         PR target/42747
2620         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
2621         to allow generation of the xssqrtdp instruction on power7.
2622         (sqrtdf2_fpr): Ditto.
2623
2624 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
2625
2626         PR middle-end/42674
2627         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
2628         functions with noreturn attribute.
2629
2630         PR c++/42608
2631         * varasm.c (declare_weak): Add weak attribute to decl if it
2632         doesn't have one already.
2633         (assemble_external): Only add decls to weak_decls if they also
2634         have weak attribute.
2635
2636 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
2637
2638         * var-tracking.c (var_reg_delete): Don't delete the association
2639         between REGs and values or one-part variables if the register
2640         isn't clobbered.
2641
2642 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
2643
2644         PR debug/42657
2645         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
2646         because its first operand is a non-localized variable.
2647
2648 2010-01-14  Martin Jambor  <mjambor@suse.cz>
2649
2650         PR tree-optimization/42706
2651         * tree-sra.c (encountered_recursive_call): New variable.
2652         (encountered_unchangable_recursive_call): Likewise.
2653         (sra_initialize): Initialize both new variables.
2654         (callsite_has_enough_arguments_p): New function.
2655         (scan_function): Call decl and flags check only for IPA-SRA, check
2656         whether there is a recursive call and whether it has enough arguments.
2657         (all_callers_have_enough_arguments_p): New function.
2658         (convert_callers): Look for recursive calls only when
2659         encountered_recursive_call is set.
2660         (ipa_early_sra): Bail out either if
2661         !all_callers_have_enough_arguments_p or
2662         encountered_unchangable_recursive_call.
2663
2664 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2665
2666         * sel-sched.c: Add 2010 to copyright years.
2667         * sel-sched-ir.c: Likewise.
2668         * sel-sched-ir.h: Likewise.
2669
2670 2010-01-14  Martin Jambor  <mjambor@suse.cz>
2671
2672         PR tree-optimization/42714
2673         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
2674         constructors specially.
2675
2676 2010-01-14  Andi Kleen  <ak@linux.intel.com>
2677
2678         * config/i386/drivers-i386.c (detect_caches_intel):
2679         Add l2sizekb parameter and fill in.
2680         (host_detect_local_cpu): Add l2sizekb, fill in.
2681         Add Atom small cache heuristic.
2682
2683 2010-01-14  Andi Kleen  <ak@linux.intel.com>
2684
2685         * config/i386/drivers-i386.c (detect_caches_cpuid4):
2686         Add level3 parameter and fill in.
2687         (detect_caches_intel): Handle level3 cache.
2688
2689 2010-01-14  Andi Kleen  <ak@linux.intel.com>
2690
2691         * config/i386/drivers-i386.c (host_detect_local_cpu):
2692         Fix core duo detection.
2693
2694 2010-01-14  Andi Kleen  <ak@linux.intel.com>
2695
2696         * config/i386/drivers-i386.c (host_detect_local_cpu):
2697         Fix Atom detection.
2698
2699 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2700
2701         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
2702         (rs6000_variable_issue_1): this.  Use...
2703         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
2704
2705 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2706
2707         * sel-sched-ir.c (sel_restore_other_notes): Rename to
2708         sel_restore_notes.  Update all callers.  Call reemit_notes
2709         for all insns.
2710
2711 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2712
2713         PR rtl-optimization/42246
2714         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
2715         loops.
2716
2717 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2718
2719         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
2720         all successors is the same as number of successors in current region.
2721
2722 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2723
2724         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
2725         to rename is not separable.  Otherwise check that its LHS is not NULL.
2726
2727 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2728
2729         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
2730
2731 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2732
2733         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
2734         available registers when failed to discover LHS register class.
2735         Fix indentation.  Update comment.
2736
2737 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2738             Alexander Monakov  <amonakov@ispras.ru>
2739
2740         PR rtl-optimization/42389
2741         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
2742         to can_issue_more.
2743         (advance_state_on_fence): Likewise.
2744         (sel_target_adjust_priority): Print debug output only when
2745         sched_verbose >= 4, not 2.
2746         (get_expr_cost): Do not issue all unique insns on the next cycle.
2747         (fill_insns): Initialize can_issue_more from the value saved
2748         with the fence.
2749         * sel-sched-ir.c (flist_add): New parameter issue_more.
2750         Init FENCE_ISSUE_MORE with it.
2751         (merge_fences): Likewise.
2752         (init_fences): Update call to flist_add.
2753         (add_to_fences, add_clean_fence_to_fences)
2754         (add_dirty_fence_to_fences): Likewise.
2755         (move_fence_to_fences): Update call to merge_fences.
2756         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
2757         sched groups.
2758         * sel-sched-ir.h (struct _fence): New field issue_more.
2759         (FENCE_ISSUE_MORE): New accessor macro.
2760
2761 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2762
2763         PR rtl-optimization/42388
2764         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
2765         that have no predecessors nor successors.  Do not call move_bb_info
2766         for empty blocks outside of current region.
2767
2768 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2769
2770         PR rtl-optimization/42294
2771         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
2772         * sel-sched.c (move_exprs_to_boundary): Transitively add all
2773         originators' originators.
2774
2775 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
2776
2777         PR rtl-optimization/39453
2778         PR rtl-optimization/42246
2779         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
2780         for pipelining_p.
2781         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
2782
2783 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
2784             Alexander Monakov  <amonakov@ispras.ru>
2785
2786         PR middle-end/42245
2787         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
2788         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
2789         argument.  Update all callers.
2790         (tidy_control_flow): ... and here.  Recompute topological order
2791         of basic blocks in region if necessary.
2792         (sel_redirect_edge_and_branch): Change return type.  Return true
2793         if topological order might have been invalidated.
2794         (purge_empty_blocks): Export and move from...
2795         * sel-sched.c (purge_empty_blocks): ... here.
2796         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
2797         (maybe_tidy_empty_bb): Delete prototype.
2798         (purge_empty_blocks): Declare.
2799
2800 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
2801
2802         PR rtl-optimization/42249
2803         * sel-sched.c (try_replace_dest_reg): When chosen register
2804         and original register is the same, do not bail out early, but
2805         still check all original insns for validity of replacing destination
2806         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
2807         in this case.
2808
2809 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
2810
2811         PR c/42721
2812         Port from no-undefined-overflow branch:
2813         2009-03-09  Richard Guenther  <rguenther@suse.de>
2814
2815         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
2816
2817 2010-01-14  Richard Guenther  <rguenther@suse.de>
2818
2819         PR lto/42665
2820         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
2821
2822 2010-01-14  Ira Rosen  <irar@il.ibm.com>
2823
2824         PR tree-optimization/42709
2825         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
2826         as scalar type in creation of constant vector operand.
2827
2828 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2829
2830         PR testsuite/42414
2831         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
2832         (check-parallel-%): Match `testsuite' directory component only
2833         at the end.
2834
2835 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
2836
2837         PR translation/39521
2838         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
2839         strings with _().
2840
2841 2010-01-13  Richard Guenther  <rguenther@suse.de>
2842
2843         PR tree-optimization/42730
2844         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
2845         offset zero.
2846
2847 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
2848
2849         PR target/pr42542
2850         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
2851         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
2852         them signed.
2853
2854 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
2855
2856         * config/bfin/libgcc-bfin.ver: Regenerate based on current
2857         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
2858         ___umulsi3_highpart.
2859
2860         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
2861         rather than schedule_insns if the pass is enabled.
2862
2863 2010-01-13  Martin Jambor  <mjambor@suse.cz>
2864
2865         PR tree-optimization/42704
2866         * tree-sra.c (sra_modify_assign): Do not delete assignments to
2867         SSA_NAMEs.
2868
2869 2010-01-13  Martin Jambor  <mjambor@suse.cz>
2870
2871         PR tree-optimization/42703
2872         * tree-sra.c (analyze_access_subtree): Check that we can build a
2873         reference to the original data within the aggregate.
2874
2875 2010-01-13  Richard Guenther  <rguenther@suse.de>
2876
2877         PR tree-optimization/42705
2878         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
2879
2880 2010-01-13  Richard Guenther  <rguenther@suse.de>
2881
2882         PR middle-end/42716
2883         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
2884
2885 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
2886
2887         PR debug/41371
2888         * var-tracking.c (values_to_unmark): New variable.
2889         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
2890         values_to_unmark vector.  Moved body to...
2891         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
2892         instead queue it into values_to_unmark vector.
2893         (vt_find_locations): Free values_to_unmark vector.
2894
2895 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
2896
2897         * config/s390/s390.c (override_options): Set
2898         default of max-pending-list-length to 256
2899
2900 2010-01-13  Richard Guenther  <rguenther@suse.de>
2901
2902         PR lto/42678
2903         * tree-pass.h (PROP_gimple_lcx): New.
2904         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
2905         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
2906         before the final cleanup_eh.
2907         (dump_properties): Dump PROP_gimple_lcx.
2908         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
2909         (tree_lower_complex_O0): Remove.
2910         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
2911         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
2912         tree_lower_complex, schedule TODO_update_ssa.
2913         * lto-streamer-out.c (output_function): Stream the functions
2914         properties.
2915         * lto-streamer-in.c (input_function): Likewise.
2916         (lto_read_body): Do not override them here.
2917
2918 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
2919
2920         PR c/42708
2921         * c-typeck.c (build_c_cast): Fold value cast to union type before
2922         wrapping it in a CONSTRUCTOR.
2923
2924 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
2925
2926         PR rtl-optimization/42699
2927         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
2928         involved.
2929
2930 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2931
2932         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
2933         SUBTARGET_WARN_UNUSED_SPEC): Move ...
2934         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
2935         SUBTARGET_WARN_UNUSED_SPEC): ... here
2936         * config/mips/iris5.h (LIBGCC_SPEC): Define.
2937
2938 2010-01-12  Julian Brown  <julian@codesourcery.com>
2939
2940         * config/arm/neon-schedgen.ml (Utils): Don't try to
2941         open missing module.
2942         (find_with_result): New.
2943
2944 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
2945
2946         PR debug/42662
2947         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
2948         sharing when canonicalizing ({lt,ge}u (plus a b) b).
2949
2950         PR tree-optimization/42645
2951         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
2952         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
2953         decl_map, set processing_debug_stmt to -1 and return name without
2954         any remapping.
2955
2956 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
2957
2958         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
2959         binutils version, and reword target configuration description.
2960
2961 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
2962
2963         * config/avr/avr.h (LINKER_NAME): Remove.
2964
2965 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
2966
2967         PR target/42416
2968         * config/rs6000/rs6000.c (rs6000_override_options): On targets
2969         that support VSX, warn for -mno-altivec if vsx is not disabled,
2970         and disable vsx.
2971
2972 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
2973             Shujing Zhao  <pearly.zhao@oracle.com>
2974
2975         PR translation/42469
2976         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
2977         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
2978         character between option name and help text.
2979         * c.opt (imultilib): Likewise.
2980
2981 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
2982
2983         * lto-streamer-out.c (output_unreferenced_globals): Output static
2984         variables.
2985
2986 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
2987
2988         PR rtl-optimization/42621
2989         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
2990         optimizing for size.
2991         (duplicate_computed_gotos): Remove now-redundant check.
2992
2993 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
2994
2995         PR target/37454
2996         * configure.ac: Save and restore LDFLAGS and LIBS
2997         * configure: Regenerate.
2998
2999 2010-01-10  Richard Guenther  <rguenther@suse.de>
3000
3001         PR middle-end/42667
3002         * builtins.c (fold_builtin_strlen): Add type argument and
3003         convert the resulting length to it.
3004         (fold_builtin_1): Adjust.
3005
3006 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
3007
3008         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
3009         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
3010         1 insn.
3011         (num_insns_constant_wide): Adjust for that change.
3012
3013 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3014
3015         PR debug/42631
3016         * web.c (union_defs): Add used argument, to combine uses of
3017         uninitialized regs.
3018         (entry_register): Adjust type and tests of used argument.
3019         (web_main): Widen used for new use.  Pass it to union_defs.
3020         * df.h (union_defs): Adjust prototype.
3021
3022 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3023
3024         PR debug/42630
3025         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
3026         uses in new incoming argument.  Free body.
3027         (reset_debug_uses_in_loop): New.
3028         (analyze_insn_to_expand_var): Call the latter if the former found
3029         anything.  Fix whitespace.  Reject invalid dest overlaps before
3030         going through all insns in the loop.
3031
3032 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3033
3034         PR debug/42629
3035         * haifa-sched.c (dying_use_p): Debug insns don't count.
3036
3037 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3038
3039         PR middle-end/42363
3040         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
3041         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
3042         (verify_gimple_call): Reject LHS in noreturn calls.
3043
3044 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3045
3046         PR debug/42604
3047         PR debug/42395
3048         * tree-vect-loop-manip.c (adjust_info): New type.
3049         (adjust_vec): New pointer to vector.
3050         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
3051         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
3052         (slpeel_update_phis_for_duplicate_loop): Use them.
3053         (slpeel_update_phi_nodes_for_guard1): Likewise.
3054         (slpeel_update_phi_nodes_for_guard2): Likewise.
3055         (slpeel_tree_peel_loop_to_edge): Likewise.
3056         (vect_update_ivs_after_vectorizer): Likewise.
3057
3058 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3059
3060         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
3061         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
3062
3063 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3064
3065         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
3066         bogus uninitialized warning.
3067
3068 2010-01-09  Richard Guenther  <rguenther@suse.de>
3069
3070         PR middle-end/42512
3071         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
3072         the evolution is compatible with the initial condition.
3073
3074 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
3075
3076         * gcc.c (process_command): Update copyright notice dates.
3077         * gcov.c (print_version): Likewise.
3078         * gcov-dump.c (print_version): Likewise.
3079         * mips-tfile.c (main): Likewise.
3080         * mips-tdump.c (main): Likewise.
3081
3082 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
3083
3084         PR target/41885
3085         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
3086         (rotlhi3): Delete.
3087         (rotlhi3_8): Delete.
3088         (rotlsi3): Delete.
3089         (rotlsi3_8): Delete.
3090         (rotlsi3_16): Delete.
3091         (rotlsi3_24): Delete.
3092         (rotl<mode>3): New.
3093         (*rotw<mode>3): New.
3094         (*rotb<mode>3): New.
3095         * config/avr/avr.c (avr_rotate_bytes): New function.
3096         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
3097
3098 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
3099
3100         PR target/37454
3101         * configure.ac: Modify -rdynamic check.
3102         * configure: Regenerate.
3103
3104 2010-01-08  DJ Delorie  <dj@redhat.com>
3105
3106         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
3107         register popping order.
3108
3109 2010-01-08  Richard Guenther  <rguenther@suse.de>
3110
3111         PR lto/42528
3112         * c.opt (fsigned-char): Also let LTO handle this option.
3113         (funsigned-char): Likewise.
3114
3115 2010-01-07  Richard Guenther  <rguenther@suse.de>
3116
3117         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
3118         (gimple_op): Likewise.
3119         (gimple_op_ptr): Likewise.
3120         (gimple_assign_set_lhs): Remove gcc_assert.
3121         (gimple_assign_set_rhs1): Likewise.
3122         (gimple_assign_set_rhs2): Likewise.
3123         (gimple_call_set_lhs): Likewise.
3124         (gimple_call_set_fn): Likewise.
3125         (gimple_call_set_fndecl): Likewise.
3126         (gimple_call_fndecl): Likewise.
3127         (gimple_call_return_type): Likewise.
3128         (gimple_call_set_chain): Likewise.
3129         (gimple_call_num_args): Likewise.
3130         (gimple_call_set_arg): Likewise.
3131         (gimple_cond_set_code): Likewise.
3132         (gimple_cond_set_lhs): Likewise.
3133         (gimple_cond_set_rhs): Likewise.
3134         (gimple_cond_set_true_label): Likewise.
3135         (gimple_cond_set_false_label): Likewise.
3136         (gimple_label_set_label): Likewise.
3137         (gimple_goto_set_dest): Likewise.
3138         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
3139         (gimple_debug_bind_get_value): Likewise.
3140         (gimple_debug_bind_get_value_ptr): Likewise.
3141         (gimple_debug_bind_set_var): Likewise.
3142         (gimple_debug_bind_set_value): Likewise.
3143         (gimple_debug_bind_reset_value): Likewise.
3144         (gimple_debug_bind_has_value_p): Likewise.
3145         (gimple_return_retval_ptr): Remove gcc_assert.
3146         (gimple_return_retval): Likewise.
3147         (gimple_return_set_retval): Likewise.
3148         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
3149         (safe_referenced_var_iterator): Remove.
3150         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
3151         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
3152         (fill_referenced_var_vec): Remove.
3153         (first_readonly_imm_use): Remove redundant gcc_assert.
3154         (phi_arg_index_from_use): Combine gcc_asserts.
3155         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
3156         (first_imm_use_stmt): Remove redundant gcc_assert.
3157         * tree-cfg.c (verify_gimple_call): Verify function and chain
3158         operands.  Verify arguments.
3159         (verify_types_in_gimple_stmt): Verify condition code and labels.
3160
3161 2010-01-07  Richard Guenther  <rguenther@suse.de>
3162
3163         PR tree-optimization/42641
3164         * sese.c (rename_map_elt_info): Use the SSA name version, do
3165         not hash pointers.
3166
3167 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
3168
3169         PR tree-optimization/42625
3170         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
3171         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
3172
3173 2010-01-07  Duncan Sands  <baldrick@free.fr>
3174
3175         * Makefile.in (PLUGIN_HEADERS): Add version.h.
3176
3177 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
3178
3179         PR target/42511
3180         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
3181         note itself is not function_invariant_p.
3182
3183 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
3184
3185         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
3186         Do not add the DF_NOTE problem.
3187         * store-motion.c (execute_rtl_store_motion): Likewise.
3188
3189 2010-01-07  Martin Jambor  <mjambor@suse.cz>
3190
3191         PR tree-optimization/42157
3192         * tree-sra.c (compare_access_positions): Stabilize sort if both
3193         accesses have integer types, return zero immediately if they are the
3194         same.
3195
3196 2010-01-06  Richard Henderson  <rth@redhat.com>
3197
3198         PR middle-end/41883
3199         * haifa-sched.c (add_to_note_list): Merge into ...
3200         (concat_note_lists): ... here, and ...
3201         (unlink_other_notes, rm_other_notes): Merge into...
3202         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
3203         NOTE_INSN_EPILOGUE_BEG.
3204
3205 2010-01-06  Richard Guenther  <rguenther@suse.de>
3206
3207         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
3208         not inline regular functions into always-inline functions.
3209
3210 2010-01-06  Nick Clifton  <nickc@redhat.com>
3211
3212         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
3213         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
3214         used together.
3215         (OVERRIDE_OPTIONS): Delete.
3216         (OPTIMIZATION_OPTIONS): Define.
3217         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
3218         * config/rx/rx.c (rx_handle_option): Issue an error message if
3219         -mcpu=rx200 and -fpu are used together.
3220         (rx_set_optimization_options): New function.  Issue an error
3221         message if an optimization attribute attempts to reset the FPU/
3222         math optimization pairing.
3223         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
3224         * config/rx/rx.opt: Set the default to 32-bit doubles.
3225         * config/rx/t-rx: Add multilibs for -nofpu option.
3226         * doc/invoke.texi: Update documentation of RX options.
3227
3228 2010-01-06  Richard Guenther  <rguenther@suse.de>
3229
3230         * tree-ssa-pre.c (name_to_id): New global.
3231         (alloc_expression_id): Simplify SSA name handling.
3232         (lookup_expression_id): Likewise.
3233         (init_pre): Zero name_to_id.
3234         (fini_pre): Free it.
3235
3236 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
3237
3238         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
3239
3240 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
3241
3242         PR target/42542
3243         * config/i386/sse.md (smaxv2di3): New.
3244         (umaxv2di3): Likewise.
3245         (sminv2di3): Likewise.
3246         (uminv2di3): Likewise.
3247
3248 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
3249
3250         PR target/42564
3251         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
3252         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
3253         (legitimize_tls_address): Likewise.
3254         (sparc_tls_referenced_p): Likewise.
3255         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
3256         and adjust calls to legitimize_pic_address.
3257         (legitimate_constant_p) Use sparc_tls_referenced_p.
3258         (legitimate_pic_operand_p): Likewise.
3259         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
3260         (sparc_tls_symbol_ref_1): Delete.
3261         (sparc_tls_referenced_p): Make static, recognize specific patterns.
3262         (legitimize_tls_address): Make static, handle CONST patterns.
3263         (legitimize_pic_address): Make static, remove unused parameter and
3264         adjust recursive calls.
3265         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
3266         and adjust call to legitimize_pic_address.
3267         (sparc_output_mi_thunk): Likewise.
3268
3269 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
3270             H.J. Lu  <hongjiu.lu@intel.com>
3271
3272         PR target/42542
3273         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
3274         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
3275         operands to make them signed.
3276
3277         Revert:
3278         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
3279
3280         PR target/42542
3281         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
3282         GTU to GT for V4SI and V2DI.
3283
3284         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
3285         (umin<mode>3): Removed.
3286         (uminv8hi3): New.
3287         (uminv4si3): Likewise.
3288
3289 2010-01-05  Martin Jambor  <mjambor@suse.cz>
3290
3291         PR tree-optimization/42462
3292         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
3293         current_function_decl to helper functions and macros.
3294
3295 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3296
3297         PR bootstrap/41771
3298         * flags.h: Don't include real.h.
3299         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
3300         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
3301         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
3302         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
3303         * dominance.c: Update copyright.
3304         * gimple.c (walk_gimple_op): Remove inline.
3305         * tree-ssa-reassoc.c: Include real.h.
3306         * Makefile.in (FLAGS_H): Remove $(REAL_H).
3307         (tree-ssa-reassoc.o): Depend on $(REAL_H).
3308
3309 2010-01-05  Nick Clifton  <nickc@redhat.com>
3310
3311         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
3312         register to push into the stack frame when the accumulator has to
3313         be saved during interrupts.
3314
3315 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
3316
3317         * doc/invoke.texi: Remove the documentation about option
3318         -Wunreachable-code.
3319         * common.opt (Wunreachable-code):  Preserved for backward
3320         compatibility.
3321         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
3322         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
3323         the backward compatibility flag section.
3324
3325 2010-01-05  Richard Guenther  <rguenther@suse.de>
3326
3327         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
3328
3329 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
3330
3331         PR other/42611
3332         * cfgexpand.c (expand_one_var): Diagnose too large variables.
3333
3334         PR tree-optimization/42508
3335         * tree-sra.c (convert_callers): Check for recursive call
3336         by comparing cgraph nodes instead of decls.
3337         (modify_function): Call ipa_modify_formal_parameters also
3338         on all same_body aliases.
3339
3340         * cgraphunit.c (cgraph_materialize_all_clones): Compare
3341         cgraph nodes when checking for same_body aliases.
3342
3343 2010-01-05  Richard Guenther  <rguenther@suse.de>
3344
3345         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
3346         allocation and lookup.
3347         (get_or_alloc_expr_for_constant): Likewise.
3348         (phi_translate): Sink allocation.
3349
3350 2010-01-04  Richard Guenther  <rguenther@suse.de>
3351
3352         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
3353         a new entry only if needed.
3354         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
3355         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
3356         hashtable lookup.
3357         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
3358         the result array.
3359         (phi_translate): Handle CONSTANTs early.
3360
3361 2010-01-04  Martin Jambor  <mjambor@suse.cz>
3362
3363         PR tree-optimization/42398
3364         * tree-sra.c (struct access): Removed flag grp_different_types.
3365         (dump_access): Do not dump the removed flag.
3366         (sort_and_splice_var_accesses): Do not set the removed flag.
3367         (sra_modify_expr): Check for type compatibility directly.
3368
3369 2010-01-04  Martin Jambor  <mjambor@suse.cz>
3370
3371         PR tree-optimization/42366
3372         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
3373         edges with variable number of parameters.
3374         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
3375         flag instead of asserting it.
3376         (ipa_read_node_info): Read uses_analysis_done flag.
3377
3378 2010-01-04  Richard Guenther  <rguenther@suse.de>
3379
3380         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
3381         iterative_hash_* as intended.
3382         (vn_reference_compute_hash): Likewise.  Simplify hashing
3383         SSA names.
3384         (vn_reference_lookup_2): Likewise.
3385         (vn_nary_op_compute_hash): Likewise.
3386         (vn_phi_compute_hash): Likewise.
3387         (expressions_equal_p): Remove strange code.
3388         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
3389         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
3390         (bitmap_insert_into_set_1): Take value-id as parameter.
3391         (add_to_value): Pass it.
3392         (bitmap_insert_into_set): Likewise.
3393         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
3394
3395 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
3396
3397         PR driver/42442
3398         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
3399         (do_self_spec): For switches with SWITCH_IGNORE set set also
3400         SWITCH_IGNORE_PERMANENTLY.
3401         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
3402         of SWITCH_IGNORE.
3403
3404 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
3405
3406         * lto-streamer-out.c (output_unreferenced_globals): Output the full
3407         tree of an unreferenced global var.
3408
3409 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
3410
3411         PR target/42542
3412         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
3413         GTU to GT for V4SI and V2DI.
3414
3415         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
3416         (umin<mode>3): Removed.
3417         (uminv8hi3): New.
3418         (uminv4si3): Likewise.
3419
3420 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
3421
3422         PR lto/42581
3423         * collect2.c (main): Turn on trace in collect2 if -v is passed
3424         to gcc with LTO.
3425
3426 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
3427
3428         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
3429         description of expression operand.
3430
3431 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
3432
3433         * configure.ac: Add install-html to target_list for Make-hooks.
3434         * configure: Regenerate.
3435         * fortran/Make-lang.in (F95_HTMLFILES): New.
3436         (fortran.html): Use it.
3437         (fortran.install-html): New.
3438         * Makefile.in (install-html): Add lang.install-html.
3439         * java/Make-lang.in (JAVA_HTMLFILES): New.
3440         (java.html): Use it.
3441         (java.install-html): New.
3442         * objc/Make-lang.in (objc.install-html): New.
3443         * objcp/Make-lang.in (obj-c++.install-html): New.
3444         * cp/Make-lang.in (c++.install-html): New.
3445         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
3446         * lto/Make-lang.in (lto.install-html): New.
3447
3448 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
3449
3450         PR lto/42520
3451         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
3452
3453 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
3454
3455         PR rtl-optimization/41862
3456         * store-motion.c (store_killed_in_insn, compute_store_table,
3457         remove_reachable_equiv_notes, replace_store_insn,
3458         build_store_vectors): Ignore all DEBUG_INSNs.
3459
3460 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
3461
3462         PR lto/41564
3463         * common.opt: Add dumpdir.
3464
3465         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
3466         isn't specified.
3467         (option_map): Add --dumpdir.
3468
3469         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
3470
3471         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
3472
3473         * opts.c (decode_options): Try dump_dir_name first if
3474         dump_base_name isn't an absolute path.
3475         (common_handle_option): Handle OPT_dumpdir.
3476
3477         * toplev.c (dump_dir_name): New.
3478         (print_switch_values): Also ignore -dumpdir.
3479
3480         * toplev.h (dump_dir_name): New.
3481
3482 2010-01-03  Richard Guenther  <rguenther@suse.de>
3483
3484         PR tree-optimization/42589
3485         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
3486         double-word expansion of bswap32.
3487
3488 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
3489
3490         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
3491         with BLOCK_FOR_INSN.
3492         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
3493         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
3494         noce_process_if_block): Likewise.
3495         * gcse.c (compute_local_properties, insert_expr_in_table,
3496         insert_set_in_table, canon_list_insert, find_avail_set,
3497         pre_insert_copy_insn): Likewise.
3498
3499         * basic-block.h (BLOCK_NUM): Move from here...
3500         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
3501
3502 2010-01-03  Richard Guenther  <rguenther@suse.de>
3503
3504         PR tree-optimization/42438
3505         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
3506         contains_may_not_return_call flag.
3507         (BB_MAY_NOTRETURN): New.
3508         (valid_in_sets): Trapping nary operations are not valid
3509         in blocks that may not return.
3510         (insert_into_preds_of_block): Remove check for trapping expressions.
3511         (compute_avail): Compute also BB_MAY_NOTRETURN.
3512
3513 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
3514
3515         * doc/invoke.texi: Add 2010 to copyright years.
3516
3517 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
3518
3519         * config/sparc/sparc.c: Fix formatting nits.
3520
3521 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
3522             Alexander Monakov  <amonakov@ispras.ru>
3523
3524         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
3525
3526 2010-01-02  Richard Guenther  <rguenther@suse.de>
3527
3528         PR middle-end/42577
3529         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
3530         (simplify_switch_using_ranges): Mark to be removed edges
3531         as non-executable.
3532
3533 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3534
3535         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
3536
3537         * collect2.c (scan_libraries): Add missing argument in call to
3538         scan_prog_file.
3539
3540 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
3541
3542         PR target/42448
3543         * config/alpha/predicates.md (aligned_memory_operand): Return false
3544         for CQImode.
3545         (unaligned_memory_operand): Return true for CQImode.
3546         * config/alpha/alpha.c (get_aligned_mem): Assert that location
3547         doesn not cross aligned SImode word boundary.
3548
3549 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
3550
3551         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
3552         Remove.
3553         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
3554         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
3555
3556 2010-01-02  Richard Guenther  <rguenther@suse.de>
3557
3558         PR lto/41597
3559         * toplev.c (compile_file): Emit LTO marker properly.  Change
3560         it to __gnu_lto_v1.
3561         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
3562
3563 2010-01-01  Richard Guenther  <rguenther@suse.de>
3564
3565         PR debug/42455
3566         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
3567
3568 2010-01-01  Richard Guenther  <rguenther@suse.de>
3569
3570         PR c/42570
3571         * c-decl.c (grokdeclarator): For zero-size arrays force
3572         structural equality checks as layout_type does.
3573
3574 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
3575
3576         * builtins.c: Update copyright to 2010.
3577
3578 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
3579
3580         PR lto/42531
3581         * lto-streamer-out.c (produce_asm): Revert the last change.
3582         (copy_function): Likewise.
3583
3584         * lto-streamer.c (lto_get_section_name): Skip any leading
3585         asterisk in name.
3586
3587 2010-01-01  Richard Guenther  <rguenther@suse.de>
3588
3589         PR middle-end/42559
3590         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
3591         for LABEL_DECLs.
3592
3593 \f
3594 Copyright (C) 2010 Free Software Foundation, Inc.
3595
3596 Copying and distribution of this file, with or without modification,
3597 are permitted in any medium without royalty provided the copyright
3598 notice and this notice are preserved.