OSDN Git Service

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