OSDN Git Service

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