OSDN Git Service

9bb215ac23944bedbea377026ca6a6bf9e5c4fbd
[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
211         CLooG.
212         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
213         (build_poly_scop): Bail out if we cannot codegen a loop.
214
215 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
216
217         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
218         code generation with gloog_error.
219
220 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
221
222         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
223         Call fold_convert on all the returned values.
224         (expand_scalar_variables_expr): Pass to expand_scalar_variables_ssa_name
225         the type of the resulting expression.
226
227 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
228
229         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
230         ppl_min_for_le_pointset.  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
378         appears.
379         (vt_emit_notes): Initialize and destroy emitted_notes.
380
381 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
382
383         PR rtl-optimization/42220
384         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
385         Use verify_reg_tracked to determine if we should use OP_OUT rather
386         than OP_INOUT.
387         (build_def_use): If we see an in-out operand for a register that we
388         know nothing about, treat is an output if possible, fail the block if
389         not.
390
391 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
392
393         PR debug/42897
394         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
395         permanently.
396
397 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
398
399         PR debug/42897
400         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
401         uses of relevant DEFs that are dead outside the loop too.
402
403 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
404
405         * var-tracking.c (dataflow_set_merge): Swap src and src2.
406         Reverted:
407         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
408         PR debug/41371
409         * var-tracking.c (values_to_unmark): New variable.
410         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
411         values_to_unmark vector.  Moved body to...
412         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
413         instead queue it into values_to_unmark vector.
414         (vt_find_locations): Free values_to_unmark vector.
415
416 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
417
418         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
419         (site.exp): Export them when plugins are enabled.
420
421 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
422
423         PR middle-end/42326
424         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
425         that contain scevs.
426         (chrec_fold_multiply): Same.
427
428 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
429
430         PR c/43248
431         * c-decl.c (build_compound_literal): Return early if init is
432         an error_mark_node.
433
434 2010-03-04  Martin Jambor  <mjambor@suse.cz>
435
436         PR tree-optimization/43164
437         PR tree-optimization/43191
438         * tree-sra.c (type_consists_of_records_p): Reject records with
439         zero-size bit-fields at the end.
440
441 2010-03-04  Mike Stump  <mikestump@comcast.net>
442
443         * Makefile.in (TAGS): Remove *.y.
444
445 2010-03-04  Richard Guenther  <rguenther@suse.de>
446
447         PR tree-optimization/40761
448         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
449         in reverse order.
450         (my_rev_post_order_compute): New function.
451         (init_pre): Call it.
452
453 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
454
455         PR middle-end/43209
456         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
457         decrease the cost of an IV candidate when the cost is infinite.
458
459 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
460
461         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
462         Use '3DNow!' for the extension of that name, ensure normal space
463         after the string.
464         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
465
466 2010-03-03  Jeff Law  <law@redhat.com>
467
468         * PR middle-end/32693
469         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
470         than gen_rtx_SUBREG.
471         (extract_bit_field_1): Likewise.
472
473 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
474
475         * doc/sourcebuild.texi (Test directives): Document that arguments
476         include-opts and exclude-opts are now optional for dg-skip-if,
477         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
478
479 2010-03-03  Jason Merrill  <jason@redhat.com>
480
481         PR c++/12909
482         * cgraph.h (varpool_node): Add extra_name field.
483         * varpool.c (varpool_extra_name_alias): New.
484         (varpool_assemble_decl): Emit extra name aliases.
485         (varpool_mark_needed_node): Look past an extra name alias.
486         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
487         * lto-streamer-in.c (lto_input_tree): Read it.
488         * lto-streamer-out.c (output_unreferenced_globals): Write it.
489
490 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
491
492         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
493         (sparc*-*-solaris2*): ...this.
494
495 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
496
497         PR debug/43229
498         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
499         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
500         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
501         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
502
503         PR debug/43237
504         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
505         fallthrough to default handling, just with want_address 0 instead of 2.
506         For single element lists, add_AT_loc directly, otherwise create an
507         artificial variable DIE and stick location list to it.
508
509         PR debug/43177
510         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
511         (VAL_EXPR_HAS_REVERSE): Define.
512         (reverse_op): New function.
513         (add_stores): For reversible operations add an extra MO_VAL_USE.
514
515 2010-03-02  Jason Merrill  <jason@redhat.com>
516
517         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
518
519 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
520
521         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
522         (sparc64-*-linux*): Likewise.
523         (sparc64-*-solaris2*): Include assembler files before linker ones.
524         (sparc-*-solaris2*): Simplify and reorder to match previous case.
525         * config/sparc/gas.h: Delete.
526         * config/sparc/sol2-64.h: Add copyright notice.
527         * config/sparc/sol2-gas-bi.h: Likewise.
528         * config/sparc/sol2-gld.h: Likewise.
529         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
530         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
531         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
532         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
533         (sparc_elf_asm_named_section): Rename into...
534         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
535
536 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
537
538         * config/alpha/alpha.c (override_options): Fix -mtune error message.
539
540 2010-03-02  Jeff Law  <law@redhat.com>
541
542         PR middle-end/42431
543         * reload1.c (rtx_p, substitute_stack): Declare.
544         (substitute): Record addresses of changed rtxs.
545         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
546         Restore the original rtx when complete.
547         (reload): Free subsitute_stack when complete.
548
549 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
550
551         * doc/gccint.texi (menu): Add Testsuites as a chapter.
552         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
553         new chapter.
554         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
555         LTO Testing, gcov Testing, profopt Testing, compat Testing,
556         Torture Tests): Change from subsection to section.
557
558 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
559             Steven Bosscher  <steven@gcc.gnu.org>
560
561         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
562         instead of bb.
563
564 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
565
566         PR middle-end/42640
567         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
568         the assignment from the new induction variable to the assignment
569         of the value from the original loop PHI function.
570
571 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
572             Daniel Jacobowitz  <dan@codesourcery.com>
573
574         * doc/sourcebuild.texi (Test directives): Clarify options to
575         dg-skip-if.
576
577 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
578
579         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
580         Disable cfi directives unless GCC and gas agree on using read-only
581         .eh_frame sections for 64-bit.
582         * configure: Regenerate.
583
584 2010-03-01  Richard Guenther  <rguenther@suse.de>
585
586         PR tree-optimization/43220
587         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
588         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
589
590 2010-03-01  Richard Guenther  <rguenther@suse.de>
591             Martin Jambor  <mjambor@suse.cz>
592
593         PR middle-end/41250
594         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
595         gimplified parameters.
596
597 2010-03-01  Christian Bruel  <christian.bruel@st.com>
598
599         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
600
601 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
602
603         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
604
605 2010-03-01  Richard Guenther  <rguenther@suse.de>
606
607         PR middle-end/43213
608         * expr.c (expand_assignment): Use the alias-oracle to tell
609         if the rhs aliases the result decl.
610
611 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
612
613         PR pch/14940
614         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
615         to sol_gt_pch_get_address.
616         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
617         64-bit, SPARC and x86.
618         (sol_gt_pch_get_address): New function.
619
620 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
621
622         * toplev.h (inform_n, error_n): Declare.
623         * diagnostic.c (inform_n, error_n): New function.
624
625 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
626
627         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
628         has no rtl yet when processing local_decls, queue it and recheck
629         if deferred stack allocation hasn't assigned it rtl.
630
631 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
632
633         * config/sh/sh.c (unspec_bbr_uid): New.
634         (gen_block_redirect): Use it instead of INSN_UID.
635         (gen_far_branch): Likewise.
636
637 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
638
639         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
640         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
641
642 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
643
644         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
645         (Warning Options): -Wno-conversion-null is valid for
646         Objective-C++ as well.
647         * doc/tm.texi (Named Address Spaces): Likewise.
648         * doc/plugins.texi (Plugins): Replace TABs with spaces.
649         * doc/tree-ssa.texi (Tree SSA): Likewise.
650
651 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
652
653         PR bootstrap/43202
654         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
655         by default.  Don't set the default arch for
656         i[34567]86-*-darwin*|x86_64-*-darwin*.
657
658 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
659
660         PR bootstrap/43202
661         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
662         default.  Set the default 32bit/64bit archs with $with_arch
663         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
664
665 2010-02-27  Richard Guenther  <rguenther@suse.de>
666
667         PR tree-optimization/43186
668         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
669         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
670         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
671         unroller iterations.
672
673 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
674
675         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
676         required and i[34567]86-*-* targets don't support 64bit ISA.
677
678 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
679
680         PR ada/43096
681         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
682         the same alias set.
683
684 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
685
686         * config.gcc: Set the default arch at least to Prescott for
687         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
688         if SSE math is enabled.
689
690 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
691
692         * diagnostic.c (diagnostic_initialize): Update.
693         (diagnostic_report_diagnostic): Test inhibit_notes_p for
694         informative notes.
695         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
696         (diagnostic_inhibit_notes): New.
697         * toplev.c (process_options): inhibit notes with -fcompare-debug.
698
699 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
700
701         PR c/20631
702         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
703         * doc/standards.texi: Likewise.
704         * doc/extend.texi: Likewise.
705         * doc/trouble.texi: Likewise.
706         * doc/cppopts.texi: Likewise.
707         * doc/install.texi: Likewise.
708         * c.opt (std=c90,std=gnu90): New options.
709         * c-opts.c (c_common_handle_option): Handle them.
710
711 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
712
713         PR c/24577
714         * c-decl.c (undeclared_variable): Use an informative note.
715
716 2010-02-26  Richard Guenther  <rguenther@suse.de>
717
718         PR tree-optimization/43186
719         * gimple.h (gimple_fold): Remove.
720         * gimple.c (gimple_fold): Remove.  Inline into single user ...
721         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
722         Try harder for conditions.
723
724 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
725
726         PR debug/43190
727         * function.c (used_types_insert): Don't skip through named pointer
728         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
729         and it is different from the main variant's type.
730
731 2010-02-26  Nick Clifton  <nickc@redhat.com>
732
733         * config/rx/rx.md (sminsi3): Remove bogus alternative.
734
735 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
736
737         * config.gcc: Support --with-fpmath=sse for x86.
738
739         * config/i386/ssemath.h: New.
740
741         * doc/install.texi (--with-fpmath=sse): Documented.
742
743 2010-02-26  Richard Guenther  <rguenther@suse.de>
744
745         PR tree-optimization/43188
746         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
747         vector types of over-aligned element type.
748
749 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
750
751         PR target/43175
752         * config/i386/i386.c (expand_vec_perm_blend): Use correct
753         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
754
755 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
756
757         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
758
759 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
760
761         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
762         * var-tracking.c: Include diagnostic.h.
763         (debug_dv): New function.
764         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
765
766         PR debug/43160
767         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
768         (add_value_chain, add_value_chains, remove_value_chain,
769         remove_value_chains): Handle DEBUG_EXPRs.
770         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
771
772         PR debug/43161
773         * regcprop.c (struct queued_debug_insn_change): New type.
774         (struct value_data_entry): Add debug_insn_changes field.
775         (struct value_data): Add n_debug_insn_changes field.
776         (debug_insn_changes_pool): New variable.
777         (free_debug_insn_changes, apply_debug_insn_changes,
778         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
779         (kill_value_one_regno): Call free_debug_insn_changes if needed.
780         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
781         fields.
782         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
783         changes for them.
784         (copyprop_hardreg_forward_1): Don't call apply_change_group for
785         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
786         changes, call cprop_find_used_regs via note_stores.
787         (copyprop_hardreg_forward): When copying vd from predecessor
788         which has any queued DEBUG_INSN changes, make sure the pointers are
789         cleared.  At the end call df_analyze and then if there are any
790         DEBUG_INSN changes queued at the end of some basic block for still
791         live registers, apply them.
792         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
793
794 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
795
796         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
797         (arm*-*-*): Ditto.
798
799 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
800
801         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
802         targets.  Set the default with_cpu/with_arch from arch/cpu.
803         Allow x86-64 and native for with_cpu/with_arch.
804
805 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
806
807         * ebitmap.c: Change calls to verify_popcount with calls to
808         sbitmap_verify_popcount.
809         (ebitmap_clear_bit): Fixed map->cacheindex test and
810         map>cache update when bit clearing results in an empty
811         element.
812
813 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
814
815         PR target/43154
816         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
817         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
818         and support both V2DF and V2DI modes.
819         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
820         support both V2DF and V2DI modes.
821         (general): Delete trailing whitespace from a few patterns.
822
823         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
824         V2DF/V2DI interleave high/low builtins.
825
826         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
827         new VSX builtins.
828
829         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
830         interleave high/low functions.
831
832 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
833
834         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
835         #pragma extern_prefix.
836
837 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
838
839         PR debug/43166
840         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
841         BLKmode, assert op0 is a MEM and just adjust its mode.
842
843         PR debug/43165
844         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
845         if bitpos isn't multiple of mode's bitsize.
846
847 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
848
849         * c.opt (-ftemplate-depth=): New.
850         (-ftemplate-depth-): Deprecate.
851         * optc-gen.awk: Handle -ftemplate-depth=.
852         * opth-gen.awk: Likewise.
853         * c-opts.c (c_common_handle_option): Likewise.
854         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
855
856 2010-02-24  Jason Merrill  <jason@redhat.com>
857
858         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
859
860 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
861
862         * cfg.c (alloc_aux_for_block): Remove inline.
863         (alloc_aux_for_edge): Likewise.
864
865 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
866
867         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
868
869 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
870
871         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
872         * config/i386/sol2-gas.h: New file.
873         * config.gcc (i[34567]86-*-solaris2*): Use it.
874
875 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
876
877         PR c/43128
878         * c-typeck.c (ep_convert_and_check): New.
879         (build_conditional_expr): Use it.
880         (build_binary_op): Likewise.
881
882 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
883
884         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
885
886         PR debug/43150
887         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
888         bounds even for -O+.
889         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
890         expr needs to have DECL_NAME set.
891
892 2010-02-24  Nick Clifton  <nickc@redhat.com>
893
894         * config/mep/mep.c: Include gimple.h.
895         (mep_function_uses_sp): Delete unused function.
896         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
897         parameters.  Use unsigned integers to count args.  Return a
898         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
899
900 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
901
902         PR target/43107
903         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
904         greater or equal to nelt instead of 2 * nelt.
905         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
906         with nelt - 1.
907
908 2010-02-23  Jason Merrill  <jason@redhat.com>
909
910         PR debug/42800
911         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
912         in cfun->local_decls even if they have register types.
913
914         PR c++/42837
915         * stor-layout.c (place_field): Don't warn about unnecessary
916         DECL_PACKED if the type is packed.
917
918 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
919
920         PR target/43139
921         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
922         GOTOFF relocs, even when the base reg isn't pic pointer.
923
924 2010-02-23  Michael Matz  <matz@suse.de>
925
926         PR debug/43077
927         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
928         (expand_gimple_basic_block): Generate and use debug temps if there
929         are debug uses left after the last real use of TERed ssa names.
930         Unlink debug immediate uses when they are expanded.
931
932 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
933
934         PR 43123
935         * config/i386/i386.c (override_options): Reorganise to provide
936         better error messages.
937
938 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
939
940         PR middle-end/43083
941         * graphite-scop-detection.c (create_single_exit_edge): Move
942         the call to find_single_exit_edge to....
943         (create_sese_edges): ...here.  Don't handle multiple edges
944         exiting the function.
945         (build_graphite_scops): Don't handle multiple edges
946         exiting the function.
947
948 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
949
950         PR middle-end/43097
951         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
952         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
953
954 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
955
956         PR middle-end/43026
957         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
958
959 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
960
961         PR c++/43126
962         * c-typeck.c (convert_arguments): Print declaration location.
963         * c-common.c (validate_nargs): Rename as
964         builtin_function_validate_nargs.
965         (check_builtin_function_arguments): Update.
966
967 2010-02-22  Richard Guenther  <rguenther@suse.de>
968
969         PR lto/43045
970         * tree-inline.c (declare_return_variable): Use the type of
971         the call stmt lhs if available.
972
973 2010-02-22  Duncan Sands  <baldrick@free.fr>
974
975         * passes.c (register_pass): Always consider all pass lists when
976         ref_pass_instance_number is zero.
977
978 2010-02-22  Richard Guenther  <rguenther@suse.de>
979
980         PR tree-optimization/42749
981         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
982         parameter.  Do arithmetic in the original type.
983         (update_accumulator_with_ops): Likewise.
984         (adjust_accumulator_values): Adjust.
985
986 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
987
988         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
989         (QI to BLKmode splitter): New splitter.
990
991 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
992
993         * config/i386/i386.c (initial_ix86_tune_features): Turn on
994         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
995
996 2010-02-22  Richard Guenther  <rguenther@suse.de>
997
998         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
999
1000 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
1001
1002         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
1003         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
1004         ($(T)crti.o, $(T)crtn.o): Remove rules.
1005
1006 2010-02-21  Tobias Burnus  <burnus@net-b.de>
1007
1008         PR fortran/35259
1009         * doc/invoke.texi (-fassociative-math): Document that this
1010         option is automatically enabled for Fortran.
1011
1012 2010-02-20  David S. Miller  <davem@davemloft.net>
1013
1014         * configure.ac: Test if linker and assembler properly support
1015         GOTDATA_OP relocations.
1016         * configure: Rebuild.
1017         * config.in: Likewise.
1018         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
1019         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
1020         (movsi_high_pic): Likewise.
1021         (movdi_lo_sum_pic): Likewise.
1022         (movdi_high_pic): Likewise.
1023         (movsi_pic_gotdata_op): New pattern.
1024         (movdi_pic_gotdata_op): Likewise.
1025         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
1026         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
1027
1028 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
1029
1030         PR target/43067
1031         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
1032         attribute to ssemul.
1033         (xop_mulv2div2di3_high): Ditto.
1034
1035 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1036
1037         PR c++/35669
1038         * c.opt (Wconversion-null): New option.
1039         * doc/invoke.texi (Wconversion-null): Document.
1040
1041 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1042
1043         * common.opt (Wlarger-than-): Add Undocumented.
1044
1045 2010-02-19  Mike Stump  <mikestump@comcast.net>
1046
1047         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
1048
1049 2010-02-19  Jason Merrill  <jason@redhat.com>
1050
1051         PR target/40332
1052         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
1053         * configure: Likewise.
1054
1055 2010-02-20  Alan Modra  <amodra@gmail.com>
1056
1057         PR middle-end/42344
1058         * cgraph.h (cgraph_make_decl_local): Declare.
1059         * cgraph.c (cgraph_make_decl_local): New function.
1060         (cgraph_make_node_local): Use it.
1061         * cgraphunit.c (cgraph_function_versioning): Likewise.
1062         * ipa.c (function_and_variable_visibility): Likewise.
1063
1064 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1065
1066         PR bootstrap/43121
1067         * except.c (sjlj_emit_function_enter): Don't call
1068         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
1069         directly.
1070         * rtl.h (add_reg_br_prob_note): Remove prototype.
1071
1072 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1073
1074         PR 41779
1075         * c-common.c (conversion_warning): Remove widening conversions
1076         before checking the conversion of integers to reals.
1077
1078 2010-02-19  Mike Stump  <mikestump@comcast.net>
1079
1080         PR middle-end/43125
1081         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
1082
1083         PR objc/43061
1084         * cgraphunit.c (process_function_and_variable_attributes): Check
1085         DECL_PRESERVE_P instead of looking up attribute "used".
1086         * ipa-pure-const.c (check_decl): Likewise.
1087         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
1088         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
1089         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
1090         instead of attribute "used".
1091         * config/sol2-c.c (solaris_pragma_init): Likewise.
1092         (solaris_pragma_fini): Likewise.
1093
1094 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1095
1096         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
1097         Use XCNEW instead of xcalloc.
1098         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
1099         XNEW instead of xmalloc.
1100         (get_fields): Use XNEWVEC instead of xmalloc.
1101
1102         PR debug/43084
1103         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
1104         populate vars array.
1105         (create_new_general_access): For debug stmts just reset value.
1106         (get_stmt_accesses): For accesses within debug stmts just record them
1107         using add_access_to_acc_sites instead of preventing the peeling or
1108         counting them as accesses.
1109
1110         PR middle-end/42233
1111         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
1112
1113 2010-02-19  Richard Guenther  <rguenther@suse.de>
1114
1115         PR tree-optimization/42916
1116         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
1117         instructions.
1118
1119 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
1120
1121         * configure.ac: Replace all uses of changequote in macro arguments
1122         with proper quoting.
1123
1124 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1125
1126         PR middle-end/42233
1127         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
1128
1129 2010-02-19  Richard Guenther  <rguenther@suse.de>
1130
1131         PR tree-optimization/42944
1132         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
1133         test for aliasing with errno.
1134
1135 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1136
1137         PR middle-end/42233
1138         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
1139         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
1140         * dojump.c: Include output.h.
1141         (inv): New inline function.
1142         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
1143         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
1144         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
1145         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
1146         argument, pass it down to other calls.
1147         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
1148         add REG_BR_PROB note to the conditional jump.
1149         * cfgexpand.c (add_reg_br_prob_note): Removed.
1150         (expand_gimple_cond): Don't call it, add the probability
1151         as last argument to jumpif_1/jumpifnot_1.
1152         * Makefile.in (dojump.o): Depend on output.h.
1153         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
1154         callers.
1155         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
1156         * stmt.c (do_jump_if_equal): Likewise.
1157         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
1158         * loop-unswitch.c (compare_and_jump_seq): Likewise.
1159         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
1160         Likewise.
1161         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
1162         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
1163         jumpifnot_1 callers.
1164         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
1165         callers.
1166         (store_expr): Adjust jumpifnot caller.
1167         (store_constructor): Adjust jumpif caller.
1168
1169         PR middle-end/42233
1170         * gimplify.c (gimple_boolify): For __builtin_expect call
1171         gimple_boolify also on its first argument.
1172
1173 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
1174
1175         * configure.ac (gnu-unique-object): Wrap regexps using [] in
1176         changequote block.
1177         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
1178         * configure: Regenerated.
1179
1180 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1181
1182         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
1183         lang_hooks.types_compatible_p instead of comptypes.
1184
1185 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
1186
1187         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
1188         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
1189         if __prefer_thumb__ is defined.
1190
1191 2010-02-18  Martin Jambor  <mjambor@suse.cz>
1192
1193         PR tree-optimization/43066
1194         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
1195         array with zero-sized element type.
1196
1197 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
1198
1199         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
1200         rtx, allocate struct var_loc_node here and return it to the
1201         caller, and only if it is actually needed.
1202         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
1203         move it earlier and return immediately if it returns NULL.
1204
1205 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
1206
1207         * config/sparc/gas.h: New file.  Restore
1208         TARGET_ASM_NAMED_SECTION to its ELF default.
1209         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
1210         check !HAVE_GNU_AS.
1211         * config/sparc/sparc.c (sparc_elf_asm_named_section):
1212         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
1213         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
1214         after sparc/sysv4.h.
1215
1216 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
1217
1218         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
1219
1220 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
1221
1222         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
1223         patterns from predicated pattern.
1224
1225 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
1226
1227         PR target/43103
1228         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
1229         for insn mnemonic suffix.
1230
1231 2010-02-17  Richard Guenther  <rguenther@suse.de>
1232
1233         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
1234         to loop PHI nodes.
1235
1236 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
1237
1238         PR debug/42918
1239         * caller-save.c (save_call_clobbered_regs): If BB ends with
1240         a DEBUG_INSN, move any notes in between last real insn and the last
1241         DEBUG_INSN after the last DEBUG_INSN.
1242
1243 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
1244
1245         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
1246         Fix return type.  Fix argument type.  Explain meaning of return value.
1247
1248 2010-02-16  Richard Guenther  <rguenther@suse.de>
1249
1250         PR tree-optimization/41043
1251         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
1252         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
1253         statements ...
1254         (vrp_visit_phi_node): ... but only for loop PHI nodes.
1255
1256 2010-02-16  Ira Rosen <irar@il.ibm.com>
1257
1258         PR tree-optimization/43074
1259         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
1260         * tree-vect-loop.c (vect_analyze_loop_operations): Add
1261         vectorizable cycles in hybrid SLP check.
1262         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
1263
1264 2010-02-16  Richard Guenther  <rguenther@suse.de>
1265
1266         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
1267         (true_dependence): If memrefs_conflict_p computes must-alias
1268         trust it.  Move TBAA check after offset-based disambiguation.
1269         (canon_true_dependence): Likewise.
1270
1271 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
1272
1273         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
1274         * doc/invoke.texi: Document it.
1275         * var-tracking.c: Include toplev.h and params.h.
1276         (vt_find_locations): Return bool indicating success.  Compute
1277         hash sizes unconditionally.  Check new parameter, report.
1278         (variable_tracking_main_1): Check vt_find_locations results and
1279         retry.  Renamed from...
1280         (variable_tracking_main): ... this.  New wrapper to preserve
1281         flag_var_tracking_assignments.
1282         * Makefile.in (var-tracking.o): Adjust dependencies.
1283
1284 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
1285             Jakub Jelinek <jakub@redhat.com>
1286
1287         PR target/42854
1288         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
1289         if weak_import attribute is present.
1290         * config/darwin.c (machopic_select_section): Likewise.
1291
1292 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
1293
1294         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
1295         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
1296         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
1297         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
1298
1299         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument 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.