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