OSDN Git Service

d26d7360e6556312e2db008af78d926002f759aa
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
2
3         * common.opt (fsched2-use-traces): Preserved for backward
4         compatibility.
5         * doc/invoke.texi: Remove the documentation about option
6         -fsched2-use-traces.
7         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
8         flag_sched2_use_traces.
9         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
10         the backward compatibility flag section.
11
12 2010-02-09  Richard Guenther  <rguenther@suse.de>
13
14         PR tree-optimization/43008
15         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
16         make HEAP variables initialized from global memory if they
17         are not known builtin functions.
18         (find_func_aliases): Adjust.
19
20 2010-02-09  Richard Guenther  <rguenther@suse.de>
21
22         PR tree-optimization/43000
23         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
24         arithmetic manually.
25
26 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
27
28         PR tree-optimization/42931
29         * tree-loop-linear.c (try_interchange_loops): Don't call
30         double_int_mul if estimated_loop_iterations failed.
31
32 2010-02-08  Martin Jambor  <mjambor@suse.cz>
33
34         PR middle-end/42898
35         * tree-sra.c (build_accesses_from_assign): Do not mark in
36         should_scalarize_away_bitmap if stmt has volatile ops.
37         (sra_modify_assign): Do not process assigns piecemeal if if stmt
38         has volatile ops.
39
40 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
41
42         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
43
44 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
45
46         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
47         before the pattern.
48
49 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
50
51         PR middle-end/42946
52         * df-core.c (df_finish_pass): Change type of saved_flags to int.
53
54 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
55
56         PR middle-end/42988
57         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
58         to unknown_dependence.
59         (graphite_legal_transform_dr): Handle the unknown_dependence.
60         (graphite_carried_dependence_level_k): Same.
61
62 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
63
64         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
65
66 2010-02-07  Richard Guenther  <rguenther@suse.de>
67
68         PR middle-end/42991
69         * expr.c (get_inner_reference): Always initialize *pbitsize.
70
71 2010-02-07  Richard Guenther  <rguenther@suse.de>
72
73         PR middle-end/42956
74         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
75         new ARRAY_REFs on variable size element or minimal index arrays.
76         Complete.
77         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
78         gimple_fold_indirect_ref.
79
80 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
81
82         PR target/42957
83         * arm.c (arm_override_options): Just return if the user has specified
84         an invalid fpu name.
85
86 2010-02-03  Jason Merrill  <jason@redhat.com>
87
88         PR c++/42870
89         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
90         i386_pe_maybe_record_exported_symbol.
91
92 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
93
94         PR target/42924
95         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
96         (pa_delegitimize_address): New function.
97
98 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
99
100         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
101         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
102
103 2010-02-05  Richard Guenther  <rguenther@suse.de>
104
105         PR lto/42762
106         * lto-streamer-in.c (get_resolution): Deal with references
107         to undefined functions.
108
109 2010-02-05  Richard Guenther  <rguenther@suse.de>
110
111         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all
112         conversions.
113         (fold_const_aggregate_ref): Likewise.
114         (ccp_fold_stmt): Substitute loads.
115         (maybe_fold_reference): Verify types before substituting.
116         Unshare properly.
117         (fold_gimple_assign): Unshare properly.
118         (fold_stmt_1): Insert conversion if necessary before replacing
119         the RHS.
120
121 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
122
123         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
124         for rs6000_gen_cell_microcode.
125
126 2010-02-04  Richard Guenther  <rguenther@suse.de>
127
128         PR rtl-optimization/42952
129         * dse.c (const_or_frame_p): Remove MEM handling.
130
131 2010-02-04  Nick Clifton  <nickc@redhat.com>
132
133         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
134         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
135         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
136         (mn10300_asm_output_mi_thunk): New function.
137         (mn10300_can_output_mu_thunk): New function.
138         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
139         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
140         (FUNCTION_ARG): Delete incorrect comment.
141
142 2010-02-03  Jason Merrill  <jason@redhat.com>
143
144         PR c++/40138
145         * fold-const.c (operand_equal_p): Handle erroneous types.
146
147 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
148
149         * config/h8300/h8300.md (can_delay): Fix attibute condition.
150
151 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
152
153         PR rtl-optimization/42941
154         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
155         of xmalloc.
156
157 2010-02-03  Jason Merrill  <jason@redhat.com>
158
159         PR c++/35652
160         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
161
162 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
163
164         PR debug/42896
165         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to
166         hash.
167         (cselib_reset_table): Renamed from...
168         (cselib_reset_table_with_next_value): ... this.
169         (cselib_get_next_uid): Renamed from...
170         (cselib_get_next_unknown_value): ... this.
171         * cselib.c (next_uid): Renamed from...
172         (next_unknown_value): ... this.
173         (cselib_clear_table): Adjust.
174         (cselib_reset_table): Adjust.  Renamed from...
175         (cselib_reset_table_with_next_value): ... this.
176         (cselib_get_next_uid): Adjust.  Renamed from...
177         (cselib_get_next_unknown_value): ... this.
178         (get_value_hash): Use hash.
179         (cselib_hash_rtx): Likewise.
180         (new_cselib_val): Adjust.  Set and dump uid.
181         (cselib_lookup_mem): Pass next_uid as hash.
182         (cselib_subst_to_values): Likewise.
183         (cselib_log_lookup): Dump uid.
184         (cselib_lookup): Pass next_uid as hash.  Adjust.
185         (cselib_process_insn): Adjust.
186         (cselib_init): Initialize next_uid.
187         (cselib_finish): Adjust.
188         (dump_cselib_table): Likewise.
189         * dse.c (canon_address): Dump value uid.
190         * print-rtl.c (print_rtx): Print value uid.
191         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
192         (dvuid): New type.
193         (dv_uid): New function, sort of renamed from...
194         (dv_htab_hash): ... this, reimplemented in terms of it and...
195         (dv_uid2hash): ... this.  New.
196         (variable_htab_eq): Drop excess assertions.
197         (tie_break_pointers): Removed.
198         (canon_value_cmp): Compare uids.
199         (variable_post_merge_New_vals): Print uids.
200         (vt_add_function_parameters): Adjust.
201         (vt_initialize): Reset table.  Adjust.
202
203 2010-02-03  Richard Guenther  <rguenther@suse.de>
204
205         PR tree-optimization/42944
206         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
207         calloc.
208         (call_may_clobber_ref_p_1): Likewise.  Properly handle
209         malloc and calloc clobbering errno.
210
211 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
212
213         * doc/invoke.texi: Fix name of sched1 dump.
214
215         * opts.c (decode_options): Set flag_tree_switch_conversion
216         only conditionally on optimize >= 2.
217
218         * gcse.c: Assorted comment fixes in pass description.
219
220 2010-02-03  Anthony Green  <green@moxielogic.com>
221
222         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
223         nop padding in order to maintain alignment of storage location of
224         target function address.
225         (moxie_trampoline_init): Store target function address at newly
226         aligned location.
227         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
228         to 32.
229         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
230
231 2010-02-03  Richard Guenther  <rguenther@suse.de>
232
233         PR middle-end/42927
234         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
235
236 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
237
238         * config.gcc: Reenable check for obsolete targets.
239         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
240         mips-sgi-irix6.[0-4]*.
241
242 2010-02-02  Nick Clifton  <nickc@redhat.com>
243
244         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
245         constant size of 4 as being the same as 0.
246         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
247         can take values in the range 0..4.
248
249 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
250
251         PR java/41991
252         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
253         as _darwin10_Unwind_FindEnclosingFunction().
254         * libgcc-libsystem.ver: New.
255
256 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
257
258         PR target/41399
259         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
260         implicitly set registers.
261
262 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
263
264         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
265         (arm_override_options): Allow automatic selection of the thread
266         pointer register if thumb2.
267         (legitimize_pic_address): Improve code sequences for Thumb2.
268         (arm_call_tls_get_addr): Likewise.
269         (legitimize_tls_address): Likewise.
270         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
271         (pic_load_addr_32bit): ... this.  New named pattern.
272         * thumb2.md (pic_load_addr_thumb2): Delete.
273         (pic_load_dot_plus_four): Delete.
274         (tls_load_dot_plus_four): New named pattern.
275
276 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
277
278         PR libgomp/29986
279         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
280         Document fix for TLS bug.
281
282 2010-01-31  Richard Guenther  <rguenther@suse.de>
283
284         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
285         conservatively correct.
286
287 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
288
289         PR target/42850
290         Revert:
291         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
292
293         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
294
295 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
296
297         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
298
299 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
300
301         * config.gcc: Adjust order of makefile fragments for mingw targets.
302
303 2010-01-31  Richard Guenther  <rguenther@suse.de>
304
305         PR middle-end/42898
306         * gimplify.c (gimplify_init_constructor): For volatile LHS
307         initialize a temporary.
308
309 2010-01-31  Matthias Klose  <doko@ubuntu.com>
310
311         * configure.ac: Fix __stack_chk_fail check for cross builds configured
312         --with-headers
313         * configure: Regenerate.
314
315 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
316
317         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
318         the same alias set and their sizes different constantness.
319         (aliasing_component_refs_p): Revert 2009-10-24 change.
320
321 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
322
323         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
324         unused.
325
326 2010-01-29  Richard Guenther  <rguenther@suse.de>
327
328         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
329         Assert we successfully updated the call.
330
331 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
332
333         PR rtl-optimization/42889
334         * df.h (df_set_bb_dirty_nonlr): New prototype.
335         * df-core.c (df_set_bb_dirty_nonlr): New function.
336         * df-scan.c (df_insn_rescan): Call it instead of
337         df_set_bb_dirty for DEBUG_INSNs.
338
339 2010-01-29  Richard Guenther  <rguenther@suse.de>
340
341         PR middle-end/37448
342         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
343         quadratic behavior in most cases.
344
345 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
346
347         PR target/42891
348         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
349         in the call to gen_x86_movsicc_0_m1.
350
351 2010-01-28  Richard Guenther  <rguenther@suse.de>
352
353         PR tree-optimization/42871
354         * tree-ssa-pre.c (phi_translate_set): Make sure to retain
355         leaders.
356
357 2010-01-28  Richard Guenther  <rguenther@suse.de>
358
359         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
360         into call arguments.
361
362 2010-01-28  Richard Guenther  <rguenther@suse.de>
363
364         PR middle-end/42883
365         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
366         the forwarder if the destination is an EH landing pad.
367
368 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
369
370         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
371         block list passed to gimple_duplicate_sese_tail.
372         (parallelize_loops): Avoid parallelization when the function
373         has_nonlocal_label.
374         Avoid parallelization when the preheader is IRREDUCIBLE.
375         Try to optimize when estimated_loop_iterations_int is unresolved.
376         Add the loop's location to the dump file.
377         * tree-cfg.c (add_phi_args_after_redirect): Remove.
378         (gimple_duplicate_sese_tail): Remove the check for the latch.
379         Redirect nexits to the exit block.
380         Remove handling of the incoming edges to the latch.
381         Redirect the backedge from the copied latch to the exit bb.
382
383 2010-01-28  Michael Matz  <matz@suse.de>
384
385         PR target/42881
386         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
387         Wrap force_reg into a sequence, emit it before user.
388
389 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
390
391         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
392         (arm_rev): New.
393         (arm_legacy_rev): Likewise.
394         (thumb_legacy_rev): Likewise.
395
396 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
397
398         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
399         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
400         on MEM's address failed, try avoid_constant_pool_reference and
401         recurse if it returned something different.
402         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
403         address, try avoid_constant_pool_reference and recurse if it
404         returned something different.
405         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
406         address and avoid_constant_pool_reference returned something
407         different, don't set have_address.
408
409 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
410
411         PR debug/42861
412         * var-tracking.c (val_store): Add modified argument, obey it.
413         Adjust callers.
414         (count_uses): Move down logging of main.
415         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
416         don't need resolution.
417         (emit_notes_in_bb): Likewise.
418
419 2010-01-27  Richard Guenther  <rguenther@suse.de>
420
421         PR middle-end/42878
422         * tree-inline.c (remap_decl): Delay remapping of SSA name
423         default definitions until we need them.
424
425 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
426
427         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
428         (rs6000_delegitimize_address): New function.
429
430         * config/s390/s390.c (s390_delegitimize_address): Call
431         delegitimize_mem_from_attrs.
432
433         PR middle-end/42874
434         * tree-inline.c (cannot_copy_type_1): Removed.
435         (copy_forbidden): Don't forbid copying of functions containing
436         records/unions with variable length fields.
437
438 2010-01-27  Christian Bruel  <christian.bruel@st.com>
439
440         Revert:
441         PR target/42841
442         * config/sh/sh.c (find_barrier): Increase length for non delayed
443         conditional branches.
444
445 2010-01-27  Matthias Klose  <doko@ubuntu.com>
446
447         * configure.ac (gnu-unique-object): Fix ldd version check.
448         * configure: Regenerate.
449
450 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
451
452         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
453         HAVE_GNU_AS value.
454         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
455         Test for HAVE_GNU_AS value.
456
457 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
458
459         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
460         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
461         INT64_TYPE): Define.
462         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
463         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
464         INT_LEAST64_TYPE): Define.
465         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
466         UINT_LEAST64_TYPE): Define.
467         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
468         INT_FAST64_TYPE): Define.
469         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
470         UINT_FAST64_TYPE): Define.
471         (INTMAX_TYPE, UINTMAX_TYPE): Define.
472         (INTPTR_TYPE, UINTPTR_TYPE): Define.
473         (SIG_ATOMIC_TYPE): Define.
474
475 2010-01-26  Richard Guenther  <rguenther@suse.de>
476
477         * df-scan.c (df_scan_set_bb_info): Remove assert.
478         (df_insn_rescan_debug_internal): Merge asserts.
479         (df_install_ref): Likewise.
480         (df_mark_reg): Use bitmap_set_range.
481         (df_hard_reg_used_p): Remove assert.
482         (df_hard_reg_used_count): Likewise.
483
484 2010-01-26  Richard Guenther  <rguenther@suse.de>
485
486         PR rtl-optimization/42685
487         * web.c (web_main): Ignore DEBUG_INSNs.
488
489 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
490
491         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
492
493         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
494         Fix types of fndecl and arglist parameters.
495
496 2010-01-26  Richard Guenther  <rguenther@suse.de>
497
498         PR middle-end/42806
499         * tree-eh.c (unsplit_eh): Skip debug insns.
500
501 2010-01-26  Richard Guenther  <rguenther@suse.de>
502
503         PR tree-optimization/42250
504         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
505
506 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
507
508         PR fortran/42866
509         * omp-low.c (expand_omp_sections): Only use single_pred if
510         l2_bb is single_pred_p.
511
512 2010-01-25  Christian Bruel  <christian.bruel@st.com>
513
514         PR target/42841
515         * config/sh/sh.c (find_barrier): Increase length for non delayed
516         conditional branches.
517         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
518
519 2010-01-24  David S. Miller  <davem@davemloft.net>
520
521         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
522         define if not using GAS.
523         * config/sparc/sparc.c (sparc_elf_asm_named_section):
524         Likewise.  Delete SECTION_MERGE code, which is only applicable
525         when using GAS.
526
527 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
528
529         PR c++/42748
530         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
531         mangling of va_list in system headers.
532
533 2010-01-23  Toon Moene  <toon@moene.org>
534
535         * tree-predcom.c (combine_chains): Return NULL, not false.
536
537 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
538
539         * tree-loop-distribution.c (distribute_loop): Fix declaration and
540         initialization of variable res to agree with return type.
541
542 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
543
544         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
545         * tree-sra.c: Add include of expr.h.
546
547 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
548
549         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
550         insert the debug stmt on the single non-EH edge from the stmt.
551
552 2010-01-22  Richard Henderson  <rth@redhat.com>
553
554         PR tree-opt/42833
555         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
556         the RHS until after generate_subtree_copies has insertted its
557         code before the current statement.
558
559 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
560
561         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
562
563         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
564
565 2010-01-21  Martin Jambor  <mjambor@suse.cz>
566
567         PR tree-optimization/42585
568         * tree-sra.c (struct access): New field grp_total_scalarization.
569         (dump_access): Dump the new field.
570         (should_scalarize_away_bitmap): New variable.
571         (cannot_scalarize_away_bitmap): Likewise.
572         (sra_initialize): Allocate new bitmaps.
573         (sra_deinitialize): Free new bitmaps.
574         (create_access_1): New function.
575         (create_access): Parts moved to create_access_1.
576         (type_consists_of_records_p): New function.
577         (completely_scalarize_record): Likewise.
578         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
579         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
580         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
581         access.
582         (analyze_all_variable_accesses): Completely scalarize small eligible
583         records.
584
585 2010-01-21  Martin Jambor  <mjambor@suse.cz>
586
587         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
588
589 2010-01-21  Andrew Haley  <aph@redhat.com>
590
591         * gcc.c (process_command): Move lang_specific_driver before
592         setting cc_libexec_prefix.
593
594 2010-01-21  Richard Guenther  <rguenther@suse.de>
595
596         PR middle-end/19988
597         * fold-const.c (negate_expr_p): Pretend only negative
598         real constants are easily negatable.
599
600 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
601             Jason Merrill  <jason@redhat.com>
602
603         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
604         (TYPE_TRANSPARENT_AGGR): this, for union and record.
605         * calls.c (initialize argument_information): Handle it.
606         * c-common.c (handle_transparent_union_attribute): Use new name.
607         * c-decl.c (finish_struct): Ditto.
608         * c-typeck.c (type_lists_compatible_p): Ditto.
609         (convert_for_assignment): Use new name and also handle record.
610         * function.c (aggregate_value_p): Handle it.
611         (pass_by_reference): Ditto.
612         (assign_parm_data_types): Ditto.
613         * print-tree.c (print_node): Ditto.
614         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
615         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
616         * tree.c (first_field): New fn.
617
618 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
619
620         PR target/42818
621         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
622         even when linking statically, for now.
623
624 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
625
626         PR debug/42715
627         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
628         without a cselib val.
629         (count_uses): Accept MO_VAL_SET with no val on stores.
630         (add_stores): Likewise.
631
632 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
633
634         * var-tracking.c (check_value_val): Add a compile time assertion.
635         (dv_is_decl_p): Simplify.
636         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
637         gcc_assert if ENABLE_CHECKING.
638
639 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
640
641         PR debug/42782
642         * var-tracking.c: Include tree-flow.h.
643         (mem_dies_at_call): New.
644         (dataflow_set_preserve_mem_locs): Use it.
645         (dataflow_set_remove_mem_locs): Likewise.
646         (dump_var): Renamed from dump_variable.  Adjust all callers.
647         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
648         * Makefile.in (var-tracking.o): Adjust deps.
649
650 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
651
652         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
653
654 2010-01-20  Richard Guenther  <rguenther@suse.de>
655
656         PR tree-optimization/42717
657         * tree-ssa-dce.c (get_live_post_dom): Remove.
658         (forward_edge_to_pdom): Take an arbitrary edge to copy
659         degenerate PHI args from.
660         (remove_dead_stmt): Use the first post-dominator even if it
661         does not contain live statements as redirection destination.
662
663 2010-01-20  Richard Guenther  <rguenther@suse.de>
664
665         * tree-inline.c (estimate_num_insns): Handle EH builtins.
666
667 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
668
669         * sel-sched.c (create_speculation_check): Remove set but not used
670         variable twin.
671         (try_transformation_cache): Remove set but not used variable ds.
672         (calculate_privileged_insns): Remove set but not used variables
673         cur_insn and min_spec_insn.
674         (find_best_expr): Remove set but not used variable avail_n.
675         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
676         variable e.
677         * cgraphunit.c (assemble_thunk): Remove set but not used variable
678         false_label.
679         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
680         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
681         new_scop_exit_edge.
682
683 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
684
685         PR bootstrap/42786
686         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
687         cpu types.  Add support for *-sse3 cpu types.
688         (x86_64-*-*): Ditto.
689
690 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
691
692         PR middle-end/42803
693         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
694         argument, call initializer_constant_valid_p_1 instead of
695         initializer_constant_valid_p, pass CACHE to it, return NULL
696         immediately if first call returns NULL.
697         (initializer_constant_valid_p_1): New function.
698         (initializer_constant_valid_p): Use it.
699
700 2010-01-20  Thomas Quinot  <quinot@adacore.com>
701
702         * tree.def (PLACEHOLDER_EXPR): Fix comment.
703
704 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
705
706         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
707         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
708         (loc_list_from_tree): Don't handle unsigned division.  Handle
709         signed modulo using DW_OP_{over,over,div,mul,minus}.
710         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
711         modulo instead of signed.
712
713 2010-01-20  DJ Delorie  <dj@redhat.com>
714
715         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
716         (Fpa): Pass it
717         (h8300_emit_stack_adjustment): Propogate it.
718         (push): Pass it.
719         (h8300_expand_prologue): Likewise.
720         (h8300_expand_epilogue): Likewise.
721
722 2010-01-19  Michael Matz  <matz@suse.de>
723
724         PR tree-optimization/41783
725         * tree-data-ref.c (toplevel): Include flags.h.
726         (dump_data_dependence_relation):  Also dump the inputs if the
727         result will be unknown.
728         (split_constant_offset_1): Look through some conversions.
729         * tree-predcom.c (determine_roots_comp): Restart a new chain if
730         the offset from last element is too large.
731         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
732         (reassociate_to_the_same_stmt): Handle vector registers.
733         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
734         (e.g. conversions).
735         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
736         wide_prolog_niters argument, emit widening instructions.
737         (vect_do_peeling_for_alignment): Adjust caller, use widened
738         variant of the iteration cound.
739         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
740
741 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
742
743         PR target/38697
744         * config/arm/neon-testgen.m (emit_automatics): New parameter
745         features. Adjust for Fixed_return_reg feature.
746         (test_intrinsic): Call emit_automatics with new feature.
747         * config/arm/neon.ml: Update copyright years.
748         (features): New Fixed_return_reg feature.
749         (ops): Update feature for Vget_low.
750
751 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
752
753         PR tree-optimization/42719
754         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
755         stmt uses.
756
757         PR debug/42728
758         * fwprop.c (all_uses_available_at): Return false if def_set dest
759         is a REG that is used in def_insn.
760
761 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
762
763         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
764
765         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
766         Add argument names.
767
768         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
769
770         * target.h (struct gcc_target) <secondary_reload>: Change type
771         of last argument to secondary_reload_info *.
772
773 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
774
775         PR target/42774
776         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
777         memory references with unaligned offsets.  Remove CQImode handling.
778         (unaligned_memory_operand): Return 1 for memory references with
779         unaligned offsets.  Remove CQImode handling.
780
781 2010-01-18  Richard Guenther  <rguenther@suse.de>
782
783         PR middle-end/39954
784         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
785         builtin calls.
786
787 2010-01-18  Richard Guenther  <rguenther@suse.de>
788
789         PR tree-optimization/42781
790         * tree-ssa-structalias.c (find_what_var_points_to): Skip
791         restrict processing only if the original variable was
792         artificial.
793
794 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
795
796         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
797         find number of popped argument bytes.
798
799         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
800         Fix the text that describes the return value for invalid insns.
801
802         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
803
804         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
805         Clarify what 'cost of the -dependence' is.  Fix quoting.
806
807         * toplev.c (default_get_pch_validity): Rename argument to "sz".
808         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
809
810 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
811
812         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
813         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
814
815 2010-01-17  Richard Guenther  <rguenther@suse.de>
816
817         PR middle-end/42248
818         * function.c (split_complex_args): Take a VEC to modify.
819         (assign_parms_augmented_arg_list): Build a VEC instead of
820         a chain of PARM_DECLs.
821         (assign_parms_unsplit_complex): Take a VEC of arguments.
822         Do not fixup unmodified parms.
823         (assign_parms): Deal with the VEC.
824         (gimplify_parameters): Likewise.
825
826 2010-01-17  Richard Guenther  <rguenther@suse.de>
827
828         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
829         node existence check.
830         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
831         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
832         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
833         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
834         (gimple_execute_on_growing_pred): Likewise.
835
836 2010-01-17  Richard Guenther  <rguenther@suse.de>
837
838         PR tree-optimization/42773
839         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
840         (compute_antic_aux): Likewise.
841         (compute_partial_antic_aux): Likewise.
842
843 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
844
845         PR debug/42767
846         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
847         and US_TRUNCATE.
848
849 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
850
851         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
852         appearance.
853
854         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
855         Fix markup for strict argument.
856
857         (TARGET_SCHED_REORDER2): Fix argument types.
858
859         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
860         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
861
862         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
863         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
864
865         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
866         Add argument name.
867
868         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
869         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
870         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
871         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
872         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
873
874         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
875
876         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
877
878         (TARGET_ASM_RELOC_RW_MASK): Add return type.
879         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
880
881         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
882
883         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
884         Use prototype.
885
886         (TARGET_ASM_NAMED_SECTION): Fix argument list.
887
888         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
889         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
890
891         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
892
893         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
894
895         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
896         referring to it.  Fix language.
897
898         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
899
900         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
901
902         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
903
904         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
905
906         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
907         '@var{stream}.  Remove stray 'and'.
908
909         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
910
911         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
912
913         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
914
915         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
916         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
917
918         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
919         Fix description of return value.
920         Rename argument "sz" to "len."
921
922         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
923         Clarify meaning of 'true' return value.
924
925         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
926
927         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
928         rep_mode versus mode_rep.
929
930         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
931
932         (TARGET_BUILTIN_DECL): Fix name.
933
934         (TARGET_COMMUTATIVE_P): Fix type of first argument.
935
936         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
937
938         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
939
940         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
941
942         (TARGET_RELAXED_ORDERING): Use @deftypevr.
943
944         (TARGET_GET_DRAP_RTX): Note that this is a hook.
945         Clarify language.
946
947         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
948         Rename argument tm_fn to md_fn.
949
950         (TARGET_OPTION_PRINT): Fix argument list.
951
952 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
953
954         PR target/42664
955         * config/i386/i386.c (ix86_fixup_binary_operands):
956         Revert FMA4 fixup of operands.
957
958 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
959
960         PR gcc/42525
961         * Makefile.in (write_entries_to_file, install-plugin):
962         Use \012 instead of \n with tr.
963
964 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
965
966         * configure.ac (HAVE_AS_REF): New C macro.
967         * configure: Regenerate.
968         * config.in: Likewise.
969         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
970         if HAVE_AS_REF.
971         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
972         if HAVE_AS_REF.
973
974 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
975
976         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
977
978         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
979
980         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
981
982         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
983
984         (TARGET_IN_SMALL_DATA_P): Fix argument type.
985
986         (TARGET_BINDS_LOCAL_P): Fix argument type.
987
988         (TARGET_ASM_FILE_END): Use prototype.
989
990         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
991
992         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
993
994         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
995
996         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
997
998         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
999         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
1000
1001         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
1002         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
1003
1004         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
1005         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
1006         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
1007         (TARGET_ADDR_SPACE_CONVERT): Likewise.
1008
1009         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
1010
1011         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
1012
1013         (TARGET_INIT_BUILTINS): Use prototype.
1014
1015         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
1016         Put 'const char *' in braces.  Fix parameter types.
1017         (TARGET_INVALID_CONVERSION): Fix parameter types.
1018         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
1019         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
1020
1021         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
1022         Fix argument type.
1023
1024         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
1025
1026         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
1027
1028 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
1029
1030         * doc/tm.texi (TARGET_HELP): Fix return type.
1031
1032         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
1033         in braces.  Fix argument types.
1034
1035         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
1036
1037         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
1038
1039         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
1040
1041         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
1042         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
1043
1044         (TARGET_MANGLE_TYPE): Fix argument types.
1045
1046         (TARGET_IRA_COVER_CLASSES): Use prototype.
1047
1048         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
1049
1050         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
1051
1052         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
1053
1054         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
1055
1056         (TARGET_CALLEE_COPIES): Fix argument types.
1057
1058         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
1059
1060         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
1061
1062         (TARGET_FUNCTION_VALUE): Fix argument types.
1063
1064         (TARGET_RETURN_IN_MSB): Fix argument type.
1065
1066         (TARGET_RETURN_IN_MEMORY): Fix argument types.
1067
1068         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
1069
1070         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
1071
1072         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
1073         agree with return type.
1074
1075         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
1076
1077 2010-01-15  Jing Yu  <jingyu@google.com>
1078
1079         PR rtl-optimization/42691
1080         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
1081         a pseudo to a constant and are merged, and adjust comments.
1082
1083 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
1084
1085         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
1086
1087 2010-01-15  Richard Guenther  <rguenther@suse.de>
1088
1089         PR middle-end/42739
1090         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
1091         labels of computed or non-local gotos to the destination.
1092         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
1093         landing pad label is the first label.
1094
1095 2010-01-15  Richard Guenther  <rguenther@suse.de>
1096
1097         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
1098
1099 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
1100
1101         PR target/42747
1102         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
1103         to allow generation of the xssqrtdp instruction on power7.
1104         (sqrtdf2_fpr): Ditto.
1105
1106 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1107
1108         PR middle-end/42674
1109         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
1110         functions with noreturn attribute.
1111
1112         PR c++/42608
1113         * varasm.c (declare_weak): Add weak attribute to decl if it
1114         doesn't have one already.
1115         (assemble_external): Only add decls to weak_decls if they also
1116         have weak attribute.
1117
1118 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
1119
1120         * var-tracking.c (var_reg_delete): Don't delete the association
1121         between REGs and values or one-part variables if the register
1122         isn't clobbered.
1123
1124 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1125
1126         PR debug/42657
1127         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
1128         because its first operand is a non-localized variable.
1129
1130 2010-01-14  Martin Jambor  <mjambor@suse.cz>
1131
1132         PR tree-optimization/42706
1133         * tree-sra.c (encountered_recursive_call): New variable.
1134         (encountered_unchangable_recursive_call): Likewise.
1135         (sra_initialize): Initialize both new variables.
1136         (callsite_has_enough_arguments_p): New function.
1137         (scan_function): Call decl and flags check only for IPA-SRA, check
1138         whether there is a recursive call and whether it has enough arguments.
1139         (all_callers_have_enough_arguments_p): New function.
1140         (convert_callers): Look for recursive calls only when
1141         encountered_recursive_call is set.
1142         (ipa_early_sra): Bail out either if
1143         !all_callers_have_enough_arguments_p or
1144         encountered_unchangable_recursive_call.
1145
1146 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1147
1148         * sel-sched.c: Add 2010 to copyright years.
1149         * sel-sched-ir.c: Likewise.
1150         * sel-sched-ir.h: Likewise.
1151
1152 2010-01-14  Martin Jambor  <mjambor@suse.cz>
1153
1154         PR tree-optimization/42714
1155         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
1156         constructors specially.
1157
1158 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1159
1160         * config/i386/drivers-i386.c (detect_caches_intel):
1161         Add l2sizekb parameter and fill in.
1162         (host_detect_local_cpu): Add l2sizekb, fill in.
1163         Add Atom small cache heuristic.
1164
1165 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1166
1167         * config/i386/drivers-i386.c (detect_caches_cpuid4):
1168         Add level3 parameter and fill in.
1169         (detect_caches_intel): Handle level3 cache.
1170
1171 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1172
1173         * config/i386/drivers-i386.c (host_detect_local_cpu):
1174         Fix core duo detection.
1175
1176 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1177
1178         * config/i386/drivers-i386.c (host_detect_local_cpu):
1179         Fix Atom detection.
1180
1181 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1182
1183         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
1184         (rs6000_variable_issue_1): this.  Use...
1185         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
1186
1187 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1188
1189         * sel-sched-ir.c (sel_restore_other_notes): Rename to
1190         sel_restore_notes.  Update all callers.  Call reemit_notes
1191         for all insns.
1192
1193 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1194
1195         PR rtl-optimization/42246
1196         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
1197         loops.
1198
1199 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1200
1201         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
1202         all successors is the same as number of successors in current region.
1203
1204 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1205
1206         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
1207         to rename is not separable.  Otherwise check that its LHS is not NULL.
1208
1209 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1210
1211         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
1212
1213 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1214
1215         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
1216         available registers when failed to discover LHS register class.
1217         Fix indentation.  Update comment.
1218
1219 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1220             Alexander Monakov  <amonakov@ispras.ru>
1221
1222         PR rtl-optimization/42389
1223         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
1224         to can_issue_more.
1225         (advance_state_on_fence): Likewise.
1226         (sel_target_adjust_priority): Print debug output only when
1227         sched_verbose >= 4, not 2.
1228         (get_expr_cost): Do not issue all unique insns on the next cycle.
1229         (fill_insns): Initialize can_issue_more from the value saved
1230         with the fence.
1231         * sel-sched-ir.c (flist_add): New parameter issue_more.
1232         Init FENCE_ISSUE_MORE with it.
1233         (merge_fences): Likewise.
1234         (init_fences): Update call to flist_add.
1235         (add_to_fences, add_clean_fence_to_fences)
1236         (add_dirty_fence_to_fences): Likewise.
1237         (move_fence_to_fences): Update call to merge_fences.
1238         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
1239         sched groups.
1240         * sel-sched-ir.h (struct _fence): New field issue_more.
1241         (FENCE_ISSUE_MORE): New accessor macro.
1242
1243 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1244
1245         PR rtl-optimization/42388
1246         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
1247         that have no predecessors nor successors.  Do not call move_bb_info
1248         for empty blocks outside of current region.
1249
1250 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1251
1252         PR rtl-optimization/42294
1253         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
1254         * sel-sched.c (move_exprs_to_boundary): Transitively add all
1255         originators' originators.
1256
1257 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1258
1259         PR rtl-optimization/39453
1260         PR rtl-optimization/42246
1261         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
1262         for pipelining_p.
1263         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
1264
1265 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1266             Alexander Monakov  <amonakov@ispras.ru>
1267
1268         PR middle-end/42245
1269         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
1270         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
1271         argument.  Update all callers.
1272         (tidy_control_flow): ... and here.  Recompute topological order
1273         of basic blocks in region if necessary.
1274         (sel_redirect_edge_and_branch): Change return type.  Return true
1275         if topological order might have been invalidated.
1276         (purge_empty_blocks): Export and move from...
1277         * sel-sched.c (purge_empty_blocks): ... here.
1278         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
1279         (maybe_tidy_empty_bb): Delete prototype.
1280         (purge_empty_blocks): Declare.
1281
1282 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
1283
1284         PR rtl-optimization/42249
1285         * sel-sched.c (try_replace_dest_reg): When chosen register
1286         and original register is the same, do not bail out early, but
1287         still check all original insns for validity of replacing destination
1288         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
1289         in this case.
1290
1291 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1292
1293         PR c/42721
1294         Port from no-undefined-overflow branch:
1295         2009-03-09  Richard Guenther  <rguenther@suse.de>
1296
1297         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
1298
1299 2010-01-14  Richard Guenther  <rguenther@suse.de>
1300
1301         PR lto/42665
1302         * gimple.c (iterative_hash_gimple_type): Avoid hashing
1303         error_mark_node.
1304
1305 2010-01-14  Ira Rosen  <irar@il.ibm.com>
1306
1307         PR tree-optimization/42709
1308         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
1309         as scalar type in creation of constant vector operand.
1310
1311 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1312
1313         PR testsuite/42414
1314         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
1315         (check-parallel-%): Match `testsuite' directory component only
1316         at the end.
1317
1318 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
1319
1320         PR translation/39521
1321         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
1322         strings with _().
1323
1324 2010-01-13  Richard Guenther  <rguenther@suse.de>
1325
1326         PR tree-optimization/42730
1327         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
1328         offset zero.
1329
1330 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
1331
1332         PR target/pr42542
1333         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
1334         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
1335         them signed.
1336
1337 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
1338
1339         * config/bfin/libgcc-bfin.ver: Regenerate based on current
1340         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
1341         ___umulsi3_highpart.
1342
1343         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
1344         rather than schedule_insns if the pass is enabled.
1345
1346 2010-01-13  Martin Jambor  <mjambor@suse.cz>
1347
1348         PR tree-optimization/42704
1349         * tree-sra.c (sra_modify_assign): Do not delete assignments to
1350         SSA_NAMEs.
1351
1352 2010-01-13  Martin Jambor  <mjambor@suse.cz>
1353
1354         PR tree-optimization/42703
1355         * tree-sra.c (analyze_access_subtree): Check that we can build a
1356         reference to the original data within the aggregate.
1357
1358 2010-01-13  Richard Guenther  <rguenther@suse.de>
1359
1360         PR tree-optimization/42705
1361         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after
1362         labels.
1363
1364 2010-01-13  Richard Guenther  <rguenther@suse.de>
1365
1366         PR middle-end/42716
1367         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
1368
1369 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
1370
1371         PR debug/41371
1372         * var-tracking.c (values_to_unmark): New variable.
1373         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
1374         values_to_unmark vector.  Moved body to...
1375         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
1376         instead queue it into values_to_unmark vector.
1377         (vt_find_locations): Free values_to_unmark vector.
1378
1379 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
1380
1381         * config/s390/s390.c (override_options): Set
1382         default of max-pending-list-length to 256
1383
1384 2010-01-13  Richard Guenther  <rguenther@suse.de>
1385
1386         PR lto/42678
1387         * tree-pass.h (PROP_gimple_lcx): New.
1388         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
1389         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
1390         before the final cleanup_eh.
1391         (dump_properties): Dump PROP_gimple_lcx.
1392         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
1393         (tree_lower_complex_O0): Remove.
1394         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
1395         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
1396         tree_lower_complex, schedule TODO_update_ssa.
1397         * lto-streamer-out.c (output_function): Stream the functions
1398         properties.
1399         * lto-streamer-in.c (input_function): Likewise.
1400         (lto_read_body): Do not override them here.
1401
1402 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
1403
1404         PR c/42708
1405         * c-typeck.c (build_c_cast): Fold value cast to union type before
1406         wrapping it in a CONSTRUCTOR.
1407
1408 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
1409
1410         PR rtl-optimization/42699
1411         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
1412         involved.
1413
1414 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1415
1416         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
1417         SUBTARGET_WARN_UNUSED_SPEC): Move ...
1418         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
1419         SUBTARGET_WARN_UNUSED_SPEC): ... here
1420         * config/mips/iris5.h (LIBGCC_SPEC): Define.
1421
1422 2010-01-12  Julian Brown  <julian@codesourcery.com>
1423
1424         * config/arm/neon-schedgen.ml (Utils): Don't try to
1425         open missing module.
1426         (find_with_result): New.
1427
1428 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
1429
1430         PR debug/42662
1431         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
1432         sharing when canonicalizing ({lt,ge}u (plus a b) b).
1433
1434         PR tree-optimization/42645
1435         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
1436         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
1437         decl_map, set processing_debug_stmt to -1 and return name without
1438         any remapping.
1439
1440 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
1441
1442         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
1443         binutils version, and reword target configuration description.
1444
1445 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
1446
1447         * config/avr/avr.h (LINKER_NAME): Remove.
1448
1449 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
1450
1451         PR target/42416
1452         * config/rs6000/rs6000.c (rs6000_override_options): On targets
1453         that support VSX, warn for -mno-altivec if vsx is not disabled,
1454         and disable vsx.
1455
1456 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
1457             Shujing Zhao  <pearly.zhao@oracle.com>
1458
1459         PR translation/42469
1460         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
1461         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
1462         character between option name and help text.
1463         * c.opt (imultilib): Likewise.
1464
1465 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
1466
1467         * lto-streamer-out.c (output_unreferenced_globals): Output static
1468         variables.
1469
1470 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
1471
1472         PR rtl-optimization/42621
1473         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
1474         optimizing for size.
1475         (duplicate_computed_gotos): Remove now-redundant check.
1476
1477 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
1478
1479         PR target/37454
1480         * configure.ac: Save and restore LDFLAGS and LIBS
1481         * configure: Regenerate.
1482
1483 2010-01-10  Richard Guenther  <rguenther@suse.de>
1484
1485         PR middle-end/42667
1486         * builtins.c (fold_builtin_strlen): Add type argument and
1487         convert the resulting length to it.
1488         (fold_builtin_1): Adjust.
1489
1490 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
1491
1492         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
1493         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
1494         1 insn.
1495         (num_insns_constant_wide): Adjust for that change.
1496
1497 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1498
1499         PR debug/42631
1500         * web.c (union_defs): Add used argument, to combine uses of
1501         uninitialized regs.
1502         (entry_register): Adjust type and tests of used argument.
1503         (web_main): Widen used for new use.  Pass it to union_defs.
1504         * df.h (union_defs): Adjust prototype.
1505
1506 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1507
1508         PR debug/42630
1509         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
1510         uses in new incoming argument.  Free body.
1511         (reset_debug_uses_in_loop): New.
1512         (analyze_insn_to_expand_var): Call the latter if the former found
1513         anything.  Fix whitespace.  Reject invalid dest overlaps before
1514         going through all insns in the loop.
1515
1516 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1517
1518         PR debug/42629
1519         * haifa-sched.c (dying_use_p): Debug insns don't count.
1520
1521 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1522
1523         PR middle-end/42363
1524         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
1525         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
1526         (verify_gimple_call): Reject LHS in noreturn calls.
1527
1528 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1529
1530         PR debug/42604
1531         PR debug/42395
1532         * tree-vect-loop-manip.c (adjust_info): New type.
1533         (adjust_vec): New pointer to vector.
1534         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
1535         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
1536         (slpeel_update_phis_for_duplicate_loop): Use them.
1537         (slpeel_update_phi_nodes_for_guard1): Likewise.
1538         (slpeel_update_phi_nodes_for_guard2): Likewise.
1539         (slpeel_tree_peel_loop_to_edge): Likewise.
1540         (vect_update_ivs_after_vectorizer): Likewise.
1541
1542 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1543
1544         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
1545         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
1546
1547 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1548
1549         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
1550         bogus uninitialized warning.
1551
1552 2010-01-09  Richard Guenther  <rguenther@suse.de>
1553
1554         PR middle-end/42512
1555         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
1556         the evolution is compatible with the initial condition.
1557
1558 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
1559
1560         * gcc.c (process_command): Update copyright notice dates.
1561         * gcov.c (print_version): Likewise.
1562         * gcov-dump.c (print_version): Likewise.
1563         * mips-tfile.c (main): Likewise.
1564         * mips-tdump.c (main): Likewise.
1565
1566 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
1567
1568         PR target/41885
1569         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
1570         (rotlhi3): Delete.
1571         (rotlhi3_8): Delete.
1572         (rotlsi3): Delete.
1573         (rotlsi3_8): Delete.
1574         (rotlsi3_16): Delete.
1575         (rotlsi3_24): Delete.
1576         (rotl<mode>3): New.
1577         (*rotw<mode>3): New.
1578         (*rotb<mode>3): New.
1579         * config/avr/avr.c (avr_rotate_bytes): New function.
1580         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
1581
1582 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
1583
1584         PR target/37454
1585         * configure.ac: Modify -rdynamic check.
1586         * configure: Regenerate.
1587
1588 2010-01-08  DJ Delorie  <dj@redhat.com>
1589
1590         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
1591         register popping order.
1592
1593 2010-01-08  Richard Guenther  <rguenther@suse.de>
1594
1595         PR lto/42528
1596         * c.opt (fsigned-char): Also let LTO handle this option.
1597         (funsigned-char): Likewise.
1598
1599 2010-01-07  Richard Guenther  <rguenther@suse.de>
1600
1601         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
1602         (gimple_op): Likewise.
1603         (gimple_op_ptr): Likewise.
1604         (gimple_assign_set_lhs): Remove gcc_assert.
1605         (gimple_assign_set_rhs1): Likewise.
1606         (gimple_assign_set_rhs2): Likewise.
1607         (gimple_call_set_lhs): Likewise.
1608         (gimple_call_set_fn): Likewise.
1609         (gimple_call_set_fndecl): Likewise.
1610         (gimple_call_fndecl): Likewise.
1611         (gimple_call_return_type): Likewise.
1612         (gimple_call_set_chain): Likewise.
1613         (gimple_call_num_args): Likewise.
1614         (gimple_call_set_arg): Likewise.
1615         (gimple_cond_set_code): Likewise.
1616         (gimple_cond_set_lhs): Likewise.
1617         (gimple_cond_set_rhs): Likewise.
1618         (gimple_cond_set_true_label): Likewise.
1619         (gimple_cond_set_false_label): Likewise.
1620         (gimple_label_set_label): Likewise.
1621         (gimple_goto_set_dest): Likewise.
1622         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
1623         (gimple_debug_bind_get_value): Likewise.
1624         (gimple_debug_bind_get_value_ptr): Likewise.
1625         (gimple_debug_bind_set_var): Likewise.
1626         (gimple_debug_bind_set_value): Likewise.
1627         (gimple_debug_bind_reset_value): Likewise.
1628         (gimple_debug_bind_has_value_p): Likewise.
1629         (gimple_return_retval_ptr): Remove gcc_assert.
1630         (gimple_return_retval): Likewise.
1631         (gimple_return_set_retval): Likewise.
1632         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
1633         (safe_referenced_var_iterator): Remove.
1634         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
1635         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
1636         (fill_referenced_var_vec): Remove.
1637         (first_readonly_imm_use): Remove redundant gcc_assert.
1638         (phi_arg_index_from_use): Combine gcc_asserts.
1639         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
1640         (first_imm_use_stmt): Remove redundant gcc_assert.
1641         * tree-cfg.c (verify_gimple_call): Verify function and chain
1642         operands.  Verify arguments.
1643         (verify_types_in_gimple_stmt): Verify condition code and labels.
1644
1645 2010-01-07  Richard Guenther  <rguenther@suse.de>
1646
1647         PR tree-optimization/42641
1648         * sese.c (rename_map_elt_info): Use the SSA name version, do
1649         not hash pointers.
1650
1651 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
1652
1653         PR tree-optimization/42625
1654         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
1655         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body
1656         aliases.
1657
1658 2010-01-07  Duncan Sands  <baldrick@free.fr>
1659
1660         * Makefile.in (PLUGIN_HEADERS): Add version.h.
1661
1662 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
1663
1664         PR target/42511
1665         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
1666         note itself is not function_invariant_p.
1667
1668 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
1669
1670         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
1671         Do not add the DF_NOTE problem.
1672         * store-motion.c (execute_rtl_store_motion): Likewise.
1673
1674 2010-01-07  Martin Jambor  <mjambor@suse.cz>
1675
1676         PR tree-optimization/42157
1677         * tree-sra.c (compare_access_positions): Stabilize sort if both
1678         accesses have integer types, return zero immediately if they are the
1679         same.
1680
1681 2010-01-06  Richard Henderson  <rth@redhat.com>
1682
1683         PR middle-end/41883
1684         * haifa-sched.c (add_to_note_list): Merge into ...
1685         (concat_note_lists): ... here, and ...
1686         (unlink_other_notes, rm_other_notes): Merge into...
1687         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
1688         NOTE_INSN_EPILOGUE_BEG.
1689
1690 2010-01-06  Richard Guenther  <rguenther@suse.de>
1691
1692         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
1693         not inline regular functions into always-inline functions.
1694
1695 2010-01-06  Nick Clifton  <nickc@redhat.com>
1696
1697         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
1698         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
1699         used together.
1700         (OVERRIDE_OPTIONS): Delete.
1701         (OPTIMIZATION_OPTIONS): Define.
1702         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
1703         * config/rx/rx.c (rx_handle_option): Issue an error message if
1704         -mcpu=rx200 and -fpu are used together.
1705         (rx_set_optimization_options): New function.  Issue an error
1706         message if an optimization attribute attempts to reset the FPU/
1707         math optimization pairing.
1708         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
1709         * config/rx/rx.opt: Set the default to 32-bit doubles.
1710         * config/rx/t-rx: Add multilibs for -nofpu option.
1711         * doc/invoke.texi: Update documentation of RX options.
1712
1713 2010-01-06  Richard Guenther  <rguenther@suse.de>
1714
1715         * tree-ssa-pre.c (name_to_id): New global.
1716         (alloc_expression_id): Simplify SSA name handling.
1717         (lookup_expression_id): Likewise.
1718         (init_pre): Zero name_to_id.
1719         (fini_pre): Free it.
1720
1721 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
1722
1723         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
1724
1725 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
1726
1727         PR target/42542
1728         * config/i386/sse.md (smaxv2di3): New.
1729         (umaxv2di3): Likewise.
1730         (sminv2di3): Likewise.
1731         (uminv2di3): Likewise.
1732
1733 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
1734
1735         PR target/42564
1736         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
1737         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
1738         (legitimize_tls_address): Likewise.
1739         (sparc_tls_referenced_p): Likewise.
1740         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
1741         and adjust calls to legitimize_pic_address.
1742         (legitimate_constant_p) Use sparc_tls_referenced_p.
1743         (legitimate_pic_operand_p): Likewise.
1744         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
1745         (sparc_tls_symbol_ref_1): Delete.
1746         (sparc_tls_referenced_p): Make static, recognize specific patterns.
1747         (legitimize_tls_address): Make static, handle CONST patterns.
1748         (legitimize_pic_address): Make static, remove unused parameter and
1749         adjust recursive calls.
1750         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
1751         and adjust call to legitimize_pic_address.
1752         (sparc_output_mi_thunk): Likewise.
1753
1754 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
1755             H.J. Lu  <hongjiu.lu@intel.com>
1756
1757         PR target/42542
1758         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
1759         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
1760         operands to make them signed.
1761
1762         Revert:
1763         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
1764
1765         PR target/42542
1766         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
1767         GTU to GT for V4SI and V2DI.
1768
1769         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
1770         (umin<mode>3): Removed.
1771         (uminv8hi3): New.
1772         (uminv4si3): Likewise.
1773
1774 2010-01-05  Martin Jambor  <mjambor@suse.cz>
1775
1776         PR tree-optimization/42462
1777         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
1778         current_function_decl to helper functions and macros.
1779
1780 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1781
1782         PR bootstrap/41771
1783         * flags.h: Don't include real.h.
1784         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
1785         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
1786         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
1787         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
1788         * dominance.c: Update copyright.
1789         * gimple.c (walk_gimple_op): Remove inline.
1790         * tree-ssa-reassoc.c: Include real.h.
1791         * Makefile.in (FLAGS_H): Remove $(REAL_H).
1792         (tree-ssa-reassoc.o): Depend on $(REAL_H).
1793
1794 2010-01-05  Nick Clifton  <nickc@redhat.com>
1795
1796         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
1797         register to push into the stack frame when the accumulator has to
1798         be saved during interrupts.
1799
1800 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
1801
1802         * doc/invoke.texi: Remove the documentation about option
1803         -Wunreachable-code.
1804         * common.opt (Wunreachable-code):  Preserved for backward
1805         compatibility.
1806         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
1807         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
1808         the backward compatibility flag section.
1809
1810 2010-01-05  Richard Guenther  <rguenther@suse.de>
1811
1812         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
1813
1814 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
1815
1816         PR other/42611
1817         * cfgexpand.c (expand_one_var): Diagnose too large variables.
1818
1819         PR tree-optimization/42508
1820         * tree-sra.c (convert_callers): Check for recursive call
1821         by comparing cgraph nodes instead of decls.
1822         (modify_function): Call ipa_modify_formal_parameters also
1823         on all same_body aliases.
1824
1825         * cgraphunit.c (cgraph_materialize_all_clones): Compare
1826         cgraph nodes when checking for same_body aliases.
1827
1828 2010-01-05  Richard Guenther  <rguenther@suse.de>
1829
1830         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
1831         allocation and lookup.
1832         (get_or_alloc_expr_for_constant): Likewise.
1833         (phi_translate): Sink allocation.
1834
1835 2010-01-04  Richard Guenther  <rguenther@suse.de>
1836
1837         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
1838         a new entry only if needed.
1839         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
1840         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
1841         hashtable lookup.
1842         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
1843         the result array.
1844         (phi_translate): Handle CONSTANTs early.
1845
1846 2010-01-04  Martin Jambor  <mjambor@suse.cz>
1847
1848         PR tree-optimization/42398
1849         * tree-sra.c (struct access): Removed flag grp_different_types.
1850         (dump_access): Do not dump the removed flag.
1851         (sort_and_splice_var_accesses): Do not set the removed flag.
1852         (sra_modify_expr): Check for type compatibility directly.
1853
1854 2010-01-04  Martin Jambor  <mjambor@suse.cz>
1855
1856         PR tree-optimization/42366
1857         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
1858         edges with variable number of parameters.
1859         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
1860         flag instead of asserting it.
1861         (ipa_read_node_info): Read uses_analysis_done flag.
1862
1863 2010-01-04  Richard Guenther  <rguenther@suse.de>
1864
1865         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
1866         iterative_hash_* as intended.
1867         (vn_reference_compute_hash): Likewise.  Simplify hashing
1868         SSA names.
1869         (vn_reference_lookup_2): Likewise.
1870         (vn_nary_op_compute_hash): Likewise.
1871         (vn_phi_compute_hash): Likewise.
1872         (expressions_equal_p): Remove strange code.
1873         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
1874         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
1875         (bitmap_insert_into_set_1): Take value-id as parameter.
1876         (add_to_value): Pass it.
1877         (bitmap_insert_into_set): Likewise.
1878         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
1879
1880 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
1881
1882         PR driver/42442
1883         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
1884         (do_self_spec): For switches with SWITCH_IGNORE set set also
1885         SWITCH_IGNORE_PERMANENTLY.
1886         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
1887         of SWITCH_IGNORE.
1888
1889 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
1890
1891         * lto-streamer-out.c (output_unreferenced_globals): Output the full
1892         tree of an unreferenced global var.
1893
1894 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
1895
1896         PR target/42542
1897         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
1898         GTU to GT for V4SI and V2DI.
1899
1900         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
1901         (umin<mode>3): Removed.
1902         (uminv8hi3): New.
1903         (uminv4si3): Likewise.
1904
1905 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
1906
1907         PR lto/42581
1908         * collect2.c (main): Turn on trace in collect2 if -v is passed
1909         to gcc with LTO.
1910
1911 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
1912
1913         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
1914         description of expression operand.
1915
1916 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
1917
1918         * configure.ac: Add install-html to target_list for Make-hooks.
1919         * configure: Regenerate.
1920         * fortran/Make-lang.in (F95_HTMLFILES): New.
1921         (fortran.html): Use it.
1922         (fortran.install-html): New.
1923         * Makefile.in (install-html): Add lang.install-html.
1924         * java/Make-lang.in (JAVA_HTMLFILES): New.
1925         (java.html): Use it.
1926         (java.install-html): New.
1927         * objc/Make-lang.in (objc.install-html): New.
1928         * objcp/Make-lang.in (obj-c++.install-html): New.
1929         * cp/Make-lang.in (c++.install-html): New.
1930         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
1931         * lto/Make-lang.in (lto.install-html): New.
1932
1933 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
1934
1935         PR lto/42520
1936         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
1937
1938 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
1939
1940         PR rtl-optimization/41862
1941         * store-motion.c (store_killed_in_insn, compute_store_table,
1942         remove_reachable_equiv_notes, replace_store_insn,
1943         build_store_vectors): Ignore all DEBUG_INSNs.
1944
1945 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
1946
1947         PR lto/41564
1948         * common.opt: Add dumpdir.
1949
1950         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
1951         isn't specified.
1952         (option_map): Add --dumpdir.
1953
1954         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
1955
1956         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
1957
1958         * opts.c (decode_options): Try dump_dir_name first if
1959         dump_base_name isn't an absolute path.
1960         (common_handle_option): Handle OPT_dumpdir.
1961
1962         * toplev.c (dump_dir_name): New.
1963         (print_switch_values): Also ignore -dumpdir.
1964
1965         * toplev.h (dump_dir_name): New.
1966
1967 2010-01-03  Richard Guenther  <rguenther@suse.de>
1968
1969         PR tree-optimization/42589
1970         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
1971         double-word expansion of bswap32.
1972
1973 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
1974
1975         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
1976         with BLOCK_FOR_INSN.
1977         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
1978         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
1979         noce_process_if_block): Likewise.
1980         * gcse.c (compute_local_properties, insert_expr_in_table,
1981         insert_set_in_table, canon_list_insert, find_avail_set,
1982         pre_insert_copy_insn): Likewise.
1983
1984         * basic-block.h (BLOCK_NUM): Move from here...
1985         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
1986
1987 2010-01-03  Richard Guenther  <rguenther@suse.de>
1988
1989         PR tree-optimization/42438
1990         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
1991         contains_may_not_return_call flag.
1992         (BB_MAY_NOTRETURN): New.
1993         (valid_in_sets): Trapping nary operations are not valid
1994         in blocks that may not return.
1995         (insert_into_preds_of_block): Remove check for trapping
1996         expressions.
1997         (compute_avail): Compute also BB_MAY_NOTRETURN.
1998
1999 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
2000
2001         * doc/invoke.texi: Add 2010 to copyright years.
2002
2003 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
2004
2005         * config/sparc/sparc.c: Fix formatting nits.
2006
2007 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
2008             Alexander Monakov  <amonakov@ispras.ru>
2009
2010         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
2011
2012 2010-01-02  Richard Guenther  <rguenther@suse.de>
2013
2014         PR middle-end/42577
2015         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
2016         (simplify_switch_using_ranges): Mark to be removed edges
2017         as non-executable.
2018
2019 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2020
2021         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
2022
2023         * collect2.c (scan_libraries): Add missing argument in call to
2024         scan_prog_file.
2025
2026 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
2027
2028         PR target/42448
2029         * config/alpha/predicates.md (aligned_memory_operand): Return false
2030         for CQImode.
2031         (unaligned_memory_operand): Return true for CQImode.
2032         * config/alpha/alpha.c (get_aligned_mem): Assert that location
2033         doesn not cross aligned SImode word boundary.
2034
2035 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
2036
2037         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
2038         Remove.
2039         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
2040         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
2041
2042 2010-01-02  Richard Guenther  <rguenther@suse.de>
2043
2044         PR lto/41597
2045         * toplev.c (compile_file): Emit LTO marker properly.  Change
2046         it to __gnu_lto_v1.
2047         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
2048
2049 2010-01-01  Richard Guenther  <rguenther@suse.de>
2050
2051         PR debug/42455
2052         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
2053
2054 2010-01-01  Richard Guenther  <rguenther@suse.de>
2055
2056         PR c/42570
2057         * c-decl.c (grokdeclarator): For zero-size arrays force
2058         structural equality checks as layout_type does.
2059
2060 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
2061
2062         * builtins.c: Update copyright to 2010.
2063
2064 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
2065
2066         PR lto/42531
2067         * lto-streamer-out.c (produce_asm): Revert the last change.
2068         (copy_function): Likewise.
2069
2070         * lto-streamer.c (lto_get_section_name): Skip any leading
2071         asterisk in name.
2072
2073 2010-01-01  Richard Guenther  <rguenther@suse.de>
2074
2075         PR middle-end/42559
2076         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
2077         for LABEL_DECLs.
2078
2079 \f
2080 Copyright (C) 2010 Free Software Foundation, Inc.
2081
2082 Copying and distribution of this file, with or without modification,
2083 are permitted in any medium without royalty provided the copyright
2084 notice and this notice are preserved.