OSDN Git Service

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