OSDN Git Service

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