OSDN Git Service

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