OSDN Git Service

6515701fed3de8fa0844f9eb114f2a59d5595a76
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-03-31  Richard Guenther  <rguenther@suse.de>
2
3         PR middle-end/43600
4         * cgraphunit.c (cgraph_output_in_order): Do not allocate
5         temporary data on stack.
6
7 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8
9         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
10         (PUSHSECTION_ASM_OP): Remove.
11         (POPSECTION_ASM_OP): Remove.
12         (PUSHSECTION_FORMAT): Remove.
13         * config/sol2.h (PUSHSECTION_FORMAT): Define.
14         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
15         * config/sol2.c (solaris_output_init_fini): Use it.
16
17 2010-03-31  Jie Zhang  <jie@codesourcery.com>
18
19         PR 43574
20         * opt-functions.awk (var_type_struct): Use signed char type
21         for simple variables.
22
23 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
24
25         * config/sol2.c: Include output.h.
26         (solaris_assemble_visibility): New function.
27         * config/t-sol2 (sol2.o): Add output.h dependency.
28         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
29         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
30         Redefine.
31
32 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
33
34         PR target/43580
35         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
36         V2SImode or XFmode on PRE_DEC.
37
38         PR debug/43557
39         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
40         BLKmode.
41
42 2010-03-31  Jie Zhang  <jie@codesourcery.com>
43
44         PR 43562
45         * reload.h (caller_save_initialized_p): Declare.
46         * toplev.c (backend_init_target): Don't call
47         init_caller_save but set caller_save_initialized_p
48         to false.
49         * caller-save.c (caller_save_initialized_p): Define.
50         (init_caller_save): Check caller_save_initialized_p.
51         * ira.c (ira): Call init_caller_save if flag_caller_saves.
52
53 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
54
55         PR target/39048
56         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
57         and soft-fp/t-softfp to tmake_file.
58         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
59         (LIBGCC2_TF_CEXT): Define.
60         (TF_SIZE): Define.
61
62 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
63
64         PR debug/42977
65         * cselib.c (n_useless_values): Document handling of debug locs.
66         (n_useless_debug_values, n_debug_values): New variables.
67         (new_elt_loc_list): Don't add to debug values, keep count.
68         (promote_debug_loc): New.
69         (cselib_reset_table): Zero new variables.
70         (entry_and_rtx_equal_p): Promote debug locs.
71         (discard_useless_locs): Increment n_useless_debug_values for
72         debug values.
73         (remove_useless_values): Adjust n_useless_values and n_debug_values
74         with n_useless_debug_values.
75         (add_mem_for_addr): Promote debug locs.
76         (cselib_lookup_mem): Likewise.
77         (cselib_lookup_addr): Renamed to...
78         (cselib_lookup_addr_1): ... this.  Promote debug locs.
79         Don't call...
80         (cselib_log_lookup): ... this.  Turn into...
81         (cselib_lookup_addr): ... new wrapper.
82         (cselib_lookup_from_insn): New.
83         (cselib_invalidate_regno): Increment n_useless_debug_values for
84         debug values.
85         (cselib_invalidate_mem): Likewise.
86         (cselib_process_insn): Take n_deleted and n_debug_values into
87         account to guard remove_useless_value call.
88         (cselib_finish): Zero n_useless_debug_values.
89         * cselib.h (cselib_lookup_from_insn): Declare.
90         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
91         (sched_analyze_2): Likewise.
92
93 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
94
95         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
96         functions.
97         (adjust_mems): Replace narrowing SUBREG of expression containing
98         just PLUS, MINUS, MULT and ASHIFT of registers and constants
99         with operations in the narrower mode.
100
101         PR debug/43593
102         * var-tracking.c (dataflow_set_clear_at_call): Invalidate
103         just regs_invalidated_by_call instead all call_used_reg_set
104         registers.
105
106 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
107
108         PR middle-end/43430
109         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
110         pointer comparisons with types_compatible_p.
111         * tree-vect-stmts.c (vectorizable_call): Same.
112         (vectorizable_condition): Same.
113
114 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
115
116         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
117         stack check if the mask would be zero.
118
119 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
120             Jack Howarth <howarth@bromo.med.uc.edu>
121
122         * tree-profile.c (tree_init_ic_make_global_vars): Make static
123         variables TLS.
124
125 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
126
127         PR other/25232
128         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
129         and __unordtf2.
130         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
131         Include ___unordxf2 and ___unordtf2.
132         * config/i386/libgcc-glibc.ver: Do not define inheritance from
133         GCC_4.4.0 here.
134
135 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
136
137         * config/lm32/t-lm32: New file.
138         * config.gcc: Use the above file when targetting lm32.
139
140 2010-03-28  Duncan Sands  <baldrick@free.fr>
141
142        * Makefile.in (PLUGIN_HEADERS): Add except.h.
143
144 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
145
146         PR middle-end/43431
147         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
148         Improve vectorization cost model diagnostic.
149
150 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
151
152         PR middle-end/43436
153         * tree-vect-data-refs.c (vect_analyze_data_refs): When
154         compute_data_dependences_for_loop returns false, early exit
155         and output an extra diagnostic for the failed data reference
156         analysis.
157
158 2010-03-29  Richard Guenther  <rguenther@suse.de>
159
160         PR tree-optimization/43560
161         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p
162         parameter.
163         (can_sm_ref_p): Treat stores to readonly locations as
164         trapping.
165
166 2010-03-29  Jie Zhang  <jie@codesourcery.com>
167
168         PR 43564
169         * toplev.c (process_options): Set optimization_default_node
170         and optimization_current_node.
171         * opts.c (decode_options): Don't set optimization_default_node
172         and optimization_current_node.
173
174 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
175
176         * config/rtems.h: Abandon -qrtems_debug.
177
178 2010-03-28  Jan Hubicka  <jh@suse.cz>
179
180         PR tree-optimization/43505
181         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
182         map should not be copied.
183
184 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
185
186         PR middle-end/41674
187         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
188         cdtors, set DECL_PRESERVE_P.
189         * ipa.c (cgraph_externally_visible_p): Return true if declaration
190         should be preseved.
191
192 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
193
194         PR tree-optimization/43528
195         * stor-layout.c (place_field): Check that constant fits into
196         unsigned HWI when skipping calculation of MS bitfield layout.
197
198 2010-03-27  Jan Hubicka  <jh@suse.cz>
199
200         PR middle-end/43391
201         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
202         notice_global_symbol work.
203
204 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
205
206         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
207         instead of dwarf2out_decl.
208         (struct var_loc_node): Remove section_label field.
209         (dwarf2out_function_decl): New function.
210         (dwarf2out_var_location): Don't set section_label field.
211         (dwarf2out_begin_function): Don't empty decl_loc_table here.
212
213 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
214
215         PR tree-optimization/43544
216         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
217         First argument for builtin vectorized function hook is now a
218         tree to be able to distinguish between machine specific and
219         standard builtins.
220         * targhooks.c (default_builtin_vectorized_function): Ditto.
221         * targhooks.h (default_builtin_vectorized_function): Ditto.
222         * target.h (struct gcc_target): Ditto.
223         * tree-vect-stmts.c (vectorizable_function): Ditto.
224         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
225         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
226         Ditto.
227
228 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
229
230         PR c/43381
231         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
232         nested binding iff it is a FUNCTION_DECL.
233         (store_parm_decls_newstyle): Pass nested=true to bind for
234         FUNCTION_DECLs amongst parameters.
235
236 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
237
238         * var-tracking.c (vt_expand_loc_callback): Don't run
239         cselib_expand_value_rtx_cb in dummy mode if
240         cselib_dummy_expand_value_rtx_cb returned false.
241
242         * var-tracking.c (emit_note_insn_var_location): For one part
243         notes with offset 0, don't add EXPR_LIST around the location.
244         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
245         add_location_or_const_value_attribute): Adjust for that change.
246
247         PR debug/43540
248         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
249         into first operand and location into second.
250         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
251         dw_cfi_oprnd_loc for DW_CFA_expression.
252         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
253         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
254         assume first argument is regnum and second argument is location.
255
256 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
257
258         PR target/42113
259         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
260         of scratch register to DImode.  Split to DImode comparison operator.
261         Use SImode subreg of scratch register in the multiplication.
262         (*cmp_sadd_sidi): Ditto.
263         (*cmp_ssub_si): Ditto.
264         (*cmp_ssub_sidi): Ditto.
265
266 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
267
268         PR target/43524
269         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
270         Remove invalid assert and wrong comment.
271
272 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
273
274         PR debug/43516
275         * flags.h (final_insns_dump_p): New extern.
276         * final.c (final_insns_dump_p): New variable.
277         (rest_of_clean_state): Set it before -fdump-final-insns=
278         dumping, clear afterwards.
279         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
280         MEM_ALIAS_SET on MEMs.
281
282 2010-03-26  David S. Miller  <davem@davemloft.net>
283
284         * configure.ac: Fix sparc GOTDATA_OP bug check.
285         * configure: Rebuild.
286
287 2010-03-26  Alan Modra  <amodra@gmail.com>
288
289         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
290
291 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
292
293         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
294         TLS_SECTION_ASM_FLAG.
295
296 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
297
298         PR bootstrap/43511
299         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
300         Clear first_function_block_is_cold.
301
302         PR c/43385
303         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
304         argument if the argument is truth_value_p.
305
306 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
307
308         * config/rs6000/constraints.md: Update copyright year for my changes.
309
310         PR target/43484
311         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
312         used in reg+reg addressing, swap registers.
313
314 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
315
316         PR debug/43293
317         * target.h (struct gcc_target): Add code_end hook.
318         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
319         if not yet defined.
320         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
321         * toplev.c (compile_file): Call targetm.asm_out.code_end
322         hook before unwind info/debug info output.
323         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
324         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
325         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
326         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
327         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
328         * config/i386/i386.c (ix86_file_end): Renamed to...
329         (ix86_code_end): ... this.  Make static.  Don't call
330         file_end_indicate_exec_stack.  Emit unwind info using
331         final_start_function/final_end_function.
332         (darwin_x86_file_end): Remove.
333         (TARGET_ASM_CODE_END): Define.
334         * config/i386/i386.h (TARGET_ASM_FILE_END,
335         NEED_INDICATE_EXEC_STACK): Don't define.
336         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
337         (TARGET_ASM_FILE_END): Define to darwin_file_end.
338         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
339         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
340
341         PR target/43498
342         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
343         at the beginning and final_end_function at the end.
344         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
345
346 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
347
348         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
349         and Sun as TLS syntax.
350         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
351         * configure: Regenerate.
352         * config.in: Regenerate.
353         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
354         (default_elf_asm_named_section): Use it.
355         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
356         (i386_output_dwarf_dtprel): Likewise.
357         (output_addr_const_extra): Likewise.
358         (output_pic_addr_const): Lowercase @GOTTPOFF.
359         (output_addr_const_extra): Likewise.
360         (output_pic_addr_const): Lowercase @GOTNTPOFF.
361         (output_addr_const_extra): Likewise.
362         (output_pic_addr_const): Lowercase @INDNTPOFF.
363         (output_addr_const_extra): Likewise.
364         (output_pic_addr_const): Lowercase @NTPOFF.
365         (output_addr_const_extra): Likewise.
366         (output_pic_addr_const): Lowercase @TPOFF.
367         (output_addr_const_extra): Likewise.
368         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
369         (*tls_global_dynamic_64): Likewise.
370         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
371         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
372
373         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
374         (ASM_OUTPUT_TLS_COMMON): Use it.
375         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
376
377         PR target/38118
378         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
379         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
380         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
381         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
382         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
383         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
384
385 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
386
387         * config/i386/i386.c (override_options): Don't accept
388         -mtls-dialect=sun any longer.
389         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
390         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
391         (*tls_local_dynamic_base_32_sun): Likewise.
392         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
393
394 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
395
396         PR debug/43508
397         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
398         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
399
400         PR debug/43479
401         * ira.c (adjust_cleared_regs): New function.
402         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
403
404         PR debug/19192
405         PR debug/43479
406         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
407         from gimple_block.
408         * expr.c (expand_expr_real): Restore previous
409         curr_insn_source_location and curr_insn_block after
410         expand_expr_real_1 call.
411         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
412         instead of expand_expr_real_1.
413
414 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
415
416         PR rtl-optimization/43413
417         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
418         hard regs too.
419
420 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
421
422         PR target/43348
423         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
424         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
425
426 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
427
428         * config/i386/i386.c (ix86_target_string): Add -mfma.
429         Fix a typo in comment.
430
431 2010-03-22  Mike Stump  <mikestump@comcast.net>
432
433         PR target/23071
434         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
435         Don't overly align based upon packed packed fields.
436
437 2010-03-22  Jason Merrill  <jason@redhat.com>
438
439         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
440         Use () rather than [], and move before the element type.
441
442 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
443
444         * doc/configfiles.texi (Configuration Files): Removed
445         fixinc/Makefile*, intl/Makefile.*.
446         * doc/makefile.texi: Fixed markup. Abstract from version
447         control system used.
448         (Makefile): Removed obsolete gcc/java/parse.y example.
449         * doc/sourcebuild.texi: Likewise.
450         (Top Level): Added config, gnattools, libdecnumber, libgcc,
451         libgomp, libssp.  Removed fastjar.
452         (Miscellaneous Docs): Clarify location.
453         Added COPYING3, COPYING3.LIB.
454         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
455
456 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
457
458         PR target/38085
459         * config/i386/i386.c (x86_function_profiler)
460         [!NO_PROFILE_COUNTERS]: Fix typo.
461         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
462         instead of callq.
463
464 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
465             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
466
467         * doc/sourcebuild.texi (Test Directives): Split into six
468         subsections, with most of the current text in new subsections
469         Directives, Selectors, and Final Actions.
470         (Directives): Split list of test directives into multiple
471         subsubsections.
472         (Selectors): Describe use and syntax of selectors.
473         (Effective-Target Keywords): Describe all existing keywords.
474         (Add Options): Describe features for dg-add-options.
475         (Require Support): Describe variants of dg-require-support.
476         (Final Actions): Describe commands to use in dg-final.
477
478 2010-03-22  Michael Matz  <matz@suse.de>
479
480         PR middle-end/43475
481         * recog.c (validate_replace_rtx_group): Replace also in
482         REG_EQUAL and REG_EQUIV notes.
483
484 2010-03-22  Richard Guenther  <rguenther@suse.de>
485
486         PR tree-optimization/43390
487         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
488         sure vector extracts are type correct.
489
490 2010-03-22  Richard Guenther  <rguenther@suse.de>
491
492         PR middle-end/40106
493         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
494         x * sqrt (x) even when optimizing for size if the target
495         has native support for sqrt.
496
497 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
498
499         * varasm.c (make_decl_rtl_for_debug): Also clear
500         flag_mudflap for the duration of make_decl_rtl call.
501
502         PR debug/43443
503         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
504         locs from preserved VALUEs.
505
506 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
507
508         PR middle-end/42718
509         * pa.md (movmemsi): Set align to one if zero.
510         (movmemdi): Likewise.
511
512 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
513
514         PR target/42321
515         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
516         with their corresponding prologue pushes.
517
518 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
519
520         PR target/43156
521         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
522         at the begining or end.
523         (spu_expand_epilogue): Likewise.
524
525 2010-03-20  Richard Guenther  <rguenther@suse.de>
526
527         PR rtl-optimization/43438
528         * combine.c (make_extraction): Properly zero-/sign-extend an
529         extraction of the low part of a CONST_INT.  Also handle
530         CONST_DOUBLE.
531
532 2010-03-19  Mike Stump  <mikestump@comcast.net>
533
534         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
535         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
536         (override_options): Use SUBTARGET32_DEFAULT_CPU.
537
538 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
539
540         PR c/43211
541         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
542         an error.
543
544 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
545
546         PR rtl-optimization/42258
547         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
548         use that may match DEF.
549
550         PR target/40697
551         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
552         the cost of loading the constant rather than assuming
553         COSTS_N_INSNS (1).
554         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
555         outer code is AND, do the same tests as the andsi3 expander and
556         return COSTS_N_INSNS (1) if and is cheap.
557
558         * optabs.c (avoid_expensive_constant): Fix formatting.
559
560 2010-03-19  Michael Matz  <matz@suse.de>
561
562         PR c++/43116
563         * attribs.c (decl_attributes): When rebuilding a function pointer
564         type use the same qualifiers as the original pointer type.
565
566 2010-03-19  Martin Jambor  <mjambor@suse.cz>
567
568         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
569         and is_gimple_ip_invariant_address.
570
571 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
572
573         Revert
574         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
575
576         * config/arm/arm.c (arm_override_options): Turn off
577         flag_dwarf2_cfi_asm for AAPCS variants.
578
579 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
580
581         PR target/43399
582         * config/arm/arm.c (emit_multi_reg_push): Update comments.
583         Use PRE_MODIFY instead of PRE_DEC.
584         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
585         (vfp_emit_fstmd): Likewise.
586
587 2010-03-19  Michael Matz  <matz@suse.de>
588
589         PR target/43305
590         * builtins.c (expand_builtin_interclass_mathfn,
591         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
592         if that fails.
593
594 2010-03-19  Richard Guenther  <rguenther@suse.de>
595
596         PR tree-optimization/43415
597         * tree-ssa-pre.c (phi_translate): Split out worker to ...
598         (phi_translate_1): ... this.
599         (phi_translate): Move all caching here.  Cache all NARY
600         and REFERENCE translations.
601
602 2010-03-19  David S. Miller  <davem@davemloft.net>
603
604         With help from Eric Botcazou.
605         * config/sparc/sparc.c: Include dwarf2out.h.
606         (emit_pic_helper): Delete.
607         (pic_helper_symbol_name): Delete.
608         (pic_helper_emitted_p): Delete.
609         (pic_helper_needed): New.
610         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
611         (get_pc_thunk_name): New.
612         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
613         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
614         Set pic_helper_needed to true.  Don't call emit_pic_helper.
615         (sparc_expand_prologue): Update load_pic_register call.
616         (sparc_output_mi_thunk): Likewise.
617         (sparc_file_end): Emit a hidden comdat symbol for the PIC
618         thunk if possible.  Output CFI information as needed.
619
620 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
621             Jack Howarth <howarth@bromo.med.uc.edu>
622
623         PR target/36399
624         * config/i386/i386.h: Fix ABI on darwin x86-32.
625
626 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
627
628         * tree.h: Declare make_decl_rtl_for_debug.
629         * varasm.c (make_decl_rtl_for_debug): New.
630         * dwarf2out.c (rtl_for_decl_location): Call it.
631         * cfgexpand.c (expand_debug_expr): Call it.
632
633 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
634
635         PR bootstrap/43399
636         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
637         mem_mode.
638
639         PR bootstrap/43403
640         * var-tracking.c (vt_init_cfa_base): Do nothing if
641         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
642
643 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
644
645         PR debug/42873
646         * var-tracking.c (canonicalize_vars_star): New.
647         (dataflow_post_merge_adjust): Use it.
648
649 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
650
651         PR debug/43058
652         * var-tracking.c (non_suitable_const): New function.
653         (add_uses): For DEBUG_INSNs with constants, don't record any
654         value, instead just the constant value itself.
655         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
656         is not VAR_LOC_UNKNOWN_P, set var to the constant.
657         (emit_notes_in_bb): Likewise.
658         (emit_note_insn_var_location): For onepart variables if
659         cur_loc is a VOIDmode constant, use DECL_MODE.
660
661 2010-03-18  Martin Jambor  <mjambor@suse.cz>
662
663         PR middle-end/42450
664         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
665         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
666         all non-clones.  Moved call redirection...
667         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
668         (cgraph_materialize_all_clones): Dispose of all
669         combined_args_to_skip bitmaps.
670         (verify_cgraph_node): Do not check for edges pointing to wrong
671         nodes in inline clones.
672         * tree-inline.c (copy_bb): Call
673         cgraph_redirect_edge_call_stmt_to_callee.
674         * ipa.c (cgraph_remove_unreachable_nodes): Call
675         cgraph_node_remove_callees even when there are used clones.
676
677 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
678
679         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
680
681 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
682
683         PR target/43383
684         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
685         for 32bit.
686
687 2010-03-18  Michael Matz  <matz@suse.de>
688
689         PR middle-end/43419
690         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
691         into sqrt(x) if we need to preserve signed zeros.
692
693 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
694             Eric Botcazou  <ebotcazou@adacore.com>
695
696         PR rtl-optimization/43360
697         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
698         note if we don't know its invariant status.
699
700 2010-03-18  Michael Matz  <matz@suse.de>
701
702         PR tree-optimization/43402
703         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
704         PHI chains of ssa names registered for update.
705
706 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
707
708         PR target/42427
709         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
710         non-offsettable and pre_modify update addressing.
711         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
712         and "2" alternatives "#".
713         (*movdd_softfloat32): Make all alternatives "#";
714         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
715         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
716         (*movdf_softfloat32): Make all alternatives "#";
717         (movdi): Use the new DIFD mode iterator to create a common splitter
718         for movdi, movdf and movdd patterns.
719
720 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
721
722         * common.opt (dumpdir): Remove redundant tab.
723
724 2010-03-17  Martin Jambor  <mjambor@suse.cz>
725
726         PR tree-optimization/43347
727         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
728         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
729
730 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
731
732         PR rtl-optimization/42216
733         * regrename.c (create_new_chain): New function, broken out from...
734         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
735         appending a use to an empty chain.
736         (build_def_use): Remove previous changes that convert OP_INOUT to
737         OP_OUT operands; instead detect the case where an OP_INOUT operand
738         uses a previously untracked register and create an empty chain for it.
739
740 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
741
742         * doc/extend.texi (Function Attributes): Rewrite unfinished
743         sentence in ms_abi documentation.
744
745 2010-03-17  Alan Modra  <amodra@gmail.com>
746
747         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
748         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
749         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
750         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
751
752 2010-03-16  Richard Henderson  <rth@redhat.com>
753
754         PR middle-end/43365
755         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
756         (lower_try_finally): Save and restore eh_seq around the expansion
757         of the try-finally.
758
759 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
760
761         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
762         statements before splitting block.
763
764 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
765
766         * doc/sourcebuild.texi (Testsuites): Fix markup.
767         Use pathnames relative to gcc/testsuite.
768         (Test Directives): Move description of how timeout is determined.
769         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
770         (C Tests): Correct gcc.misc-tests directory.
771         Framework tests now live in gcc.test-framework.
772
773 2010-03-16  Richard Guenther  <rguenther@suse.de>
774
775         PR middle-end/43379
776         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
777         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
778
779 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
780             Alexandre Oliva  <aoliva@redhat.com>
781
782         PR tree-optimization/42917
783         * lambda-code.c (remove_iv): Skip debug statements.
784         (lambda_loopnest_to_gcc_loopnest): Likewise.
785         (not_interesting_stmt): Debug statements are not interesting.
786
787 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
788
789         PR debug/43051
790         PR debug/43092
791         * cselib.c (cselib_preserve_constants,
792         cfa_base_preserved_val): New static variables.
793         (preserve_only_constants): New function.
794         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
795         clear its REG_VALUES.  If cselib_preserve_constants, don't
796         empty the whole hash table, but preserve there VALUEs with constants,
797         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
798         (cselib_preserve_cfa_base_value): New function.
799         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
800         (cselib_init): Change argument to int bitfield.  Set
801         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
802         is in it.
803         (cselib_finish): Clear cselib_preserve_constants and
804         cfa_base_preserved_val.
805         * cselib.h (enum cselib_record_what): New enum.
806         (cselib_init): Change argument to int.
807         (cselib_preserve_cfa_base_value): New prototype.
808         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
809         * dse.c (dse_step1): Likewise.
810         * cfgcleanup.c (thread_jump): Likewise.
811         * sched-deps.c (sched_analyze): Likewise.
812         * gcse.c (local_cprop_pass): Likewise.
813         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
814         If FN is non-NULL, call the callback always and whenever it returns
815         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
816         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
817         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
818         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
819         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
820         * var-tracking.c: Include recog.h.
821         (bb_stack_adjust_offset): Remove.
822         (vt_stack_adjustments): Don't call it, instead just gather the
823         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
824         (adjust_stack_reference): Remove.
825         (compute_cfa_pointer): New function.
826         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
827         (struct adjust_mem_data): New type.
828         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
829         functions.
830         (get_address_mode): New function.
831         (replace_expr_with_values): Use it.
832         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
833         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
834         (adjust_sets): Remove.
835         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
836         Use get_address_mode.
837         (get_adjusted_src): Remove.
838         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
839         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
840         (add_with_sets): Don't call adjust_sets.
841         (fp_setter, vt_init_cfa_base): New functions.
842         (vt_initialize): Change return type to bool.  Move most of pool etc.
843         initialization to the beginning of the function from end.  Pass
844         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
845         If !frame_pointer_needed, call vt_stack_adjustment before mos
846         vector is filled, call vt_init_cfa_base if argp/framep has been
847         eliminated to sp.  If frame_pointer_needed and argp/framep has
848         been eliminated to hard frame pointer, set
849         hard_frame_pointer_adjustment and call vt_init_cfa_base after
850         encountering fp setter in the prologue.  For MO_ADJUST, call
851         log_op_type before pusing the op into mos vector, not afterwards.
852         Call adjust_insn before cselib_process_insn/add_with_sets,
853         call cancel_changes (0) afterwards.
854         (variable_tracking_main_1): Adjust for vt_initialize calling
855         vt_stack_adjustments and returning whether it succeeded or not.
856
857 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
858
859         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
860         debug statements.
861
862 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
863
864         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
865         has been set.
866         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
867         drap_reg has not been set.
868
869 2010-03-15  Michael Matz  <matz@suse.de>
870
871         PR middle-end/43300
872         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
873         use it to expand block copies.
874         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
875         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
876         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
877
878 2010-03-15  Richard Guenther  <rguenther@suse.de>
879
880         PR tree-optimization/43367
881         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
882         elimination check.
883
884 2010-03-15  Richard Guenther  <rguenther@suse.de>
885
886         PR tree-optimization/43317
887         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
888
889 2010-03-15  Martin Jambor  <mjambor@suse.cz>
890
891         PR tree-optimization/43141
892         * tree-sra.c (create_abstract_origin): New function.
893         (modify_function): Call create_abstract_origin.
894
895 2010-03-15  Chris Demetriou  <cgd@google.com>
896
897         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
898         wasn't copied.
899
900 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
901
902         PR middle-end/43354
903         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
904         call insert_out_of_ssa_copy for default definitions.
905
906 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
907
908         * graphite-clast-to-gimple.c (my_long_long): Defined.
909         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
910         * graphite-sese-to-poly.c (my_long_long): Defined.
911         (scop_ivs_can_be_represented): Use it.
912
913 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
914
915         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
916         graphite-max-bbs-per-function, and loop-block-tile-size.
917         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
918         with "maximum".
919         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
920
921 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
922
923         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
924         forward declaration.
925         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
926         (add_upper_bounds_from_estimated_nit): New.
927         (build_loop_iteration_domains): Use it.
928
929 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
930
931         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
932
933 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
934
935         PR middle-end/43306
936         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
937         should be an INTEGER_CST.  Also handle CASE_CONVERT.
938
939 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
940
941         * graphite.c (graphite_initialize): To bound the number of bbs per
942         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
943         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
944         * doc/invoke.texi: Document it.
945
946 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
947
948         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
949         * graphite-sese-to-poly.h (build_poly_scop): Same.
950
951 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
952
953         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
954         the number of parameters in the scop.  Use as an upper bound
955         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
956         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
957         * doc/invoke.texi: Document it.
958
959 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
960
961         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
962         * doc/c-tree.texi: Remove.
963         * doc/generic.texi: Merge c-tree.texi here.
964         * doc/gccint.texi (Trees): Remove menu entry.
965         (c-tree.texi): Remove @include.
966         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
967         * doc/languages.texi (Reading RTL): Ditto.
968
969 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
970
971         PR target/42869
972         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
973
974 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
975
976         PR middle-end/42431
977         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
978         code added to work around reload clobbering CONST insns.
979
980 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
981
982         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
983         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
984         (cselib_preserve_only_values): Remove retain argument, don't
985         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
986         * cselib.h (cselib_preserve_only_values): Remove retain argument.
987         * var-tracking.c (micro_operation): Move insn field before union.
988         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
989         (struct variable_tracking_info_def): Remove n_mos field, change
990         mos into a vector of micro_operations.
991         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
992         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
993         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
994         changing into a vector.
995         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
996         come before all other uops generated by add_stores.
997         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
998         argument removal.
999         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
1000         a vector.  Run just one pass over the bbs instead of separate counting
1001         and computation phase.
1002         (vt_finalize): Free VTI (bb)->mos vector instead of array.
1003
1004         PR debug/43329
1005         * tree-inline.c (remap_decls): Put old_var rather than origin_var
1006         into *nonlocalized_list vector.
1007         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
1008         even if origin is non-NULL.
1009         (gen_variable_die): Likewise.
1010         (process_scope_var): Don't change origin.
1011         (gen_decl_die): Likewise.
1012         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
1013         before adding new edges instead of after it, fix moving over
1014         debug stmts.
1015
1016 2010-03-11  David S. Miller  <davem@davemloft.net>
1017
1018         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
1019         of four.
1020         * configure: Rebuild.
1021
1022 2010-03-11  Martin Jambor  <mjambor@suse.cz>
1023
1024         PR tree-optimization/43257
1025         * tree.c (assign_assembler_name_if_neeeded): New function.
1026         (free_lang_data_in_cgraph): Assembler name assignment moved to the
1027         above new function.
1028         * tree.h (assign_assembler_name_if_neeeded): Declare.
1029         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
1030         the function if needed.
1031
1032 2010-03-11  Chris Demetriou  <cgd@google.com>
1033
1034         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
1035         include/stdint-gcc.h, and include/stdint.h world-readable.
1036
1037 2010-03-11  Richard Guenther  <rguenther@suse.de>
1038
1039         PR tree-optimization/43255
1040         * tree-vrp.c (process_assert_insertions_for): Do not insert
1041         asserts for trivial conditions.
1042
1043 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1044
1045         PR tree-optimization/43280
1046         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
1047         generation.  Move calculation of size out of the if branch.
1048         (find_bswap): Modify compare number generation.
1049
1050 2010-03-11  Richard Guenther  <rguenther@suse.de>
1051
1052         PR lto/43200
1053         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
1054         (input_gimple_stmt): Fixup handled component types during
1055         operand read.  Also fix up decls in ADDR_EXPRs.
1056
1057 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
1058
1059         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
1060         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
1061
1062 2010-03-10  Jan Hubicka  <jh@suse.cz>
1063
1064         PR c/43288
1065         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
1066         * varasm.c (get_variable_section): Don't do that here...
1067         (make_decl_rtl): ... and here.
1068         (do_assemble_alias): Produce decl RTL.
1069         (assemble_alias): Likewise.
1070
1071 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
1072
1073         PR debug/43290
1074         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
1075         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
1076         of fde->vdrap_reg.
1077         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
1078         (based_loc_descr): Only express drap or vdrap regno based expressions
1079         using DW_OP_fbreg when not optimizing.
1080         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
1081         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
1082         REG_CFA_SET_VDRAP note.
1083
1084 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
1085
1086         PR tree-optimization/43236
1087         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
1088         error in calculation of base address in reverse iteration case.
1089         (generate_builtin): Take number of latch executions if the statement
1090         is in the latch.
1091
1092 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
1093
1094         PR middle-end/42859
1095         * tree-eh.c: Include pointer-set.h.
1096         (lower_eh_dispatch): Filter out duplicate case labels and
1097         remove the unneeded edge when the label is unused.  Return
1098         true when some edges are removed.
1099         (execute_lower_eh_dispatch): When any lowering resulted in
1100         removing an edge, also delete unreachable blocks.
1101
1102 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
1103
1104         PR bootstrap/43287
1105         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
1106         UNSPEC_MACHOPIC_OFFSET.
1107
1108 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
1109
1110         PR target/43294
1111         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
1112         (m68k_delegitimize_address): New function.
1113
1114 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
1115
1116         PR debug/43299
1117         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
1118
1119         PR debug/43299
1120         * var-tracking.c (adjust_sets): New function.
1121         (count_with_sets, add_with_sets): Use it.
1122         (get_adjusted_src): New inline function.
1123         (add_stores): Use it.
1124
1125         PR debug/43304
1126         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
1127         call cselib_dummy_expand_value_rtx_cb instead of
1128         cselib_expand_value_rtx_cb.
1129
1130         PR debug/43293
1131         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
1132         * config/i386/i386.c: Include debug.h and dwarf2out.h.
1133         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
1134         and .cfi_endproc around the pic thunks.
1135         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
1136         all queued unwind info register saves are saved before the call.
1137         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
1138         considered as sp-=4 for unwind info and the pop as sp+=4 which
1139         also clobbers dest, but doesn't actually restore it.
1140
1141         PR debug/43290
1142         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
1143         RTX_FRAME_RELATED_P.
1144
1145 2010-03-09  Jie Zhang  <jie@codesourcery.com>
1146
1147         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
1148         whitespaces in output template.
1149
1150 2010-03-09  Jie Zhang  <jie@codesourcery.com>
1151
1152         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
1153         out array boundary.
1154
1155 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
1156
1157         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
1158         builtins.exp in a separate job.
1159
1160 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1161
1162         * graphite-sese-to-poly.c (add_param_constraints): Use
1163         lower_bound_in_type and upper_bound_in_type.
1164
1165 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1166
1167         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
1168         instead of unsigned_type_node.
1169
1170 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1171             Reza Yazdani  <reza.yazdani@amd.com>
1172
1173         PR middle-end/43065
1174         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
1175         on pointer type parameters.
1176
1177 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1178
1179         PR middle-end/42644
1180         PR middle-end/42130
1181         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
1182         handle conversions from pointer to integers.
1183         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
1184         induction variable, to be able to work with code generated by CLooG.
1185         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
1186         (build_poly_scop): Bail out if we cannot codegen a loop.
1187
1188 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1189
1190         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
1191         code generation with gloog_error.
1192
1193 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1194
1195         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
1196         Call fold_convert on all the returned values.
1197         (expand_scalar_variables_expr): Pass to
1198         expand_scalar_variables_ssa_name the type of the resulting expression.
1199
1200 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1201
1202         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
1203         ppl_min_for_le_pointset.
1204         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
1205         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
1206
1207 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1208
1209         * graphite-dependences.c (map_into_dep_poly): Removed.
1210         (dependence_polyhedron_1): Use combine_context_id_scat.
1211
1212 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1213
1214         * graphite-poly.h (struct poly_scattering): Add layout documentation.
1215         (struct poly_bb): Same.
1216         (combine_context_id_scat): New.
1217
1218 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1219
1220         PR middle-end/42326
1221         * sese.c (name_defined_in_loop_p): Return false for default
1222         definitions.
1223
1224 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1225
1226         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
1227         and clean up the logic.
1228
1229 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1230
1231         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
1232         early return.
1233
1234 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
1235
1236         * var-tracking.c (remove_cselib_value_chains): Define only for
1237         ENABLE_CHECKING.
1238         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
1239         delete_slot_part, emit_notes_for_differences_1): Don't call
1240         remove_cselib_value_chains here.
1241         (set_slot_part, emit_notes_for_differences_2): Don't call
1242         add_cselib_value_chains here.
1243         (preserved_values): New vector.
1244         (preserve_value): New function.
1245         (add_uses, add_stores, vt_add_function_parameters): Use it
1246         instead of cselib_preserve_value.
1247         (changed_values_stack): New vector.
1248         (check_changed_vars_0): New function.
1249         (check_changed_vars_1, check_changed_vars_2): Use it.
1250         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
1251         changed_values_stack VALUEs.
1252         (vt_emit_notes): For all preserved_values call
1253         add_cselib_value_chains.  If ENABLE_CHECKING call
1254         remove_cselib_value_chains before verifying value_chains is empty.
1255         Initialize and free changed_values_stack.
1256         (vt_initialize): Initialize preserved_values.
1257         (vt_finalize): Free preserved_values.
1258
1259 2010-03-08  Richard Guenther  <rguenther@suse.de>
1260
1261         PR tree-optimization/43269
1262         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
1263         region detection.
1264
1265 2010-03-08  Martin Jambor  <mjambor@suse.cz>
1266
1267         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
1268         (ipa_is_param_called): Removed.
1269         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
1270         (ipa_print_node_params): Do not print the called flag.
1271         (ipa_write_node_info): Do not stream the called flag.
1272         (ipa_read_node_info): Likewise.
1273
1274 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
1275
1276         PR debug/43176
1277         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
1278         * cselib.c (struct expand_value_data): Add dummy field.
1279         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
1280         dummy to false.
1281         (cselib_dummy_expand_value_rtx_cb): New function.
1282         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
1283         any rtl.
1284         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
1285         * var-tracking.c: Include pointer-set.h.
1286         (variable): Change n_var_parts to char from int.  Add
1287         cur_loc_changed and in_changed_variables fields.
1288         (variable_canonicalize): Remove.
1289         (shared_var_p): New inline function.
1290         (unshare_variable): Maintain cur_loc_changed and
1291         in_changed_variables fields.  If var was in changed_variables,
1292         replace it there with new_var.  Just copy cur_loc instead of
1293         resetting it to something else.
1294         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
1295         (dataflow_set_union): Don't call variable_canonicalize.
1296         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
1297         of their DEBUG_EXPR_TREE_DECLs.
1298         (canonicalize_loc_order_check): Verify that cur_loc is NULL
1299         and in_changed_variables and cur_loc_changed is false.
1300         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
1301         and cur_loc_changed.  Don't update cur_loc here.
1302         (variable_merge_over_src): Don't call variable_canonicalize.
1303         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
1304         removing loc that is equal to cur_loc, clear cur_loc,
1305         set cur_loc_changed and ensure variable_was_changed is called.
1306         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
1307         compare pointers in cur_loc check, if it is equal to loc,
1308         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
1309         (variable_different_p): Remove compare_current_location argument,
1310         don't compare cur_loc.
1311         (dataflow_set_different_1): Adjust variable_different_p caller.
1312         (variable_was_changed): If dv had some var in changed_variables
1313         already, reset in_changed_variables flag for it and propagate
1314         cur_loc_changed over to the new variable.  On empty var
1315         always set cur_loc_changed.  Set in_changed_variables on whatever
1316         var is added to changed_variables.
1317         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
1318         Use shared_var_p.  When removing loc that is equal to cur_loc,
1319         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
1320         end, don't set it to something else, just call variable_was_changed.
1321         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
1322         loc being removed, clear cur_loc and set cur_loc_changed.
1323         Set cur_loc_changed if all locations have been removed.
1324         (struct expand_loc_callback_data): New type.
1325         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
1326         allocated.  Always create SUBREGs if simplify_subreg failed.
1327         Prefer to use cur_loc, when that fails and still in
1328         changed_variables (and seen first time) recompute it.  Set
1329         cur_loc_changed of variables which had to change cur_loc and
1330         compute elcd->cur_loc_changed if any of the subexpressions used
1331         had to change cur_loc.
1332         (vt_expand_loc): Adjust to pass arguments in
1333         expand_loc_callback_data structure.
1334         (vt_expand_loc_dummy): New function.
1335         (emitted_notes): New variable.
1336         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
1337         that weren't used for any other decl in current
1338         emit_notes_for_changes call call vt_expand_loc_dummy to update
1339         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
1340         first loc_chain location if NULL before.  Always use just
1341         cur_loc instead of first loc_chain location.  When cur_loc_changed
1342         is false, when not --enable-checking=rtl just don't emit any note.
1343         When rtl checking, compute the note and assert it is the same
1344         as previous note.  Clear cur_loc_changed and in_changed_variables
1345         at the end before removing from changed_variables.
1346         (check_changed_vars_3): New function.
1347         (emit_notes_for_changes): Traverse changed_vars to call
1348         check_changed_vars_3 on each changed var.
1349         (emit_notes_for_differences_1): Clear cur_loc_changed and
1350         in_changed_variables.  Recompute cur_loc of new_var.
1351         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
1352         (vt_emit_notes): Initialize and destroy emitted_notes.
1353
1354 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
1355
1356         PR rtl-optimization/42220
1357         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
1358         Use verify_reg_tracked to determine if we should use OP_OUT rather
1359         than OP_INOUT.
1360         (build_def_use): If we see an in-out operand for a register that we
1361         know nothing about, treat is an output if possible, fail the block if
1362         not.
1363
1364 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
1365
1366         PR debug/42897
1367         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
1368         permanently.
1369
1370 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
1371
1372         PR debug/42897
1373         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
1374         uses of relevant DEFs that are dead outside the loop too.
1375
1376 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
1377
1378         * var-tracking.c (dataflow_set_merge): Swap src and src2.
1379         Reverted:
1380         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
1381         PR debug/41371
1382         * var-tracking.c (values_to_unmark): New variable.
1383         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
1384         values_to_unmark vector.  Moved body to...
1385         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
1386         instead queue it into values_to_unmark vector.
1387         (vt_find_locations): Free values_to_unmark vector.
1388
1389 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
1390
1391         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
1392         (site.exp): Export them when plugins are enabled.
1393
1394 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
1395
1396         PR middle-end/42326
1397         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
1398         that contain scevs.
1399         (chrec_fold_multiply): Same.
1400
1401 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
1402
1403         PR c/43248
1404         * c-decl.c (build_compound_literal): Return early if init is
1405         an error_mark_node.
1406
1407 2010-03-04  Martin Jambor  <mjambor@suse.cz>
1408
1409         PR tree-optimization/43164
1410         PR tree-optimization/43191
1411         * tree-sra.c (type_consists_of_records_p): Reject records with
1412         zero-size bit-fields at the end.
1413
1414 2010-03-04  Mike Stump  <mikestump@comcast.net>
1415
1416         * Makefile.in (TAGS): Remove *.y.
1417
1418 2010-03-04  Richard Guenther  <rguenther@suse.de>
1419
1420         PR tree-optimization/40761
1421         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
1422         in reverse order.
1423         (my_rev_post_order_compute): New function.
1424         (init_pre): Call it.
1425
1426 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
1427
1428         PR middle-end/43209
1429         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
1430         decrease the cost of an IV candidate when the cost is infinite.
1431
1432 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1433
1434         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
1435         Use '3DNow!' for the extension of that name, ensure normal space
1436         after the string.
1437         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
1438
1439 2010-03-03  Jeff Law  <law@redhat.com>
1440
1441         * PR middle-end/32693
1442         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
1443         than gen_rtx_SUBREG.
1444         (extract_bit_field_1): Likewise.
1445
1446 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
1447
1448         * doc/sourcebuild.texi (Test directives): Document that arguments
1449         include-opts and exclude-opts are now optional for dg-skip-if,
1450         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
1451
1452 2010-03-03  Jason Merrill  <jason@redhat.com>
1453
1454         PR c++/12909
1455         * cgraph.h (varpool_node): Add extra_name field.
1456         * varpool.c (varpool_extra_name_alias): New.
1457         (varpool_assemble_decl): Emit extra name aliases.
1458         (varpool_mark_needed_node): Look past an extra name alias.
1459         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
1460         * lto-streamer-in.c (lto_input_tree): Read it.
1461         * lto-streamer-out.c (output_unreferenced_globals): Write it.
1462
1463 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
1464
1465         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
1466         (sparc*-*-solaris2*): ...this.
1467
1468 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
1469
1470         PR debug/43229
1471         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
1472         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
1473         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
1474         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
1475
1476         PR debug/43237
1477         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
1478         fallthrough to default handling, just with want_address 0 instead of 2.
1479         For single element lists, add_AT_loc directly, otherwise create an
1480         artificial variable DIE and stick location list to it.
1481
1482         PR debug/43177
1483         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
1484         (VAL_EXPR_HAS_REVERSE): Define.
1485         (reverse_op): New function.
1486         (add_stores): For reversible operations add an extra MO_VAL_USE.
1487
1488 2010-03-02  Jason Merrill  <jason@redhat.com>
1489
1490         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
1491
1492 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1493
1494         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
1495         (sparc64-*-linux*): Likewise.
1496         (sparc64-*-solaris2*): Include assembler files before linker ones.
1497         (sparc-*-solaris2*): Simplify and reorder to match previous case.
1498         * config/sparc/gas.h: Delete.
1499         * config/sparc/sol2-64.h: Add copyright notice.
1500         * config/sparc/sol2-gas-bi.h: Likewise.
1501         * config/sparc/sol2-gld.h: Likewise.
1502         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
1503         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
1504         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
1505         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
1506         (sparc_elf_asm_named_section): Rename into...
1507         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
1508
1509 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
1510
1511         * config/alpha/alpha.c (override_options): Fix -mtune error message.
1512
1513 2010-03-02  Jeff Law  <law@redhat.com>
1514
1515         PR middle-end/42431
1516         * reload1.c (rtx_p, substitute_stack): Declare.
1517         (substitute): Record addresses of changed rtxs.
1518         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
1519         Restore the original rtx when complete.
1520         (reload): Free subsitute_stack when complete.
1521
1522 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
1523
1524         * doc/gccint.texi (menu): Add Testsuites as a chapter.
1525         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
1526         new chapter.
1527         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
1528         LTO Testing, gcov Testing, profopt Testing, compat Testing,
1529         Torture Tests): Change from subsection to section.
1530
1531 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
1532             Steven Bosscher  <steven@gcc.gnu.org>
1533
1534         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
1535         instead of bb.
1536
1537 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
1538
1539         PR middle-end/42640
1540         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
1541         the assignment from the new induction variable to the assignment
1542         of the value from the original loop PHI function.
1543
1544 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
1545             Daniel Jacobowitz  <dan@codesourcery.com>
1546
1547         * doc/sourcebuild.texi (Test directives): Clarify options to
1548         dg-skip-if.
1549
1550 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1551
1552         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
1553         Disable cfi directives unless GCC and gas agree on using read-only
1554         .eh_frame sections for 64-bit.
1555         * configure: Regenerate.
1556
1557 2010-03-01  Richard Guenther  <rguenther@suse.de>
1558
1559         PR tree-optimization/43220
1560         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
1561         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
1562
1563 2010-03-01  Richard Guenther  <rguenther@suse.de>
1564             Martin Jambor  <mjambor@suse.cz>
1565
1566         PR middle-end/41250
1567         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
1568         gimplified parameters.
1569
1570 2010-03-01  Christian Bruel  <christian.bruel@st.com>
1571
1572         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
1573
1574 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
1575
1576         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
1577
1578 2010-03-01  Richard Guenther  <rguenther@suse.de>
1579
1580         PR middle-end/43213
1581         * expr.c (expand_assignment): Use the alias-oracle to tell
1582         if the rhs aliases the result decl.
1583
1584 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1585
1586         PR pch/14940
1587         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
1588         to sol_gt_pch_get_address.
1589         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
1590         64-bit, SPARC and x86.
1591         (sol_gt_pch_get_address): New function.
1592
1593 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
1594
1595         * toplev.h (inform_n, error_n): Declare.
1596         * diagnostic.c (inform_n, error_n): New function.
1597
1598 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
1599
1600         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
1601         has no rtl yet when processing local_decls, queue it and recheck
1602         if deferred stack allocation hasn't assigned it rtl.
1603
1604 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
1605
1606         * config/sh/sh.c (unspec_bbr_uid): New.
1607         (gen_block_redirect): Use it instead of INSN_UID.
1608         (gen_far_branch): Likewise.
1609
1610 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
1611
1612         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
1613         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
1614
1615 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1616
1617         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
1618         (Warning Options): -Wno-conversion-null is valid for
1619         Objective-C++ as well.
1620         * doc/tm.texi (Named Address Spaces): Likewise.
1621         * doc/plugins.texi (Plugins): Replace TABs with spaces.
1622         * doc/tree-ssa.texi (Tree SSA): Likewise.
1623
1624 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1625
1626         PR bootstrap/43202
1627         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
1628         by default.  Don't set the default arch for
1629         i[34567]86-*-darwin*|x86_64-*-darwin*.
1630
1631 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1632
1633         PR bootstrap/43202
1634         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
1635         default.  Set the default 32bit/64bit archs with $with_arch
1636         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
1637
1638 2010-02-27  Richard Guenther  <rguenther@suse.de>
1639
1640         PR tree-optimization/43186
1641         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
1642         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
1643         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
1644         unroller iterations.
1645
1646 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1647
1648         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
1649         required and i[34567]86-*-* targets don't support 64bit ISA.
1650
1651 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
1652
1653         PR ada/43096
1654         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
1655         the same alias set.
1656
1657 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1658
1659         * config.gcc: Set the default arch at least to Prescott for
1660         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
1661         if SSE math is enabled.
1662
1663 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1664
1665         * diagnostic.c (diagnostic_initialize): Update.
1666         (diagnostic_report_diagnostic): Test inhibit_notes_p for
1667         informative notes.
1668         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
1669         (diagnostic_inhibit_notes): New.
1670         * toplev.c (process_options): inhibit notes with -fcompare-debug.
1671
1672 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1673
1674         PR c/20631
1675         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
1676         * doc/standards.texi: Likewise.
1677         * doc/extend.texi: Likewise.
1678         * doc/trouble.texi: Likewise.
1679         * doc/cppopts.texi: Likewise.
1680         * doc/install.texi: Likewise.
1681         * c.opt (std=c90,std=gnu90): New options.
1682         * c-opts.c (c_common_handle_option): Handle them.
1683
1684 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1685
1686         PR c/24577
1687         * c-decl.c (undeclared_variable): Use an informative note.
1688
1689 2010-02-26  Richard Guenther  <rguenther@suse.de>
1690
1691         PR tree-optimization/43186
1692         * gimple.h (gimple_fold): Remove.
1693         * gimple.c (gimple_fold): Remove.  Inline into single user ...
1694         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
1695         Try harder for conditions.
1696
1697 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
1698
1699         PR debug/43190
1700         * function.c (used_types_insert): Don't skip through named pointer
1701         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
1702         and it is different from the main variant's type.
1703
1704 2010-02-26  Nick Clifton  <nickc@redhat.com>
1705
1706         * config/rx/rx.md (sminsi3): Remove bogus alternative.
1707
1708 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1709
1710         * config.gcc: Support --with-fpmath=sse for x86.
1711
1712         * config/i386/ssemath.h: New.
1713
1714         * doc/install.texi (--with-fpmath=sse): Documented.
1715
1716 2010-02-26  Richard Guenther  <rguenther@suse.de>
1717
1718         PR tree-optimization/43188
1719         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
1720         vector types of over-aligned element type.
1721
1722 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
1723
1724         PR target/43175
1725         * config/i386/i386.c (expand_vec_perm_blend): Use correct
1726         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
1727
1728 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
1729
1730         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
1731
1732 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
1733
1734         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
1735         * var-tracking.c: Include diagnostic.h.
1736         (debug_dv): New function.
1737         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
1738
1739         PR debug/43160
1740         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
1741         (add_value_chain, add_value_chains, remove_value_chain,
1742         remove_value_chains): Handle DEBUG_EXPRs.
1743         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
1744
1745         PR debug/43161
1746         * regcprop.c (struct queued_debug_insn_change): New type.
1747         (struct value_data_entry): Add debug_insn_changes field.
1748         (struct value_data): Add n_debug_insn_changes field.
1749         (debug_insn_changes_pool): New variable.
1750         (free_debug_insn_changes, apply_debug_insn_changes,
1751         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
1752         (kill_value_one_regno): Call free_debug_insn_changes if needed.
1753         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
1754         fields.
1755         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
1756         changes for them.
1757         (copyprop_hardreg_forward_1): Don't call apply_change_group for
1758         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
1759         changes, call cprop_find_used_regs via note_stores.
1760         (copyprop_hardreg_forward): When copying vd from predecessor
1761         which has any queued DEBUG_INSN changes, make sure the pointers are
1762         cleared.  At the end call df_analyze and then if there are any
1763         DEBUG_INSN changes queued at the end of some basic block for still
1764         live registers, apply them.
1765         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
1766
1767 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
1768
1769         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
1770         (arm*-*-*): Ditto.
1771
1772 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
1773
1774         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
1775         targets.  Set the default with_cpu/with_arch from arch/cpu.
1776         Allow x86-64 and native for with_cpu/with_arch.
1777
1778 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
1779
1780         * ebitmap.c: Change calls to verify_popcount with calls to
1781         sbitmap_verify_popcount.
1782         (ebitmap_clear_bit): Fixed map->cacheindex test and
1783         map>cache update when bit clearing results in an empty
1784         element.
1785
1786 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
1787
1788         PR target/43154
1789         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
1790         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
1791         and support both V2DF and V2DI modes.
1792         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
1793         support both V2DF and V2DI modes.
1794         (general): Delete trailing whitespace from a few patterns.
1795
1796         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1797         V2DF/V2DI interleave high/low builtins.
1798
1799         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
1800         new VSX builtins.
1801
1802         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
1803         interleave high/low functions.
1804
1805 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
1806
1807         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
1808         #pragma extern_prefix.
1809
1810 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
1811
1812         PR debug/43166
1813         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
1814         BLKmode, assert op0 is a MEM and just adjust its mode.
1815
1816         PR debug/43165
1817         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
1818         if bitpos isn't multiple of mode's bitsize.
1819
1820 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1821
1822         * c.opt (-ftemplate-depth=): New.
1823         (-ftemplate-depth-): Deprecate.
1824         * optc-gen.awk: Handle -ftemplate-depth=.
1825         * opth-gen.awk: Likewise.
1826         * c-opts.c (c_common_handle_option): Likewise.
1827         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
1828
1829 2010-02-24  Jason Merrill  <jason@redhat.com>
1830
1831         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
1832
1833 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1834
1835         * cfg.c (alloc_aux_for_block): Remove inline.
1836         (alloc_aux_for_edge): Likewise.
1837
1838 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1839
1840         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
1841
1842 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1843
1844         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
1845         * config/i386/sol2-gas.h: New file.
1846         * config.gcc (i[34567]86-*-solaris2*): Use it.
1847
1848 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1849
1850         PR c/43128
1851         * c-typeck.c (ep_convert_and_check): New.
1852         (build_conditional_expr): Use it.
1853         (build_binary_op): Likewise.
1854
1855 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
1856
1857         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
1858
1859         PR debug/43150
1860         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
1861         bounds even for -O+.
1862         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
1863         expr needs to have DECL_NAME set.
1864
1865 2010-02-24  Nick Clifton  <nickc@redhat.com>
1866
1867         * config/mep/mep.c: Include gimple.h.
1868         (mep_function_uses_sp): Delete unused function.
1869         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
1870         parameters.  Use unsigned integers to count args.  Return a
1871         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
1872
1873 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
1874
1875         PR target/43107
1876         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
1877         greater or equal to nelt instead of 2 * nelt.
1878         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
1879         with nelt - 1.
1880
1881 2010-02-23  Jason Merrill  <jason@redhat.com>
1882
1883         PR debug/42800
1884         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
1885         in cfun->local_decls even if they have register types.
1886
1887         PR c++/42837
1888         * stor-layout.c (place_field): Don't warn about unnecessary
1889         DECL_PACKED if the type is packed.
1890
1891 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
1892
1893         PR target/43139
1894         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
1895         GOTOFF relocs, even when the base reg isn't pic pointer.
1896
1897 2010-02-23  Michael Matz  <matz@suse.de>
1898
1899         PR debug/43077
1900         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
1901         (expand_gimple_basic_block): Generate and use debug temps if there
1902         are debug uses left after the last real use of TERed ssa names.
1903         Unlink debug immediate uses when they are expanded.
1904
1905 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1906
1907         PR 43123
1908         * config/i386/i386.c (override_options): Reorganise to provide
1909         better error messages.
1910
1911 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1912
1913         PR middle-end/43083
1914         * graphite-scop-detection.c (create_single_exit_edge): Move
1915         the call to find_single_exit_edge to....
1916         (create_sese_edges): ...here.  Don't handle multiple edges
1917         exiting the function.
1918         (build_graphite_scops): Don't handle multiple edges
1919         exiting the function.
1920
1921 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1922
1923         PR middle-end/43097
1924         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
1925         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
1926
1927 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1928
1929         PR middle-end/43026
1930         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
1931
1932 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1933
1934         PR c++/43126
1935         * c-typeck.c (convert_arguments): Print declaration location.
1936         * c-common.c (validate_nargs): Rename as
1937         builtin_function_validate_nargs.
1938         (check_builtin_function_arguments): Update.
1939
1940 2010-02-22  Richard Guenther  <rguenther@suse.de>
1941
1942         PR lto/43045
1943         * tree-inline.c (declare_return_variable): Use the type of
1944         the call stmt lhs if available.
1945
1946 2010-02-22  Duncan Sands  <baldrick@free.fr>
1947
1948         * passes.c (register_pass): Always consider all pass lists when
1949         ref_pass_instance_number is zero.
1950
1951 2010-02-22  Richard Guenther  <rguenther@suse.de>
1952
1953         PR tree-optimization/42749
1954         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
1955         parameter.  Do arithmetic in the original type.
1956         (update_accumulator_with_ops): Likewise.
1957         (adjust_accumulator_values): Adjust.
1958
1959 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1960
1961         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
1962         (QI to BLKmode splitter): New splitter.
1963
1964 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1965
1966         * config/i386/i386.c (initial_ix86_tune_features): Turn on
1967         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
1968
1969 2010-02-22  Richard Guenther  <rguenther@suse.de>
1970
1971         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
1972
1973 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
1974
1975         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
1976         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
1977         ($(T)crti.o, $(T)crtn.o): Remove rules.
1978
1979 2010-02-21  Tobias Burnus  <burnus@net-b.de>
1980
1981         PR fortran/35259
1982         * doc/invoke.texi (-fassociative-math): Document that this
1983         option is automatically enabled for Fortran.
1984
1985 2010-02-20  David S. Miller  <davem@davemloft.net>
1986
1987         * configure.ac: Test if linker and assembler properly support
1988         GOTDATA_OP relocations.
1989         * configure: Rebuild.
1990         * config.in: Likewise.
1991         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
1992         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
1993         (movsi_high_pic): Likewise.
1994         (movdi_lo_sum_pic): Likewise.
1995         (movdi_high_pic): Likewise.
1996         (movsi_pic_gotdata_op): New pattern.
1997         (movdi_pic_gotdata_op): Likewise.
1998         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
1999         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
2000
2001 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
2002
2003         PR target/43067
2004         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
2005         attribute to ssemul.
2006         (xop_mulv2div2di3_high): Ditto.
2007
2008 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2009
2010         PR c++/35669
2011         * c.opt (Wconversion-null): New option.
2012         * doc/invoke.texi (Wconversion-null): Document.
2013
2014 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2015
2016         * common.opt (Wlarger-than-): Add Undocumented.
2017
2018 2010-02-19  Mike Stump  <mikestump@comcast.net>
2019
2020         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
2021
2022 2010-02-19  Jason Merrill  <jason@redhat.com>
2023
2024         PR target/40332
2025         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
2026         * configure: Likewise.
2027
2028 2010-02-20  Alan Modra  <amodra@gmail.com>
2029
2030         PR middle-end/42344
2031         * cgraph.h (cgraph_make_decl_local): Declare.
2032         * cgraph.c (cgraph_make_decl_local): New function.
2033         (cgraph_make_node_local): Use it.
2034         * cgraphunit.c (cgraph_function_versioning): Likewise.
2035         * ipa.c (function_and_variable_visibility): Likewise.
2036
2037 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2038
2039         PR bootstrap/43121
2040         * except.c (sjlj_emit_function_enter): Don't call
2041         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
2042         directly.
2043         * rtl.h (add_reg_br_prob_note): Remove prototype.
2044
2045 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2046
2047         PR 41779
2048         * c-common.c (conversion_warning): Remove widening conversions
2049         before checking the conversion of integers to reals.
2050
2051 2010-02-19  Mike Stump  <mikestump@comcast.net>
2052
2053         PR middle-end/43125
2054         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
2055
2056         PR objc/43061
2057         * cgraphunit.c (process_function_and_variable_attributes): Check
2058         DECL_PRESERVE_P instead of looking up attribute "used".
2059         * ipa-pure-const.c (check_decl): Likewise.
2060         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
2061         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
2062         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
2063         instead of attribute "used".
2064         * config/sol2-c.c (solaris_pragma_init): Likewise.
2065         (solaris_pragma_fini): Likewise.
2066
2067 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2068
2069         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
2070         Use XCNEW instead of xcalloc.
2071         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
2072         XNEW instead of xmalloc.
2073         (get_fields): Use XNEWVEC instead of xmalloc.
2074
2075         PR debug/43084
2076         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
2077         populate vars array.
2078         (create_new_general_access): For debug stmts just reset value.
2079         (get_stmt_accesses): For accesses within debug stmts just record them
2080         using add_access_to_acc_sites instead of preventing the peeling or
2081         counting them as accesses.
2082
2083         PR middle-end/42233
2084         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
2085
2086 2010-02-19  Richard Guenther  <rguenther@suse.de>
2087
2088         PR tree-optimization/42916
2089         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
2090         instructions.
2091
2092 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
2093
2094         * configure.ac: Replace all uses of changequote in macro arguments
2095         with proper quoting.
2096
2097 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2098
2099         PR middle-end/42233
2100         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
2101
2102 2010-02-19  Richard Guenther  <rguenther@suse.de>
2103
2104         PR tree-optimization/42944
2105         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
2106         test for aliasing with errno.
2107
2108 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2109
2110         PR middle-end/42233
2111         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
2112         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
2113         * dojump.c: Include output.h.
2114         (inv): New inline function.
2115         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
2116         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
2117         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
2118         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
2119         argument, pass it down to other calls.
2120         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
2121         add REG_BR_PROB note to the conditional jump.
2122         * cfgexpand.c (add_reg_br_prob_note): Removed.
2123         (expand_gimple_cond): Don't call it, add the probability
2124         as last argument to jumpif_1/jumpifnot_1.
2125         * Makefile.in (dojump.o): Depend on output.h.
2126         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
2127         callers.
2128         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
2129         * stmt.c (do_jump_if_equal): Likewise.
2130         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
2131         * loop-unswitch.c (compare_and_jump_seq): Likewise.
2132         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
2133         Likewise.
2134         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
2135         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
2136         jumpifnot_1 callers.
2137         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
2138         callers.
2139         (store_expr): Adjust jumpifnot caller.
2140         (store_constructor): Adjust jumpif caller.
2141
2142         PR middle-end/42233
2143         * gimplify.c (gimple_boolify): For __builtin_expect call
2144         gimple_boolify also on its first argument.
2145
2146 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
2147
2148         * configure.ac (gnu-unique-object): Wrap regexps using [] in
2149         changequote block.
2150         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
2151         * configure: Regenerated.
2152
2153 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2154
2155         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
2156         lang_hooks.types_compatible_p instead of comptypes.
2157
2158 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
2159
2160         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
2161         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
2162         if __prefer_thumb__ is defined.
2163
2164 2010-02-18  Martin Jambor  <mjambor@suse.cz>
2165
2166         PR tree-optimization/43066
2167         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
2168         array with zero-sized element type.
2169
2170 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
2171
2172         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
2173         rtx, allocate struct var_loc_node here and return it to the
2174         caller, and only if it is actually needed.
2175         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
2176         move it earlier and return immediately if it returns NULL.
2177
2178 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
2179
2180         * config/sparc/gas.h: New file.  Restore
2181         TARGET_ASM_NAMED_SECTION to its ELF default.
2182         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
2183         check !HAVE_GNU_AS.
2184         * config/sparc/sparc.c (sparc_elf_asm_named_section):
2185         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
2186         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
2187         after sparc/sysv4.h.
2188
2189 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
2190
2191         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
2192
2193 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
2194
2195         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
2196         patterns from predicated pattern.
2197
2198 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
2199
2200         PR target/43103
2201         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
2202         for insn mnemonic suffix.
2203
2204 2010-02-17  Richard Guenther  <rguenther@suse.de>
2205
2206         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
2207         to loop PHI nodes.
2208
2209 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
2210
2211         PR debug/42918
2212         * caller-save.c (save_call_clobbered_regs): If BB ends with
2213         a DEBUG_INSN, move any notes in between last real insn and the last
2214         DEBUG_INSN after the last DEBUG_INSN.
2215
2216 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
2217
2218         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
2219         Fix return type.  Fix argument type.  Explain meaning of return value.
2220
2221 2010-02-16  Richard Guenther  <rguenther@suse.de>
2222
2223         PR tree-optimization/41043
2224         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
2225         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
2226         statements ...
2227         (vrp_visit_phi_node): ... but only for loop PHI nodes.
2228
2229 2010-02-16  Ira Rosen <irar@il.ibm.com>
2230
2231         PR tree-optimization/43074
2232         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
2233         * tree-vect-loop.c (vect_analyze_loop_operations): Add
2234         vectorizable cycles in hybrid SLP check.
2235         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
2236
2237 2010-02-16  Richard Guenther  <rguenther@suse.de>
2238
2239         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
2240         (true_dependence): If memrefs_conflict_p computes must-alias
2241         trust it.  Move TBAA check after offset-based disambiguation.
2242         (canon_true_dependence): Likewise.
2243
2244 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
2245
2246         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
2247         * doc/invoke.texi: Document it.
2248         * var-tracking.c: Include toplev.h and params.h.
2249         (vt_find_locations): Return bool indicating success.  Compute
2250         hash sizes unconditionally.  Check new parameter, report.
2251         (variable_tracking_main_1): Check vt_find_locations results and
2252         retry.  Renamed from...
2253         (variable_tracking_main): ... this.  New wrapper to preserve
2254         flag_var_tracking_assignments.
2255         * Makefile.in (var-tracking.o): Adjust dependencies.
2256
2257 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
2258             Jakub Jelinek <jakub@redhat.com>
2259
2260         PR target/42854
2261         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
2262         if weak_import attribute is present.
2263         * config/darwin.c (machopic_select_section): Likewise.
2264
2265 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
2266
2267         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
2268         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
2269         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
2270         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
2271
2272         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
2273
2274         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2275         Fix argument types.
2276
2277         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
2278         Rewrite text to refer to the names.
2279
2280 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
2281
2282         * config/i386/i386-builtin-types.def
2283         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
2284         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
2285         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
2286         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
2287         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
2288         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
2289         IX86_BUILTIN_VPERMIL2PS256.
2290         (MULTI_ARG_4_DF2_DI_I): Defined.
2291         (MULTI_ARG_4_DF2_DI_I1): Defined.
2292         (MULTI_ARG_4_SF2_SI_I): Defined.
2293         (MULTI_ARG_4_SF2_SI_I1): Defined.
2294         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
2295         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
2296         __builtin_ia32_vpermil2ps256.
2297         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2298         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2299         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
2300         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2301         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2302         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
2303         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
2304         CODE_FOR_xop_vpermil2v8sf3.
2305         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
2306         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
2307         * config/i386/xopintrin.h (_mm_permute2_pd): New.
2308         (_mm256_permute2_pd): New.
2309         (_mm_permute2_ps): New.
2310         (_mm256_permute2_ps): New.
2311
2312 2010-02-15  Nick Clifton  <nickc@redhat.com>
2313
2314         * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
2315         boolean parameters.  Use emit_jump_insn when emitting a pop
2316         instruction containing a return insn.
2317         (push): Use 'true' rather than '1' as second parameter to F.
2318         (h8300_expand_prologue): Likewise.
2319         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
2320         (h8300_expand_epilogue): Likewise.
2321
2322 2010-02-15  Richard Guenther  <rguenther@suse.de>
2323
2324         PR middle-end/43068
2325         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
2326         if that is zero.
2327
2328 2010-02-15  Nick Clifton  <nickc@redhat.com>
2329
2330         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
2331         delta.
2332
2333 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
2334
2335         * intl.c (fake_ngettext): New function.
2336         * intl.h (fake_ngettext): Declare.
2337         (ngettext): Define macro.
2338         * collect2.c (notice_translated): New function.
2339         (main): Use notice_translated and ngettext.
2340         * collect2.h (notice_translated): Declare.
2341
2342 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
2343
2344         * reorg.c (delete_computation): Comment fixes.
2345         * caller-save.c (setup_save_areas): Idem.
2346         * sel-sched-dump.c (dump_lv_set): Idem.
2347         * rtl.def: Idem.
2348
2349 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2350
2351         * config/s390/s390.c (s390_sched_init): New function.
2352         (TARGET_SCHED_INIT): Target hook defined.
2353
2354 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
2355             Jack Howarth  <howarth@bromo.med.uc.edu>
2356             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2357
2358         PR target/42982
2359         Partial revert of unintended change in fix for PR41605.
2360         * config/darwin.h: Fix typo.
2361         * config/darwin9.h: Same.
2362
2363 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2364
2365         * c-pch.c (pch_init): Clear v.
2366
2367 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2368
2369         PR middle-end/42930
2370         * graphite-scop-detection.c (graphite_can_represent_scev): Call
2371         graphite_can_represent_init for MULT_EXPR.
2372
2373 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2374
2375         PR middle-end/42914
2376         PR middle-end/42530
2377         * graphite-sese-to-poly.c (remove_phi): New.
2378         (translate_scalar_reduction_to_array): Call remove_phi.
2379
2380 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2381
2382         PR middle-end/42771
2383         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
2384         * graphite-clast-to-gimple.h (gloog): Update declaration.
2385         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
2386         * graphite-poly.h (struct poly_bb): Add missing comments.
2387         (struct scop): Add poly_scop_p field.
2388         (POLY_SCOP_P): New.
2389         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
2390         * graphite.c (graphite_transform_loops): Build the polyhedral
2391         representation for each scop before code generation.
2392         * sese.c (rename_variables_in_operand): Removed.
2393         (rename_variables_in_expr): Return the renamed expression.
2394         (rename_sese_parameters): New.
2395         * sese.h (rename_sese_parameters): Declared.
2396
2397 2010-02-11  Richard Guenther  <rguenther@suse.de>
2398
2399         PR tree-optimization/42998
2400         * tree-ssa-pre.c (create_expression_by_pieces): Treat
2401         POINTER_PLUS_EXPR properly.
2402
2403 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2404             Changpeng Fang  <changpeng.fang@amd.com>
2405
2406         PR middle-end/40886
2407         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
2408         the cost of an IV candidate when the IV is used in a test against zero.
2409
2410         * gcc.dg/tree-ssa/ivopts-3.c: New.
2411
2412 2010-02-11  Richard Guenther  <rguenther@suse.de>
2413
2414         PR lto/41664
2415         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
2416         pointer-vs-decl case by swapping refs.  Handle some cases
2417         of pointer-vs-decl disambiguations more conservatively.
2418         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
2419         to false after expanding.
2420
2421 2010-02-11  Richard Guenther  <rguenther@suse.de>
2422
2423         PR driver/43021
2424         * gcc.c (process_command): Handle LTO file@offset case more
2425         appropriately.
2426
2427 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2428
2429         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
2430         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
2431         of DEBUG_INSNs.
2432         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
2433
2434         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
2435         if MEM's mode size isn't DWARF2_ADDR_SIZE.
2436         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
2437         Optimize eq/ne comparisons when both arguments are known to be
2438         zero-extended.
2439         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
2440         Don't mask operands unnecessarily if they are known to be already
2441         zero-extended.
2442
2443 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
2444
2445         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
2446         instead of loop.
2447
2448 2010-02-10  Richard Guenther  <rguenther@suse.de>
2449
2450         PR tree-optimization/43017
2451         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
2452         for wrapping signed arithmetic.
2453
2454 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2455
2456         PR debug/43010
2457         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
2458         if no debug info should be emitted for it.
2459
2460 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
2461
2462         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
2463         note when flag_exceptions is set.
2464
2465 2010-02-10  Duncan Sands  <baldrick@free.fr>
2466
2467         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
2468
2469 2010-02-10  Richard Guenther  <rguenther@suse.de>
2470
2471         PR c/43007
2472         * tree.c (get_unwidened): Handle constants.
2473         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
2474
2475 2010-02-10  Martin Jambor  <mjambor@suse.cz>
2476
2477         PR lto/42985
2478         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
2479         check for variable argument counts independently.
2480
2481 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2482
2483         PR target/42841
2484         * config/sh/sh.c (find_barrier): Increase length for non delayed
2485         conditional branches.
2486
2487 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2488
2489         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
2490
2491 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2492
2493         * builtins.c (set_builtin_user_assembler_name): Also handle
2494         ffs if int is smaller than word.
2495
2496 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
2497
2498         PR middle-end/42973
2499         * ira-conflicts.c (get_dup): Remove.
2500         (process_reg_shuffles): Add new parameter.  Use it as an
2501         additional guard for copy generation.
2502         (add_insn_allocno_copies): Rewrite.
2503
2504 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
2505
2506         * common.opt (fsched2-use-traces): Preserved for backward
2507         compatibility.
2508         * doc/invoke.texi: Remove the documentation about option
2509         -fsched2-use-traces.
2510         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
2511         flag_sched2_use_traces.
2512         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
2513         the backward compatibility flag section.
2514
2515 2010-02-09  Richard Guenther  <rguenther@suse.de>
2516
2517         PR tree-optimization/43008
2518         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
2519         make HEAP variables initialized from global memory if they
2520         are not known builtin functions.
2521         (find_func_aliases): Adjust.
2522
2523 2010-02-09  Richard Guenther  <rguenther@suse.de>
2524
2525         PR tree-optimization/43000
2526         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
2527         arithmetic manually.
2528
2529 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
2530
2531         PR tree-optimization/42931
2532         * tree-loop-linear.c (try_interchange_loops): Don't call
2533         double_int_mul if estimated_loop_iterations failed.
2534
2535 2010-02-08  Martin Jambor  <mjambor@suse.cz>
2536
2537         PR middle-end/42898
2538         * tree-sra.c (build_accesses_from_assign): Do not mark in
2539         should_scalarize_away_bitmap if stmt has volatile ops.
2540         (sra_modify_assign): Do not process assigns piecemeal if if stmt
2541         has volatile ops.
2542
2543 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
2544
2545         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
2546
2547 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
2548
2549         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
2550         before the pattern.
2551
2552 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
2553
2554         PR middle-end/42946
2555         * df-core.c (df_finish_pass): Change type of saved_flags to int.
2556
2557 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2558
2559         PR middle-end/42988
2560         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
2561         to unknown_dependence.
2562         (graphite_legal_transform_dr): Handle the unknown_dependence.
2563         (graphite_carried_dependence_level_k): Same.
2564
2565 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2566
2567         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
2568
2569 2010-02-07  Richard Guenther  <rguenther@suse.de>
2570
2571         PR middle-end/42991
2572         * expr.c (get_inner_reference): Always initialize *pbitsize.
2573
2574 2010-02-07  Richard Guenther  <rguenther@suse.de>
2575
2576         PR middle-end/42956
2577         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
2578         new ARRAY_REFs on variable size element or minimal index arrays.
2579         Complete.
2580         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
2581         gimple_fold_indirect_ref.
2582
2583 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
2584
2585         PR target/42957
2586         * arm.c (arm_override_options): Just return if the user has specified
2587         an invalid fpu name.
2588
2589 2010-02-03  Jason Merrill  <jason@redhat.com>
2590
2591         PR c++/42870
2592         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
2593         i386_pe_maybe_record_exported_symbol.
2594
2595 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
2596
2597         PR target/42924
2598         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2599         (pa_delegitimize_address): New function.
2600
2601 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
2602
2603         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
2604         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
2605
2606 2010-02-05  Richard Guenther  <rguenther@suse.de>
2607
2608         PR lto/42762
2609         * lto-streamer-in.c (get_resolution): Deal with references
2610         to undefined functions.
2611
2612 2010-02-05  Richard Guenther  <rguenther@suse.de>
2613
2614         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
2615         (fold_const_aggregate_ref): Likewise.
2616         (ccp_fold_stmt): Substitute loads.
2617         (maybe_fold_reference): Verify types before substituting.
2618         Unshare properly.
2619         (fold_gimple_assign): Unshare properly.
2620         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
2621
2622 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
2623
2624         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
2625         for rs6000_gen_cell_microcode.
2626
2627 2010-02-04  Richard Guenther  <rguenther@suse.de>
2628
2629         PR rtl-optimization/42952
2630         * dse.c (const_or_frame_p): Remove MEM handling.
2631
2632 2010-02-04  Nick Clifton  <nickc@redhat.com>
2633
2634         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
2635         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
2636         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
2637         (mn10300_asm_output_mi_thunk): New function.
2638         (mn10300_can_output_mu_thunk): New function.
2639         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
2640         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
2641         (FUNCTION_ARG): Delete incorrect comment.
2642
2643 2010-02-03  Jason Merrill  <jason@redhat.com>
2644
2645         PR c++/40138
2646         * fold-const.c (operand_equal_p): Handle erroneous types.
2647
2648 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
2649
2650         * config/h8300/h8300.md (can_delay): Fix attibute condition.
2651
2652 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
2653
2654         PR rtl-optimization/42941
2655         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
2656         of xmalloc.
2657
2658 2010-02-03  Jason Merrill  <jason@redhat.com>
2659
2660         PR c++/35652
2661         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
2662
2663 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
2664
2665         PR debug/42896
2666         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
2667         (cselib_reset_table): Renamed from...
2668         (cselib_reset_table_with_next_value): ... this.
2669         (cselib_get_next_uid): Renamed from...
2670         (cselib_get_next_unknown_value): ... this.
2671         * cselib.c (next_uid): Renamed from...
2672         (next_unknown_value): ... this.
2673         (cselib_clear_table): Adjust.
2674         (cselib_reset_table): Adjust.  Renamed from...
2675         (cselib_reset_table_with_next_value): ... this.
2676         (cselib_get_next_uid): Adjust.  Renamed from...
2677         (cselib_get_next_unknown_value): ... this.
2678         (get_value_hash): Use hash.
2679         (cselib_hash_rtx): Likewise.
2680         (new_cselib_val): Adjust.  Set and dump uid.
2681         (cselib_lookup_mem): Pass next_uid as hash.
2682         (cselib_subst_to_values): Likewise.
2683         (cselib_log_lookup): Dump uid.
2684         (cselib_lookup): Pass next_uid as hash.  Adjust.
2685         (cselib_process_insn): Adjust.
2686         (cselib_init): Initialize next_uid.
2687         (cselib_finish): Adjust.
2688         (dump_cselib_table): Likewise.
2689         * dse.c (canon_address): Dump value uid.
2690         * print-rtl.c (print_rtx): Print value uid.
2691         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
2692         (dvuid): New type.
2693         (dv_uid): New function, sort of renamed from...
2694         (dv_htab_hash): ... this, reimplemented in terms of it and...
2695         (dv_uid2hash): ... this.  New.
2696         (variable_htab_eq): Drop excess assertions.
2697         (tie_break_pointers): Removed.
2698         (canon_value_cmp): Compare uids.
2699         (variable_post_merge_New_vals): Print uids.
2700         (vt_add_function_parameters): Adjust.
2701         (vt_initialize): Reset table.  Adjust.
2702
2703 2010-02-03  Richard Guenther  <rguenther@suse.de>
2704
2705         PR tree-optimization/42944
2706         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
2707         (call_may_clobber_ref_p_1): Likewise.  Properly handle
2708         malloc and calloc clobbering errno.
2709
2710 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
2711
2712         * doc/invoke.texi: Fix name of sched1 dump.
2713
2714         * opts.c (decode_options): Set flag_tree_switch_conversion
2715         only conditionally on optimize >= 2.
2716
2717         * gcse.c: Assorted comment fixes in pass description.
2718
2719 2010-02-03  Anthony Green  <green@moxielogic.com>
2720
2721         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
2722         nop padding in order to maintain alignment of storage location of
2723         target function address.
2724         (moxie_trampoline_init): Store target function address at newly
2725         aligned location.
2726         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
2727         to 32.
2728         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
2729
2730 2010-02-03  Richard Guenther  <rguenther@suse.de>
2731
2732         PR middle-end/42927
2733         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
2734
2735 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2736
2737         * config.gcc: Reenable check for obsolete targets.
2738         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
2739         mips-sgi-irix6.[0-4]*.
2740
2741 2010-02-02  Nick Clifton  <nickc@redhat.com>
2742
2743         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
2744         constant size of 4 as being the same as 0.
2745         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
2746         can take values in the range 0..4.
2747
2748 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
2749
2750         PR java/41991
2751         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
2752         as _darwin10_Unwind_FindEnclosingFunction().
2753         * libgcc-libsystem.ver: New.
2754
2755 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
2756
2757         PR target/41399
2758         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
2759         implicitly set registers.
2760
2761 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
2762
2763         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
2764         (arm_override_options): Allow automatic selection of the thread
2765         pointer register if thumb2.
2766         (legitimize_pic_address): Improve code sequences for Thumb2.
2767         (arm_call_tls_get_addr): Likewise.
2768         (legitimize_tls_address): Likewise.
2769         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
2770         (pic_load_addr_32bit): ... this.  New named pattern.
2771         * thumb2.md (pic_load_addr_thumb2): Delete.
2772         (pic_load_dot_plus_four): Delete.
2773         (tls_load_dot_plus_four): New named pattern.
2774
2775 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2776
2777         PR libgomp/29986
2778         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
2779         Document fix for TLS bug.
2780
2781 2010-01-31  Richard Guenther  <rguenther@suse.de>
2782
2783         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
2784         conservatively correct.
2785
2786 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2787
2788         PR target/42850
2789         Revert:
2790         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2791
2792         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
2793
2794 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2795
2796         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
2797
2798 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
2799
2800         * config.gcc: Adjust order of makefile fragments for mingw targets.
2801
2802 2010-01-31  Richard Guenther  <rguenther@suse.de>
2803
2804         PR middle-end/42898
2805         * gimplify.c (gimplify_init_constructor): For volatile LHS
2806         initialize a temporary.
2807
2808 2010-01-31  Matthias Klose  <doko@ubuntu.com>
2809
2810         * configure.ac: Fix __stack_chk_fail check for cross builds configured
2811         --with-headers
2812         * configure: Regenerate.
2813
2814 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
2815
2816         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2817         the same alias set and their sizes different constantness.
2818         (aliasing_component_refs_p): Revert 2009-10-24 change.
2819
2820 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2821
2822         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
2823         unused.
2824
2825 2010-01-29  Richard Guenther  <rguenther@suse.de>
2826
2827         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
2828         Assert we successfully updated the call.
2829
2830 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
2831
2832         PR rtl-optimization/42889
2833         * df.h (df_set_bb_dirty_nonlr): New prototype.
2834         * df-core.c (df_set_bb_dirty_nonlr): New function.
2835         * df-scan.c (df_insn_rescan): Call it instead of
2836         df_set_bb_dirty for DEBUG_INSNs.
2837
2838 2010-01-29  Richard Guenther  <rguenther@suse.de>
2839
2840         PR middle-end/37448
2841         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
2842         quadratic behavior in most cases.
2843
2844 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
2845
2846         PR target/42891
2847         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
2848         in the call to gen_x86_movsicc_0_m1.
2849
2850 2010-01-28  Richard Guenther  <rguenther@suse.de>
2851
2852         PR tree-optimization/42871
2853         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
2854
2855 2010-01-28  Richard Guenther  <rguenther@suse.de>
2856
2857         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
2858         into call arguments.
2859
2860 2010-01-28  Richard Guenther  <rguenther@suse.de>
2861
2862         PR middle-end/42883
2863         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
2864         the forwarder if the destination is an EH landing pad.
2865
2866 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
2867
2868         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
2869         block list passed to gimple_duplicate_sese_tail.
2870         (parallelize_loops): Avoid parallelization when the function
2871         has_nonlocal_label.
2872         Avoid parallelization when the preheader is IRREDUCIBLE.
2873         Try to optimize when estimated_loop_iterations_int is unresolved.
2874         Add the loop's location to the dump file.
2875         * tree-cfg.c (add_phi_args_after_redirect): Remove.
2876         (gimple_duplicate_sese_tail): Remove the check for the latch.
2877         Redirect nexits to the exit block.
2878         Remove handling of the incoming edges to the latch.
2879         Redirect the backedge from the copied latch to the exit bb.
2880
2881 2010-01-28  Michael Matz  <matz@suse.de>
2882
2883         PR target/42881
2884         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
2885         Wrap force_reg into a sequence, emit it before user.
2886
2887 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
2888
2889         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
2890         (arm_rev): New.
2891         (arm_legacy_rev): Likewise.
2892         (thumb_legacy_rev): Likewise.
2893
2894 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
2895
2896         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
2897         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
2898         on MEM's address failed, try avoid_constant_pool_reference and
2899         recurse if it returned something different.
2900         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
2901         address, try avoid_constant_pool_reference and recurse if it
2902         returned something different.
2903         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
2904         address and avoid_constant_pool_reference returned something
2905         different, don't set have_address.
2906
2907 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
2908
2909         PR debug/42861
2910         * var-tracking.c (val_store): Add modified argument, obey it.
2911         Adjust callers.
2912         (count_uses): Move down logging of main.
2913         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
2914         don't need resolution.
2915         (emit_notes_in_bb): Likewise.
2916
2917 2010-01-27  Richard Guenther  <rguenther@suse.de>
2918
2919         PR middle-end/42878
2920         * tree-inline.c (remap_decl): Delay remapping of SSA name
2921         default definitions until we need them.
2922
2923 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
2924
2925         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2926         (rs6000_delegitimize_address): New function.
2927
2928         * config/s390/s390.c (s390_delegitimize_address): Call
2929         delegitimize_mem_from_attrs.
2930
2931         PR middle-end/42874
2932         * tree-inline.c (cannot_copy_type_1): Removed.
2933         (copy_forbidden): Don't forbid copying of functions containing
2934         records/unions with variable length fields.
2935
2936 2010-01-27  Christian Bruel  <christian.bruel@st.com>
2937
2938         Revert:
2939         PR target/42841
2940         * config/sh/sh.c (find_barrier): Increase length for non delayed
2941         conditional branches.
2942
2943 2010-01-27  Matthias Klose  <doko@ubuntu.com>
2944
2945         * configure.ac (gnu-unique-object): Fix ldd version check.
2946         * configure: Regenerate.
2947
2948 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2949
2950         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
2951         HAVE_GNU_AS value.
2952         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
2953         Test for HAVE_GNU_AS value.
2954
2955 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2956
2957         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
2958         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
2959         INT64_TYPE): Define.
2960         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
2961         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2962         INT_LEAST64_TYPE): Define.
2963         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
2964         UINT_LEAST64_TYPE): Define.
2965         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
2966         INT_FAST64_TYPE): Define.
2967         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2968         UINT_FAST64_TYPE): Define.
2969         (INTMAX_TYPE, UINTMAX_TYPE): Define.
2970         (INTPTR_TYPE, UINTPTR_TYPE): Define.
2971         (SIG_ATOMIC_TYPE): Define.
2972
2973 2010-01-26  Richard Guenther  <rguenther@suse.de>
2974
2975         * df-scan.c (df_scan_set_bb_info): Remove assert.
2976         (df_insn_rescan_debug_internal): Merge asserts.
2977         (df_install_ref): Likewise.
2978         (df_mark_reg): Use bitmap_set_range.
2979         (df_hard_reg_used_p): Remove assert.
2980         (df_hard_reg_used_count): Likewise.
2981
2982 2010-01-26  Richard Guenther  <rguenther@suse.de>
2983
2984         PR rtl-optimization/42685
2985         * web.c (web_main): Ignore DEBUG_INSNs.
2986
2987 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
2988
2989         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
2990
2991         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
2992         Fix types of fndecl and arglist parameters.
2993
2994 2010-01-26  Richard Guenther  <rguenther@suse.de>
2995
2996         PR middle-end/42806
2997         * tree-eh.c (unsplit_eh): Skip debug insns.
2998
2999 2010-01-26  Richard Guenther  <rguenther@suse.de>
3000
3001         PR tree-optimization/42250
3002         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
3003
3004 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
3005
3006         PR fortran/42866
3007         * omp-low.c (expand_omp_sections): Only use single_pred if
3008         l2_bb is single_pred_p.
3009
3010 2010-01-25  Christian Bruel  <christian.bruel@st.com>
3011
3012         PR target/42841
3013         * config/sh/sh.c (find_barrier): Increase length for non delayed
3014         conditional branches.
3015         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
3016
3017 2010-01-24  David S. Miller  <davem@davemloft.net>
3018
3019         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
3020         define if not using GAS.
3021         * config/sparc/sparc.c (sparc_elf_asm_named_section):
3022         Likewise.  Delete SECTION_MERGE code, which is only applicable
3023         when using GAS.
3024
3025 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
3026
3027         PR c++/42748
3028         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
3029         mangling of va_list in system headers.
3030
3031 2010-01-23  Toon Moene  <toon@moene.org>
3032
3033         * tree-predcom.c (combine_chains): Return NULL, not false.
3034
3035 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
3036
3037         * tree-loop-distribution.c (distribute_loop): Fix declaration and
3038         initialization of variable res to agree with return type.
3039
3040 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
3041
3042         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
3043         * tree-sra.c: Add include of expr.h.
3044
3045 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
3046
3047         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
3048         insert the debug stmt on the single non-EH edge from the stmt.
3049
3050 2010-01-22  Richard Henderson  <rth@redhat.com>
3051
3052         PR tree-opt/42833
3053         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
3054         the RHS until after generate_subtree_copies has insertted its
3055         code before the current statement.
3056
3057 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
3058
3059         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
3060
3061         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
3062
3063 2010-01-21  Martin Jambor  <mjambor@suse.cz>
3064
3065         PR tree-optimization/42585
3066         * tree-sra.c (struct access): New field grp_total_scalarization.
3067         (dump_access): Dump the new field.
3068         (should_scalarize_away_bitmap): New variable.
3069         (cannot_scalarize_away_bitmap): Likewise.
3070         (sra_initialize): Allocate new bitmaps.
3071         (sra_deinitialize): Free new bitmaps.
3072         (create_access_1): New function.
3073         (create_access): Parts moved to create_access_1.
3074         (type_consists_of_records_p): New function.
3075         (completely_scalarize_record): Likewise.
3076         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
3077         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
3078         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
3079         access.
3080         (analyze_all_variable_accesses): Completely scalarize small eligible
3081         records.
3082
3083 2010-01-21  Martin Jambor  <mjambor@suse.cz>
3084
3085         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
3086
3087 2010-01-21  Andrew Haley  <aph@redhat.com>
3088
3089         * gcc.c (process_command): Move lang_specific_driver before
3090         setting cc_libexec_prefix.
3091
3092 2010-01-21  Richard Guenther  <rguenther@suse.de>
3093
3094         PR middle-end/19988
3095         * fold-const.c (negate_expr_p): Pretend only negative
3096         real constants are easily negatable.
3097
3098 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
3099             Jason Merrill  <jason@redhat.com>
3100
3101         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
3102         (TYPE_TRANSPARENT_AGGR): this, for union and record.
3103         * calls.c (initialize argument_information): Handle it.
3104         * c-common.c (handle_transparent_union_attribute): Use new name.
3105         * c-decl.c (finish_struct): Ditto.
3106         * c-typeck.c (type_lists_compatible_p): Ditto.
3107         (convert_for_assignment): Use new name and also handle record.
3108         * function.c (aggregate_value_p): Handle it.
3109         (pass_by_reference): Ditto.
3110         (assign_parm_data_types): Ditto.
3111         * print-tree.c (print_node): Ditto.
3112         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
3113         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
3114         * tree.c (first_field): New fn.
3115
3116 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
3117
3118         PR target/42818
3119         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
3120         even when linking statically, for now.
3121
3122 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
3123
3124         PR debug/42715
3125         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
3126         without a cselib val.
3127         (count_uses): Accept MO_VAL_SET with no val on stores.
3128         (add_stores): Likewise.
3129
3130 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3131
3132         * var-tracking.c (check_value_val): Add a compile time assertion.
3133         (dv_is_decl_p): Simplify.
3134         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
3135         gcc_assert if ENABLE_CHECKING.
3136
3137 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
3138
3139         PR debug/42782
3140         * var-tracking.c: Include tree-flow.h.
3141         (mem_dies_at_call): New.
3142         (dataflow_set_preserve_mem_locs): Use it.
3143         (dataflow_set_remove_mem_locs): Likewise.
3144         (dump_var): Renamed from dump_variable.  Adjust all callers.
3145         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
3146         * Makefile.in (var-tracking.o): Adjust deps.
3147
3148 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
3149
3150         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
3151
3152 2010-01-20  Richard Guenther  <rguenther@suse.de>
3153
3154         PR tree-optimization/42717
3155         * tree-ssa-dce.c (get_live_post_dom): Remove.
3156         (forward_edge_to_pdom): Take an arbitrary edge to copy
3157         degenerate PHI args from.
3158         (remove_dead_stmt): Use the first post-dominator even if it
3159         does not contain live statements as redirection destination.
3160
3161 2010-01-20  Richard Guenther  <rguenther@suse.de>
3162
3163         * tree-inline.c (estimate_num_insns): Handle EH builtins.
3164
3165 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3166
3167         * sel-sched.c (create_speculation_check): Remove set but not used
3168         variable twin.
3169         (try_transformation_cache): Remove set but not used variable ds.
3170         (calculate_privileged_insns): Remove set but not used variables
3171         cur_insn and min_spec_insn.
3172         (find_best_expr): Remove set but not used variable avail_n.
3173         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
3174         variable e.
3175         * cgraphunit.c (assemble_thunk): Remove set but not used variable
3176         false_label.
3177         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
3178         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
3179         new_scop_exit_edge.
3180
3181 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
3182
3183         PR bootstrap/42786
3184         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
3185         cpu types.  Add support for *-sse3 cpu types.
3186         (x86_64-*-*): Ditto.
3187
3188 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3189
3190         PR middle-end/42803
3191         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
3192         argument, call initializer_constant_valid_p_1 instead of
3193         initializer_constant_valid_p, pass CACHE to it, return NULL
3194         immediately if first call returns NULL.
3195         (initializer_constant_valid_p_1): New function.
3196         (initializer_constant_valid_p): Use it.
3197
3198 2010-01-20  Thomas Quinot  <quinot@adacore.com>
3199
3200         * tree.def (PLACEHOLDER_EXPR): Fix comment.
3201
3202 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3203
3204         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
3205         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
3206         (loc_list_from_tree): Don't handle unsigned division.  Handle
3207         signed modulo using DW_OP_{over,over,div,mul,minus}.
3208         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
3209         modulo instead of signed.
3210
3211 2010-01-20  DJ Delorie  <dj@redhat.com>
3212
3213         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
3214         (Fpa): Pass it
3215         (h8300_emit_stack_adjustment): Propogate it.
3216         (push): Pass it.
3217         (h8300_expand_prologue): Likewise.
3218         (h8300_expand_epilogue): Likewise.
3219
3220 2010-01-19  Michael Matz  <matz@suse.de>
3221
3222         PR tree-optimization/41783
3223         * tree-data-ref.c (toplevel): Include flags.h.
3224         (dump_data_dependence_relation):  Also dump the inputs if the
3225         result will be unknown.
3226         (split_constant_offset_1): Look through some conversions.
3227         * tree-predcom.c (determine_roots_comp): Restart a new chain if
3228         the offset from last element is too large.
3229         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
3230         (reassociate_to_the_same_stmt): Handle vector registers.
3231         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
3232         (e.g. conversions).
3233         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
3234         wide_prolog_niters argument, emit widening instructions.
3235         (vect_do_peeling_for_alignment): Adjust caller, use widened
3236         variant of the iteration cound.
3237         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
3238
3239 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3240
3241         PR target/38697
3242         * config/arm/neon-testgen.m (emit_automatics): New parameter
3243         features. Adjust for Fixed_return_reg feature.
3244         (test_intrinsic): Call emit_automatics with new feature.
3245         * config/arm/neon.ml: Update copyright years.
3246         (features): New Fixed_return_reg feature.
3247         (ops): Update feature for Vget_low.
3248
3249 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
3250
3251         PR tree-optimization/42719
3252         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
3253         stmt uses.
3254
3255         PR debug/42728
3256         * fwprop.c (all_uses_available_at): Return false if def_set dest
3257         is a REG that is used in def_insn.
3258
3259 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
3260
3261         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
3262
3263         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
3264         Add argument names.
3265
3266         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
3267
3268         * target.h (struct gcc_target) <secondary_reload>: Change type
3269         of last argument to secondary_reload_info *.
3270
3271 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
3272
3273         PR target/42774
3274         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
3275         memory references with unaligned offsets.  Remove CQImode handling.
3276         (unaligned_memory_operand): Return 1 for memory references with
3277         unaligned offsets.  Remove CQImode handling.
3278
3279 2010-01-18  Richard Guenther  <rguenther@suse.de>
3280
3281         PR middle-end/39954
3282         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
3283         builtin calls.
3284
3285 2010-01-18  Richard Guenther  <rguenther@suse.de>
3286
3287         PR tree-optimization/42781
3288         * tree-ssa-structalias.c (find_what_var_points_to): Skip
3289         restrict processing only if the original variable was artificial.
3290
3291 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
3292
3293         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
3294         find number of popped argument bytes.
3295
3296         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
3297         Fix the text that describes the return value for invalid insns.
3298
3299         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
3300
3301         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
3302         Clarify what 'cost of the -dependence' is.  Fix quoting.
3303
3304         * toplev.c (default_get_pch_validity): Rename argument to "sz".
3305         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
3306
3307 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
3308
3309         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
3310         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
3311
3312 2010-01-17  Richard Guenther  <rguenther@suse.de>
3313
3314         PR middle-end/42248
3315         * function.c (split_complex_args): Take a VEC to modify.
3316         (assign_parms_augmented_arg_list): Build a VEC instead of
3317         a chain of PARM_DECLs.
3318         (assign_parms_unsplit_complex): Take a VEC of arguments.
3319         Do not fixup unmodified parms.
3320         (assign_parms): Deal with the VEC.
3321         (gimplify_parameters): Likewise.
3322
3323 2010-01-17  Richard Guenther  <rguenther@suse.de>
3324
3325         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
3326         node existence check.
3327         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
3328         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
3329         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
3330         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
3331         (gimple_execute_on_growing_pred): Likewise.
3332
3333 2010-01-17  Richard Guenther  <rguenther@suse.de>
3334
3335         PR tree-optimization/42773
3336         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
3337         (compute_antic_aux): Likewise.
3338         (compute_partial_antic_aux): Likewise.
3339
3340 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
3341
3342         PR debug/42767
3343         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
3344         and US_TRUNCATE.
3345
3346 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
3347
3348         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
3349         appearance.
3350
3351         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
3352         Fix markup for strict argument.
3353
3354         (TARGET_SCHED_REORDER2): Fix argument types.
3355
3356         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
3357         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
3358
3359         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
3360         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
3361
3362         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
3363         Add argument name.
3364
3365         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
3366         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
3367         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
3368         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
3369         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
3370
3371         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
3372
3373         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
3374
3375         (TARGET_ASM_RELOC_RW_MASK): Add return type.
3376         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
3377
3378         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
3379
3380         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
3381         Use prototype.
3382
3383         (TARGET_ASM_NAMED_SECTION): Fix argument list.
3384
3385         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
3386         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
3387
3388         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
3389
3390         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
3391
3392         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
3393         referring to it.  Fix language.
3394
3395         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
3396
3397         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
3398
3399         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
3400
3401         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
3402
3403         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
3404         '@var{stream}.  Remove stray 'and'.
3405
3406         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
3407
3408         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
3409
3410         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
3411
3412         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
3413         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
3414
3415         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
3416         Fix description of return value.
3417         Rename argument "sz" to "len."
3418
3419         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
3420         Clarify meaning of 'true' return value.
3421
3422         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
3423
3424         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
3425         rep_mode versus mode_rep.
3426
3427         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
3428
3429         (TARGET_BUILTIN_DECL): Fix name.
3430
3431         (TARGET_COMMUTATIVE_P): Fix type of first argument.
3432
3433         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
3434
3435         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
3436
3437         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
3438
3439         (TARGET_RELAXED_ORDERING): Use @deftypevr.
3440
3441         (TARGET_GET_DRAP_RTX): Note that this is a hook.
3442         Clarify language.
3443
3444         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
3445         Rename argument tm_fn to md_fn.
3446
3447         (TARGET_OPTION_PRINT): Fix argument list.
3448
3449 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
3450
3451         PR target/42664
3452         * config/i386/i386.c (ix86_fixup_binary_operands):
3453         Revert FMA4 fixup of operands.
3454
3455 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3456
3457         PR gcc/42525
3458         * Makefile.in (write_entries_to_file, install-plugin):
3459         Use \012 instead of \n with tr.
3460
3461 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
3462
3463         * configure.ac (HAVE_AS_REF): New C macro.
3464         * configure: Regenerate.
3465         * config.in: Likewise.
3466         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
3467         if HAVE_AS_REF.
3468         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
3469         if HAVE_AS_REF.
3470
3471 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
3472
3473         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
3474
3475         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
3476
3477         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
3478
3479         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
3480
3481         (TARGET_IN_SMALL_DATA_P): Fix argument type.
3482
3483         (TARGET_BINDS_LOCAL_P): Fix argument type.
3484
3485         (TARGET_ASM_FILE_END): Use prototype.
3486
3487         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
3488
3489         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
3490
3491         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
3492
3493         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
3494
3495         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
3496         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
3497
3498         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
3499         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
3500
3501         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
3502         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
3503         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
3504         (TARGET_ADDR_SPACE_CONVERT): Likewise.
3505
3506         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
3507
3508         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
3509
3510         (TARGET_INIT_BUILTINS): Use prototype.
3511
3512         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
3513         Put 'const char *' in braces.  Fix parameter types.
3514         (TARGET_INVALID_CONVERSION): Fix parameter types.
3515         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
3516         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
3517
3518         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
3519         Fix argument type.
3520
3521         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
3522
3523         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
3524
3525 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
3526
3527         * doc/tm.texi (TARGET_HELP): Fix return type.
3528
3529         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
3530         in braces.  Fix argument types.
3531
3532         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
3533
3534         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
3535
3536         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
3537
3538         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
3539         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
3540
3541         (TARGET_MANGLE_TYPE): Fix argument types.
3542
3543         (TARGET_IRA_COVER_CLASSES): Use prototype.
3544
3545         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
3546
3547         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
3548
3549         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
3550
3551         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
3552
3553         (TARGET_CALLEE_COPIES): Fix argument types.
3554
3555         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
3556
3557         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
3558
3559         (TARGET_FUNCTION_VALUE): Fix argument types.
3560
3561         (TARGET_RETURN_IN_MSB): Fix argument type.
3562
3563         (TARGET_RETURN_IN_MEMORY): Fix argument types.
3564
3565         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
3566
3567         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
3568
3569         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
3570         agree with return type.
3571
3572         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
3573
3574 2010-01-15  Jing Yu  <jingyu@google.com>
3575
3576         PR rtl-optimization/42691
3577         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
3578         a pseudo to a constant and are merged, and adjust comments.
3579
3580 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3581
3582         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
3583
3584 2010-01-15  Richard Guenther  <rguenther@suse.de>
3585
3586         PR middle-end/42739
3587         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
3588         labels of computed or non-local gotos to the destination.
3589         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
3590         landing pad label is the first label.
3591
3592 2010-01-15  Richard Guenther  <rguenther@suse.de>
3593
3594         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
3595
3596 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3597
3598         PR target/42747
3599         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
3600         to allow generation of the xssqrtdp instruction on power7.
3601         (sqrtdf2_fpr): Ditto.
3602
3603 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3604
3605         PR middle-end/42674
3606         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
3607         functions with noreturn attribute.
3608
3609         PR c++/42608
3610         * varasm.c (declare_weak): Add weak attribute to decl if it
3611         doesn't have one already.
3612         (assemble_external): Only add decls to weak_decls if they also
3613         have weak attribute.
3614
3615 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
3616
3617         * var-tracking.c (var_reg_delete): Don't delete the association
3618         between REGs and values or one-part variables if the register
3619         isn't clobbered.
3620
3621 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3622
3623         PR debug/42657
3624         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
3625         because its first operand is a non-localized variable.
3626
3627 2010-01-14  Martin Jambor  <mjambor@suse.cz>
3628
3629         PR tree-optimization/42706
3630         * tree-sra.c (encountered_recursive_call): New variable.
3631         (encountered_unchangable_recursive_call): Likewise.
3632         (sra_initialize): Initialize both new variables.
3633         (callsite_has_enough_arguments_p): New function.
3634         (scan_function): Call decl and flags check only for IPA-SRA, check
3635         whether there is a recursive call and whether it has enough arguments.
3636         (all_callers_have_enough_arguments_p): New function.
3637         (convert_callers): Look for recursive calls only when
3638         encountered_recursive_call is set.
3639         (ipa_early_sra): Bail out either if
3640         !all_callers_have_enough_arguments_p or
3641         encountered_unchangable_recursive_call.
3642
3643 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3644
3645         * sel-sched.c: Add 2010 to copyright years.
3646         * sel-sched-ir.c: Likewise.
3647         * sel-sched-ir.h: Likewise.
3648
3649 2010-01-14  Martin Jambor  <mjambor@suse.cz>
3650
3651         PR tree-optimization/42714
3652         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
3653         constructors specially.
3654
3655 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3656
3657         * config/i386/drivers-i386.c (detect_caches_intel):
3658         Add l2sizekb parameter and fill in.
3659         (host_detect_local_cpu): Add l2sizekb, fill in.
3660         Add Atom small cache heuristic.
3661
3662 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3663
3664         * config/i386/drivers-i386.c (detect_caches_cpuid4):
3665         Add level3 parameter and fill in.
3666         (detect_caches_intel): Handle level3 cache.
3667
3668 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3669
3670         * config/i386/drivers-i386.c (host_detect_local_cpu):
3671         Fix core duo detection.
3672
3673 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3674
3675         * config/i386/drivers-i386.c (host_detect_local_cpu):
3676         Fix Atom detection.
3677
3678 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3679
3680         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
3681         (rs6000_variable_issue_1): this.  Use...
3682         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
3683
3684 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3685
3686         * sel-sched-ir.c (sel_restore_other_notes): Rename to
3687         sel_restore_notes.  Update all callers.  Call reemit_notes
3688         for all insns.
3689
3690 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3691
3692         PR rtl-optimization/42246
3693         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
3694         loops.
3695
3696 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3697
3698         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
3699         all successors is the same as number of successors in current region.
3700
3701 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3702
3703         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
3704         to rename is not separable.  Otherwise check that its LHS is not NULL.
3705
3706 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3707
3708         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
3709
3710 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3711
3712         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
3713         available registers when failed to discover LHS register class.
3714         Fix indentation.  Update comment.
3715
3716 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3717             Alexander Monakov  <amonakov@ispras.ru>
3718
3719         PR rtl-optimization/42389
3720         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
3721         to can_issue_more.
3722         (advance_state_on_fence): Likewise.
3723         (sel_target_adjust_priority): Print debug output only when
3724         sched_verbose >= 4, not 2.
3725         (get_expr_cost): Do not issue all unique insns on the next cycle.
3726         (fill_insns): Initialize can_issue_more from the value saved
3727         with the fence.
3728         * sel-sched-ir.c (flist_add): New parameter issue_more.
3729         Init FENCE_ISSUE_MORE with it.
3730         (merge_fences): Likewise.
3731         (init_fences): Update call to flist_add.
3732         (add_to_fences, add_clean_fence_to_fences)
3733         (add_dirty_fence_to_fences): Likewise.
3734         (move_fence_to_fences): Update call to merge_fences.
3735         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
3736         sched groups.
3737         * sel-sched-ir.h (struct _fence): New field issue_more.
3738         (FENCE_ISSUE_MORE): New accessor macro.
3739
3740 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3741
3742         PR rtl-optimization/42388
3743         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
3744         that have no predecessors nor successors.  Do not call move_bb_info
3745         for empty blocks outside of current region.
3746
3747 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3748
3749         PR rtl-optimization/42294
3750         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
3751         * sel-sched.c (move_exprs_to_boundary): Transitively add all
3752         originators' originators.
3753
3754 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3755
3756         PR rtl-optimization/39453
3757         PR rtl-optimization/42246
3758         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
3759         for pipelining_p.
3760         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
3761
3762 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3763             Alexander Monakov  <amonakov@ispras.ru>
3764
3765         PR middle-end/42245
3766         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
3767         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
3768         argument.  Update all callers.
3769         (tidy_control_flow): ... and here.  Recompute topological order
3770         of basic blocks in region if necessary.
3771         (sel_redirect_edge_and_branch): Change return type.  Return true
3772         if topological order might have been invalidated.
3773         (purge_empty_blocks): Export and move from...
3774         * sel-sched.c (purge_empty_blocks): ... here.
3775         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
3776         (maybe_tidy_empty_bb): Delete prototype.
3777         (purge_empty_blocks): Declare.
3778
3779 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
3780
3781         PR rtl-optimization/42249
3782         * sel-sched.c (try_replace_dest_reg): When chosen register
3783         and original register is the same, do not bail out early, but
3784         still check all original insns for validity of replacing destination
3785         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
3786         in this case.
3787
3788 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3789
3790         PR c/42721
3791         Port from no-undefined-overflow branch:
3792         2009-03-09  Richard Guenther  <rguenther@suse.de>
3793
3794         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
3795
3796 2010-01-14  Richard Guenther  <rguenther@suse.de>
3797
3798         PR lto/42665
3799         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
3800
3801 2010-01-14  Ira Rosen  <irar@il.ibm.com>
3802
3803         PR tree-optimization/42709
3804         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
3805         as scalar type in creation of constant vector operand.
3806
3807 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3808
3809         PR testsuite/42414
3810         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
3811         (check-parallel-%): Match `testsuite' directory component only
3812         at the end.
3813
3814 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
3815
3816         PR translation/39521
3817         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
3818         strings with _().
3819
3820 2010-01-13  Richard Guenther  <rguenther@suse.de>
3821
3822         PR tree-optimization/42730
3823         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
3824         offset zero.
3825
3826 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
3827
3828         PR target/pr42542
3829         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
3830         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
3831         them signed.
3832
3833 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
3834
3835         * config/bfin/libgcc-bfin.ver: Regenerate based on current
3836         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
3837         ___umulsi3_highpart.
3838
3839         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
3840         rather than schedule_insns if the pass is enabled.
3841
3842 2010-01-13  Martin Jambor  <mjambor@suse.cz>
3843
3844         PR tree-optimization/42704
3845         * tree-sra.c (sra_modify_assign): Do not delete assignments to
3846         SSA_NAMEs.
3847
3848 2010-01-13  Martin Jambor  <mjambor@suse.cz>
3849
3850         PR tree-optimization/42703
3851         * tree-sra.c (analyze_access_subtree): Check that we can build a
3852         reference to the original data within the aggregate.
3853
3854 2010-01-13  Richard Guenther  <rguenther@suse.de>
3855
3856         PR tree-optimization/42705
3857         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
3858
3859 2010-01-13  Richard Guenther  <rguenther@suse.de>
3860
3861         PR middle-end/42716
3862         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
3863
3864 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
3865
3866         PR debug/41371
3867         * var-tracking.c (values_to_unmark): New variable.
3868         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
3869         values_to_unmark vector.  Moved body to...
3870         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
3871         instead queue it into values_to_unmark vector.
3872         (vt_find_locations): Free values_to_unmark vector.
3873
3874 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
3875
3876         * config/s390/s390.c (override_options): Set
3877         default of max-pending-list-length to 256
3878
3879 2010-01-13  Richard Guenther  <rguenther@suse.de>
3880
3881         PR lto/42678
3882         * tree-pass.h (PROP_gimple_lcx): New.
3883         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
3884         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
3885         before the final cleanup_eh.
3886         (dump_properties): Dump PROP_gimple_lcx.
3887         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
3888         (tree_lower_complex_O0): Remove.
3889         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
3890         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
3891         tree_lower_complex, schedule TODO_update_ssa.
3892         * lto-streamer-out.c (output_function): Stream the functions
3893         properties.
3894         * lto-streamer-in.c (input_function): Likewise.
3895         (lto_read_body): Do not override them here.
3896
3897 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
3898
3899         PR c/42708
3900         * c-typeck.c (build_c_cast): Fold value cast to union type before
3901         wrapping it in a CONSTRUCTOR.
3902
3903 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
3904
3905         PR rtl-optimization/42699
3906         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
3907         involved.
3908
3909 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3910
3911         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
3912         SUBTARGET_WARN_UNUSED_SPEC): Move ...
3913         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
3914         SUBTARGET_WARN_UNUSED_SPEC): ... here
3915         * config/mips/iris5.h (LIBGCC_SPEC): Define.
3916
3917 2010-01-12  Julian Brown  <julian@codesourcery.com>
3918
3919         * config/arm/neon-schedgen.ml (Utils): Don't try to
3920         open missing module.
3921         (find_with_result): New.
3922
3923 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
3924
3925         PR debug/42662
3926         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
3927         sharing when canonicalizing ({lt,ge}u (plus a b) b).
3928
3929         PR tree-optimization/42645
3930         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
3931         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
3932         decl_map, set processing_debug_stmt to -1 and return name without
3933         any remapping.
3934
3935 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
3936
3937         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
3938         binutils version, and reword target configuration description.
3939
3940 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
3941
3942         * config/avr/avr.h (LINKER_NAME): Remove.
3943
3944 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
3945
3946         PR target/42416
3947         * config/rs6000/rs6000.c (rs6000_override_options): On targets
3948         that support VSX, warn for -mno-altivec if vsx is not disabled,
3949         and disable vsx.
3950
3951 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
3952             Shujing Zhao  <pearly.zhao@oracle.com>
3953
3954         PR translation/42469
3955         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
3956         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
3957         character between option name and help text.
3958         * c.opt (imultilib): Likewise.
3959
3960 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
3961
3962         * lto-streamer-out.c (output_unreferenced_globals): Output static
3963         variables.
3964
3965 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
3966
3967         PR rtl-optimization/42621
3968         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
3969         optimizing for size.
3970         (duplicate_computed_gotos): Remove now-redundant check.
3971
3972 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
3973
3974         PR target/37454
3975         * configure.ac: Save and restore LDFLAGS and LIBS
3976         * configure: Regenerate.
3977
3978 2010-01-10  Richard Guenther  <rguenther@suse.de>
3979
3980         PR middle-end/42667
3981         * builtins.c (fold_builtin_strlen): Add type argument and
3982         convert the resulting length to it.
3983         (fold_builtin_1): Adjust.
3984
3985 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
3986
3987         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
3988         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
3989         1 insn.
3990         (num_insns_constant_wide): Adjust for that change.
3991
3992 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3993
3994         PR debug/42631
3995         * web.c (union_defs): Add used argument, to combine uses of
3996         uninitialized regs.
3997         (entry_register): Adjust type and tests of used argument.
3998         (web_main): Widen used for new use.  Pass it to union_defs.
3999         * df.h (union_defs): Adjust prototype.
4000
4001 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4002
4003         PR debug/42630
4004         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
4005         uses in new incoming argument.  Free body.
4006         (reset_debug_uses_in_loop): New.
4007         (analyze_insn_to_expand_var): Call the latter if the former found
4008         anything.  Fix whitespace.  Reject invalid dest overlaps before
4009         going through all insns in the loop.
4010
4011 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4012
4013         PR debug/42629
4014         * haifa-sched.c (dying_use_p): Debug insns don't count.
4015
4016 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4017
4018         PR middle-end/42363
4019         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
4020         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
4021         (verify_gimple_call): Reject LHS in noreturn calls.
4022
4023 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4024
4025         PR debug/42604
4026         PR debug/42395
4027         * tree-vect-loop-manip.c (adjust_info): New type.
4028         (adjust_vec): New pointer to vector.
4029         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
4030         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
4031         (slpeel_update_phis_for_duplicate_loop): Use them.
4032         (slpeel_update_phi_nodes_for_guard1): Likewise.
4033         (slpeel_update_phi_nodes_for_guard2): Likewise.
4034         (slpeel_tree_peel_loop_to_edge): Likewise.
4035         (vect_update_ivs_after_vectorizer): Likewise.
4036
4037 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4038
4039         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
4040         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
4041
4042 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4043
4044         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
4045         bogus uninitialized warning.
4046
4047 2010-01-09  Richard Guenther  <rguenther@suse.de>
4048
4049         PR middle-end/42512
4050         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
4051         the evolution is compatible with the initial condition.
4052
4053 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
4054
4055         * gcc.c (process_command): Update copyright notice dates.
4056         * gcov.c (print_version): Likewise.
4057         * gcov-dump.c (print_version): Likewise.
4058         * mips-tfile.c (main): Likewise.
4059         * mips-tdump.c (main): Likewise.
4060
4061 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
4062
4063         PR target/41885
4064         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
4065         (rotlhi3): Delete.
4066         (rotlhi3_8): Delete.
4067         (rotlsi3): Delete.
4068         (rotlsi3_8): Delete.
4069         (rotlsi3_16): Delete.
4070         (rotlsi3_24): Delete.
4071         (rotl<mode>3): New.
4072         (*rotw<mode>3): New.
4073         (*rotb<mode>3): New.
4074         * config/avr/avr.c (avr_rotate_bytes): New function.
4075         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
4076
4077 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
4078
4079         PR target/37454
4080         * configure.ac: Modify -rdynamic check.
4081         * configure: Regenerate.
4082
4083 2010-01-08  DJ Delorie  <dj@redhat.com>
4084
4085         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
4086         register popping order.
4087
4088 2010-01-08  Richard Guenther  <rguenther@suse.de>
4089
4090         PR lto/42528
4091         * c.opt (fsigned-char): Also let LTO handle this option.
4092         (funsigned-char): Likewise.
4093
4094 2010-01-07  Richard Guenther  <rguenther@suse.de>
4095
4096         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
4097         (gimple_op): Likewise.
4098         (gimple_op_ptr): Likewise.
4099         (gimple_assign_set_lhs): Remove gcc_assert.
4100         (gimple_assign_set_rhs1): Likewise.
4101         (gimple_assign_set_rhs2): Likewise.
4102         (gimple_call_set_lhs): Likewise.
4103         (gimple_call_set_fn): Likewise.
4104         (gimple_call_set_fndecl): Likewise.
4105         (gimple_call_fndecl): Likewise.
4106         (gimple_call_return_type): Likewise.
4107         (gimple_call_set_chain): Likewise.
4108         (gimple_call_num_args): Likewise.
4109         (gimple_call_set_arg): Likewise.
4110         (gimple_cond_set_code): Likewise.
4111         (gimple_cond_set_lhs): Likewise.
4112         (gimple_cond_set_rhs): Likewise.
4113         (gimple_cond_set_true_label): Likewise.
4114         (gimple_cond_set_false_label): Likewise.
4115         (gimple_label_set_label): Likewise.
4116         (gimple_goto_set_dest): Likewise.
4117         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
4118         (gimple_debug_bind_get_value): Likewise.
4119         (gimple_debug_bind_get_value_ptr): Likewise.
4120         (gimple_debug_bind_set_var): Likewise.
4121         (gimple_debug_bind_set_value): Likewise.
4122         (gimple_debug_bind_reset_value): Likewise.
4123         (gimple_debug_bind_has_value_p): Likewise.
4124         (gimple_return_retval_ptr): Remove gcc_assert.
4125         (gimple_return_retval): Likewise.
4126         (gimple_return_set_retval): Likewise.
4127         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
4128         (safe_referenced_var_iterator): Remove.
4129         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
4130         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
4131         (fill_referenced_var_vec): Remove.
4132         (first_readonly_imm_use): Remove redundant gcc_assert.
4133         (phi_arg_index_from_use): Combine gcc_asserts.
4134         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
4135         (first_imm_use_stmt): Remove redundant gcc_assert.
4136         * tree-cfg.c (verify_gimple_call): Verify function and chain
4137         operands.  Verify arguments.
4138         (verify_types_in_gimple_stmt): Verify condition code and labels.
4139
4140 2010-01-07  Richard Guenther  <rguenther@suse.de>
4141
4142         PR tree-optimization/42641
4143         * sese.c (rename_map_elt_info): Use the SSA name version, do
4144         not hash pointers.
4145
4146 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
4147
4148         PR tree-optimization/42625
4149         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
4150         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
4151
4152 2010-01-07  Duncan Sands  <baldrick@free.fr>
4153
4154         * Makefile.in (PLUGIN_HEADERS): Add version.h.
4155
4156 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
4157
4158         PR target/42511
4159         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
4160         note itself is not function_invariant_p.
4161
4162 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
4163
4164         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
4165         Do not add the DF_NOTE problem.
4166         * store-motion.c (execute_rtl_store_motion): Likewise.
4167
4168 2010-01-07  Martin Jambor  <mjambor@suse.cz>
4169
4170         PR tree-optimization/42157
4171         * tree-sra.c (compare_access_positions): Stabilize sort if both
4172         accesses have integer types, return zero immediately if they are the
4173         same.
4174
4175 2010-01-06  Richard Henderson  <rth@redhat.com>
4176
4177         PR middle-end/41883
4178         * haifa-sched.c (add_to_note_list): Merge into ...
4179         (concat_note_lists): ... here, and ...
4180         (unlink_other_notes, rm_other_notes): Merge into...
4181         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
4182         NOTE_INSN_EPILOGUE_BEG.
4183
4184 2010-01-06  Richard Guenther  <rguenther@suse.de>
4185
4186         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
4187         not inline regular functions into always-inline functions.
4188
4189 2010-01-06  Nick Clifton  <nickc@redhat.com>
4190
4191         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
4192         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
4193         used together.
4194         (OVERRIDE_OPTIONS): Delete.
4195         (OPTIMIZATION_OPTIONS): Define.
4196         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
4197         * config/rx/rx.c (rx_handle_option): Issue an error message if
4198         -mcpu=rx200 and -fpu are used together.
4199         (rx_set_optimization_options): New function.  Issue an error
4200         message if an optimization attribute attempts to reset the FPU/
4201         math optimization pairing.
4202         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
4203         * config/rx/rx.opt: Set the default to 32-bit doubles.
4204         * config/rx/t-rx: Add multilibs for -nofpu option.
4205         * doc/invoke.texi: Update documentation of RX options.
4206
4207 2010-01-06  Richard Guenther  <rguenther@suse.de>
4208
4209         * tree-ssa-pre.c (name_to_id): New global.
4210         (alloc_expression_id): Simplify SSA name handling.
4211         (lookup_expression_id): Likewise.
4212         (init_pre): Zero name_to_id.
4213         (fini_pre): Free it.
4214
4215 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
4216
4217         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
4218
4219 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
4220
4221         PR target/42542
4222         * config/i386/sse.md (smaxv2di3): New.
4223         (umaxv2di3): Likewise.
4224         (sminv2di3): Likewise.
4225         (uminv2di3): Likewise.
4226
4227 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
4228
4229         PR target/42564
4230         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
4231         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
4232         (legitimize_tls_address): Likewise.
4233         (sparc_tls_referenced_p): Likewise.
4234         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
4235         and adjust calls to legitimize_pic_address.
4236         (legitimate_constant_p) Use sparc_tls_referenced_p.
4237         (legitimate_pic_operand_p): Likewise.
4238         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
4239         (sparc_tls_symbol_ref_1): Delete.
4240         (sparc_tls_referenced_p): Make static, recognize specific patterns.
4241         (legitimize_tls_address): Make static, handle CONST patterns.
4242         (legitimize_pic_address): Make static, remove unused parameter and
4243         adjust recursive calls.
4244         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
4245         and adjust call to legitimize_pic_address.
4246         (sparc_output_mi_thunk): Likewise.
4247
4248 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
4249             H.J. Lu  <hongjiu.lu@intel.com>
4250
4251         PR target/42542
4252         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
4253         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
4254         operands to make them signed.
4255
4256         Revert:
4257         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4258
4259         PR target/42542
4260         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
4261         GTU to GT for V4SI and V2DI.
4262
4263         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
4264         (umin<mode>3): Removed.
4265         (uminv8hi3): New.
4266         (uminv4si3): Likewise.
4267
4268 2010-01-05  Martin Jambor  <mjambor@suse.cz>
4269
4270         PR tree-optimization/42462
4271         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
4272         current_function_decl to helper functions and macros.
4273
4274 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4275
4276         PR bootstrap/41771
4277         * flags.h: Don't include real.h.
4278         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
4279         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
4280         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
4281         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
4282         * dominance.c: Update copyright.
4283         * gimple.c (walk_gimple_op): Remove inline.
4284         * tree-ssa-reassoc.c: Include real.h.
4285         * Makefile.in (FLAGS_H): Remove $(REAL_H).
4286         (tree-ssa-reassoc.o): Depend on $(REAL_H).
4287
4288 2010-01-05  Nick Clifton  <nickc@redhat.com>
4289
4290         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
4291         register to push into the stack frame when the accumulator has to
4292         be saved during interrupts.
4293
4294 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
4295
4296         * doc/invoke.texi: Remove the documentation about option
4297         -Wunreachable-code.
4298         * common.opt (Wunreachable-code):  Preserved for backward
4299         compatibility.
4300         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
4301         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
4302         the backward compatibility flag section.
4303
4304 2010-01-05  Richard Guenther  <rguenther@suse.de>
4305
4306         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
4307
4308 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
4309
4310         PR other/42611
4311         * cfgexpand.c (expand_one_var): Diagnose too large variables.
4312
4313         PR tree-optimization/42508
4314         * tree-sra.c (convert_callers): Check for recursive call
4315         by comparing cgraph nodes instead of decls.
4316         (modify_function): Call ipa_modify_formal_parameters also
4317         on all same_body aliases.
4318
4319         * cgraphunit.c (cgraph_materialize_all_clones): Compare
4320         cgraph nodes when checking for same_body aliases.
4321
4322 2010-01-05  Richard Guenther  <rguenther@suse.de>
4323
4324         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
4325         allocation and lookup.
4326         (get_or_alloc_expr_for_constant): Likewise.
4327         (phi_translate): Sink allocation.
4328
4329 2010-01-04  Richard Guenther  <rguenther@suse.de>
4330
4331         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
4332         a new entry only if needed.
4333         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
4334         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
4335         hashtable lookup.
4336         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
4337         the result array.
4338         (phi_translate): Handle CONSTANTs early.
4339
4340 2010-01-04  Martin Jambor  <mjambor@suse.cz>
4341
4342         PR tree-optimization/42398
4343         * tree-sra.c (struct access): Removed flag grp_different_types.
4344         (dump_access): Do not dump the removed flag.
4345         (sort_and_splice_var_accesses): Do not set the removed flag.
4346         (sra_modify_expr): Check for type compatibility directly.
4347
4348 2010-01-04  Martin Jambor  <mjambor@suse.cz>
4349
4350         PR tree-optimization/42366
4351         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
4352         edges with variable number of parameters.
4353         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
4354         flag instead of asserting it.
4355         (ipa_read_node_info): Read uses_analysis_done flag.
4356
4357 2010-01-04  Richard Guenther  <rguenther@suse.de>
4358
4359         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
4360         iterative_hash_* as intended.
4361         (vn_reference_compute_hash): Likewise.  Simplify hashing
4362         SSA names.
4363         (vn_reference_lookup_2): Likewise.
4364         (vn_nary_op_compute_hash): Likewise.
4365         (vn_phi_compute_hash): Likewise.
4366         (expressions_equal_p): Remove strange code.
4367         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
4368         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
4369         (bitmap_insert_into_set_1): Take value-id as parameter.
4370         (add_to_value): Pass it.
4371         (bitmap_insert_into_set): Likewise.
4372         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
4373
4374 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
4375
4376         PR driver/42442
4377         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
4378         (do_self_spec): For switches with SWITCH_IGNORE set set also
4379         SWITCH_IGNORE_PERMANENTLY.
4380         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
4381         of SWITCH_IGNORE.
4382
4383 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
4384
4385         * lto-streamer-out.c (output_unreferenced_globals): Output the full
4386         tree of an unreferenced global var.
4387
4388 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4389
4390         PR target/42542
4391         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
4392         GTU to GT for V4SI and V2DI.
4393
4394         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
4395         (umin<mode>3): Removed.
4396         (uminv8hi3): New.
4397         (uminv4si3): Likewise.
4398
4399 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4400
4401         PR lto/42581
4402         * collect2.c (main): Turn on trace in collect2 if -v is passed
4403         to gcc with LTO.
4404
4405 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
4406
4407         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
4408         description of expression operand.
4409
4410 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
4411
4412         * configure.ac: Add install-html to target_list for Make-hooks.
4413         * configure: Regenerate.
4414         * fortran/Make-lang.in (F95_HTMLFILES): New.
4415         (fortran.html): Use it.
4416         (fortran.install-html): New.
4417         * Makefile.in (install-html): Add lang.install-html.
4418         * java/Make-lang.in (JAVA_HTMLFILES): New.
4419         (java.html): Use it.
4420         (java.install-html): New.
4421         * objc/Make-lang.in (objc.install-html): New.
4422         * objcp/Make-lang.in (obj-c++.install-html): New.
4423         * cp/Make-lang.in (c++.install-html): New.
4424         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
4425         * lto/Make-lang.in (lto.install-html): New.
4426
4427 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
4428
4429         PR lto/42520
4430         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
4431
4432 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
4433
4434         PR rtl-optimization/41862
4435         * store-motion.c (store_killed_in_insn, compute_store_table,
4436         remove_reachable_equiv_notes, replace_store_insn,
4437         build_store_vectors): Ignore all DEBUG_INSNs.
4438
4439 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
4440
4441         PR lto/41564
4442         * common.opt: Add dumpdir.
4443
4444         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
4445         isn't specified.
4446         (option_map): Add --dumpdir.
4447
4448         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
4449
4450         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
4451
4452         * opts.c (decode_options): Try dump_dir_name first if
4453         dump_base_name isn't an absolute path.
4454         (common_handle_option): Handle OPT_dumpdir.
4455
4456         * toplev.c (dump_dir_name): New.
4457         (print_switch_values): Also ignore -dumpdir.
4458
4459         * toplev.h (dump_dir_name): New.
4460
4461 2010-01-03  Richard Guenther  <rguenther@suse.de>
4462
4463         PR tree-optimization/42589
4464         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
4465         double-word expansion of bswap32.
4466
4467 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
4468
4469         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
4470         with BLOCK_FOR_INSN.
4471         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
4472         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
4473         noce_process_if_block): Likewise.
4474         * gcse.c (compute_local_properties, insert_expr_in_table,
4475         insert_set_in_table, canon_list_insert, find_avail_set,
4476         pre_insert_copy_insn): Likewise.
4477
4478         * basic-block.h (BLOCK_NUM): Move from here...
4479         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
4480
4481 2010-01-03  Richard Guenther  <rguenther@suse.de>
4482
4483         PR tree-optimization/42438
4484         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
4485         contains_may_not_return_call flag.
4486         (BB_MAY_NOTRETURN): New.
4487         (valid_in_sets): Trapping nary operations are not valid
4488         in blocks that may not return.
4489         (insert_into_preds_of_block): Remove check for trapping expressions.
4490         (compute_avail): Compute also BB_MAY_NOTRETURN.
4491
4492 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
4493
4494         * doc/invoke.texi: Add 2010 to copyright years.
4495
4496 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
4497
4498         * config/sparc/sparc.c: Fix formatting nits.
4499
4500 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
4501             Alexander Monakov  <amonakov@ispras.ru>
4502
4503         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
4504
4505 2010-01-02  Richard Guenther  <rguenther@suse.de>
4506
4507         PR middle-end/42577
4508         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
4509         (simplify_switch_using_ranges): Mark to be removed edges
4510         as non-executable.
4511
4512 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4513
4514         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
4515
4516         * collect2.c (scan_libraries): Add missing argument in call to
4517         scan_prog_file.
4518
4519 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
4520
4521         PR target/42448
4522         * config/alpha/predicates.md (aligned_memory_operand): Return false
4523         for CQImode.
4524         (unaligned_memory_operand): Return true for CQImode.
4525         * config/alpha/alpha.c (get_aligned_mem): Assert that location
4526         doesn not cross aligned SImode word boundary.
4527
4528 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
4529
4530         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
4531         Remove.
4532         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
4533         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
4534
4535 2010-01-02  Richard Guenther  <rguenther@suse.de>
4536
4537         PR lto/41597
4538         * toplev.c (compile_file): Emit LTO marker properly.  Change
4539         it to __gnu_lto_v1.
4540         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
4541
4542 2010-01-01  Richard Guenther  <rguenther@suse.de>
4543
4544         PR debug/42455
4545         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
4546
4547 2010-01-01  Richard Guenther  <rguenther@suse.de>
4548
4549         PR c/42570
4550         * c-decl.c (grokdeclarator): For zero-size arrays force
4551         structural equality checks as layout_type does.
4552
4553 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
4554
4555         * builtins.c: Update copyright to 2010.
4556
4557 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
4558
4559         PR lto/42531
4560         * lto-streamer-out.c (produce_asm): Revert the last change.
4561         (copy_function): Likewise.
4562
4563         * lto-streamer.c (lto_get_section_name): Skip any leading
4564         asterisk in name.
4565
4566 2010-01-01  Richard Guenther  <rguenther@suse.de>
4567
4568         PR middle-end/42559
4569         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
4570         for LABEL_DECLs.
4571
4572 \f
4573 Copyright (C) 2010 Free Software Foundation, Inc.
4574
4575 Copying and distribution of this file, with or without modification,
4576 are permitted in any medium without royalty provided the copyright
4577 notice and this notice are preserved.