OSDN Git Service

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