OSDN Git Service

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