OSDN Git Service

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