OSDN Git Service

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