OSDN Git Service

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