OSDN Git Service

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