OSDN Git Service

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