OSDN Git Service

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