OSDN Git Service

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