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