OSDN Git Service

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