OSDN Git Service

2009-10-06 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2009-12-29  Dave Korn  <dave.korn.cygwin@gmail.com>
2
3   2009-10-06 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
4
5         PR objective-c++/41595
6         * config/darwin.c (darwin_label_is_anonymous_local_objc_name):
7         New function to recognize objective c/c++ internal symbols,
8         including mangled ones.
9         * config/darwin.h (ASM_OUTPUT_LABELREF): Use
10         darwin_label_is_anonymous_local_objc_name to detect both
11         mangled and clear ObjC internal symbols.
12
13 2009-12-28  H.J. Lu  <hongjiu.lu@intel.com>
14
15         PR middle-end/41344
16         * omp-low.c (diagnose_sb_2): Handle GIMPLE_COND.
17
18 2009-12-24  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
19
20         PR target/42457
21         * config/avr/avr.c (avr_extra_arch_macro): Remove static.
22         (avr_cpu_cpp_builtins): Remove.
23         * config/avr/avr.h (avr_extra_arch_macro): Add prototype.
24         * config/avr/avr-c.c: New File.
25         (avr_cpu_cpp_builtins) : Add.
26         * config/avr/t-avr: Add make information for avr-c.
27         * config.gcc (avr-*-*): Include avr-c.o as c and cpp object. 
28
29 2009-12-24  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
30
31         PR target/35013, 27192
32         * config/avr/avr.c (print_operand_address): Print correct program
33         memory address.
34         Add warning for large device offset addresses.
35         (avr_assemble_integer): Ditto.
36         (print_operand): Add warnings for incorrect addressing.
37         (out_movqi_r_mr): Tag assembler with new address codes.
38         (out_movhi_r_mr): Ditto.
39         (out_movsi_r_mr): Ditto.
40         (out_movqi_mr_r): Ditto.
41         (out_movhi_mr_r): Ditto.
42         (out_movsi_mr_r): Ditto.
43         * config/avr/predicates.md (text_segment_operand): New predicate.
44         * config/avr/avr.md (jump): Tag assembler with new address codes.
45         (call_insn): Ditto.
46         (call_value_insn): Ditto.
47         (*tablejump_lib): Ditto.
48         (*cbi): Ditto.
49         (*sbi): Ditto.
50         (indirect_jump): New define_expand.
51         (jcindirect_jump): New pattern for constant expression jump.
52         (njcindirect_jump): Renamed old indirect_jump.
53
54 2009-12-24  Steven Bosscher  <steven@gcc.gnu.org>
55
56         * store-motion.c (build_store_vectors): Clear regs_set_in_block at
57         the start of a loop over basic blocks.
58
59 2009-12-24  Julian Brown  <julian@codesourcery.com>
60             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
61
62         PR target/40887
63         * config/arm/arm.c (output_call_mem): Remove armv5 support.
64         * config/arm/arm.md (*call_mem): Disable for armv5. Add note.
65         (*call_value_mem): Likewise.
66
67 2009-12-23  Jakub Jelinek  <jakub@redhat.com>
68
69         PR rtl-optimization/42475
70         * combine.c (make_compound_operation) <case SUBREG>: Use mode of
71         SUBREG_REG (x) instead of tem's mode.
72
73 2009-12-23  Jakub Jelinek  <jakub@redhat.com>
74             Cary Coutant  <ccoutant@google.com>
75
76         PR debug/42454
77         * dwarf2out.c (add_ranges_by_labels): Conditionally Add DW_AT_ranges
78         attribute.
79         (dwarf2out_finish): Change calls to add_ranges_by_labels.
80
81 2009-12-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
82
83         PR target/42093
84         * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage
85         to TARGET_THUMB1.
86         (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets
87         only for TARGET_THUMB1.
88
89 2009-12-23  Ramana Radhakrishnan  <ramrad01@arm.com>
90
91         PR target/40670
92         * config/arm/arm.md: Split for Thumb1 as well.
93
94 2009-12-22  Cary Coutant  <ccoutant@google.com>
95
96         PR debug/42454
97         * dwarf2out.c (dwarf2out_finish): Don't output range for .text
98         section unless .text section was used.  Likewise for cold.
99
100 2009-12-22  Brian Hackett  <bhackett1024@gmail.com>
101
102         * doc/plugins.texi: Rename pre-genericize event.
103
104 2009-12-22  Paolo Carlini  <paolo.carlini@oracle.com>
105
106         PR driver/42463
107         * params.def ([PARAM_PREDICTABLE_BRANCH_OUTCOME]): Fix typo in
108         help string.
109
110         * doc/invoke.texi: Fix typo.
111
112 2009-12-22  Paul Brook <paul@codesourcery.com>
113
114         * doc/tm.texi (ARG_POINTER_CFA_OFFSET): Document new default.
115         * defaults.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.
116         * config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.
117
118 2009-12-21  Brian Hackett  <bhackett1024@gmail.com>
119
120         * plugin.def: Rename pre-genericize event.
121         * plugin.c (register_callback, invoke_plugin_callbacks): Same.
122         * c-decl.c (finish_function): Invoke callbacks on above event.
123
124 2009-12-21  Jakub Jelinek  <jakub@redhat.com>
125
126         PR rtl-optimization/42429
127         * reload.c (find_reloads_subreg_address): When adjusting mode of
128         MEM, update also MEM_SIZE if it is set.
129
130 2009-12-21  H.J. Lu  <hongjiu.lu@intel.com>
131
132         PR bootstrap/42345
133         * acinclude.m4 (gcc_GAS_FLAGS): New.
134         (gcc_GAS_CHECK_FEATURE): Use gcc_GAS_FLAGS.
135         * configure: Regenerated.
136
137 2009-12-20  Michael Matz  <matz@suse.de>
138
139         PR tree-optimization/42027
140         * cfgexpand.c (expand_gimple_cond): Use jumpy sequence for &, &&, |
141         and || if jumps are cheap.
142
143 2009-12-19  Richard Guenther  <rguenther@suse.de>
144
145         PR lto/42401
146         * lto-streamer-out.c (tree_is_indexable): Local statics
147         are indexable.
148         (lto_output_tree_ref): Adjust assert.
149
150 2009-12-19  Richard Guenther  <rguenther@suse.de>
151
152         PR tree-optimization/42108
153         * tree-ssa-sccvn.c (last_vuse_ptr): New variable.
154         (vn_reference_lookup_2): Update last seen VUSE.
155         (vn_reference_lookup_3): Avoid updating last seen VUSE after
156         translating.
157         (visit_reference_op_load): Use last seen VUSE from the first
158         lookup when entering into the table.
159
160 2009-12-19  Joern Rennecke  <amylaar@spamcop.net>
161
162         * Makefile.in (PLUGIN_HEADERS): Add more headers.
163
164         * tree-pass.h (GCC_PASS_LISTS): Define.
165         (PASS_LIST_NO_all_lowering_passes): New enumeration value.
166         (PASS_LIST_NO_all_small_ipa_passes): Likewise.
167         (PASS_LIST_NO_all_regular_ipa_passes): Likewise.
168         (PASS_LIST_NO_all_lto_gen_passes): Likewise.
169         (PASS_LIST_NO_all_passes): Likewise.
170         (PASS_LIST_NUM): Likewise.
171         (gcc_pass_lists): Declare.
172         * passes.c (gcc_pass_lists): Define.
173
174 2009-12-18  Richard Guenther  <rguenther@suse.de>
175
176         * tree-ssa-sccvn.c (copy_nary): New function.
177         (copy_phis): Likewise.
178         (copy_references): Likewise.
179         (process_scc): Avoid last iteration by copying the
180         optimistic table to the valid table.
181
182 2009-12-17  Jakub Jelinek  <jakub@redhat.com>
183
184         * dwarf2out.c (loc_descriptor): For SYMBOL_REFs and LABEL_REFs
185         use DW_OP_addr+DW_OP_stack_value instead of DW_OP_implicit_value.
186         (add_const_value_attribute): For CONST_STRING, SYMBOL_REFs and
187         LABEL_REFs use DW_OP_addr+DW_OP_stack_value DW_AT_location instead of
188         DW_AT_const_value.
189
190 2009-12-17  Alexandre Oliva  <aoliva@redhat.com>
191
192         PR debug/41679
193         * var-tracking.c (count_uses): Count MO_VAL_USE of original
194         MO_VAL_SET value for COND_EXEC.
195         (add_stores): Handle conditional stores.
196
197         PR debug/41679
198         * var-tracking.c (use_type): Remove indirection from loc.
199         (count_uses): Dereference incoming loc early.
200         (add_uses): Dereference incoming loc early.
201
202         PR debug/41679
203         * var-tracking.c (add_stores): Avoid value mode mismatch for
204         promoted declarations.
205
206 2009-12-17  Jakub Jelinek  <jakub@redhat.com>
207
208         PR c++/42386
209         * ipa.c (function_and_variable_visibility): Clear same_comdat_group
210         links of DECL_EXTERNAL nodes.
211
212 2009-12-17  Sandra Loosemore  <sandra@codesourcery.com>
213
214         * doc/rtl.texi (Vector Operations): Clarify vec_select result mode.
215
216 2009-12-17  Julian Brown  <julian@codesourcery.com>
217
218         * config/arm/bpabi-v6m.S (test_div_by_zero): New macro.
219         (aeabi_ldivmod, aeabi_uldivmod): Use above macro.
220         * config/arm/bpabi.S (test_div_by_zero): New macro.
221         (aeabi_ldivmod, aeabi_uldivmod): Use above macro.
222         * config/arm/lib1funcs.asm (ARM_LDIV0): Tail-call int div-by-zero
223         handler for EABI. Add signed/unsigned argument, pass correct value
224         to that handler.
225         (THUMB_LDIV0): Same, for Thumb.
226         (DIV_FUNC_END): Add signed argument.
227         (WEAK): New macro (for EABI).
228         (__udivsi3, __umodsi3): Add unsigned argument to DIV_FUNC_END. For
229         __udivsi3, add entry point which skips division-by-zero test.
230         (__divsi3, __modsi3): Add signed argument to DIV_FUNC_END.
231         (__aeabi_uidivmod, __aeabi_idivmod): Check for division by zero.
232         Call __udivsi3 or __divsi3 via entry points which skip
233         division-by-zero tests.
234         (__div0): Rename to __aeabi_idiv0, __aeabi_ldiv0 for EABI, and
235         declare those names weak.
236
237 2009-12-17  Richard Guenther  <rguenther@suse.de>
238
239         PR middle-end/42397
240         * builtins.c (get_object_alignment): Properly deal with
241         a CONST_DECL base.
242         * expr.c (emit_block_move_hints): Assert the alignment makes
243         sense.
244
245 2009-12-17  Uros Bizjak  <ubizjak@gmail.com>
246
247         PR target/32280
248         * config/i386/i386-modes.def (V1TI): New vector mode.
249         * config/i386/i386.h (VALID_SSE_REG_MODE): Add V1TImode.
250         (SSE_REG_MODE_P): Ditto.
251         * config/i386/sse.md (SSEMODE16): New mode iterator.
252         (AVXMODE16): Ditto.
253         (avxvecmode): Handle V1TI mode.
254         (*avx_mov<mode>_internal): Use AVXMODE16 instead of AVXMODE.
255         (mov<mode>): Use SSEMODE16 instead of SSEMODE.
256         (*mov<mode>_internal): Ditto.
257         (push<mode>1): Ditto.
258         (movmisalign<mode>): Ditto.
259         (sse2_ashlv1ti): Rename from sse2_ashlti.
260         (sse2_lshrv1ti): Rename from sse2_lshrti.
261         (*avx_ashlv1ti): Rename from *avx_ashlti and move from i386.md.
262         (*avx_lshrv1ti): Rename from *avx_lshrti and move from i386.md.
263         (vec_shl_<mode>): Convert operands to V1TImode and use V1TI shift.
264         (vec_shr_<mode>): Ditto.
265         (*sse2_mulv4si3): Update for renamed sse2_ashlv1ti3.
266         (udot_prodv4si): Ditto.
267         * config/i386/i386.c (classify_argument): Handle V1TImode.
268         (function_arg_advance_32): Ditto.
269         (function_arg_32): Ditto.
270         (ix86_expand_sse4_unpack): Convert operands to V1TImode and update
271         for renamed gen_sse2_lshrv1ti3.
272         (ix86_expand_args_builtin) <V2DI_FTYPE_V2DI_INT_CONVERT>: Set rmode
273         to V1TImode.
274         (struct builtin_description) <__builtin_ia32_pslldqi128>: Update
275         for renamed sse2_ashlv1ti3.
276         <__builtin_ia32_psrldqi128>: Update for renamed sse2_lshrv1ti3.
277         
278         Revert:
279         2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
280
281         PR target/32280
282         * config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ...
283         * config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here.
284
285 2009-12-17  Richard Earnshaw  <rearnsha@arm.com>
286
287         PR target/42372
288         * arm.md (pic_add_dot_plus_eight): Change output constraint from
289         update to write.
290
291 2009-12-17  Shujing Zhao  <pearly.zhao@oracle.com>
292
293         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
294         Update build_indirect_ref calls.        
295
296 2009-12-17  Uros Bizjak  <ubizjak@gmail.com>
297
298         * config/i386/sync.md (IMODE): Remove mode iterator.
299         (modesuffix): Remove mode attribute.
300         (modeconstraint): Ditto.
301         (immconstraint): Ditto.
302         (*sync_compare_and_swap<mode>): Use SWI mode iterator instead of
303         IMODE mode iterator, imodesuffix mode attribute instead of modesuffix,
304         <r> mode attribute instead of modeconstraint and <i> mode attribute
305         instead of immconstraint.
306         (sync_double_compare_and_swap<mode>): Ditto.
307         (sync_old_add<mode>): Ditto.
308         (sync_lock_test_and_set<mode>): Ditto.
309         (sync_add<mode>): Ditto.
310         (sync_sub<mode>): Ditto.
311         (sync_and<mode>): Ditto.
312         (sync_ior<mode>): Ditto.
313         (sync_xor<mode>): Ditto.
314         (sync_<code><mode>): Macroize insn pattern from
315         sync_{and,ior,xor}<mode> using any_logic code iterator.
316
317 2009-12-17  Shujing Zhao  <pearly.zhao@oracle.com>
318
319         PR c/40885
320         * c-common.h (ref_operator): New type.
321         (build_indirect_ref): Adjust prototype with new argument.
322         * c-typeck.c (build_indirect_ref): Accept ref_operator as argument and
323         emit the diagnostics for easy translation.
324         (build_array_ref): Update calls to build_indirect_ref.
325         * c-omp.c (c_finish_omp_atomic): Likewise.
326         * c-parser.c (c_parser_unary_expression,
327         c_parser_postfix_expression_after_primary): Likewise.
328
329 2009-12-16  Richard Guenther  <rguenther@suse.de>
330
331         PR lto/42392
332         * langhooks.c (lhd_begin_section): Make sure to switch back
333         to the text section, not some random one.
334
335 2009-12-16  Jakub Jelinek  <jakub@redhat.com>
336
337         * tree-chrec.c (chrec_convert_1): Only fold (T2)(t +- x) to
338         (T2)t +- (T2)x if only integer types are involved.
339
340 2009-12-16  Ben Elliston  <bje@au.ibm.com>
341
342         * tree-data-ref.h (dot_rdg): Remove prototype.
343         * tree-data-ref.c (dog_rdg_1, dot_rdg): Remove.
344
345 2009-12-16  Kazu Hirata  <kazu@codesourcery.com>
346
347         * doc/invoke.texi, doc/options.texi, doc/plugins.texi,
348         doc/tm.texi: Fix typos.
349
350 2009-12-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
351
352         * doc/extend.texi (Function Attributes, Extended Asm):
353         Replace TABs with spaces.
354         * doc/md.texi (Standard Names): Likewise.
355         * doc/plugins.texi (Plugins): Likewise.
356
357         * doc/c-tree.texi (Expression trees): Use @itemx for all but
358         the first item for merged items.
359         * doc/extend.texi (Variable Attributes): Likewise.
360         * doc/install.texi (Configuration): Likewise.
361         * doc/invoke.texi (RS/6000 and PowerPC Options, RX Options):
362         Likewise.
363
364 2009-12-15  Richard Guenther  <rguenther@suse.de>
365
366         * tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET
367         and BINFO_VPTR_FIELD.
368         (free_lang_data_in_type): Do not free TYPE_STUB_DECL if we
369         generate debug information.
370         (free_lang_data_in_decl): Do not free DECL_SIZE_UNIT,
371         DECL_SIZE, DECL_FIELD_OFFSET and DECL_FCONTEXT.
372         (free_lang_data): Do not disable debuginfo.
373         * lto-streamer-out.c (write_symbol_vec): Deal with
374         non-constant DECL_SIZE.
375         (pack_ts_base_value_fields): Write types with false
376         TREE_ASM_WRITTEN.
377         (lto_output_ts_type_tree_pointers): Stream TYPE_STUB_DECL.
378         * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Stream
379         TYPE_STUB_DECL.
380         * dwarf2out.c (add_pure_or_virtual_attribute): Check for
381         DECL_CONTEXT.
382         (gen_type_die_for_member): Test for TYPE_STUB_DECL.
383         * opts.c (decode_options): Do not disable var-tracking for lto.
384         * doc/invoke.texi (-flto): Document -flto vs. -g experimental
385         status.
386         (-fwhopr): Document experimental status.
387
388 2009-12-15  Aldy Hernandez  <aldyh@redhat.com>
389
390         PR graphite/42185
391         * graphite-sese-to-poly.c (is_reduction_operation_p): Assert that
392         we are a GIMPLE_ASSIGN.  Do not calculate rhs code twice.
393         (follow_ssa_with_commutative_ops): Return NULL on non assignment.
394
395 2009-12-15  Eric Botcazou  <ebotcazou@adacore.com>
396
397         * config/rs6000/rs6000.md (probe_stack): Use an enclosing SET.
398
399 2009-12-15  Richard Guenther  <rguenther@suse.de>
400
401         * gimple.h (compare_field_offset): Declare.
402         * gimple.c (compare_field_offset): Export.
403         * lto-streamer-in.c (input_gimple_stmt): Use compare_field_offset.
404
405 2009-12-15  Richard Guenther  <rguenther@suse.de>
406
407         * lto-cgraph.c (lto_output_node): Also stream the alias
408         for regular aliases.
409         (input_node): Likewise.
410
411 2009-12-15  Paolo Bonzini  <bonzini@gnu.org>
412             Shujing Zhao  <pearly.zhao@oracle.com>
413
414         * intl.c (get_spaces): New.
415         * intl.h (get_spaces): New.
416
417 2009-12-14  Jakub Jelinek  <jakub@redhat.com>
418
419         PR bootstrap/42369
420         * config/i386/i386.c (ix86_expand_special_args_builtin): Avoid
421         using switch with CODE_FOR_lwp_lwp* cases.
422
423         * config/i386/i386-builtin-types.def (PVOID_FTYPE_VOID): Use
424         DEF_FUNCTION_TYPE (PVOID) instead of DEF_FUNCTION_TYPE (PVOID, VOID).
425
426 2009-12-14  Eric Botcazou  <ebotcazou@adacore.com>
427
428         * cfgexpand.c (expand_debug_expr) <INDIRECT_REF>: Remove overzealous
429         assertion and useless code.
430         <TARGET_MEM_REF>: Likewise.
431
432 2009-12-14  Alexandre Oliva  <aoliva@redhat.com>
433
434         PR debug/41473
435         * dwarf2out.c (AT_loc_list_ptr): New.
436         (resolve_addr): Remove unresolved attributes and loc_list entries.
437
438         PR debug/41473
439         * dwarf2out.c (add_var_loc_to_decl): Don't drop initial empty
440         locations.
441         (new_loc_list): Drop gensym arg.  Move generation of ll_symbol...
442         (gen_llsym): ... here.  New function.
443         (add_loc_descr_to_loc_list): Removed.
444         (loc_descriptor): Infer mode from CONST_DOUBLEs and CONST_VECTORs.
445         (single_element_loc_list): Removed.
446         (dw_loc_list): Don't create entries without a location.  Don't
447         special-case the first node of the list, only single nodes.
448         (single_element_loc_list_p): Simplify.
449         (loc_list_from_tree): Don't use DECL_RTL if loc_list is nonempty.
450         (add_location_or_const_value_attribute): Test var loc for NULL.
451         (convert_cfa_to_fb_loc_list): Adjust calls to new new_loc_list,
452         call gen_llsym if needed.
453
454 2009-12-14  Jakub Jelinek  <jakub@redhat.com>
455
456         * cgraph.h (cgraph_set_nothrow_flag, cgraph_set_readonly_flag,
457         cgraph_set_pure_flag, cgraph_set_looping_const_or_pure_flag): New
458         prototypes.
459         * cgraph.c (cgraph_set_nothrow_flag, cgraph_set_readonly_flag,
460         cgraph_set_pure_flag, cgraph_set_looping_const_or_pure_flag): New
461         functions.
462         * except.h (set_nothrow_function_flags): Remove prototype.
463         * except.c (set_nothrow_function_flags): Use cgraph_set_nothrow_flag.
464         Make static.
465         * ipa-pure-const.c (propagate): Use cgraph_set_nothrow_flag,
466         cgraph_set_readonly_flag, cgraph_set_pure_flag
467         and cgraph_set_looping_const_or_pure_flag.
468         (local_pure_const): Likewise.
469
470 2009-12-14  Jakub Jelinek  <jakub@redhat.com>
471             Sebastian Pop  <sebastian.pop@amd.com>
472
473         * config/i386/i386-builtin-types.def (PVOID): Declared.
474         (VOID_FTYPE_PVOID): Declared.
475         (PVOID_FTYPE_VOID): Declared.
476         (UCHAR_FTYPE_USHORT_UINT_USHORT): Removed.
477         (VOID_FTYPE_USHORT_UINT_USHORT): Removed.
478         * config/i386/i386.c (IX86_BUILTIN_LLWPCB16, IX86_BUILTIN_LLWPCB32,
479         IX86_BUILTIN_LLWPCB64, IX86_BUILTIN_SLWPCB16, IX86_BUILTIN_SLWPCB32,
480         IX86_BUILTIN_SLWPCB64, IX86_BUILTIN_LWPVAL16, IX86_BUILTIN_LWPINS16):
481         Removed.
482         (IX86_BUILTIN_LLWPCB, IX86_BUILTIN_SLWPCB): New.
483         (bdesc_special_args): Adjust declaration of __builtin_ia32_llwpcb,
484         __builtin_ia32_slwpcb, __builtin_ia32_lwpval32,
485         __builtin_ia32_lwpval64, __builtin_ia32_lwpins32, and
486         __builtin_ia32_lwpins64.
487         (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PVOID.
488         Do not handle VOID_FTYPE_USHORT_UINT_USHORT and
489         UCHAR_FTYPE_USHORT_UINT_USHORT.  Warn when the third operand is
490         not an immediate.  Also handle builtin functions with 3 arguments.
491         (ix86_expand_builtin): Handle IX86_BUILTIN_LLWPCB and
492         IX86_BUILTIN_SLWPCB.
493         * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC, UNSPEC_SLWP_INTRINSIC):
494         Renamed UNSPECV_LLWP_INTRINSIC and UNSPECV_SLWP_INTRINSIC.
495         (memory attribute): Handle lwp.
496         (lwp*): Rewrite all the insn patterns for LWP.
497         * config/i386/lwpintrin.h (__llwpcb16, __llwpcb32, __llwpcb64,
498         __slwpcb16, __slwpcb32, __slwpcb64, __lwpval16, __lwpins16): Removed.
499         (__llwpcb, __slwpcb): New.
500
501 2009-12-14  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
502
503         * dominance.c (set_immediate_dominator): Don't mark as inline.
504
505 2009-12-14  Eric Botcazou  <ebotcazou@adacore.com>
506
507         * doc/tm.texi (STACK_CHECK_PROTECT): Document alternate default.
508         * doc/md.texi (check_stack): Clarify.
509         (probe_stack): Likewise.
510         * config/rs6000/rs6000.md (UNSPEC_PROBE_STACK): New constant.
511         (probe_stack): New insn.
512
513 2009-12-14  Ben Elliston  <bje@au.ibm.com>
514
515         * lto-streamer-in.c (lto_get_builtin_tree): fclass can only be a
516         BUILT_IN_NORMAL or BUILT_IN_MD.
517
518 2009-12-13  Eric Botcazou  <ebotcazou@adacore.com>
519
520         * doc/tm.texi (STACK_CHECK_PROBE_LOAD): Delete.
521         * expr.h (STACK_CHECK_PROBE_LOAD): Likewise.
522         * explow.c (emit_stack_probe): Do not test STACK_CHECK_PROBE_LOAD.
523         * system.h (STACK_CHECK_PROBE_LOAD): Poison.
524
525 2009-12-13  Michael Matz  <matz@suse.de>
526
527         PR tree-optimization/42027
528         * dojump.c (do_jump <TRUTH_AND_EXPR, TRUTH_OR_EXPR>): Go to
529         TRUTH_ANDIF_EXPR resp. TRUTH_ORIF_EXPR expander, instead of
530         falling through.
531
532 2009-12-13  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
533
534         PR target/23726
535         * config/avr/predicates.md (pseudo_register_operand): New predicate
536         for pseudos.
537         * config/avr/avr.md (divmodqi4): Replace with define_insn_and_split
538         to allow div/mod optimization.
539         (udivmodqi4): Ditto.
540         (divmodhi4): Ditto.
541         (udivmodhi4): Ditto.
542         (divmodsi4): Ditto.
543         (udivmodsi4): Ditto.
544
545 2009-12-13  Richard Guenther  <rguenther@suse.de>
546
547         PR tree-optimization/42357
548         * tree-sra.c (sra_modify_assign): Do not tear apart struct copies.
549
550 2009-12-12  Richard Guenther  <rguenther@suse.de>
551
552         * tree.c (need_assembler_name_p): Abstract decls do not need
553         an assembler name.
554         * dwarf2out.c (dwarf2out_abstract_function): Preserve
555         DECL_ABSTRACT properly.
556
557 2009-12-11  Richard Guenther  <rguenther@suse.de>
558
559         * lto-streamer-in.c (lto_input_tree_ref): Do not register
560         DEBUG_EXPR_DECLs with the varpool.
561
562 2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
563
564         * config/sparc/linux-unwind.h (MD_FROB_UPDATE_CONTEXT, 64-bit): Define.
565         (sparc64_frob_update_context): New function.
566
567 2009-12-11  Richard Guenther  <rguenther@suse.de>
568
569         PR lto/41658
570         PR lto/41657
571         * lto-streamer-out.c (write_global_stream): Do not make decls
572         weak but resort to TREE_ASM_WRITTEN to avoid multiple definitions.
573         Make sure to mark all decls that we have written.
574
575 2009-12-11  Sebastian Andrzej Siewior  <bigeasy@linutronix.de>
576
577         PR target/36047
578
579         * config/m68k/linux.h: Remove LABELNO from the mcount statement. It is
580         not used by glibc/uclibc and does not work with large binaries.
581
582 2009-12-11  Richard Guenther  <rguenther@suse.de>
583
584         PR lto/41662
585         * lto-streamer-in.c (lto_init_eh): Move eh_initialized_p
586         handling here.
587         (input_eh_regions): Adjust.
588         (lto_input_ts_function_decl_tree_pointers): Initialize EH
589         if a non-NULL DECL_FUNCTION_PERSONALITY was read in.
590
591 2009-12-11  Duncan Sands  <baldrick@free.fr>
592
593         * passes.c (make_pass_instance): Allocate and copy the right amount of
594         memory for ipa passes, which are not the same size as other passes.
595
596 2009-12-11  Joern Rennecke  <amylaar@spamcop.net>
597
598         * plugin.c (get_named_event_id): Fix hash table rebuild to include
599         dynamically allocated events.
600
601 2009-12-11  Richard Guenther  <rguenther@suse.de>
602
603         PR lto/42320
604         * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Properly
605         detect non-prevailing decls.
606
607 2009-12-10  Jakub Jelinek  <jakub@redhat.com>
608
609         PR c++/42317
610         * cgraph.h (struct cgraph_node): Add same_comdat_group field.
611         * cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group
612         circular list.
613         (cgraph_node_can_be_local_p): Return false for DECL_COMDAT with
614         node->same_comdat_group.
615         * ipa.c (cgraph_remove_unreachable_nodes): For any reachable node
616         mark all its same_comdat_group nodes as also reachable.
617         (cgraph_externally_visible_p): Return true even if any of
618         same_comdat_group nodes has address taken.
619         * lto-cgraph.c (lto_output_node): Stream out same_comdat_group.
620         (output_cgraph): Ensure other same_comdat_group nodes are also
621         included.
622         (input_node): Stream in same_comdat_group.
623         (input_cgraph_1): Fix up same_comdat_group fields from references
624         to pointers.
625         * cgraphunit.c (cgraph_analyze_functions): Mark all other
626         same_comdat_group nodes as reachable.
627         (cgraph_mark_functions_to_output): For each node->process process
628         also other same_comdat_group nodes.
629         * ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes
630         with same_comdat_group non-NULL.
631         (cgraph_mark_inline_edge): Likewise.
632
633 2009-12-10  Jan Hubicka  <jh@suse.cz>
634
635         PR middle-end/42228
636         PR middle-end/42110
637         * cgraph.c (cgraph_create_edge_including_clones): Add old_stmt
638         parameter; update edge if it already exists.
639         (cgraph_remove_node): Handle correctly cases where we are removing
640         node having clones.
641         * cgraph.h (cgraph_create_edge_including_clones): Declare.
642         (verify_cgraph_node): Add missing error_found = true code.
643         (cgraph_materialize_all_clones): Remove call edges of dead nodes.
644         * ipa.c (cgraph_remove_unreachable_nodes): Correctly look for master
645         clone; fix double linked list removal.
646         * tree-inline.c (copy_bb): Update cgraph_create_edge_including_clones
647         call; fix frequency of newly created edge.
648
649 2009-12-10  Bernd Schmidt  <bernd.schmidt@analog.com>
650
651         PR rtl-opt/42216
652         * regrename.c: Error out if MAX_RECOG_OPERANDS is larger than
653         HOST_BITS_PER_WIDE_INT.
654         (verify_reg_in_set): New function, broken out of verify_reg_tracked.
655         (verify_reg_tracked): Use it.
656         (scan_rtx_reg): When seeing a use involving a superset of the
657         registers in an existing chain, enlarge that chain.  Otherwise,
658         allow subsets and set fail_current_block for all other kinds of
659         overlap.
660         (hide_operands): New argument UNTRACKED_OPERANDS; callers changed.
661         Do not modify operands when the bit with the corresponding number
662         is set in that bitmap.
663         (build_def_use): When we see matching operands with different
664         modes, don't set fail_current_block, but keep track of such
665         operands in a bitmap if their registers aren't already tracked
666         in an open chain.  Pass this bitmap to all hide_operands calls.
667
668 2009-12-10  Richard Guenther  <rguenther@suse.de>
669
670         PR tree-optimization/42337
671         * tree-ssa-pre.c (seen_during_translate): Remove.
672         (phi_translate_1): Collapse into ...
673         (phi_translate): ... this.  Remove seen parameter and
674         adjust recursive calls.
675
676 2009-12-10  Richard Guenther  <rguenther@suse.de>
677         Allan Sandfeld Jensen  <linux@carewolf.com>
678
679         * tree-vectorizer.c (vectorize_loops): Properly guard
680         vectorizer verboseness.
681
682 2009-12-10  Ben Elliston  <bje@au.ibm.com>
683
684         * fwprop.c (free_load_extend): Initialise `use'.
685
686 2009-12-09  David Edelsohn  <edelsohn@gnu.org>
687
688         * builtins.c (do_mpc_ckconv): Pass the component type to
689         real_from_mpfr().
690
691 2009-12-09  Xinliang David Li  <davidxl@google.com>
692
693         PR tree-optimization/42337
694         * tree-ssa-pre.c (phi_translate_1): Push and Pop SEEN set.
695
696 2009-12-09  Nathan Froyd  <froydnj@codesourcery.com>
697
698         * config/rs6000/vector.md (absv2sf2, negv2sf2, addv2sf3, subv2sf3,
699         mulv2sf3, divv2sf3): New expanders.
700         * config/rs6000/spe.md (spe_evabs, spe_evand, spe_evaddw, spe_evsubfw,
701         spe_evdivws): Rename to use standard GCC names.
702         * config/rs6000/paired.md (negv2sf, absv2sf2, addv2sf3, subv2sf3,
703         mulv2sf3, divv2sf3): Rename to avoid conflict with the new expanders.
704         * config/rs6000/rs6000.c (bdesc_2arg, bdesc_1arg): Use new CODE_FOR_
705         names for renamed patterns.
706
707 2009-12-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
708
709         * config/s390/s390.md ("copysign<mode>3"): Pattern removed.
710
711 2009-12-09  Jakub Jelinek  <jakub@redhat.com>
712
713         * configure.ac: Compute ld_ver, ld_vers, ld_date, ld_vers_major,
714         ld_vers_minor and ld_vers_path always, not just when gcc_cv_ld_hidden
715         isn't cached.
716         * configure: Regenerated.
717
718 2009-12-08  Richard Henderson  <rth@redhat.com>
719
720         * combine.c (setup_incoming_promotions): Fix sign-extend of
721         zero-extend case; tidy conditions.
722
723 2009-12-08  Michael Matz  <matz@suse.de>
724
725         PR middle-end/38474
726         * function.c (free_temp_slots): Only walk the temp slot
727         addresses and combine slots if we actually changes something.
728         (pop_temp_slots): Ditto.
729
730 2009-12-08  Olga Golovanevsky  <olga@il.ibm.com>
731
732         PR middle-end/41843
733         * ipa-struct-reorg.c (compare_fields): New function.
734         (find_field_in_struct_1): Use compare_fields function.
735         (is_equal_types): Likewise.
736
737 2009-12-07  DJ Delorie  <dj@redhat.com>
738
739         PR c/42312
740         * config/mep/mep.c (mep_expand_prologue): Set
741         really_need_stack_frame after frame_size is set.
742
743 2009-12-07  Richard Henderson  <rth@redhat.com>
744
745         PR rtl-opt/42269
746         * combine.c (setup_incoming_promotions): Improve the conditions
747         under which we respect the promotions applied.
748
749 2009-12-07  Eric Botcazou  <ebotcazou@adacore.com>
750
751         * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch.
752         * config/sparc/linux64.h (ASM_SPEC): Likewise.
753
754 2009-12-07  Richard Henderson  <rth@redhat.com>
755
756         PR debug/42299
757         PR debug/42166
758         * tree-ssa.c (insert_debug_temp_for_var_def): Skip propagation
759         for ssa names already registered for update.
760
761 2009-12-07  Jakub Jelinek  <jakub@redhat.com>
762
763         PR debug/42244
764         * ddg.c (add_inter_loop_mem_dep): Use ANTI_DEP if from or to
765         is a DEBUG_INSN.
766
767 2009-12-07  Sebastian Pop  <sebastian.pop@amd.com>
768
769         * config/i386/driver-i386.c (host_detect_local_cpu): Add -mlwp to the
770         options when bit_LWP is set.
771
772 2009-12-07  Sebastian Pop  <sebastian.pop@amd.com>
773
774         * config/i386/cpuid.h (bit_ABM): New.
775         * config/i386/driver-i386.c (host_detect_local_cpu): Add -mabm to the
776         options when bit_ABM is set.
777
778 2009-12-07  Jakub Jelinek  <jakub@redhat.com>
779
780         * config/i386/i386.c (bdesc_special_args): Move __builtin_clzs from
781         this array ...
782         (bdesc_args): ... here.
783         * config.gcc (i[34567]86-*-*): Include abmintrin.h.
784         (x86_64-*-*): Likewise.
785
786 2009-12-07  Sebastian Pop  <sebastian.pop@amd.com>
787
788         * config.gcc (i[34567]86-*-*, x86_64-*-*): Add popcntintrin.h.
789         * config/i386/abmintrin.h (_mm_popcnt_u32, _mm_popcnt_u64): Moved...
790         * config/i386/i386-c.c (__POPCNT__): Defined.
791         * config/i386/popcntintrin.h: ...here.  New file.
792         * config/i386/smmintrin.h (_mm_popcnt_u32, _mm_popcnt_u64): Moved...
793         Include popcntintrin.h.
794         * config/i386/x86intrin.h: Include popcntintrin.h when __POPCNT__
795         is defined.
796
797 2009-12-07  Sebastian Pop  <sebastian.pop@amd.com>
798
799         * config/i386/i386-protos.h (ix86_expand_fma4_multiple_memory):
800         Removed.
801         * config/i386/i386.c (ix86_expand_fma4_multiple_memory): Removed.
802         * config/i386/sse.md: Remove all XOP splitters.
803         Allow the second and fourth operands of XOP multiply-add insns
804         to be nonimmediate.
805
806 2009-12-07  Sebastian Pop  <sebastian.pop@amd.com>
807
808         * config/i386/sse.md: Remove all FMA4 splitters.
809         Allow the second operand of FMA4 insns to be a nonimmediate.
810         Fix comments punctuation.
811
812 2009-12-07  Julian Brown  <julian@codesourcery.com>
813
814         * config/arm/constraints.md (Ps, Pt): New constraint letters.
815         * config/arm/thumb2.md (*thumb2_addsi_short): Tighten constraints.
816
817 2009-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
818
819         PR other/40302
820         * configure.ac (HAVE_mpc): Don't define.
821         * config.in, configure: Regenerate.
822
823         PR other/40302
824         * builtins.c: Remove HAVE_mpc* checks throughout.
825         * fold-const.c: Likewise.
826         * real.h: Likewise.
827         * toplev.c: Likewise.
828
829 2009-12-07  Edmar Wienskoski  <edmar@freescale.com>
830
831         * config.gcc (cpu_is_64bit): Add new core e500mc64.
832         (powerpc*-*-*): Add new core e500mc64.
833         * config/rs6000/e500mc64.md: New file.
834         * config/rs6000/rs6000.c (processor_costs): Add new costs for
835         e500mc64.
836         (rs6000_override_options): Add e500mc64 case to
837         processor_target_table. Altivec and Spe options not allowed with
838         e500mc64. Disable string instructions for e500mc64. Enable branch
839         targets alignment for both e500mc and e500mc64. Initialize
840         rs6000_cost for e500mc64.
841         (rs6000_emit_sISEL): New function.
842         (rs6000_emit_sCOND): Call rs6000_emit_sISEL for isel targets.
843         (rs6000_emit_int_cmove): Fix mode of 64 bit isel pattern
844         generation.
845         (rs6000_issue_rate): Set issue rate for e500mc64.
846         (rs6000_rtx_costs): Set more accurate cost for mfcr instruction
847         on architectures with isel.
848         * config/rs6000/rs6000-protos.h (rs6000_emit_sISEL): Declare.
849         * config/rs6000/rs6000.h (processor_type): Add
850         PROCESSOR_PPCE500MC64.
851         (ASM_CPU_SPEC): Add e500mc64.
852         * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc64.
853         Include e500mc64.md.
854         (abssi2_isel): Expand pattern to handle DImode.
855         (nabs<mode>2_isel): New pattern.
856         (absdi2): Change pattern to handle 64 bit isel targets.
857         (absdi2_internal): Exclude ISEL targets.
858         (nabsdi2): Exclude ISEL targets.
859         * doc/invoke.texi: Add e500mc64 to list of cpus.
860
861 2009-12-07  Uros Bizjak  <ubizjak@gmail.com>
862
863         * config/i386/i386.md (any_or): New code iterator.
864         (any_logic): Rename from plogic code iterator.
865         (logicprefix): Rename from plogicprefix code attribute.
866         (<code><mode>3): Macroize expander from {ior,xor}<mode>3 using
867         any_or code iterator.
868         (*<code><mode>_1): Macroize insn from *{ior,xor}<mode>_1 using
869         any_or code iterator.
870         (*<code><mode>_2): Ditto from *{ior,xor}<mode>_2.
871         (*<code><mode>_3): Ditto from *{ior,xor}<mode>_3.
872         (ior and xor splitters): Ditto.
873         * config/i386/mmx.md: Updated for rename.
874         * config/i386/sse.md: Ditto.
875
876 2009-12-07  Uros Bizjak  <ubizjak@gmail.com>
877
878         * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
879         Remove quotes around condition logic code.
880
881 2009-12-06  Richard Henderson  <rth@redhat.com>
882
883         PR debug/42234
884         * tree-ssa-dom.c (degenerate_phi_result): Check for NULL phi
885         argument earlier.
886
887 2009-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
888
889         * doc/install.texi: Document MPC is required.
890
891 2009-12-06  Uros Bizjak  <ubizjak@gmail.com>
892
893         * config/i386/i386.md (g): Add HImode and QImode.
894         (general_szext_operand): New mode attribute.
895         (*test<mode>_1): Macroize insn from *test{qi,hi,si}_1 using
896         SWI124 mode iterator.
897         (and<mode>3): Macroize expander from and{qi,hi,si,di}3 using
898         SWIM mode iterator.
899         (*and<mode>_2): Macroize insn from *and{qi,hi,si}_2 using
900         SWI124 mode iterator.
901         (ior<mode>3): Macroize expander from ior{qi,hi,si,di}3 using
902         SWIM mode iterator.
903         (*ior<mode>_1): Macroize insn from *ior{hi,si,di}_1 using
904         SWI248 mode iterator.
905         (*ior<mode>_2): Macroize insn from *ior{qi,hi,si,di}_2 using
906         SWI mode iterator.
907         (*ior<mode>_3): Macroize insn from *ior{qi,hi,si,di}_3 using
908         SWI mode iterator.
909         (xor<mode>3): Macroize expander from xor{qi,hi,si,di}3 using
910         SWIM mode iterator.
911         (*xor<mode>_1): Macroize insn from *xor{hi,si,di}_1 using
912         SWI248 mode iterator.
913         (*xor<mode>_2): Macroize insn from *xor{qi,hi,si,di}_2 using
914         SWI mode iterator.
915         (*xor<mode>_3): Macroize insn from *xor{qi,hi,si,di}_3 using
916         SWI mode iterator.
917
918 2009-12-05  Sebastian Pop  <sebastian.pop@amd.com>
919
920         * config/i386/i386.c (TARGET_DEFAULT_TARGET_FLAGS): Add
921         MASK_FUSED_MADD.
922         * config/i386/i386.h (CC1_CPU_SPEC_1): Remove
923         "'-mfused-madd' was removed".
924         * config/i386/i386.opt (mfused-madd): New.
925         * config/i386/sse.md: Add TARGET_FUSED_MADD to FMA4 insns.
926         * doc/invoke.texi (-mfused-madd, -mno-fused-madd): Document.
927
928 2009-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
929
930         * pa64-hpux.h (LIB_SPEC): Handle -rdynamic.
931         * pa-hpux10.h (LIB_SPEC): Likewise.
932         * pa-hpux11.h (LIB_SPEC): Likewise.
933
934         PR ada/41912
935         * pa/linux-unwind.h (pa32_fallback_frame_state): Set fs->signal_frame
936         for signal frames.
937         * pa/hpux-unwind.h (pa32_fallback_frame_state): Likewise.
938
939 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
940
941         * configure: Regenerate.
942
943 2009-12-05  Richard Earnshaw  <rearnsha@arm.com>
944
945         * arm/thumb2.md (thumb2_mulsi_short_compare0): Use a low-register
946         for the scratch.
947
948 2009-12-04  David Daney  <ddaney@caviumnetworks.com>
949
950         PR rtl-optimization/42164
951         * combine.c (combine_simplify_rtx): Handle truncation of integer
952         constants.
953
954 2009-12-04  Richard Guenther  <rguenther@suse.de>
955
956         * lto-streamer-out.c (pack_ts_decl_common_value_fields):
957         Revert previous change.
958         (lto_output_ts_decl_common_tree_pointers): Stream DECL_VALUE_EXPR.
959         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
960         Likewise.
961
962 2009-12-04  Richard Guenther  <rguenther@suse.de>
963
964         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
965         BUILT_IN_MALLOC.
966         (call_may_clobber_ref_p_1): Likewise.
967
968 2009-12-04  Matthias Klose  <doko@ubuntu.com>
969             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
970
971         PR target/40134
972         * config.gcc (hppa*-*-linux*): Use config/t-slibgcc-libgcc.
973         * config/pa/pa-linux.h (LIB_SPEC): Remove.
974
975 2009-12-03  Sebastian Pop  <sebastian.pop@amd.com>
976             Richard Henderson  <rth@redhat.com>
977
978         * config/i386/i386-protos.h (ix86_fma4_valid_op_p): Remove.
979         * config/i386/i386.c (ix86_fma4_valid_op_p): Remove.
980         * config/i386/i386.md: Do not use ix86_fma4_valid_op_p.
981         * config/i386/sse.md (fma4_*): Remove alternative with operand 1
982         matching a memory access.  Do not use ix86_fma4_valid_op_p.
983         (xop_*): Same.
984         Do not use ix86_fma4_valid_op_p in FMA4 and XOP splitters.
985
986 2009-12-03  Richard Henderson  <rth@redhat.com>
987
988         * config/i386/i386.c (ix86_fixup_binary_operands): For FMA4, force
989         all operands into registers.
990
991 2009-12-03  Sebastian Pop  <sebastian.pop@amd.com>
992
993         * config/i386/i386.c (ix86_expand_fma4_multiple_memory): Remove unused
994         parameter.
995         * config/i386/i386-protos.h (ix86_expand_fma4_multiple_memory): Same.
996         * config/i386/sse.md: Same.
997
998 2009-12-03  Richard Guenther  <rguenther@suse.de>
999
1000         * cgraphunit.c (assemble_thunk): Use DECL_ASSEMBLER_NAME
1001         instead of DECL_NAME for the entry point.
1002
1003 2009-12-03  Richard Earnshaw  <rearnsha@arm.com>
1004
1005         * arm/linux-atomic.c (SYNC_LOCK_RELEASE): Place memory barrier
1006         before the lock release.
1007
1008 2009-12-03  Michael Matz  <matz@suse.de>
1009
1010         PR middle-end/38474
1011         * cfgexpand.c (struct stack_var): Add conflicts member.
1012         (stack_vars_conflict, stack_vars_conflict_alloc,
1013         n_stack_vars_conflict): Remove.
1014         (add_stack_var): Initialize conflicts member.
1015         (triangular_index, resize_stack_vars_conflict): Remove.
1016         (add_stack_var_conflict, stack_var_conflict_p): Rewrite in
1017         terms of new member.
1018         (union_stack_vars): Only run over the conflicts.
1019         (partition_stack_vars): Remove special case.
1020         (expand_used_vars_for_block): Don't call resize_stack_vars_conflict,
1021         don't create self-conflicts.
1022         (account_used_vars_for_block): Don't create any conflicts.
1023         (fini_vars_expansion): Free bitmaps, don't free or clear removed
1024         globals.
1025
1026 2009-12-03  Bernd Schmidt  <bernd.schmidt@analog.com>
1027
1028         PR middle-end/42202
1029         * regrename.c (live_in_chains): New variable.
1030         (verify_reg_tracked): New static function.
1031         (scan_rtx_reg): Update live_in_chains.
1032         (scan_rtx): Only promote sets in COND_EXEC to OP_INOUT if
1033         we're already tracking the reg.
1034         (build_def_use): Likewise.  Initialize live_in_chains.
1035
1036 2009-12-03  Ken Werner  <ken.werner@de.ibm.com>
1037
1038         * config/spu/spu-elf.h (STARTFILE_SPEC): Add support for gprof
1039         startup files.
1040         * config/spu/spu-protos.h (spu_function_profiler): Add prototype.
1041         * config/spu/spu.c (spu_function_profiler): New function.
1042         * config/spu/spu.h (FUNCTION_PROFILER): Invoke
1043         spu_function_profiler.
1044         (NO_PROFILE_COUNTERS): Define.
1045         (PROFILE_BEFORE_PROLOGUE): Likewise.
1046
1047 2009-12-03  Dave Korn  <dave.korn.cygwin@gmail.com>
1048
1049         * ggc-page.c (struct free_object): Pull definition out ...
1050         (struct globals): .. from here.
1051
1052 2009-12-02  Richard Guenther  <rguenther@suse.de>
1053
1054         * fold-const.c (div_if_zero_remainder): Honor that sizetypes
1055         are sign-extending.  Simplify.
1056
1057 2009-12-02  Richard Henderson  <rth@redhat.com>
1058
1059         PR tree-opt/42215
1060         * tree-loop-distribution.c (build_size_arg_loc): Tidy.
1061         (generate_memset_zero): Convert to sizetype properly.  Tidy.
1062
1063 2009-12-02  Richard Guenther  <rguenther@suse.de>
1064
1065         * lto-streamer-out.c (pack_ts_decl_common_value_fields):
1066         Do not pretend we have value exprs.
1067
1068 2009-12-02  Richard Guenther  <rguenther@suse.de>
1069
1070         PR middle-end/41491
1071         * fold-const.c (try_move_mult_to_index): Do not leak
1072         domain types into the IL.
1073
1074 2009-12-02  Richard Guenther  <rguenther@suse.de>
1075
1076         PR middle-end/42088
1077         * tree.c (free_lang_data): Disable if not using LTO.
1078
1079 2009-12-02  Richard Guenther  <rguenther@suse.de>
1080
1081         PR middle-end/42229
1082         * cfgloopmanip.c (remove_path): Avoid cancelling loops twice.
1083
1084 2009-12-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1085
1086         PR middle-end/42224
1087         * tree.h (int_or_pointer_precision): Remove.
1088         * tree.c (int_or_pointer_precision): Remove.
1089         (integer_pow2p): Use TYPE_PRECISION instead.
1090         (tree_log2): Likewise.
1091         (tree_floor_log2): Likewise.
1092         (signed_or_unsigned_type_for): Likewise.
1093         * fold-const.c (fit_double_type): Likewise.
1094         * varasm.c (initializer_constant_valid_p): Likewise.
1095
1096 2009-12-02  Ira Rosen  <irar@il.ibm.com>
1097
1098         * doc/invoke.texi (-fdump-tree-slp): Document.
1099         (-ftree-vectorizer-verbose): Update.
1100         (-ftree-slp-vectorize): Document.
1101
1102 2009-12-02  Nick Clifton  <nickc@redhat.com>
1103
1104         * config/rx/rx.c (rx_conditional_register_usage): Do not warn if
1105         no fixed registers are available for interrupt handlers.  Do not
1106         fix normal registers.
1107         (MUST_SAVE_ACC_REGISTER): New macro.
1108         (rx_get_stack_layout): Create a stack frame for fast interrupt
1109         handlers, if necessary.  Push extra registers if needed in order
1110         to save the accumulator.
1111         (rx_expand_prologue): Create a stack frame for fast interrupt
1112         handlers, if necessary.
1113         (rx_expand_builtin_mvfc): Handle the case where there is no target.
1114
1115 2009-12-01  Sebastian Pop  <sebastian.pop@amd.com>
1116
1117         * config/i386/abmintrin.h (__lzcnt16): New.
1118         (__lzcnt): New.
1119         (__lzcnt64): New.
1120         * config/i386/i386-builtin-types.def (UINT16_FTYPE_UINT16): New.
1121         * config/i386/i386.c (IX86_BUILTIN_CLZS): New.
1122         (bdesc_special_args): Add __builtin_clzs.
1123         (ix86_expand_args_builtin): Handle UINT16_FTYPE_UINT16.
1124
1125 2009-12-01  Sebastian Pop  <sebastian.pop@amd.com>
1126
1127         * config/i386/abmintrin.h (_mm_popcnt_u32): New.
1128         (_mm_popcnt_u64): New.
1129
1130 2009-12-01  Sebastian Pop  <sebastian.pop@amd.com>
1131
1132         * config/i386/abmintrin.h: New.
1133         * config/i386/i386-c.c (ix86_target_macros_internal): Defined __ABM__.
1134         * config/i386/x86intrin.h: Include abmintrin.h when __ABM__ is defined.
1135
1136 2009-12-01  Uros Bizjak  <ubizjak@gmail.com>
1137
1138         * config/i386/i386.md (SWI124): Rename from CRC32MODE.
1139         (crc32modesuffix): Remove.
1140         (crc32modeconstraint): Ditto.
1141         (sse4_2_crc32<mode>): Update for renamed mode iterator.  Use
1142         imodesuffix instead of crc32modesuffix and <r>m instead of
1143         crc32modeconstraint.
1144
1145 2009-12-01  Jakub Jelinek  <jakub@redhat.com>
1146
1147         PR c++/42234
1148         * tree-cfgcleanup.c (cleanup_omp_return): Don't ICE if control_bb
1149         contains no statements.
1150
1151 2009-12-01  Grigori Fursin  <grigori.fursin@inria.fr>
1152             Joern Rennecke  <amylaar@spamcop.net>
1153
1154         * cgraphunit.c (plugin.h): Include.
1155         (ipa_passes): Invoke PLUGIN_ALL_IPA_PASSES_START /
1156         PLUGIN_ALL_IPA_PASSES_END at start / end of processing.
1157         * gcc-plugin.h (highlev-plugin-common.h, hashtab.h): Include.
1158         (enum plugin_event): Define by including plugin.def.
1159         Last enumerator is now called PLUGIN_EVENT_FIRST_DYNAMIC.
1160         (plugin_event_name): Change type to const char **.
1161         (get_event_last, get_named_event_id, unregister_callback): Declare.
1162         (register_callback): Change type of event argument to int.
1163         (highlev-plugin-common.h): New file.
1164         * Makefile.in (GCC_PLUGIN_H): Add highlev-plugin-common.h and
1165         $(HASHTAB_H)
1166         (tree-optimize.o passes.o): Depend on $(PLUGIN_H).
1167         (PLUGIN_HEADERS): Add opts.h, $(PARAMS_H) and plugin.def.
1168         (s-header-vars): New rule.
1169         (install-plugin): Depend on s-header-vars.  Install b-header-vars.
1170         * params.c (get_num_compiler_params): New function.
1171         * params.h (get_num_compiler_params): Declare.
1172         * passes.c (plugin.h): Include.
1173         (make_pass_instance): Invoke PLUGIN_NEW_PASS.
1174         (do_per_function_toporder, pass_init_dump_file): No longer static.
1175         (pass_fini_dump_file): Likewise.
1176         (execute_one_pass): Likewise.  Invoke PLUGIN_OVERRIDE_GATE and
1177         PLUGIN_PASS_EXECUTION.
1178         (execute_ipa_pass_list): Invoke PLUGIN_EARLY_GIMPLE_PASSES_START and
1179         PLUGIN_EARLY_GIMPLE_PASSES_END.
1180         * plugin.c (plugin_event_name_init): New array, defined by
1181         including plugin.def.
1182         (FMT_FOR_PLUGIN_EVENT): Update.
1183         (plugin_event_name): Change type to const char ** and initialize
1184         to plugin_event_name_init.
1185         (event_tab, event_last, event_horizon): New variable.
1186         (get_event_last): New function.
1187         (plugin_callbacks_init): New array.
1188         (plugin_callbacks: Change type to struct callback_info **.
1189         Initialize to plugin_callbacks_init.
1190         (htab_event_eq, get_named_event_id, unregister_callback): New function.
1191         (invoke_plugin_va_callbacks): Likewise.
1192         (register_callback): Change type of event argument to int.
1193         Handle new events.  Allow dynamic events.
1194         (invoke_plugin_callbacks): Likewise.  Return success status.
1195         (plugins_active_p): Allow dynamic callbacks.
1196         * plugin.def: New file.
1197         * plugin.h (invoke_plugin_callbacks): Update prototype.
1198         (invoke_plugin_va_callbacks): Declare.
1199         * tree-optimize.c (plugin.h): Include.
1200         (tree_rest_of_compilation): Invoke PLUGIN_ALL_PASSES_START and
1201         PLUGIN_ALL_PASSES_END.
1202         * tree-pass.h (execute_one_pass, pass_init_dump_file): Declare.
1203         (pass_fini_dump_file, do_per_function_toporder): Likewise.
1204         * doc/plugin.texi: Document new event types.
1205
1206 2009-12-01  Martin Jambor  <mjambor@suse.cz>
1207
1208         PR tree-optimization/42237
1209         * tree-sra.c (sra_ipa_modify_assign): Split gimple_reg_type assignments
1210         in between references into two.
1211
1212 2009-12-01  Richard Guenther  <rguenther@suse.de>
1213
1214         * tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK
1215         to the block of the call when remapping a type.
1216
1217 2009-12-01  Martin Jambor  <mjambor@suse.cz>
1218
1219         * cgraph.h (struct cgraph_edge): Reorder fields.  Make loop_nest
1220         unsigned short int.
1221         * ipa-prop.h (struct ipa_param_call_note): Likewise.
1222         * ipa-prop.c (ipa_note_param_call): Initialize note->loop_nest.
1223
1224 2009-12-01  Richard Guenther  <rguenther@suse.de>
1225
1226         * final.c (rest_of_clean_state): If -fcompare-debug is
1227         given dump final insns without UIDs.
1228         * tree-ssa-live.c (remove_unused_scope_block_p): Remove
1229         after_inlining checks.
1230
1231 2009-11-30  Chao-ying Fu  <fu@mips.com>
1232
1233         * config/mips/mips-dsp.md (mips_lhx_<mode>): Use sign_extend.
1234
1235 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
1236
1237         * configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect
1238         status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
1239         * configure: Regenerate.
1240         * config.in: Regenerate.
1241
1242         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Define list of --wrap
1243         options for Cygwin DLL libstdc++ support wrappers.
1244         (CXX_WRAP_SPEC_OPT): Define spec to use wrappers or not by default
1245         according to defined value of USE_CYGWIN_LIBSTDCXX_WRAPPERS.
1246         (CXX_WRAP_SPEC): Define entire wrapper spec in or out according to
1247         whether USE_CYGWIN_LIBSTDCXX_WRAPPERS is even defined or not.
1248         (LINK_SPEC): Include CXX_WRAP_SPEC.
1249         * gcc/config/i386/winnt.c (wrapper_strcmp): New qsort helper function.
1250         (i386_find_on_wrapper_list): Check if a function is found on the list
1251         of libstdc++ wrapper options.
1252         (i386_pe_file_end): If we are importing a wrapped function, also emit
1253         an external declaration for the real version.
1254         * config/i386/cygming.opt (muse-libstdc-wrappers): New option for
1255         Cygwin targets. Update copyright year.
1256
1257 2009-11-30  Steve Ellcey  <sje@cup.hp.com>
1258             Jakub Jelinek <jakub@redhat.com>
1259
1260         * function.c (instantiate_virtual_regs_in_insn): Copy to new reg
1261         before forcing mode.
1262
1263 2009-11-30  Anatoly Sokolov  <aesok@post.ru>
1264
1265         * config/sh/sh.c (sh_promote_prototypes): Make static.
1266         (sh_function_value, sh_libcall_value, sh_function_value_regno_p): New
1267         functions.
1268         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
1269         * config/sh/sh.h (FUNCTION_VALUE_REGNO_P): Redefine, use
1270         sh_function_value_regno_p.
1271         (FUNCTION_VALUE, LIBCALL_VALUE): Remove.
1272         * config/sh/sh-protos.h (sh_function_value_regno_p): Declare.
1273         (sh_promote_prototypes) : Remove.
1274
1275 2009-11-30  Julian Brown  <julian@codesourcery.com>
1276
1277         * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2
1278         reloads to LO_REGS.
1279
1280 2009-11-30  Richard Henderson  <rth@redhat.com>
1281
1282         * config/i386/i386.c (ix86_vec_interleave_v2df_operator_ok): New.
1283         (bdesc_special_args): Update insn codes.
1284         (avx_vpermilp_parallel): Correct range check.
1285         (ix86_rtx_costs): Handle vector permutation rtx codes.
1286         (struct expand_vec_perm_d): Move earlier.
1287         (get_mode_wider_vector): New.
1288         (expand_vec_perm_broadcast_1): New.
1289         (ix86_expand_vector_init_duplicate): Use it.  Tidy AVX modes.
1290         (expand_vec_perm_broadcast): New.
1291         (ix86_expand_vec_perm_builtin_1): Use it.
1292         * config/i386/i386-protos.h: Update.
1293         * config/i386/predicates.md (avx_vbroadcast_operand): New.
1294         * config/i386/sse.md (AVX256MODE24P): New.
1295         (ssescalarmodesuffix2s): New.
1296         (avxhalfvecmode, avxscalarmode): Fill out to all modes.
1297         (avxmodesuffixf2c): Add V8SI, V4DI.
1298         (vec_dupv4sf): New expander.
1299         (*vec_dupv4sf_avx): Add vbroadcastss alternative.
1300         (*vec_set<mode>_0_avx, **vec_set<mode>_0_sse4_1): Macro-ize for
1301         V4SF and V4SI.  Move C alternatives to front.  Add insertps and
1302         pinsrd alternatives.
1303         (*vec_set<mode>_0_sse2): Split out from ...
1304         (vec_set<mode>_0): Macro-ize for V4SF and V4SI.
1305         (vec_interleave_highv2df, vec_interleave_lowv2df): Require register
1306         destination; use ix86_vec_interleave_v2df_operator_ok, instead of
1307         ix86_fixup_binary_operands.
1308         (*avx_interleave_highv2df, avx_interleave_lowv2df): Add movddup.
1309         (*sse3_interleave_highv2df, sse3_interleave_lowv2df): New.
1310         (*avx_movddup, *sse3_movddup): Remove.  New splitter from
1311         vec_select form to vec_duplicate form.
1312         (*sse2_interleave_highv2df, sse2_interleave_lowv2df): Use
1313         ix86_vec_interleave_v2df_operator_ok.
1314         (avx_movddup256, avx_unpcklpd256): Change to expanders, merge into ...
1315         (*avx_unpcklpd256): ... here.
1316         (*vec_dupv4si_avx): New.
1317         (*vec_dupv2di_avx): Add movddup alternative.
1318         (*vec_dupv2di_sse3): New.
1319         (vec_dup<AVX256MODE24P>): Replace avx_vbroadcasts<AVXMODEF4P> and
1320         avx_vbroadcastss256; represent with vec_duplicate instead of
1321         nested vec_concat operations.
1322         (avx_vbroadcastf128_<mode>): Rename from
1323         avx_vbroadcastf128_p<avxmodesuffixf2c>256.
1324         (*avx_vperm_broadcast_v4sf): New.
1325         (*avx_vperm_broadcast_<AVX256MODEF2P>): New.
1326
1327 2009-11-30  Martin Jambor  <mjambor@suse.cz>
1328
1329         PR middle-end/42196
1330         * tree-sra.c (struct access): New field grp_different_types.
1331         (dump_access): Dump grp_different_types.
1332         (compare_access_positions): Prefer scalars and vectors over other
1333         scalar types.
1334         (sort_and_splice_var_accesses): Set grp_different_types if appropriate.
1335         (sra_modify_expr): Use the original also when dealing with a complex
1336          or vector group accessed as multiple types.
1337
1338 2009-11-30  Richard Henderson  <rth@redhat.com>
1339
1340         * config/i386/i386.c (avx_vperm2f128_parallel): New.
1341         * config/i386/i386-protos.h: Declare it.
1342         * config/i386/predicates.md (avx_vperm2f128_v8sf_operand,
1343         avx_vperm2f128_v8si_operand, avx_vperm2f128_v4df_operand): New.
1344         * config/i386/sse.md (avx_vperm2f128<mode>3): Change to expander.
1345         (*avx_vperm2f128<mode>_full): Renamed from avx_vperm2f128<mode>3.
1346         (*avx_vperm2f128<mode>_nozero): New.
1347
1348 2009-11-30  Richard Henderson  <rth@redhat.com>
1349
1350         * config/i386/i386-builtin-types.def (V4DF_FTYPE_V4DF_V4DF_V4DI): New.
1351         (V8SF_FTYPE_V8SF_V8SF_V8SI): New.
1352         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Support
1353         V4DF and V8SF for AVX; relax constraint on V4SF to SSE1 from SSE2.
1354         (IX86_BUILTIN_VEC_PERM_V4DF, IX86_BUILTIN_VEC_PERM_V8SF): New.
1355         (bdesc_args): Add them.
1356         (ix86_expand_builtin): Expand them.
1357         (expand_vec_perm_pshufb2): Only operate on 16-byte vectors.
1358
1359 2009-11-30  Martin Jambor  <mjambor@suse.cz>
1360
1361         PR middle-end/42206
1362         * ipa-prop.c (ipa_write_node_info): Initialize note_count to zero.
1363
1364 2009-11-30  Jakub Jelinek  <jakub@redhat.com>
1365
1366         * ipa-reference.c (propagate): Only dump bitmaps if computed.
1367
1368 2009-11-30  Olga Golovanevsky  <olga@il.ibm.com>
1369
1370         PR middle-end/39806
1371         * ipa-struct-reorg.c (new_var_eq): Use DECL_UID to hash new variables.
1372         (new_var_hash): Likewise.
1373         (is_in_new_vars_htab): Likewise.
1374         (add_to_new_vars_htab): Likewise.
1375
1376 2009-11-30  Ira Rosen  <irar@il.ibm.com>
1377
1378         * tree-vect-stmts.c (vectorizable_assignment): Support
1379         multiple types.
1380
1381 2009-11-30  Richard Guenther  <rguenther@suse.de>
1382
1383         * doc/contrib.texi (Contributors): Add myself.
1384
1385 2009-11-30  Richard Guenther  <rguenther@suse.de>
1386
1387         * tree.c (free_lang_data): Do not set debug_info_level to
1388         none if terse.
1389
1390 2009-11-30  Richard Guenther  <rguenther@suse.de>
1391
1392         PR middle-end/42119
1393         PR fortran/38530
1394         * expr.c (expand_expr_addr_expr_1): Properly expand the initializer
1395         of CONST_DECLs.
1396
1397 2009-11-30  Richard Guenther  <rguenther@suse.de>
1398
1399         * tree-into-ssa.c (insert_phi_nodes): Add PHI nodes in
1400         variable UID order.
1401
1402 2009-11-30  Richard Guenther  <rguenther@suse.de>
1403
1404         * tree-dump.c (dump_option_value_in): Add TDF_NOUID.
1405         * tree-pass.h (TDF_NOUID): Likewise.
1406         * print-rtl.c: Include tree-pass.h.
1407         (print_mem_expr): Pass dump_flags.
1408         (print_rtx): Likewise.
1409         * print-tree.c: Include tree-pass.h.
1410         (print_node_brief): Handle TDF_NOUID.
1411         (print_node): Likewise.
1412         * tree-pretty-print.c (dump_decl_name): Likewise.
1413         (dump_generic_node): Likewise.
1414         * Makefile.in (print-rtl.o, print-tree.o): Add $(TREE_PASS_H)
1415         dependency.
1416
1417 2009-11-30  Nick Clifton  <nickc@redhat.com>
1418
1419         * config/stormy16/stormy16-lib2-count-leading-zeros.c: Delete.
1420         * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Remove
1421         stormy16-lib2-count-leading-zeros.c.
1422         * config/stormy16/stormy16-lib2.c (__clzhi2): Move code from
1423         __stormy16_count_leading_zeros() into this function.
1424         (__ctzhi2): Use __builtin_clz.
1425         (__ffshi2): Likewise.
1426
1427 2009-11-30  Eric Botcazou  <ebotcazou@adacore.com>
1428
1429         * config/sparc/sparc.c (DF_MODES): Simplify.
1430         (TF_ONLY_MODES, OF_ONLY_MODES): Delete.
1431         (TF_MODES, OF_MODES): Adjust for above change.
1432         (TF_MODES_NO_S, OF_MODES_NO_S): Likewise.
1433         *  config/sparc/sparc.h (REGNO_REG_CLASS): Move around.
1434
1435 2009-11-30  Paolo Bonzini  <bonzini@gnu.org>
1436
1437         PR rtl-optimization/41812
1438         * fwprop.c (local_md, local_lr): New globals.
1439         (process_defs, process_uses): Remove local_md argument.  Never
1440         consider dead pseudos to have singleton def-use chains.
1441         (single_def_use_enter_block): Perform LR simulation.
1442         (build_single_def_use_links): Remove local_md local variable.
1443         Add DF_NOTE.  Allocate local_lr.
1444         (fwprop_done): Do not remove DF_CHAIN, we do not use it anymore.
1445         * df-problems.c (df_md_scratch): New.
1446         (df_md_alloc, df_md_free): Allocate/free it.
1447         (df_md_local_compute): Only include live registers in init.
1448         (df_md_transfer_function): Prune the in-set computed by
1449         the confluence function, and the gen-set too.
1450
1451 2009-11-30  Hans-Peter Nilsson  <hp@axis.com>
1452
1453         PR rtl-optimization/40086
1454         * reorg.c (relax_delay_slots): When looking for redundant insn at
1455         the branch target, use next_real_insn, not next_active_insn.
1456
1457 2009-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1458
1459         * doc/install.texi: Update minimum MPC version to 0.8.
1460
1461 2009-09-09  Segher Boessenkool  <segher@kernel.crashing.org>
1462
1463         * config/rs6000/rs6000.md (fnmaddsf4_powerpc_1): Remove
1464         HONOR_SIGNED_ZEROS final condition.
1465         (fnmsubsf4_powerpc_1): Same.
1466         (fnmadddf4_fpr_1): Same.
1467         (fnmsubdf4_fpr_1): Same.
1468
1469 2009-11-29  Ira Rosen  <irar@il.ibm.com>
1470
1471         PR tree-optimization/42193
1472         * tree-vect-stmts.c (vectorizable_operation): Set vectorization factor
1473         to 1 in case of basic block SLP.
1474         (vectorizable_load): Likewise.
1475
1476 2009-11-28  Jan Hubicka  <jh@suse.cz>
1477
1478         * cgraph.c (same_body_alias_1): Break out of
1479         (same_body_alias): ... here; remove comdat check; it is handled
1480         in cp already.
1481         (cgraph_add_thunk): New.
1482         (dump_cgraph_node): Dump aliases and thunks.
1483         * cgraph.h (cgraph_thunk_info): New structure.
1484         (struct cgraph_node): Add thunk info.
1485         (cgraph_add_thunk): New.
1486         * cgraphunit.c (cgraph_emit_thunks): Remove.
1487         (cgraph_finalize_compilation_unit): Do not call cgraph_emit_thunks.
1488         (assemble_thunk): New function.
1489         (cgraph_expand_function): Handle thunks.
1490         (thunk_adjust): New.
1491         (init_lowered_empty_function): New.
1492         * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS):
1493         Remove.
1494         * lto-cgraph.c (lto_output_node): Stream thunk info.
1495         (input_node): Likewise.
1496         * langhooks.h (lang_hooks_for_callgraph): Remove emit_associated_thunks.
1497         * langhooks-def.h (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Remove.
1498         (LANG_HOOKS_CALLGRAPH_INITIALIZER): Update.
1499         * i386.c (x86_output_mi_thunk): Make output prettier.
1500
1501 2009-11-28  Richard Guenther  <rguenther@suse.de>
1502
1503         PR tree-optimization/42183
1504         * tree-nrv.c (tree_nrv): Bail out if the RESULT_DECL has its
1505         address taken.  Merge the addressable state of the NRV
1506         variable and the result instead of copying it.
1507
1508 2009-11-28  Jakub Jelinek  <jakub@redhat.com>
1509
1510         * matrix-reorg.c (analyze_matrix_allocation_site): Remove unused
1511         malloc_fname variable.
1512         (check_allocation_function): Remove unused gsi and bb_level_0
1513         variables.
1514         (transform_access_sites): Remove unused d_type_size and d_type_size_k
1515         variables.
1516         * omega.c (resurrect_subs): Remove unused n variable.
1517         (omega_solve_geq): Remove unused neweqns variable.
1518         * lto-streamer-in.c (lto_read_tree): Remove unused end_marker variable.
1519         * tree-inline.c (declare_return_variable): Remove USE_P argument,
1520         return use instead of var.
1521         (remap_decl, remap_block): Remove unused fn variable.
1522         (expand_call_inline): Remove unused retvar variable, adjust
1523         declare_return_variable caller.
1524         (optimize_inline_calls): Remove unused prev_fn variable.
1525         * tree-vect-slp.c (vect_analyze_slp_instance): Remove unused ncopies
1526         variable.
1527         (vect_create_mask_and_perm): Remove unused group_size and dr_chain_size
1528         variables.
1529         * tree-ssa-loop-niter.c (split_to_var_and_offset): Handle MINUS_EXPR
1530         properly.
1531         * tree-vect-loop.c (vect_analyze_loop_form): Remove unused backedge
1532         variable.
1533         (vect_create_epilog_for_reduction): Remove unused bytesize variable.
1534         * omp-low.c (workshare_safe_to_combine_p): Remove par_entry_bb
1535         parameter.  Remove unused par_stmt variable.
1536         (determine_parallel_type): Adjust workshare_safe_to_combine_p caller.
1537         (expand_omp_sections): Remove unused l1 variable.
1538         (lower_omp_for): Remove unused ilist variable.
1539         * tree-loop-distribution.c (mark_nodes_having_upstream_mem_writes):
1540         Remove unused has_upstream_mem_write_p variable.
1541         * recog.c (decode_asm_operands): Remove unused noperands variable.
1542         * tree-ssa-alias.c (refs_may_alias_p_1): Remove unused size1 and
1543         size2 variable.
1544         * libgcov.c (__gcov_merge_delta): Remove unused last variable.
1545         * tree-call-cdce.c (gen_conditions_for_pow_int_base): Remove unused
1546         base_nm variable.
1547         (gen_conditions_for_pow): Remove unused ec variable.
1548         * tree-ssa-sccvn.c (vn_reference_lookup_3): Remove unused size
1549         variable.
1550         * ipa-struct-reorg.c (program_redefines_malloc_p): Remove unused
1551         fndecl variable.
1552         * tree-ssa-sink.c (statement_sink_location): Remove unused code
1553         variable.
1554         * regmove.c (copy_src_to_dest): Remove unused insn_uid and move_uid
1555         variables.
1556         * tree-complex.c (create_one_component_var): Remove unused inner_type
1557         variable.
1558         * calls.c (emit_call_1): Don't GEN_INT (struct_value_size)
1559         unnecessarily when GEN_*CALL omits that argument.
1560         * regrename.c (regrename_optimize): Remove unused regs_seen variable.
1561         (build_def_use): Remove unused icode variable.
1562         * ipa-pure-const.c (check_call): Remove unused callee and avail
1563         variables.
1564         * tree-dfa.c (add_referenced_var): Remove unused v_ann variable.
1565         * tree-vect-patterns.c (vect_recog_pow_pattern): Remove unused type
1566         variable.
1567         (vect_pattern_recog): Remove unused stmt variable.
1568         * sel-sched-ir.c (make_regions_from_the_rest): Remove unused
1569         new_regions variable.
1570         * postreload.c (reload_cse_simplify_operands): Remove unused mode
1571         variable.
1572         * tree-parloops.c (create_call_for_reduction_1): Remove unused
1573         addr_type variable.
1574         (create_parallel_loop): Remove unused res variable.
1575         (gen_parallel_loop): Remove unused nloop variable.
1576         * tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
1577         * value-prof.c (gimple_mod_subtract_transform,
1578         gimple_stringops_transform): Remove unused value variable.
1579         (gimple_stringops_values_to_profile): Remove unused fcode variable.
1580         * tree-vrp.c (register_new_assert_for): Remove unused found variable.
1581         (vrp_visit_switch_stmt): Remove unused n variable.
1582         * tree-vect-stmts.c (vectorizable_conversion): Remove unused expr
1583         variable.
1584         (vectorizable_operation): Remove unused shift_p variable.
1585         (vectorizable_store): Remove unused first_stmt_vinfo variable.
1586         * tree-ssa-operands.c (add_stmt_operand): Remove unused v_ann variable.
1587         * tree-vect-data-refs.c (vect_analyze_data_refs): Remove unused bb
1588         variable.
1589         (vect_permute_store_chain): Remove unused scalar_dest variable.
1590         (vect_supportable_dr_alignment): Remove unused invariant_in_outerloop
1591         variable.
1592         * tree-ssa-threadupdate.c (thread_single_edge): Remove unused
1593         local_info variable.
1594         * tree-optimize.c (tree_rest_of_compilation): Remove unused node
1595         variable.
1596         * optabs.c (expand_binop): Remove unused equiv_value variable.
1597         (emit_libcall_block): Remove unused prev variable.
1598         (init_optabs): Remove unused int_mode variable.
1599         * tree-ssa-structalias.c (scc_visit): Remove unused have_ref_node
1600         variable.
1601         (do_structure_copy): Remove unused lhsbase and rhsbase variables.
1602         (find_func_aliases): Remove unused rhstype variable.
1603         (ipa_pta_execute): Remove unused varid variable.
1604
1605 2009-11-28  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
1606
1607         * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add.
1608
1609 2009-11-28  David Binderman  <dcb314@hotmail.com>
1610
1611         * ira-color.c (put_allocno_into_bucket): Remove set but not used
1612         local variable hard_regs_num.
1613         * ira-lives.c (process_single_reg_class_operands): Remove cover_class.
1614         * loop-unswitch.c (unswitch_loop): Remove zero_bitmap.
1615         * lower-subreg.c (decompose_multiword_subregs): Remove next.
1616
1617 2009-11-27  Martin Jambor  <mjambor@suse.cz>
1618
1619         PR middle-end/42006
1620         * tree-sra.c (get_replaced_param_substitute): Call create_tmp_var
1621         instead of create_tmp_var.  Set DECL_GIMPLE_REG_P to one manually
1622         for vector and complex types.
1623         (get_adjustment_for_base): Describe return value in the comment.
1624
1625 2009-11-27  Nick Clifton  <nickc@redhat.com>
1626
1627         * longlong.h (count_leading_zeros): Define macro for stormy16 target.
1628         (COUNT_LEADING_ZEROS_0): Likewise.
1629         * config/stormy16/stormy16-lib2.c: Arrange for separate
1630         compilation of each function.
1631         (__ffshi2): New function.
1632         (__stormy16_count_leading_zeros): New function.
1633         * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Use stub files to
1634         compile each function into its own object file.
1635         (stormy16-lib2-ashlsi3.c): New stub file.
1636         (stormy16-lib2-ashrsi3.c): New stub file.
1637         (stormy16-lib2-clzhi2.c): New stub file.
1638         (stormy16-lib2-count-leading-zeros.c): New stub file.
1639         (stormy16-lib2-ctzhi2.c): New stub file.
1640         (stormy16-lib2-divsi3.c): New stub file.
1641         (stormy16-lib2-ffshi2.c): New stub file.
1642         (stormy16-lib2-lshrsi3.c): New stub file.
1643         (stormy16-lib2-modsi3.c): New stub file.
1644         (stormy16-lib2-parityhi2.c): New stub file.
1645         (stormy16-lib2-popcounthi2.c): New stub file.
1646         (stormy16-lib2-udivmodsi4.c): New stub file.
1647         (stormy16-lib2-udivsi3.c): New stub file.
1648         (stormy16-lib2-umodsi3.c): New stub file.
1649
1650 2009-11-27  Richard Henderson  <rth@redhat.com>
1651
1652         * config/i386/sse.md (vec_interleave_highv16qi,
1653         vec_interleave_lowv16qi, vec_interleave_highv8hi,
1654         vec_interleave_lowv8hi, vec_interleave_highv4si,
1655         vec_interleave_lowv4si, vec_interleave_highv2di,
1656         vec_interleave_lowv2di, vec_interleave_highv4sf,
1657         vec_interleave_lowv4sf, vec_interleave_highv2df,
1658         vec_interleave_lowv2df): Remove expanders.
1659         (sse_unpcklps, sse_unpckhps, sse2_unpckhpd_exp, sse2_unpcklpd_exp,
1660         sse2_punpckhqdq, sse2_punpcklqdq, sse2_punpckhbw, sse2_punpcklbw,
1661         sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq):
1662         Rename to their proper vec_interleave equivalent.  Update all users
1663         to the new name.
1664         * config/i386/i386.c, config/i386/i386.md: Update all users.
1665
1666 2009-11-27  Michael Matz  <matz@suse.de>
1667
1668         PR rtl-optimization/42084
1669         * cfgexpand.c (maybe_cleanup_end_of_block): Add new parameter,
1670         use it to stop walking.
1671         (expand_gimple_cond): Adjust call to above.
1672
1673 2009-11-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1674
1675         PR target/41810
1676         * gthr-solaris.h (__gthread_mutex_destroy): Remove UNUSED.
1677         [SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use
1678         __extension__ to allow cast from function pointer to object
1679         pointer in C++.
1680         * doc/install.texi (--enable-threads): Clarify use of Solaris threads.
1681
1682 2009-11-27  Steven Bosscher  <steven@gcc.gnu.org>
1683
1684         * config/ia64/itanium1.md: Remove.
1685         * config/ia64/ia64.md: Do not include it.
1686         * config/ia64/ia64.c (ia64_handle_option): Remove "itanium",
1687         "itanium1", and "merced" from the processor alias table.
1688         (clocks, add_cycles): Remove global variables.
1689         (ia64_sched_reorder2): Don't set/use them.
1690         (ia64_dfa_new_cycle, ia64_h_i_d_extended, ia64_reorg): Likewise.
1691         (bundling): Likewise. Remove extra pass for MMMUL/MMSHF.
1692
1693 2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1694
1695         * config/s390/s390.c (last_scheduled_insn): New variable.
1696         (s390_fpload_toreg, s390_z10_prevent_earlyload_conflicts): New
1697         functions.
1698         (s390_sched_reorder, s390_sched_variable_issue): New functions.
1699         (TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_REORDER): Target hooks
1700         defined.
1701
1702 2009-11-27  Michael Matz  <matz@suse.de>
1703
1704         PR c++/41906
1705         * tree-eh.c (lower_catch): Stop after expanding a catch-all.
1706
1707 2009-11-27  Richard Guenther  <rguenther@suse.de>
1708
1709         * timevar.def (TV_LOOP_MOVE_INVARIANTS, TV_LOOP_UNSWITCH,
1710         TV_LOOP_UNROLL, TV_LOOP_DOLOOP): New timevars.
1711         * loop-init.c (pass_rtl_move_loop_invariants): Use
1712         TV_LOOP_MOVE_INVARIANTS.
1713         (pass_rtl_unswitch): Use TV_LOOP_UNSWITCH.
1714         (pass_rtl_unroll_and_peel): Use TV_LOOP_UNROLL.
1715         (pass_rtl_doloop): Use TV_LOOP_DOLOOP.
1716
1717 2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1718
1719         * emit-rtl.c (next_active_insn, prev_active_insn): Correct comment.
1720
1721 2009-11-27  Jakub Jelinek  <jakub@redhat.com>
1722
1723         * config/i386/i386.c (ix86_emit_restore_sse_regs_using_mov): Remove
1724         unused insn variable.
1725         * genemit.c (output_peephole2_scratches): Only declare and initialize
1726         _regs_allocated if it will be ever used.
1727         * cfgloopmanip.c (create_empty_if_region_on_edge): Remove unused
1728         succ_bb variable.
1729         (create_empty_loop_on_edge): Remove unused freq and cnt variables.
1730         * unwind-c.c (PERSONALITY_FUNCTION): Remove unused action_record
1731         variable.
1732
1733         * opts.c (decode_options): If optimize is bigger than 255,
1734         set it to 255.
1735
1736 2009-11-26  Richard Henderson  <rth@redhat.com>
1737
1738         * config/i386/sse.md (mulv16qi3): Change back from an expander
1739         to an insn-and-split.
1740         (mulv4si): Mention AVX not XOP for AVX exception.
1741         (*sse2_mulv4si3): Likewise.
1742         (mulv2di3): Use vmulld not vpmacsdd for XOP expansion.  Tidy.
1743
1744 2009-11-26  Bernd Schmidt  <bernd.schmidt@analog.com>
1745
1746         * cfgexpand (n_stack_vars_conflict): New static variable.
1747         (triangular_index): Reduce likelyhood of overflow by performing
1748         the division before the multiplication.
1749         (resize_stack_vars_conflict): Call fatal_error if overflow
1750         occurred in triangular_index.  Update n_stack_vars_conflict.
1751
1752         PR rtl-opt/38582
1753         * regrename.c (struct du_chain): Remove member earlyclobber.
1754         (scan_rtx_reg): Don't set it.  Remove argument earlyclobber,
1755         all callers changed.
1756         (scan_rtx): Remove argument earlyclobber, all callers changed.
1757         (hide_operands, restore_operands, record_out_operands): New functions,
1758         broken out of build_def_use.
1759         (build_def_use): Call them as necessary.
1760
1761         * regrename.c (struct du_head): New members id, conflicts,
1762         hard_conflicts and cannot_rename.
1763         (enum scan_actions): Remove terminate_all_read and
1764         terminate_overlapping_read; add mark_all_read.
1765         (scan_actions_name): Likewise.
1766         (du_head_p): New typedef.  Define a vector type for it.
1767         (id_to_chain): New static variable.
1768         (note_sets, clear_dead_regs): Delete functions.
1769         (free_chain_data): New function.
1770         (merge_overlapping_regs): Simply walk the conflicts bitmap.
1771         Remove argument B, all callers changed.
1772         (regrename_optimize): Allocate id_to_chain.  Ignore chains that have
1773         the cannot_rename bit set.  Update regno and nregs of a renamed chain.
1774         Call free_chain_data when done.
1775         (do_replace): Remove death notes when the renamed reg is set in the
1776         last insn; add them if not.
1777         (mark_conflict, note_sets_clobbers): New static function.
1778         (fail_current_block, current_id, open_chains_set, live_hard_regs): New
1779         static variables.
1780         (scan_rtx_reg): Keep track of conflicts between chains, and between
1781         chains and hard regs.  Don't terminate chains when we find a read we
1782         can't handle, mark it unrenameable instead.  For terminate_write,
1783         terminate chains that are written with an exact match or a superset
1784         of registers.  Set fail_current_block if multi-word lifetimes are too
1785         complex to handle.
1786         (scan_rtx_address): Use mark_all_read instead of terminate_all_read.
1787         (build_def_use): Initialize current_id, live_chains and live_hard_regs;
1788         free memory for them when done.
1789         Rearrange the steps so that earlyclobbers are noted before reads
1790         are processed.  Add new steps to keep track of hard register lifetimes
1791         outside insn operands.
1792
1793 2009-11-26  Richard Guenther  <rguenther@suse.de>
1794
1795         * tree-ssa-dce.c (nr_walks): New variable.
1796         (mark_aliased_reaching_defs_necessary): Adjust oracle cut-off.
1797         (perform_tree_ssa_dce): Init nr_walks.
1798
1799 2009-11-26  Michael Matz  <matz@suse.de>
1800
1801         PR tree-optimization/41905
1802         * tree-eh.c (lower_eh_constructs_2): Don't add assignments
1803         below statements that can't fall thru.
1804
1805 2009-11-26  Michael Matz  <matz@suse.de>
1806
1807         * builtins.c (expand_builtin_printf, expand_builtin_fprintf,
1808         expand_builtin_sprintf): Remove.
1809         (expand_builtin): Don't call them.
1810
1811 2009-11-26  Richard Guenther  <rguenther@suse.de>
1812
1813         * tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap.
1814
1815 2009-11-26  Nick Clifton  <nickc@redhat.com>
1816
1817         * config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls
1818         being used incorrectly.
1819         (rx_function_ok_for_sibcall): New function.  Do not allow indirect
1820         sibcalls, or sibcalls from interrupt functions.
1821         (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
1822         * config/rx/rx.md (sibcall): Convert to a define_expand.  Check
1823         for a MEM inside a MEM.
1824         (sibcall_value): Likewise.
1825         (sibcall_internal): New pattern containing old sibcall pattern.
1826         (sibcall_value_internal): Likewise.
1827
1828 2009-11-25  Richard Henderson  <rth@redhat.com>
1829
1830         * config/i386/i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an
1831         optional 3rd argument to define the mode.
1832         * config/i386/i386-builtin-types.def (UQI, UHI, USI, UDI): New.
1833         (V2UDI, V4USI, V8UHI, V16UQI): New.
1834         (V4SF_FTYPE_V4SF_V4SF_V4SI, V2UDI_FTYPE_V2UDI_V2UDI_V2UDI,
1835         V4USI_FTYPE_V4USI_V4USI_V4USI, V8UHI_FTYPE_V8UHI_V8UHI_V8UHI,
1836         V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): New.
1837         * config/i386/i386-modes.def: Rearrange for double-wide AVX.
1838         * config/i386/i386-protos.h (ix86_expand_vec_extract_even_odd): New.
1839         * config/i386/i386.c (IX86_BUILTIN_VEC_PERM_*): New.
1840         (bdesc_args): Add the builtin definitions to match.
1841         (ix86_expand_builtin): Expand them.
1842         (ix86_builtin_vectorization_cost): Rename from
1843         x86_builtin_vectorization_cost.
1844         (ix86_vectorize_builtin_vec_perm, struct expand_vec_perm_d,
1845         doublesize_vector_mode, expand_vselect, expand_vselect_vconcat,
1846         expand_vec_perm_blend, expand_vec_perm_vpermil,
1847         expand_vec_perm_pshufb, expand_vec_perm_1,
1848         expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr,
1849         expand_vec_perm_interleave2, expand_vec_perm_pshufb2,
1850         expand_vec_perm_even_odd_1, expand_vec_perm_even_odd,
1851         ix86_expand_vec_perm_builtin_1, extract_vec_perm_cst,
1852         ix86_expand_vec_perm_builtin, ix86_vectorize_builtin_vec_perm_ok,
1853         ix86_expand_vec_extract_even_odd, TARGET_VECTORIZE_BUILTIN_VEC_PERM,
1854         TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
1855         * sse.md (SSEMODE_EO): New.
1856         (vec_extract_even<mode>): Use SSEMODE_EO and
1857         ix86_expand_vec_extract_even_odd.
1858         (vec_extract_odd<mode>): Likewise.
1859         (mulv16qi3, vec_pack_trunc_v8hi, vec_pack_trunc_v4si,
1860         vec_pack_trunc_v2di): Use ix86_expand_vec_extract_even_odd.
1861
1862 2009-11-25  Richard Henderson  <rth@redhat.com>
1863
1864         * target.h (targetm.vectorize.builtin_vec_perm_ok): New.
1865         * target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New.
1866         * hooks.h, hooks.c (hook_bool_tree_tree_true): New.
1867         * tree-vect-slp.c (vect_create_mask_and_perm): Don't create
1868         the vector constant here...
1869         (vect_transform_slp_perm_load): ... do it here instead.  Validate
1870         that the permutation vector is implementable by the target.
1871
1872 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
1873
1874         * config/rs6000/sysv4.opt (mregnames): Change Var to rs6000_regnames.
1875         * config/rs6000/sysv4.h (TARGET_REGNAMES): Define.
1876
1877         * print-rtl.c (print_rtx): When printing newline, append
1878         print_rtx_head and indentation after the newline.
1879
1880         PR target/42165
1881         * config/i386/i386.c (print_operand): For 32-byte memory use
1882         YMMWORD in -masm=intel mode.  Use TBYTE instead of XWORD.
1883         * config/i386/i386.md (crc32modesuffix): Expand to nothing
1884         in -masm=intel mode.
1885         (sse4_2_crc32di): Print just crc32 instead of crc32q in
1886         -masm=intel mode.
1887         * config/i386/mmx.md (*mmx_pinsrw): Print correct size of
1888         memory operand in -masm=intel mode.
1889         * config/i386/sse.md (*avx_pinsr<ssevecsize>, *sse4_1_pinsrb,
1890         *sse2_pinsrw): Likewise.
1891         (sse_cvtss2siq, sse_cvtss2siq_2, sse_cvttss2siq): Don't print
1892         q suffix in -masm=intel mode.
1893
1894 2009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
1895
1896         PR target/10127
1897         PR ada/20548
1898         PR middle-end/42004
1899         * dwarf2out.c (dwarf2out_args_size_adjust): Rename to...
1900         (dwarf2out_stack_adjust): ...this.  Do not adjust the arg size for
1901         ACCUMULATE_OUTGOING_ARGS targets.  Rename former version to...
1902         (dwarf2out_notice_stack_adjust): ...this.  Adjust for above renaming.
1903         (dwarf2out_frame_debug_expr): Revert previous change and adjust for
1904         above renaming.
1905         (dwarf2out_frame_debug): Add ??? comment.  Adjust for above renaming.
1906
1907 2009-11-25  Uros Bizjak  <ubizjak@gmail.com>
1908
1909         * config/i386/predicates.md (emms_operation): New predicate.
1910         (vzeroupper_operation): Ditto.
1911         (vzeroall_operation): Improve pattern recognition.
1912         * config/i386/sse.md (avx_vzeroupper_rex64): Remove insn pattern.
1913         (avx_vzeroupper): Change insn pattern to expander.
1914         (*avx_vzeroupper): New insn pattern.  Use vzeroupper_operation
1915         predicate.
1916         (*avx_vzeroall): Remove operands 1 and 2.
1917         * config/i386/mmx.md (mmx_emms): Change insn pattern to expander.
1918         (mmx_femms): Ditto.
1919         (*mmx_emms): New insn pattern.  Use emms_operation predicate.
1920         (*mmx_femms): Ditto.
1921         * config/i386/i386.c (enum ix86_builtins)
1922         <IX86_BUILTIN_VZEROUPPER_REX64>: Remove.
1923         (struct builtin_description) <CODE_FOR_avx_vzeroupper_rex64>:
1924         Remove initailization.
1925         <CODE_FOR_avx_vzeroupper>: Unconditionally initialize here.
1926
1927 2009-11-25  Paul Brook  <paul@codesourcery.com>
1928
1929         * config/arm/arm.md (consttable_4): Handle (high ...).
1930
1931 2009-11-25  Robert Nelson  <robert.nelson@digikey.com>
1932             Richard Earnshaw  <rearnsha@arm.com>
1933
1934         * arm.h (enum vfp_reg_type): Add VFP_NONE.
1935         * arm.c (all_fpus): Use it for floating point units that aren't based
1936         on the VFP architecture.
1937         (aapcs_vfp_is_call_or_return_candidate): Make base_mode a pointer to
1938         enum machine_mode.
1939
1940 2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>
1941
1942         * alias.c: Remove trailing white spaces.
1943         * alloc-pool.c: Likewise.
1944         * alloc-pool.h: Likewise.
1945         * attribs.c: Likewise.
1946         * auto-inc-dec.c: Likewise.
1947         * basic-block.h: Likewise.
1948         * bb-reorder.c: Likewise.
1949         * bt-load.c: Likewise.
1950         * builtins.c: Likewise.
1951         * builtins.def: Likewise.
1952         * c-common.c: Likewise.
1953         * c-common.h: Likewise.
1954         * c-cppbuiltin.c: Likewise.
1955         * c-decl.c: Likewise.
1956         * c-format.c: Likewise.
1957         * c-lex.c: Likewise.
1958         * c-omp.c: Likewise.
1959         * c-opts.c: Likewise.
1960         * c-parser.c: Likewise.
1961         * c-pretty-print.c: Likewise.
1962         * c-tree.h: Likewise.
1963         * c-typeck.c: Likewise.
1964         * caller-save.c: Likewise.
1965         * calls.c: Likewise.
1966         * cfg.c: Likewise.
1967         * cfganal.c: Likewise.
1968         * cfgexpand.c: Likewise.
1969         * cfghooks.c: Likewise.
1970         * cfghooks.h: Likewise.
1971         * cfglayout.c: Likewise.
1972         * cfgloop.c: Likewise.
1973         * cfgloop.h: Likewise.
1974         * cfgloopmanip.c: Likewise.
1975         * cfgrtl.c: Likewise.
1976         * cgraph.c: Likewise.
1977         * cgraph.h: Likewise.
1978         * cgraphbuild.c: Likewise.
1979         * cgraphunit.c: Likewise.
1980         * cif-code.def: Likewise.
1981         * collect2.c: Likewise.
1982         * combine.c: Likewise.
1983         * convert.c: Likewise.
1984         * coverage.c: Likewise.
1985         * crtstuff.c: Likewise.
1986         * cse.c: Likewise.
1987         * cselib.c: Likewise.
1988         * dbgcnt.c: Likewise.
1989         * dbgcnt.def: Likewise.
1990         * dbgcnt.h: Likewise.
1991         * dbxout.c: Likewise.
1992         * dce.c: Likewise.
1993         * ddg.c: Likewise.
1994         * ddg.h: Likewise.
1995         * defaults.h: Likewise.
1996         * df-byte-scan.c: Likewise.
1997         * df-core.c: Likewise.
1998         * df-problems.c: Likewise.
1999         * df-scan.c: Likewise.
2000         * df.h: Likewise.
2001         * dfp.c: Likewise.
2002         * diagnostic.c: Likewise.
2003         * diagnostic.h: Likewise.
2004         * dominance.c: Likewise.
2005         * domwalk.c: Likewise.
2006         * double-int.c: Likewise.
2007         * double-int.h: Likewise.
2008         * dse.c: Likewise.
2009         * dwarf2asm.c: Likewise.
2010         * dwarf2asm.h: Likewise.
2011         * dwarf2out.c: Likewise.
2012         * ebitmap.c: Likewise.
2013         * ebitmap.h: Likewise.
2014         * emit-rtl.c: Likewise.
2015         * et-forest.c: Likewise.
2016         * except.c: Likewise.
2017         * except.h: Likewise.
2018         * expmed.c: Likewise.
2019         * expr.c: Likewise.
2020         * expr.h: Likewise.
2021         * final.c: Likewise.
2022         * flags.h: Likewise.
2023         * fold-const.c: Likewise.
2024         * function.c: Likewise.
2025         * function.h: Likewise.
2026         * fwprop.c: Likewise.
2027         * gcc.c: Likewise.
2028         * gcov-dump.c: Likewise.
2029         * gcov-io.c: Likewise.
2030         * gcov-io.h: Likewise.
2031         * gcov.c: Likewise.
2032         * gcse.c: Likewise.
2033         * genattr.c: Likewise.
2034         * genattrtab.c: Likewise.
2035         * genautomata.c: Likewise.
2036         * genchecksum.c: Likewise.
2037         * genconfig.c: Likewise.
2038         * genflags.c: Likewise.
2039         * gengtype-parse.c: Likewise.
2040         * gengtype.c: Likewise.
2041         * gengtype.h: Likewise.
2042         * genmddeps.c: Likewise.
2043         * genmodes.c: Likewise.
2044         * genopinit.c: Likewise.
2045         * genpreds.c: Likewise.
2046         * gensupport.c: Likewise.
2047         * ggc-common.c: Likewise.
2048         * ggc-page.c: Likewise.
2049         * ggc-zone.c: Likewise.
2050         * ggc.h: Likewise.
2051         * gimple-iterator.c: Likewise.
2052         * gimple-low.c: Likewise.
2053         * gimple-pretty-print.c: Likewise.
2054         * gimple.c: Likewise.
2055         * gimple.def: Likewise.
2056         * gimple.h: Likewise.
2057         * gimplify.c: Likewise.
2058         * graphds.c: Likewise.
2059         * graphite-clast-to-gimple.c: Likewise.
2060         * gthr-nks.h: Likewise.
2061         * gthr-posix.c: Likewise.
2062         * gthr-posix.h: Likewise.
2063         * gthr-posix95.h: Likewise.
2064         * gthr-single.h: Likewise.
2065         * gthr-tpf.h: Likewise.
2066         * gthr-vxworks.h: Likewise.
2067         * gthr.h: Likewise.
2068         * haifa-sched.c: Likewise.
2069         * hard-reg-set.h: Likewise.
2070         * hooks.c: Likewise.
2071         * hooks.h: Likewise.
2072         * hosthooks.h: Likewise.
2073         * hwint.h: Likewise.
2074         * ifcvt.c: Likewise.
2075         * incpath.c: Likewise.
2076         * init-regs.c: Likewise.
2077         * integrate.c: Likewise.
2078         * ipa-cp.c: Likewise.
2079         * ipa-inline.c: Likewise.
2080         * ipa-prop.c: Likewise.
2081         * ipa-pure-const.c: Likewise.
2082         * ipa-reference.c: Likewise.
2083         * ipa-struct-reorg.c: Likewise.
2084         * ipa-struct-reorg.h: Likewise.
2085         * ipa-type-escape.c: Likewise.
2086         * ipa-type-escape.h: Likewise.
2087         * ipa-utils.c: Likewise.
2088         * ipa-utils.h: Likewise.
2089         * ipa.c: Likewise.
2090         * ira-build.c: Likewise.
2091         * ira-color.c: Likewise.
2092         * ira-conflicts.c: Likewise.
2093         * ira-costs.c: Likewise.
2094         * ira-emit.c: Likewise.
2095         * ira-int.h: Likewise.
2096         * ira-lives.c: Likewise.
2097         * ira.c: Likewise.
2098         * jump.c: Likewise.
2099         * lambda-code.c: Likewise.
2100         * lambda-mat.c: Likewise.
2101         * lambda-trans.c: Likewise.
2102         * lambda.h: Likewise.
2103         * langhooks.c: Likewise.
2104         * lcm.c: Likewise.
2105         * libgcov.c: Likewise.
2106         * lists.c: Likewise.
2107         * loop-doloop.c: Likewise.
2108         * loop-init.c: Likewise.
2109         * loop-invariant.c: Likewise.
2110         * loop-iv.c: Likewise.
2111         * loop-unroll.c: Likewise.
2112         * lower-subreg.c: Likewise.
2113         * lto-cgraph.c: Likewise.
2114         * lto-compress.c: Likewise.
2115         * lto-opts.c: Likewise.
2116         * lto-section-in.c: Likewise.
2117         * lto-section-out.c: Likewise.
2118         * lto-streamer-in.c: Likewise.
2119         * lto-streamer-out.c: Likewise.
2120         * lto-streamer.c: Likewise.
2121         * lto-streamer.h: Likewise.
2122         * lto-symtab.c: Likewise.
2123         * lto-wpa-fixup.c: Likewise.
2124         * matrix-reorg.c: Likewise.
2125         * mcf.c: Likewise.
2126         * mode-switching.c: Likewise.
2127         * modulo-sched.c: Likewise.
2128         * omega.c: Likewise.
2129         * omega.h: Likewise.
2130         * omp-low.c: Likewise.
2131         * optabs.c: Likewise.
2132         * optabs.h: Likewise.
2133         * opts-common.c: Likewise.
2134         * opts.c: Likewise.
2135         * params.def: Likewise.
2136         * params.h: Likewise.
2137         * passes.c: Likewise.
2138         * plugin.c: Likewise.
2139         * postreload-gcse.c: Likewise.
2140         * postreload.c: Likewise.
2141         * predict.c: Likewise.
2142         * predict.def: Likewise.
2143         * pretty-print.c: Likewise.
2144         * pretty-print.h: Likewise.
2145         * print-rtl.c: Likewise.
2146         * print-tree.c: Likewise.
2147         * profile.c: Likewise.
2148         * read-rtl.c: Likewise.
2149         * real.c: Likewise.
2150         * recog.c: Likewise.
2151         * reg-stack.c: Likewise.
2152         * regcprop.c: Likewise.
2153         * reginfo.c: Likewise.
2154         * regmove.c: Likewise.
2155         * regrename.c: Likewise.
2156         * regs.h: Likewise.
2157         * regstat.c: Likewise.
2158         * reload.c: Likewise.
2159         * reload1.c: Likewise.
2160         * resource.c: Likewise.
2161         * rtl.c: Likewise.
2162         * rtl.def: Likewise.
2163         * rtl.h: Likewise.
2164         * rtlanal.c: Likewise.
2165         * sbitmap.c: Likewise.
2166         * sched-deps.c: Likewise.
2167         * sched-ebb.c: Likewise.
2168         * sched-int.h: Likewise.
2169         * sched-rgn.c: Likewise.
2170         * sched-vis.c: Likewise.
2171         * sdbout.c: Likewise.
2172         * sel-sched-dump.c: Likewise.
2173         * sel-sched-dump.h: Likewise.
2174         * sel-sched-ir.c: Likewise.
2175         * sel-sched-ir.h: Likewise.
2176         * sel-sched.c: Likewise.
2177         * sel-sched.h: Likewise.
2178         * sese.c: Likewise.
2179         * sese.h: Likewise.
2180         * simplify-rtx.c: Likewise.
2181         * stack-ptr-mod.c: Likewise.
2182         * stmt.c: Likewise.
2183         * stor-layout.c: Likewise.
2184         * store-motion.c: Likewise.
2185         * stringpool.c: Likewise.
2186         * stub-objc.c: Likewise.
2187         * sync-builtins.def: Likewise.
2188         * target-def.h: Likewise.
2189         * target.h: Likewise.
2190         * targhooks.c: Likewise.
2191         * targhooks.h: Likewise.
2192         * timevar.c: Likewise.
2193         * tlink.c: Likewise.
2194         * toplev.c: Likewise.
2195         * toplev.h: Likewise.
2196         * tracer.c: Likewise.
2197         * tree-affine.c: Likewise.
2198         * tree-affine.h: Likewise.
2199         * tree-browser.def: Likewise.
2200         * tree-call-cdce.c: Likewise.
2201         * tree-cfg.c: Likewise.
2202         * tree-cfgcleanup.c: Likewise.
2203         * tree-chrec.c: Likewise.
2204         * tree-chrec.h: Likewise.
2205         * tree-complex.c: Likewise.
2206         * tree-data-ref.c: Likewise.
2207         * tree-data-ref.h: Likewise.
2208         * tree-dfa.c: Likewise.
2209         * tree-dump.c: Likewise.
2210         * tree-dump.h: Likewise.
2211         * tree-eh.c: Likewise.
2212         * tree-flow-inline.h: Likewise.
2213         * tree-flow.h: Likewise.
2214         * tree-if-conv.c: Likewise.
2215         * tree-inline.c: Likewise.
2216         * tree-into-ssa.c: Likewise.
2217         * tree-loop-distribution.c: Likewise.
2218         * tree-loop-linear.c: Likewise.
2219         * tree-mudflap.c: Likewise.
2220         * tree-nested.c: Likewise.
2221         * tree-nomudflap.c: Likewise.
2222         * tree-nrv.c: Likewise.
2223         * tree-object-size.c: Likewise.
2224         * tree-optimize.c: Likewise.
2225         * tree-outof-ssa.c: Likewise.
2226         * tree-parloops.c: Likewise.
2227         * tree-pass.h: Likewise.
2228         * tree-phinodes.c: Likewise.
2229         * tree-predcom.c: Likewise.
2230         * tree-pretty-print.c: Likewise.
2231         * tree-profile.c: Likewise.
2232         * tree-scalar-evolution.c: Likewise.
2233         * tree-ssa-address.c: Likewise.
2234         * tree-ssa-alias.c: Likewise.
2235         * tree-ssa-ccp.c: Likewise.
2236         * tree-ssa-coalesce.c: Likewise.
2237         * tree-ssa-copy.c: Likewise.
2238         * tree-ssa-copyrename.c: Likewise.
2239         * tree-ssa-dce.c: Likewise.
2240         * tree-ssa-dom.c: Likewise.
2241         * tree-ssa-dse.c: Likewise.
2242         * tree-ssa-forwprop.c: Likewise.
2243         * tree-ssa-ifcombine.c: Likewise.
2244         * tree-ssa-live.c: Likewise.
2245         * tree-ssa-live.h: Likewise.
2246         * tree-ssa-loop-ch.c: Likewise.
2247         * tree-ssa-loop-im.c: Likewise.
2248         * tree-ssa-loop-ivcanon.c: Likewise.
2249         * tree-ssa-loop-ivopts.c: Likewise.
2250         * tree-ssa-loop-manip.c: Likewise.
2251         * tree-ssa-loop-niter.c: Likewise.
2252         * tree-ssa-loop-prefetch.c: Likewise.
2253         * tree-ssa-loop-unswitch.c: Likewise.
2254         * tree-ssa-loop.c: Likewise.
2255         * tree-ssa-math-opts.c: Likewise.
2256         * tree-ssa-operands.c: Likewise.
2257         * tree-ssa-operands.h: Likewise.
2258         * tree-ssa-phiopt.c: Likewise.
2259         * tree-ssa-phiprop.c: Likewise.
2260         * tree-ssa-pre.c: Likewise.
2261         * tree-ssa-propagate.c: Likewise.
2262         * tree-ssa-reassoc.c: Likewise.
2263         * tree-ssa-sccvn.c: Likewise.
2264         * tree-ssa-sink.c: Likewise.
2265         * tree-ssa-structalias.c: Likewise.
2266         * tree-ssa-ter.c: Likewise.
2267         * tree-ssa-threadedge.c: Likewise.
2268         * tree-ssa-threadupdate.c: Likewise.
2269         * tree-ssa-uncprop.c: Likewise.
2270         * tree-ssa.c: Likewise.
2271         * tree-ssanames.c: Likewise.
2272         * tree-switch-conversion.c: Likewise.
2273         * tree-tailcall.c: Likewise.
2274         * tree-vect-data-refs.c: Likewise.
2275         * tree-vect-generic.c: Likewise.
2276         * tree-vect-loop-manip.c: Likewise.
2277         * tree-vect-loop.c: Likewise.
2278         * tree-vect-patterns.c: Likewise.
2279         * tree-vect-slp.c: Likewise.
2280         * tree-vect-stmts.c: Likewise.
2281         * tree-vectorizer.c: Likewise.
2282         * tree-vectorizer.h: Likewise.
2283         * tree-vrp.c: Likewise.
2284         * tree.c: Likewise.
2285         * tree.def: Likewise.
2286         * tree.h: Likewise.
2287         * treestruct.def: Likewise.
2288         * unwind-compat.c: Likewise.
2289         * unwind-dw2-fde-glibc.c: Likewise.
2290         * unwind-dw2.c: Likewise.
2291         * value-prof.c: Likewise.
2292         * value-prof.h: Likewise.
2293         * var-tracking.c: Likewise.
2294         * varasm.c: Likewise.
2295         * varpool.c: Likewise.
2296         * vec.c: Likewise.
2297         * vec.h: Likewise.
2298         * vmsdbgout.c: Likewise.
2299         * web.c: Likewise.
2300         * xcoffout.c: Likewise.
2301
2302 2009-11-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2303
2304         * pa.c (output_call): Only use sr4 for long interspace calls if
2305         call binds local and generating non PIC code.
2306         (attr_length_call): Adjust length calculation for above.
2307
2308 2009-11-25  Uros Bizjak  <ubizjak@gmail.com>
2309
2310         * config/i386/i386.md (plusminus_carry_mnemonic): New code attribute.
2311         (add<mode>3_carry): Change operand order of plus RTX.
2312         (*add<mode>3_carry): Ditto.
2313         (*addsi3_carry_zext): Ditto.
2314         (*add<dwi>3_doubleword): Update for changed operand order.
2315         (*negti2_1 splitter): Ditto.
2316         (*negdi2_1 splitter): Ditto.
2317         (<plusminus_insn><mode>3_carry): Macroize expander from
2318         {add,sub}<mode>3_carry patterns using plusminus code iterator.
2319         (*<plusminus_insn><mode>3_carry): Macroize insn from
2320         *{add,sub}<mode>3_carry patetrns using plusminus code iterator.
2321         (neg<mode>2): Macroize expander from neg{qi,hi,si,di,ti}2
2322         patterns using SDWIM mode iterator.
2323         (*neg<dwi>2_doubleword): New insn_and_split pattern.  Macroize
2324         pattern from *neg{di,ti}2_1 patterns and corresponding splitters
2325         using DWIH mode iterator.
2326         (*neg<mode>2_1): Macroize insn from neg{qi,hi,si,di}2_1 patterns
2327         using SWI mode iterator.
2328         (*neg<mode>2_cmpz): Ditto from neg{qi,hi,si,di}2_cmpz patterns.
2329         (one_cmpl<mode>2): Macroize expander from one_cmpl{qi,hi,si,di}2
2330         patterns using SWIM mode iterator.
2331         (*one_cmpl<mode>2_1): Macroize insn from one_cmpl{hi,si,di}2_1
2332         patterns using SWI248 mode iterator.
2333         (*one_cmpl<mode>2_2): Macroize insn from one_cmpl{qi,hi,si,di}2_2
2334         patterns using SWI mode iterator.
2335         (*one_cmpl<mode>2_2 splitter): Macroize splitter from
2336         one_cmpl{qi,hi,si,di}2_2 splitter patterns using SWI mode iterator.
2337
2338 2009-11-24  Michael Matz  <matz@suse.de>
2339
2340         * expr.c (set_storage_via_libcall): Fix build_call_expr call.
2341
2342 2009-11-24  David Binderman  <dcb314@hotmail.com>
2343
2344         * expr.c (store_field): Remove set but not used local variable
2345         width_mask.
2346         (expand_expr_real_2): Remove treeop2.
2347         * gcse.c (update_ld_motion_stores): Remove new_rtx.
2348         * haifa-sched.c (max_issue): Remove points.
2349         (sched_create_recovery_edges): Remove e.
2350         * ira-costs.c (setup_allocno_cover_class_and_costs): Remove mode.
2351
2352 2009-11-24  Nick Clifton  <nickc@redhat.com>
2353
2354         * config/v850/v850.c (function_arg): Fix handling of zero-length
2355         function arguments.
2356
2357 2009-11-24  Michael Matz  <matz@suse.de>
2358
2359         * tree.h (union tree_ann_d): Don't declare.
2360         (tree_base): Remove ann field.
2361         (struct var_ann_d): Declare forward.
2362         (tree_result_decl, tree_parm_decl, tree_var_decl): Add ann field.
2363         (DECL_VAR_ANN_PTR): New macro.
2364         * tree-dfa.c (create_var_ann): Rewrite in terms of above macro,
2365         accept only VAR, PARM or RESULT decls.
2366         (create_tree_common_ann): Remove.
2367         (remove_referenced_var): Use DECL_VAR_ANN_PTR.
2368         * tree-eh.c (lookup_expr_eh_lp): Remove.
2369         * tree-flow-inline.h (var_ann, get_var_ann): Rewrite in terms of
2370         DECL_VAR_ANN_PTR.
2371         (ann_type, tree_common_ann, get_tree_common_ann): Remove.
2372         * tree-flow.h (enum tree_ann_type): Remove.
2373         (struct tree_ann_common_d): Remove.
2374         (struct var_ann_d): Remove common field.
2375         (union tree_ann_d): Remove.
2376         (tree_ann_t, tree_ann_common_t): Remove typedefs.
2377         (tree_common_ann, get_tree_common_ann, ann_type,
2378         create_tree_common_ann, lookup_expr_eh_lp): Don't declare.
2379         * tree-ssa.c (delete_tree_ssa): Use DECL_VAR_ANN_PTR.
2380         * tree.c (copy_node_stat): Use DECL_VAR_ANN_PTR.
2381         * builtins.c (expand_builtin_memcpy): Use
2382         currently_expanding_gimple_stmt instead of tree annotation.
2383         (expand_builtin_memset_args): Ditto.
2384         * cfgexpand.c (currently_expanding_gimple_stmt): Add global variable.
2385         (expand_call_stmt): Don't set tree annotation.
2386         (expand_gimple_basic_block): Set currently_expanding_gimple_stmt.
2387         * expr.c (expand_expr_real): Don't call lookup_expr_eh_lp.
2388         * gimple.h (currently_expanding_gimple_stmt): Declare.
2389
2390 2009-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
2391
2392         * dwarf2out.c (add_location_or_const_value_attribute): Remove
2393         useless NOTE_VAR_LOCATION_STATUS call.
2394         * cfgrtl.c (commit_one_edge_insertion): Remove useless loop, tidy.
2395
2396 2009-11-24  Rafael Avila de Espindola  <espindola@google.com>
2397
2398         * lto-wrapper.c (lto_wrapper_exit): Don't try to delete files if
2399         being called recursively.
2400
2401 2009-11-24  Basile Starynkevitch  <basile@starynkevitch.net>
2402
2403         * Makefile.in (PLUGIN_HEADERS): Added files: cppdefault.h flags.h
2404         $(MD5_H) params.def params.h prefix.h tree-inline.h.
2405
2406 2009-11-24  Paul Brook  <paul@codesourcery.com>
2407
2408         * gcc/config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Fix comment
2409         typo.
2410
2411 2009-11-24  Julian Brown  <julian@codesourcery.com>
2412             Paul Brook  <paul@codesourcery.com>
2413
2414         * config/arm/arm.c (TARGET_DWARF_REGISTER_SPAN): Define.
2415         (arm_dwarf_register_span): New function.
2416         (arm_dbx_register_number): Add VFPv3 dwarf numbering.
2417
2418 2009-11-24  David Binderman  <dcb314@hotmail.com>
2419
2420         * cfgrtl.c (commit_one_edge_insertion): Remove set but not used
2421         local variable bb_note.
2422         * dominance.c (get_dominated_by): Likewise local var n.
2423         (output_file_names): Likewise local var idx.
2424         (add_location_or_const_value_attribute): Likewise local var status.
2425         * dwarf2out.c (gen_variable_die): Likewise local var field.
2426         * emit-rtl.c (no_line_numbers): Remove.
2427         (init_emit_once): Remove line_numbers parameter.
2428         * rtl.h (init_emit_once): Adjust prototype.
2429         * toplev.c (backend_init): Adjust init_emit_once call.
2430
2431 2009-11-24  Richard Guenther  <rguenther@suse.de>
2432
2433         PR tree-optimization/42142
2434         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
2435         Handle iv-dependent (non-)kills properly.
2436         (mark_aliased_reaching_defs_necessary): Pass the basic-block
2437         of the reference statement to mark_aliased_reaching_defs_necessary_1.
2438
2439 2009-11-24  Martin Jambor  <mjambor@suse.cz>
2440
2441         PR tree-optimization/42154
2442         * tree-sra.c (struct access): Added comments.
2443         (sra_modify_expr): Build references to the old aggregate with
2444         build_ref_for_offset instead of reusing access->expr.
2445         (load_assign_lhs_subreplacements): Likewise.
2446
2447 2009-11-24  Uros Bizjak  <ubizjak@gmail.com>
2448
2449         * config/i386/i386.md (add<mode>3_carry): Change insn pattern
2450         to expander.
2451         (sub<mode>3_carry): Ditto.
2452         (x86_mov<mode>cc_0_m1): Ditto.
2453         (*add<mode>3_carry): New insn pattern.  Use VOIDmode match_operator
2454         for ix86_carry_flag_operator operator predicate.
2455         (*sub<mode>3_carry): Ditto.
2456         (*x86_mov<mode>cc_0_m1): Ditto.
2457         (*addsi3_carry_zext): Use VOIDmode match_operator for
2458         ix86_carry_flag_operator operator predicate.
2459         (*subsi3_carry_zext): Ditto.
2460         (*x86_mov<mode>cc_0_m1_s): Ditto.
2461         (*x86_mov<mode>cc_0_m1_neg): Ditto.
2462         * config/i386/predocates.md (ix86_carry_flag_operator): Do not
2463         check operator sub-expressions for FLAGS_REG and const0_rtx.
2464         * config/i386/i386.c (*ix86_gen_sub3_carry): Update prototype.
2465         (ix86_expand_int_movcc): Update calls to gen_x86_mov{si,di}cc_0_m1.
2466         (ix86_expand_int_addcc): Update calls to
2467         gen_{add,sub}{qi,hi,si,di}3_carry.  Do not set mode of compare_op.
2468         (ix86_expand_strlensi_unroll_1): Update calls to ix86_gen_sub3_carry.
2469         Do not set mode of compare operation.
2470
2471 2009-11-23  Jan Hubicka  <jh@suse.cz>
2472
2473         PR middle-end/42151
2474         * ipa-inline.c (inline_transform): Avoid ICE when transform is called
2475         twice.
2476
2477 2009-11-23  Jan Hubicka  <jh@suse.cz>
2478
2479         * ipa-cp.c (ipcp_compute_node_scale): Work around completely
2480         wrong profile updates.
2481         * predict.c (counts_to_freqs): Be expected for ENTRY/EXIT block
2482         having largest frequency.
2483         * ira-live.c (ira_implicitly_set_insn_hard_regs): Silecne
2484         used uninitalized warning.
2485         * tree-optimize.c (execute_fixup_cfg): Rescale entry and exit block
2486         frequencies.
2487
2488 2009-11-23  Uros Bizjak  <ubizjak@gmail.com>
2489
2490         * config/alpha/alpha.md (*cmp_sadd_sidi): Use gen_lowpart instead
2491         of gen_rtx_REG to generate operand 5.
2492         (*cmp_ssub_sidi): Ditto.
2493
2494 2009-11-23  Richard Henderson  <rth@redhat.com>
2495
2496         * config/i386/i386.c (avx_vpermilp_parallel): Fix sign compare
2497         mismatch.
2498
2499 2009-11-23  Paul Brook  <paul@codesourcery.com>
2500
2501         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Add special
2502         case for noreturn functions.
2503         (arm_compute_save_reg_mask): Remove special noreturn handling.
2504
2505 2009-11-23  Richard Guenther  <rguenther@suse.de>
2506
2507         * tree-dfa.c (get_ref_base_and_extent): Adjust maximum access
2508         size for DECL bases.
2509
2510 2009-11-22  Richard Henderson  <rth@redhat.com>
2511
2512         * i386.c (avx_vpermilp_parallel): New function.
2513         * i386-protos.h: Declare it.
2514         * predicates.md (avx_vpermilp_v8sf_operand, avx_vpermilp_v4df_operand,
2515         avx_vpermilp_v4sf_operand, avx_vpermilp_v2df_operand): New.
2516         * sse.md (AVXMODEFDP, AVXMODEFSP): New iterators.
2517         (ssescalarnum, ssedoublesizemode): Add AVX modes.
2518         (vpermilbits): Remove.
2519         (avx_vpermil<mode>): Change insns to expanders.
2520         (*avx_vpermil<mode>): New.  Use vec_select.
2521
2522 2009-11-22  Richard Earnshaw  <rearnsha@arm.com>
2523
2524         * opts.c (decode_options): Don't enable flag_schedule_insns
2525         when optimizing for size.
2526         * doc/invoke.texi: Document change.
2527
2528 2009-11-22  Uros Bizjak  <ubizjak@gmail.com>
2529
2530         PR target/42113
2531         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
2532         of scratch register to SImode.
2533         (*cmp_sadd_sidi): Ditto.
2534         (*cmp_ssub_si): Ditto.
2535         (*cmp_ssub_sidi): Ditto.
2536
2537 2009-11-21  Ian Lance Taylor  <iant@google.com>
2538
2539         * Makefile.in (HOST_LIBS): Move higher in file.
2540         (LINKER, LINKER_FLAGS): If ENABLE_BUILD_WITH_CXX, but $(HOST_LIBS)
2541         is not empty, set to $(CC) and $(CFLAGS).
2542
2543 2009-11-22  Martin Jambor  <mjambor@suse.cz>
2544
2545         * tree-cfg.c (verify_types_in_gimple_reference): Error out on
2546         V_C_E of an SSA_NAME or an invariant if lvalue is required.
2547         (verify_gimple_call): Verify LHS also with with
2548         verify_types_in_gimple_reference.
2549
2550 2009-11-21  Martin Jambor  <mjambor@suse.cz>
2551
2552         PR middle-end/42025
2553         * tree-sra.c (access_precludes_ipa_sra_p): New function.
2554         (splice_param_accesses): Check all accesses by calling
2555         access_precludes_ipa_sra_p.
2556         (sra_ipa_modify_expr): Rename argument erite to dont_convert and do
2557         not convert types if it is true.
2558         (sra_ipa_modify_assign): Convert types in case of mismatch.
2559
2560 2009-11-21  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
2561
2562         * config/sh/sh.md (cmpeqsi_t-1): Use logical_operand predicate
2563         for operand 1.
2564
2565 2009-11-21  Adam Nemet  <adambnemet@gmail.com>
2566
2567         * config/mips/mips-protos.h (mulsidi3_gen_fn): New typedef.
2568         (mips_mulsidi3_gen_fn): Declare new function.
2569         * config/mips/mips.c (mips_mulsidi3_gen_fn): New function.
2570         * config/mips/mips.md (<u>mulsidi3): Change condition to use
2571         mips_mulsidi3_gen_fn.  Use mips_mulsidi3_gen_fn to generate the insn.
2572         (<u>mulsidi3_64bit): Don't match for ISA_HAS_DMUL3.
2573         (mulsidi3_64bit_dmul): New define_insn.
2574
2575 2009-11-21  Ben Elliston  <bje@au.ibm.com>
2576
2577         * gengtype-lex.l: Enable noinput flex option.
2578         (YY_NO_INPUT): Remove define.
2579
2580 2009-11-21  Alexandre Oliva  <aoliva@redhat.com>
2581
2582         * tree-ssa.c (find_released_ssa_name): Handle NULL wi.
2583         (insert_debug_temp_for_var_def): Handle degenerate PHI nodes.
2584         (insert_debug_temps_for_defs): Handle PHI nodes.
2585         * tree-ssa-dom.c (degenerate_phi_result): Don't crash on released
2586         SSA names.
2587
2588 2009-11-21  Alexandre Oliva  <aoliva@redhat.com>
2589
2590         * tree-ssa-pre.c (remove_dead_inserted_code): Don't release_defs
2591         after remove_phi_node.
2592
2593 2009-11-21  Alexandre Oliva  <aoliva@redhat.com>
2594
2595         PR tree-optimization/42078
2596         * gimple.h (gimple_replace_lhs): New declaration.
2597         * gimple.c (gimple_replace_lhs): New function.
2598         * tree-ssa-math-opts.c (execute_cse_reciprocals): Call it before
2599         modifying the call.
2600
2601 2009-11-20  Sebastian Pop  <sebastian.pop@amd.com>
2602
2603         * config/i386/sse.md (*xop_pmacsdql_mem): Don't call reg_mentioned_p.
2604         (xop_mulv2div2di3_low): Same.
2605         (*xop_pmacsdqh_mem): Same.
2606
2607 2009-11-20  Richard Henderson  <rth@redhat.com>
2608
2609         * config/i386/i386-builtin-types.awk: New file.
2610         * config/i386/i386-builtin-types.def: New file.
2611         * config/i386/t-i386: Use them to build i386-builtin-types.inc.
2612         * config/i386/i386.c: Include it.
2613         (ix86_builtin_type_tab, ix86_get_builtin_type): New.
2614         (ix86_builtin_func_type_tab, ix86_get_builtin_func_type): New.
2615         (struct builtin_isa): Remove GTY marker.  Replace tree type with
2616         ix86_builtin_func_type; add set_and_not_built_p.
2617         (def_builtin): Change type parameter to tcode; use
2618         ix86_get_builtin_func_type; update all callers.  Accept zero mask
2619         to mean the builtin is unconditionally available.
2620         (ix86_add_new_builtins): Use set_and_not_built_p instead of type
2621         being set to NULL.
2622         (enum ix86_special_builtin_type, enum ix86_builtin_type): Remove.
2623         Update some users to rationalized enumeration codes from new include.
2624         (enum multi_arg_type): Remove.  Replace all enumeration values
2625         with defines to new ix86_builtin_func_type.
2626         (ix86_init_mmx_sse_builtins): Don't build any types here.  Defer
2627         all type resolution to def_builtin.
2628         (ix86_init_builtin_types): Split out from ...
2629         (ix86_init_builtins): ... here.  Use ix86_get_builtin_func_type.
2630
2631 2009-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
2632
2633         PR target/41787
2634         * config/rs6000/rs6000.c (struct machine_function): Revert
2635         2009-10-23 change to set VRSAVE to non-0 if we use VSX.
2636         (rs6000_expand_to_rtl_hook): Ditto.
2637         (rs6000_check_vector_mode): Ditto.
2638         (compute_vrsave_mask): Ditto.
2639
2640 2009-11-20  Paul Brook  <paul@codesourcery.com>
2641
2642         * doc/invoke.texi: Document ARM -mcpu=cortex-a5.
2643         * config/arm/arm-cores.def: Add cortex-a5.
2644         * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a5.
2645         * config/arm/arm-tune.md: Regenerate.
2646
2647 2009-11-20 Olga Golovanevsky <olga@il.ibm.com>
2648
2649         PR middle-end/39960
2650         * ipa-struct-reorg.c (find_pos_in_stmt): New parameter.
2651         (ref_pos): New field in structure.
2652         (insert_new_var_in_stmt): New function.
2653
2654
2655 2009-11-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2656
2657         * config.gcc (alpha*-dec-osf[45]*): Set use_gcc_stdint.
2658         * config/alpha/osf.h (SIG_ATOMIC_TYPE): Define.
2659         (INT8_TYPE, INT16_TYPE, INT32_TYPE, INT64_TYPE): Define.
2660         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
2661         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2662         INT_LEAST64_TYPE): Define.
2663         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
2664         UINT_LEAST64_TYPE): Define.
2665         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE,
2666         INT_FAST64_TYPE): Define.
2667         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2668         UINT_FAST64_TYPE): Define.
2669         (INTPTR_TYPE, UINTPTR_TYPE): Define.
2670
2671 2009-11-20  Julian Brown  <julian@codesourcery.com>
2672
2673         * config/arm/arm.h (ASM_OUTPUT_REG_PUSH): Handle STATIC_CHAIN_REGNUM
2674         specially for Thumb-1.
2675         (ASM_OUTPUT_REG_POP): Likewise.
2676
2677 2009-11-19  Jason Merrill  <jason@redhat.com>
2678
2679         * dwarf2out.c (get_context_die): Take TYPE_MAIN_VARIANT.
2680
2681 2009-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
2682             Rafael Avila de Espindola  <espindola@google.com>
2683
2684         * doc/plugins.texi (Plugin initialization): Added advices for
2685         retrieving the version of GCC at plugin compilation and loading times.
2686
2687 2009-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
2688
2689         * plugin.c (FMT_FOR_PLUGIN_EVENT): added definition.
2690         (dump_active_plugins): output to file everything. Use
2691         internationalized dump & FMT_FOR_PLUGIN_EVENT.
2692
2693 2009-11-19  Richard Guenther  <rguenther@suse.de>
2694
2695         * gimple.c (canonicalize_cond_expr_cond): Strip conversions
2696         around truth-valued expressions.
2697         * tree.c (free_lang_data): Untangle check for LTO frontend.
2698
2699 2009-11-19  Jakub Jelinek  <jakub@redhat.com>
2700
2701         * tree.c (need_assembler_name_p): Use cgraph_get_node instead
2702         of cgraph_node_for_decl.
2703         * cgraph.h (cgraph_node_for_decl): Remove prototype.
2704         * cgraph.c (cgraph_node_for_decl): Remove.
2705         (cgraph_get_node): Just return NULL if !cgraph_hash.
2706
2707 2009-11-19  Paul Brook  <paul@codesourcery.com>
2708
2709         * config.gcc: Add new ARM --with-fpu options.
2710         * doc/invoke.texi: Docuent ARM -mfpu=fpv4-sp-d16.
2711         * config/arm/arm.c (all_fpus): Add fpv4-sp-d16.
2712
2713 2009-11-18  Richard Guenther  <rguenther@suse.de>
2714
2715         * gimple.h (union gimple_statement_d): Add gsmembase member.
2716         (gimple_vuse_op): Use gsmembase for access.
2717         (gimple_vdef_op): Likewise.
2718         (gimple_vuse): Likewise.
2719         (gimple_vdef): Likewise.
2720         (gimple_vuse_ptr): Likewise.
2721         (gimple_vdef_ptr): Likewise.
2722         (gimple_set_vuse): Likewise.
2723         (gimple_set_vdef): Likewise.
2724         * gsstruct.def (GSS_WITH_MEM_OPS_BASE): Add.
2725
2726 2009-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
2727
2728         * doc/arm-neon-intrinsics.texi: Regenerated.
2729
2730 2009-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
2731
2732         * config/arm/neon-docgen.ml (analyze_shape_elt): Handle alternatives.
2733
2734 2009-11-18  Paul Brook  <paul@codesourcery.com>
2735             Daniel Jacobowitz  <dan@codesourcery.com>
2736
2737         * config/arm/arm.c (FL_ARCH7EM, FL_FOR_ARCH7EM): Define.
2738         (arm_arch7em): New variable.
2739         (all_architectures): Add armv7e-m.
2740         (arm_override_options): Set arm_arch7em.
2741         * config/arm/arm.h (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD):
2742         Include arm_arch7em.
2743         (arm_arch7em): Declare.
2744
2745 2009-11-18  Richard Guenther  <rguenther@suse.de>
2746
2747         * lto-streamer-in.c (input_gimple_stmt): Assert that we find
2748         a valid field decl if checking is enabled.
2749
2750 2009-11-18  Martin Jambor  <mjambor@suse.cz>
2751
2752         * ipa-prop.h (struct ipa_param_call_note): New field lto_stmt_uid.
2753         (lto_ipa_fixup_call_notes): Declare.
2754         * ipa-prop.c (ipa_note_param_call): Store gimple uid.
2755         (update_call_notes_after_inlining): Copy call stmt uid to the new
2756         edge.
2757         (ipa_write_param_call_note): New function.
2758         (ipa_read_param_call_note): New function
2759         (ipa_write_node_info): Write also param call notes.  Removed a bogus
2760         comment, reformatted to fit 80 columns.
2761         (ipa_read_node_info): Read also param call notes. Removed a bogus
2762         comment.  Remove ipa_edge_args_vector growth.
2763         (lto_ipa_fixup_call_notes): New function.
2764         * ipa-cp.c (pass_ipa_cp): Add stmt_fixup hook.
2765         * ipa-inline.c (cgraph_mark_inline_edge): Perform indirect
2766         inlining regardless of flag_wpa.
2767         (cgraph_decide_inlining_of_small_functions): Likewise.
2768         (cgraph_decide_inlining): Likewise.
2769         (inline_read_summary): Likewise.
2770
2771 2009-11-18  Jan Hubicka  <jh@suse.cz>
2772
2773         * predict.c (compute_function_frequency): Export.
2774         * predict.h (compute_function_frequency): Declare.
2775         * tree-optimize.c (execute_fixup_cfg): Rescale frequencies.
2776
2777 2009-11-18  Martin Jambor  <mjambor@suse.cz>
2778
2779         * passes.c (ipa_write_summaries): Call renumber_gimple_stmt_uids
2780         on all nodes we write summaries for.
2781
2782 2009-11-18  Shujing Zhao  <pearly.zhao@oracle.com>
2783
2784         PR middle-end/22201
2785         * params.def (PARAM_INLINE_UNIT_GROWTH, PARAM_IPCP_UNIT_GROWTH)
2786         (PARAM_EARLY_INLINING_INSNS, PARAM_IRA_MAX_LOOPS_NUM)
2787         (PARAM_IRA_MAX_CONFLICT_TABLE_SIZE)
2788         (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP)
2789         (PARAM_MIN_INSN_TO_PREFETCH_RATIO)
2790         (PARAM_PREFETCH_MIN_INSN_TO_MEM_RATIO)
2791         (PARAM_IPA_SRA_PTR_GROWTH_FACTOR): Uppercase the first letter of the
2792         description string.
2793
2794 2009-11-18  Jakub Jelinek  <jakub@redhat.com>
2795
2796         * dwarf2out.c (loc_list_from_tree): Don't call rtl_for_decl_location
2797         unnecessarily.
2798         (rtl_for_decl_location): Try harder to get a rtl for TREE_STATIC vars.
2799
2800         PR c++/3187
2801         * cgraph.h (struct cgraph_node): Add same_body and same_body_alias
2802         fields.
2803         (cgraph_same_body_alias, cgraph_remove_same_body_alias): New
2804         prototypes.
2805         * cgraphunit.c (cgraph_expand_function, cgraph_emit_thunks,
2806         cgraph_materialize_all_clones): Handle same_body aliases.
2807         * cgraph.c (cgraph_allocate_node): New function.
2808         (cgraph_create_node): Use it.
2809         (cgraph_node_for_decl, cgraph_node, cgraph_get_node,
2810         cgraph_node_for_asm, cgraph_remove_node): Handle same_body aliases.
2811         (cgraph_same_body_alias, cgraph_remove_same_body_alias): New
2812         functions.
2813         * lto-cgraph.c (lto_output_node): Stream out same_body aliases.
2814         (input_node): Stream in same_body aliases.
2815         * lto-symtab.c (lto_cgraph_replace_node): Clear node pointers
2816         for same_body aliases.
2817         (lto_symtab_merge_cgraph_nodes_1): Handle same_body aliases.
2818
2819 2009-11-18  Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2820
2821         PR other/39888
2822         * config/darwin.h: Use the extension stub libraries to access
2823         current libgcc_s features.
2824
2825 2009-11-18  Alexandre Oliva  <aoliva@redhat.com>
2826
2827         PR debug/41926
2828         * tree-vect-loop.c (vect_loop_kill_debug_uses): New.
2829         (vect_transform_loop): Call it.
2830
2831 2009-11-18  Alexandre Oliva  <aoliva@redhat.com>
2832
2833         * tree-ssa.c (insert_debug_temp_for_var_def): Fix handling of
2834         released SSA names.
2835
2836 2009-11-18  Alexandre Oliva  <aoliva@redhat.com>
2837
2838         PR debug/41888
2839         PR debug/41886
2840         * graphite-scop-detection.c (stmt_simple_for_scop_p): Debug stmts
2841         are ok.
2842         * graphite-sese-to-poly.c (graphite_stmt_p): Likewise.
2843         (try_generate_gimple_bb): Skip debug stmts when finding data refs.
2844         * sese.c (sese_build_liveouts_bb): Skip debug stmts.
2845         (sese_bad_liveouts_use): New.
2846         (sese_reset_debug_liveouts_bb): New.
2847         (sese_build_liveouts): Use it.
2848         (rename_variables_in_stmt): Reset debug stmts rather than creating
2849         new vars for them.
2850         (expand_scalar_variable_stmt): Likewise.
2851
2852 2009-11-18  Alexandre Oliva  <aoliva@redhat.com>
2853
2854         * df-scan.c (df_ref_create): Don't mark BB as dirty on debug insns.
2855         (df_ref_remove): Likewise.
2856
2857 2009-11-17  Jan Hubicka  <jh@suse.cz>
2858
2859         * ipa-struct-reorg.c (update_cgraph_with_malloc_call): Fix profile
2860         info.
2861
2862 2009-11-17  Eric Botcazou  <ebotcazou@adacore.com>
2863
2864         * toplev.c (process_options): Remove dead code.
2865         * doc/invoke.texi (-frename-registers): Mention -fpeel-loops.
2866
2867 2009-11-17  Rafael Avila de Espindola  <espindola@google.com>
2868
2869         * lto-symtab.c (lto_symtab_resolve_symbols): Always initialize the
2870         nodes.
2871
2872 2009-11-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2873
2874         PR tree-optimization/41857
2875         * tree-ssa-address.c (move_hint_to_base): Use void pointer to
2876         TYPE's address space instead of pointer to TYPE.
2877
2878 2009-11-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2879
2880         * reload.c (find_reloads_address): Fix typo.
2881
2882 2009-11-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2883
2884         * config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC
2885         registers in leaf functions if possible.
2886
2887 2009-11-17  Maxim Kuvyrkov  <maxim@codesourcery.com>
2888
2889         * config/m68k/m68k-devices.def: Add MCF5441x family.
2890
2891 2009-11-17  Jan Hubicka  <jh@suse.cz>
2892
2893         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not access
2894         removed node.
2895         * cgraphunit.c (verify_cgraph_node): Verify frequencies for match.
2896
2897 2009-11-17  Uros Bizjak  <ubizjak@gmail.com>
2898
2899         * config/i386/predicates.md (x86_64_szext_general_operand): Do not
2900         nest ior expressions.
2901         (x86_64_szext_nonmemory_operand): Ditto.
2902         (call_insn_operand): Ditto.
2903
2904 2009-11-16  Alexandre Oliva  <aoliva@redhat.com>
2905
2906         * stmt.c (expand_asm_stmt): Get locus from stmt.
2907
2908 2009-11-16  Alexandre Oliva  <aoliva@redhat.com>
2909
2910         * tree-cfg.c (gimple_redirect_edge_and_branch) <case GIMPLE_ASM>:
2911         Create the decl label for the new dest block on demand.  Require
2912         a fallthrough edge if no asm labels were redirected.
2913
2914 2009-11-16  Uros Bizjak  <ubizjak@gmail.com>
2915
2916         * config/i386/i386.md (cbranchsi4): Use nonimmediate_operand for
2917         operand 1 predicate.
2918         (cstoresi4): Ditto for operand 2.
2919         (cbranch<mode>4): Macroize expander from cbranch{qi,hi,si,di,ti}4
2920         patterns using SDWIM mode iterator.
2921         (cstore<mode>4): Macroize expander from cstore{qi,hi,si,di}4 patterns
2922         using SWIM mode iterator.
2923         (cmpdi_1): Rename from cmpdi_1_rex64.
2924         (cmp<mode>_1): Macroize expander from cmp{si,di}_1 patterns using
2925         SWI48 mode iterator.
2926         (*cmp<mode>_1): Macroize insn from *cmp{qi,hi,si,di}_1_insn patterns
2927         using SWI mode iterator.
2928         (*cmp<mode>_ccno_1): Ditto from *cmp{qi,hi,si,di}_ccno_1.
2929         (*cmp<mode>_minus_1): Ditto from *cmp{qi,hi,si,di}_minus_1.
2930         (*cmpqi_ext_3_insn): Make private.
2931         (*cmpqi_ext_3_insn_rex64): Make private.
2932         (cmpstrnsi): Update for renamed cmpdi_1_rex64.
2933         * config/i386/predicates.md (cmpsi_operand): Remove.
2934
2935 2009-11-16  Paul Brook  <paul@codesourcery.com>
2936
2937         * doc/invoke.texi: Document ARM VFPv4 based FPUs.
2938         * config/arm/arm.c (all_fpus): Add VFPv4 entries.
2939
2940 2009-11-14  Jan Hubicka  <jh@suse.cz>
2941
2942         * cgraphbuild.c (compute_call_stmt_bb_frequency): Use proper
2943         ENTRY_BLOCK_PTR.
2944         * cgraph.c (cgraph_clone_edge): Avoid freq_scale 0 to completely
2945         zero out all callees.
2946         * cgraphunit.c (verify_cgraph_node): Verify cgraph nodes for
2947         frequency and count match.
2948         * ipa-inline.c (update_noncloned_frequencies): New function.
2949         (cgraph_clone_inlined_nodes): Use it.
2950         * tree-inline.c (copy_bb): Fix frequency scaling; output
2951         diagnostic on frequency mismatches to dump file.
2952         (initialize_cfun): Do not scale frequency; fix count scaling;
2953         initialize entry and exit block frequencies; copy profile info.
2954         (copy_cfg_body): Use frequency_scale as argument; fix count scaling.
2955         (copy_body): Use frequency_scale as argument.
2956         (expand_call_inline): Compute frequency scale and output diagnostic
2957         to dump file.
2958         (delete_unreachable_blocks_update_callgrah): Remove checking that
2959         has to be done after edge redirection.
2960         (tree_function_versioning): Update initialize_cfun and copy_body call.
2961
2962 2009-11-14  Jan Hubicka  <jh@suse.cz>
2963
2964         * cgraph.c (cgraph_release_function_body): Update use of
2965         ipa_transforms_to_apply.
2966         (cgraph_remove_node): Remove ipa_transforms_to_apply.
2967         * cgraph.h (struct cgraph_node): Add ipa_transforms_to_apply.
2968         * cgraphunit.c (save_inline_function_body): Clear ipa_transforms for
2969         copied body.
2970         (cgraph_materialize_clone): Remove original if dead.
2971         * lto-streamer-in.c (lto_read_body): Remove FIXME and
2972         ipa_transforms_to_apply hack.
2973         * function.h (struct function): Add ipa_transforms_to_apply.
2974         * ipa.c (cgraph_remove_unreachable_nodes): Handle dead clone originals.
2975         * tree-inline.c (copy_bb): Update sanity check.
2976         (initialize_cfun): Do not copy ipa_transforms_to_apply.
2977         (expand_call_inline): remove dead clone originals.
2978         (tree_function_versioning): Merge transformation queues.
2979         * passes.c (add_ipa_transform_pass): Remove.
2980         (execute_one_ipa_transform_pass): Update ipa_transforms_to_apply
2981         tracking.
2982         (execute_all_ipa_transforms): Update.
2983         (execute_one_pass): Update.
2984
2985 2009-11-14  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
2986
2987         PR target/21078, 21080
2988         * config/avr/avr.c (avr_return_addr_rtx): New function for
2989         builtin_return_address.
2990         (expand_prologue): Calculate stack usage.
2991         (avr_asm_function_end_prologue): Output stack size and offset label.
2992         * config/avr/avr.h (RETURN_ADDR_RTX): Replace.
2993         (machine_function): Add stack_usage.
2994         * config/avr/avr-protos.h (avr_return_addr_rtx): New function.
2995
2996 2009-11-14  Anatoly Sokolov  <aesok@post.ru>
2997
2998         * config/iq2000/iq2000.c (iq2000_function_value): Make static, add
2999         new 'outgoing' argument.
3000         (iq2000_libcall_value, iq2000_function_value_regno_p): New functions.
3001         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
3002         * config/iq2000/iq2000.h (FUNCTION_VALUE_REGNO_P): Redefine, use
3003         iq2000_function_value_regno_p.
3004         (FUNCTION_VALUE, LIBCALL_VALUE): Remove.
3005         * config/iq2000/iq2000-protos.h (iq2000_function_value_regno_p):
3006         Declare.
3007
3008 2009-11-14  Richard Earnshaw  <rearnsha@arm.com>
3009
3010         PR target/42031
3011         * arm.md (adddi_sesidi_di): Place tied contraint first.
3012         (adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise
3013         (subdi_zesidi_di, subdi_sesidi_di): Likewise.
3014         (mulsi3_compare0, mulsi_compare0_scratch): Likewise.
3015         (mulsi3addsi, mulsi3addsi_compare0): Likewise.
3016         (mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise.
3017         (umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise.
3018         (anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise.
3019         (andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise.
3020         (arm_lshrdi3_1bit, one_cmpldi2): Likewise.
3021
3022 2009-11-14  Uros Bizjak  <ubizjak@gmail.com>
3023
3024         * config/i386/predicates.md (call_register_no_elim_operand):
3025         New predicate.  Reject stack register as valid call operand
3026         for 32bit targets.
3027         (call_insn_operand): Use call_register_no_elim_operand.
3028
3029 2009-11-13  Richard Henderson  <rth@redhat.com>
3030
3031         * function.c (stack_protect_prologue): Don't bypass expand_expr
3032         for stack_protect_guard and guard_decl.
3033         (stack_protect_epilogue): Likewise.
3034
3035 2009-11-13  Jan Hubicka  <jh@suse.cz>
3036
3037         * ipa.c (function_and_variable_visibility): Clear COMDAT on functions
3038         when to PUBLIC is set.
3039
3040 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
3041
3042         PR middle-end/42029
3043         * gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on
3044         tmp_load if needed.
3045
3046 2009-11-13  Uros Bizjak  <ubizjak@gmail.com>
3047
3048         PR target/41900
3049         * config/i386/i386.md (*call_pop_1, *call_1, *call_value_pop_1,
3050         *call_value_1): Use "lsm" as operand 1 constraint.
3051         * config/i386/predicates.md (call_insn_operand): Depend on
3052         index_register_operand to avoid %esp register.
3053
3054 2009-11-13  Uros Bizjak  <ubizjak@gmail.com>
3055
3056         Revert:
3057         2009-11-03  Uros Bizjak  <ubizjak@gmail.com>
3058
3059         PR target/41900
3060         * config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
3061         (TARGET_CALL_ESP): New define.
3062         * config/i386/i386.c (initial_ix86_tune_features): Initialize
3063         X86_ARCH_CALL_ESP.
3064         * config/i386/i386.md (*call_pop_1_esp, *call_1_esp,
3065         *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
3066         *call_1, *call_value_pop_1 and *call_value_1.  Depend on
3067         TARGET_CALL_ESP.
3068         (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
3069         New patterns, use "lsm" as operand 1 constraint.
3070         * config/i386/predicates.md (call_insn_operand): Depend on
3071         index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
3072
3073 2009-11-13  Jason Merrill  <jason@redhat.com>
3074
3075         PR debug/26965
3076         * dwarf2out.c (gen_variable_die): Don't worry about DECL_COMDAT.
3077         Don't emit a second declaration at any scope.
3078
3079 2009-11-13  Andrey Belevantsev  <abel@ispras.ru>
3080
3081         PR rtl-optimization/41697
3082         * sel-sched-ir.c (fallthru_bb_of_jump): Bail out when a block with
3083         a conditional jump has a single successor.
3084
3085 2009-11-13  Andrey Belevantsev  <abel@ispras.ru>
3086
3087         * sched-deps.c (init_deps): New parameter lazy_reg_last.  Don't
3088         allocate reg_last when in case lazy_reg_last is true.
3089         (init_deps_reg_last): New.
3090         (free_deps): When max_reg is 0, this context is already freed.
3091         * sched-int.h (init_deps_reg_last): Export.
3092         (init_deps): Update prototype.
3093         * sched-ebb.c (schedule_ebb): Update the call to init_deps.
3094         * sched-rgn.c (sched_rgn_compute_dependencies): Likewise.
3095         * ddg.c (build_intra_loop_deps): Likewise.
3096         * sel-sched-ir.c (copy_deps_context, create_deps_context,
3097         reset_deps_context, deps_init_id): Likewise.
3098         (init_first_time_insn_data): Lazy allocate INSN_DEPS_CONTEXT.
3099         (free_data_for_scheduled_insn): New, break down from ...
3100         (free_first_time_insn_data): ... here.
3101         (has_dependence_p): Allocate reg_last now, when it is needed.
3102         (extend_insn_data): When maximal LUID is big enough, allocate
3103         per-insn data in smaller chunks.
3104         * sel-sched-ir.h (free_data_for_scheduled_insn): Export.
3105         * sel-sched.c (update_seqnos_and_stage): Free INSN_DEPS_CONTEXT
3106         in scheduled insn.
3107
3108 2009-11-13  Uros Bizjak  <ubizjak@gmail.com>
3109
3110         * config/i386/i386.md (call_value): Fix comment.
3111         (sibcall_value): Ditto.
3112
3113 2009-11-13  Eric Botcazou  <ebotcazou@adacore.com>
3114
3115         * config/i386/linux-unwind.h (x86_frob_update_context): New function.
3116         (MD_FROB_UPDATE_CONTEXT): Define.
3117
3118 2009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
3119             Laurent GUERBY  <laurent@guerby.net>
3120
3121         * config/sparc/linux-unwind.h (sparc64_fallback_frame_state): Tidy.
3122         Do not schedule an %sp restore.  Compensate for RETURN_ADDR_OFFSET.
3123         (sparc_fallback_frame_state): Tidy.  Compensate for RETURN_ADDR_OFFSET.
3124
3125 2009-11-12  Jan Hubicka  <jh@suse.cz>
3126
3127         * ipa.c (function_and_variable_visibility): Fix my accidentail commit
3128         and clear DECL_COMMON on localized declarations.
3129
3130 2009-11-12  Bernd Schmidt  <bernd.schmidt@analog.com>
3131
3132         PR rtl-opt/38582
3133         * regrename.c (struct du_head): New structure; some elements moved
3134         from...
3135         (struct du_chain): ... this one.
3136         (open_chains, closed_chains): Now of type struct du_head *.
3137         (do_replace): Accept du_head argument, not du_chain.  All callers
3138         changed.  Modified code to match new data structures.
3139         (build_def_use): Return a list of du_head structures.  Modified code
3140         to match new data structures.
3141         (dump_def_use_chain): Accept du_head argument, not du_chain.  All
3142         callers changed.  Modified code to match new data structures.
3143         (merge_overlapping_regs): Accept du_head argument, not du_chain.  All
3144         callers changed.  Modified code to match new data structures.
3145         (scan_rtx_reg): Change type of this_regno and this_nregs to unsigned.
3146         Allocate a du_head structure as well as a du_chain when creating a
3147         new chain.  Modified other code to match new data structures.
3148
3149 2009-11-12  Jan Hubicka  <jh@suse.cz>
3150
3151         * cgraph.h (varpool_node_name): Declare.
3152         * cgraphunit.c (process_function_and_variable_attributes): Set
3153         force_output flag on used variables.
3154         * ipa.c (function_and_variable_visibility): Dump externally visible
3155         and needed variables.
3156         * varpool.c (varpool_node_name): Export.
3157         (decide_is_variable_needed): Check COMDAT for externally visible vars;
3158         ignore needed flag.
3159
3160 2009-11-12  Uros Bizjak  <ubizjak@gmail.com>
3161
3162         PR middle-end/41930
3163         * simplify-rtx.c (simplify_replace_fn_rtx) <case 'e'>: Skip
3164         processing if XEXP (x, i) is NULL.
3165
3166 2009-11-12  Jan Hubicka  <jh@suse.cz>
3167
3168         * ipa.c (function_and_variable_visibility): Verify that WEAK || COMMON
3169         imply PUBLIC || EXTERNAL.
3170
3171 2009-11-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
3172
3173         PR middle-end/41440
3174         * cfgexpand.c (expand_gimple_basic_block): Append NOP to a fallthru,
3175         single successor block, ending with jump created by RTL expander.
3176
3177 2009-11-11  Jan Hubicka  <jh@suse.cz>
3178
3179         PR middle-end/41729
3180         * ipa.c (function_and_variable_visibility): Do not privatize COMDAT
3181         and WEAK variables at -fwhole-program.
3182
3183         PR middle-end/41735
3184         * ipa.c (whole_program_function_and_variable_visility): COMDAT
3185         functions/variables are not needed even if they are externally visible.
3186
3187 2009-11-11  Jan Hubicka  <jh@suse.cz>
3188
3189         (patch by Richard Guenther)
3190         * lto-streamer-out.c (output_function): Output head of argument list
3191         earlier.
3192         * lto-streamer-in.c (input_function): Re-map arguments into merged
3193         declaration.
3194
3195 2009-11-11  Jan Hubicka  <jh@suse.cz>
3196
3197         * lto-cgraph.c: Include gcov-io.h
3198         (output_profile_summary): New function.
3199         (output_cgraph): Use it.
3200         (input_profile_summary): New function.
3201         (input_cgraph): Use it.
3202         * coverage.c (build_ctr_info_value): Use varpool; initalize
3203         DECL_ASSEMBLER_NAME.
3204         (create_coverage): Likewise.
3205         * tree-profile.c (tree_init_ic_make_global_vars): Likewise.
3206         (tree_init_edge_profiler): Likewise.
3207         * Makefile.in (lto-cgraph.o): Add dependency on gcov-io.h.
3208
3209 2009-11-11  Kai Tietz  <kai.tietz@onevision.com>
3210
3211         * config/i386/cygming.h (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed.
3212         * c-pragma.c (def_pragma_macro_value): Likewise.
3213         (def_pragma_macro): Likewise.
3214         (pushed_macro_table): Likewise.
3215         (HANDLE_PRAGMA_PUSH_POP_MACRO): Remove guarded code.
3216         * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed.
3217
3218 2009-11-11  Basile Starynkevitch  <basile@starynkevitch.net>
3219
3220         * doc/plugins.texi (Registering custom attributes): section
3221         renamed as (Registering custom attributes or pragmas).
3222         Mentions custom attributes & pragmas, and c_register_pragma, with
3223         a small example.
3224         * doc/cpp.texi (Pragmas): Mentions that plugins can provide their
3225         pragmas.
3226         * doc/extend.texi (Function Attributes): Mentions that plugin can
3227         provide their attributes.
3228
3229 2009-11-11  Jon Beniston  <jon@beniston.com>
3230
3231         * config.gcc: Add lm32 elf and uclinux targets.
3232         * config/lm32: New directory.
3233         * config/lm32/lm32.c: New file.
3234         * config/lm32/lm32.h: New file.
3235         * config/lm32/lm32.md: New file.
3236         * config/lm32/lm32.opt: New file.
3237         * config/lm32/lm32-protos.h: New file.
3238         * config/lm32/constraints.md: New file.
3239         * config/lm32/predicates.md: New file.
3240         * config/lm32/sfp-machine.h: New file.
3241         * config/lm32/t-fprules-softfp: New file.
3242         * config/lm32/uclinux-elf.h: New file.
3243         * doc/invoke.texi: Document lm32 options.
3244         * doc/contrib.texi: Document lm32 porter.
3245         * doc/install.texi: Document lm32 targets.
3246
3247 2009-11-11  Martin Jambor  <mjambor@suse.cz>
3248
3249         PR lto/41932
3250         * ipa-prop.c (ipa_update_after_lto_read): Call
3251         ipa_check_create_node_params and ipa_check_create_edge_args.  Also
3252         call ipa_initialize_node_params instead of ipa_populate_param_decls.
3253
3254 2009-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
3255
3256         * config/arm/arm.c (neon_vdup_constant, neon_make_constant): New.
3257         (neon_expand_vector_init): Use them.  Also handle non-constant
3258         vectors with identical elements and vectors with only one
3259         non-constant element.
3260         (arm_print_operand): Handle 'y' modifier.
3261         * config/arm/arm-protos.h (neon_make_constant): Declare.
3262         * config/arm/neon.md (neon_vdup_n<mode>): Split into two
3263         patterns.  Use VX instead of VDQW for the first one.  Allow
3264         a VFP alternative and V32 modes for the second one.
3265         * config/arm/neon.ml (shape_elt): Add Alternatives.
3266         (ops): Use Alternatives for vdup lane instructions.
3267         * config/arm/neon-testgen.ml (analyze_shape): Handle Alternatives.
3268         * config/arm/vec-common.md (mov<mode>): Use neon_make_constant.
3269
3270 2009-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
3271
3272         * config/arm/neon.md (*neon_mov<mode>): Reject two non-register
3273         operands.
3274         (movti, mov<mode>): Call force_reg on one operand if required.
3275         * config/arm/vec-common.md (mov<mode>): Likewise.
3276
3277 2009-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
3278
3279         * config/arm/arm.c (arm_override_options): Enable scheduling for
3280         Thumb-2.
3281
3282 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
3283
3284         PR target/10127
3285         PR ada/20548
3286         * expr.h (anti_adjust_stack_and_probe): Declare.
3287         * explow.c (anti_adjust_stack_and_probe): Make global, add ADJUST_BACK
3288         parameter and rewrite head comment.
3289         (allocate_dynamic_stack_space): Adjust call to above function.
3290         * function.c (expand_function_end): Handle STACK_CHECK_MOVING_SP.
3291
3292         * tree.h (dwarf2out_args_size): Delete.
3293         * dwarf2out.c (dwarf2out_args_size): Make static and move around.
3294         (dwarf2out_args_size_adjust): Delete prototype and move around.
3295         (dwarf2out_frame_debug_expr): Do not record arg size adjustments for
3296         ACCUMULATE_OUTGOING_ARGS targets.
3297
3298 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
3299
3300         * config/sparc/sparc.c (print_operand) <')'>: Test for a non-null
3301         DECL_SIZE of DECL_RESULT before evaluating it.
3302
3303 2009-11-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3304
3305         PR tree-optimization/41987
3306         * fold-const.c (const_binop): Avoid using fold_buildN().
3307
3308 2009-11-10  Martin Jambor  <mjambor@suse.cz>
3309
3310         * tree-pass.h (struct ipa_opt_pass_d): Added stmt_fixup field.
3311         (execute_all_ipa_stmt_fixups): Declare.
3312         * ipa-cp.c (pass_ipa_cp): Added stmt_fixup value.
3313         * ipa-inline.c (pass_ipa_inline): Likewise.
3314         * ipa-pure-const.c (pass_ipa_pure_cons): Likewise.
3315         * ipa-reference.c (pass_ipa_reference): Likewise.
3316         * ipa.c (pass_ipa_whole_program_visibility): Likewise.
3317         * lto-streamer-out.c (pass_ipa_lto_gimple_out): Likewise.
3318         (pass_ipa_lto_finish_out): Likewise.
3319         * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Likewise.
3320         * passes.c (execute_ipa_stmt_fixups): New function.
3321         (execute_all_ipa_stmt_fixups): New function.
3322         * lto-streamer-in.c (input_function): Call execute_all_ipa_stmt_fixups.
3323
3324 2009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
3325
3326         PR ada/20548
3327         * explow.c (probe_stack_range): Fix typo.
3328         * config/sparc/sparc.md (probe_stack): New expander.
3329
3330 2009-11-09  Dave Korn  <dave.korn.cygwin@gmail.com>
3331
3332         * config/i386/cygwin.h (LINK_SPEC): Add -tsaware flag if !mno-cygwin.
3333
3334 2009-11-09  Jason Merrill  <jason@redhat.com>
3335
3336         * gdbinit.in (pgq): New function for printing gimple sequence.
3337
3338 2009-11-09  Paul Brook  <paul@codesourcery.com>
3339             Daniel Jacobowitz  <dan@codesourcery.com>
3340             Sandra Loosemore  <sandra@codesourcery.com>
3341
3342         * doc/extend.texi (Half-Precision): Update wording to reflect
3343         that there are now multiple -mfpu options that enable fp16
3344         hardware support.
3345         * doc/invoke.texi: Update list of ARM -mfpu= options.
3346         * config.gcc: Update ARM --with-fpu option list.
3347         * config/arm/arm.c (all_fpus): Add vfpv3-fp16, vfpv3-d16-fp16,
3348         vfpv3xd and vfpv3xd-fp16.
3349         (use_vfp_abi): New function.
3350         (aapcs_vfp_is_call_or_return_candidate): Avoid double precision regs
3351         when undesirable.
3352         (aapcs_vfp_is_return_candidate, aapcs_vfp_is_call_candidate,
3353         aapcs_vfp_allocate_return_reg): Use use_vfp_abi.
3354         (arm_rtx_costs_1, arm_size_rtx_costs, arm_fastmul_rtx_costs,
3355         arm_9e_rtx_costs): Only expect double-precision operations if the FPU
3356         provides them.
3357         (coproc_secondary_reload_class): Reload HFmode via GENERAL_REGS if no
3358         NEON.
3359         (arm_print_operand): Handle 'p' modifier.
3360         (arm_hard_regno_mode_ok): : Allow HFmode in VFP registers if
3361         TARGET_FP16.
3362         * config/arm/arm.h (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Define.
3363         (TARGET_FP16): Define.
3364         * config/arm/vfp.md: Disable double-precision patterns if the FPU
3365         does not provide them.
3366         (arm_movdi_vfp, thumb2_movdi_vfp): Use fcpys to move
3367         double-precision values on a single-precision FPU.
3368         (movdf_vfp, thumb2_movdf_vfp): Likewise.  Use "Dy" for
3369         double-precision constants.
3370         (movhf_vfp_neon): New pattern (was movhf_vfp).
3371         (movhf_vfp): Remove NEON instructions.
3372         * config/arm/constraints.md: Add new "Dy" constraint for
3373         double-precision constants.  Update description of "Dv".
3374         * config/arm/arm.md: Disable double-precision patterns if the FPU
3375         does not provide them
3376
3377 2009-11-09  Jakub Jelinek  <jakub@redhat.com>
3378
3379         * config/i386/i386.c (print_operand) <case 'D'>: Fix formatting.
3380         (print_operand) <case 'Y'>: Likewise.  Fix a pasto in operand lossage
3381         diagnostics.
3382
3383 2009-11-08  H.J. Lu  <hongjiu.lu@intel.com>
3384
3385         * collect2.c (main): Search PLUGIN_LD for plugin linker.
3386
3387         * configure.ac (--with-plugin-ld): New.  Default to ld.
3388         * configure: Regenerated.
3389         * config.in: Likewise.
3390
3391         * exec-tool.in (ORIGINAL_PLUGIN_LD_FOR_TARGET): New.
3392         (collect-ld): Use ORIGINAL_PLUGIN_LD_FOR_TARGET for -plugin.
3393
3394 2009-11-08  Jonathan Gray  <jsg@openbsd.org>
3395
3396         * config/openbsd-stdint.h: Change to reflect what
3397         c_common_nodes_and_builtins expects.
3398
3399 2009-11-08  Paolo Carlini  <paolo.carlini@oracle.com>
3400
3401         * builtins.c (apply_args_reg_offset): Remove commented out delaration.
3402
3403 2009-11-08  Jakub Jelinek  <jakub@redhat.com>
3404
3405         PR target/41985
3406         * config/i386/i386.c (get_some_local_dynamic_name): Don't assert
3407         function contains at least one local dynamic name.
3408         (print_operand) <case '&'>: Instead output operand lossage diagnostics
3409         here if that happens.
3410
3411 2009-11-08  Zbigniew Chamski  <zbigniew.chamski@gmail.com>
3412             Joern Rennecke  <amylaar@spamcop.net>
3413
3414         * cfgrtl.c (pass_free_cfg): Add pass name.
3415         * cgraphbuild.c (pass_build_cgraph_edges): Likewise.
3416         (pass_rebuild_cgraph_edges, pass_remove_cgraph_callee_edges): Likewise.
3417         * dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Change pass name.
3418         * df-core.c (pass_df_initialize_no_opt): Likewise.
3419         * except.c (pass_rtl_eh): Likewise.
3420         * function.c (pass_init_function, pass_leaf_regs): Likewise.
3421         * gcse.c (pass_rtl_pre): Change pass name.
3422         * passes.c (pass_postreload): Add pass name.
3423         (make_pass_instance): Don't use duplicate-tracking logic for
3424         names starting with '*'.
3425         (next_pass_1): Assert that pass has a name.
3426         (register_one_dump_file): If there is an space in the name,
3427         skip past it.
3428         * predict.c (pass_strip_predict_hints): Add pass name.
3429         * reg-stack.c (pass_stack_regs): Likewise.
3430         * stack-ptr-mod.c (pass_stack_ptr_mod): Likewise.
3431         * tree-cfg.c (pass_warn_function_return,
3432         pass_warn_function_noreturn): Add pass name.
3433         * tree-dfa.c (pass_referenced_vars): Likewise.
3434         * tree-optimize.c (pass_cleanup_cfg_post_optimizing):
3435         Fix whitespace before comment.
3436         (pass_fixup_cfg): Add pass name, fix whitespace before comment.
3437         (pass_init_datastructures): Add pass name.
3438         * tree-ssa-loop.c (pass_record_bounds): Likewise.
3439         * tree-ssa.c (pass_early_warn_uninitialized,
3440         pass_late_warn_uninitialized): Likewise.
3441         * tree.c (pass_ipa_free_lang_data): Likewise.
3442         * doc/passes.texi (pass manager): Document how to disambiguate
3443         pass names.
3444