OSDN Git Service

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