OSDN Git Service

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