OSDN Git Service

Fix PR target/48090
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-04-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2
3         Backport from mainline:
4         2011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
5         PR target/48090
6         * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
7
8 2011-04-12  Martin Jambor  <mjambor@suse.cz>
9
10         PR tree-optimization/48195
11         * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
12         ipa_check_create_edge_args.
13         (ipcp_generate_summary): Do not call ipa_check_create_node_params and
14         ipa_check_create_edge_args.
15         * ipa-inline.c (inline_generate_summary): Do not call
16         ipa_check_create_node_params and ipa_check_create_edge_args.
17         * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
18         ipa_check_create_edge_args.
19
20 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
21
22         PR rtl-optimization/48549
23         * combine.c (propagate_for_debug): Also stop after BB_END of
24         this_basic_block.  Process LAST and just stop processing after it.
25         (combine_instructions): If last_combined_insn has been deleted,
26         set last_combined_insn to its PREV_INSN.
27
28 2011-04-12  Nick Clifton  <nickc@redhat.com>
29
30         * config/v850/v850.c (expand_prologue): Do not use the CALLT
31         instruction for interrupt handlers if the target is the basic V850
32         architecture.
33         (expand_epilogue): Likewise.
34
35 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
36
37         PR c/48517
38         * c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
39         qualified type.
40
41 2011-04-11  Joseph Myers  <joseph@codesourcery.com>
42
43         * common.opt (Tbss=, Tdata=, Ttext=): New options.
44
45 2011-04-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
46
47         Backport from mainline:
48         2011-04-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
49
50         * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
51
52 2011-04-09  Duncan Sands  <baldrick@free.fr>
53
54         * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
55
56 2011-04-08  Steven G. Kargl  <kargl@gcc.gnu.org>
57
58         PR target/47829
59         gcc/config.gcc: disable unwind table generation for crtbegin/crtend
60         on i386-*-freebsd.
61
62 2011-04-08  Jakub Jelinek  <jakub@redhat.com>
63
64         PR tree-optimization/48377
65         * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
66         is_packed to true even for types with smaller TYPE_ALIGN than
67         TYPE_SIZE.
68
69 2011-04-07  Uros Bizjak  <ubizjak@gmail.com>
70
71         * config/i386/sse.md: Update copyright year.
72         (avx_cmp<ssescalarmodesuffix><mode>3): Add missing output
73         register constraint.
74         (*vec_concatv2sf_avx): Fix wrong register constraint in
75         alternative 3 of operand 1.
76         (*vec_set<mode>_0_avx): Avoid combining registers from different
77         units in a single alternative.
78         (*vec_set<mode>_0_sse4_1): Ditto.
79         (*vec_set<mode>_0_sse2): Ditto.
80         (vec_set<mode>_0): Ditto.
81         (sse2_storehpd): Ditto.
82         (sse2_loadhpd): Ditto.
83         (sse4_1_insertps): Use nonimmediate_operand for operand 2.
84         * config/i386/predicates.md (sse_comparison_operator): Do not
85         define as special predicate.
86
87 2011-04-07  Jakub Jelinek  <jakub@redhat.com>
88
89         PR debug/48343
90         * combine.c (combine_instructions): Add last_combined_insn,
91         update it if insn is after it, pass it to all try_combine calls.
92         (try_combine): Add last_combined_insn parameter, pass it instead of
93         i3 to propagate_for_debug.
94
95 2011-04-07  Andrey Belevantsev  <abel@ispras.ru>
96
97         Backport from mainline
98         2011-03-26  Andrey Belevantsev  <abel@ispras.ru>
99
100         PR rtl-optimization/48144
101         * sel-sched-ir.c (merge_history_vect): Factor out from ...
102         (merge_expr_data): ... here.
103         (av_set_intersect): Rename to av_set_code_motion_filter.
104         Update all callers.  Call merge_history_vect when an
105         expression is found in both sets.
106         * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
107
108 2011-04-06  Jakub Jelinek  <jakub@redhat.com>
109
110         PR debug/48466
111         * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
112         as base_reg whatever register reg has been eliminated to, instead
113         of hardcoding STACK_POINTER_REGNUM.
114
115         Backported from mainline
116         2011-04-01  Jakub Jelinek  <jakub@redhat.com>
117
118         PR middle-end/48335
119         * expr.c (expand_assignment): Handle all possibilities
120         if TO_RTX is CONCAT.
121         * expmed.c (store_bit_field_1): Avoid trying to create
122         invalid SUBREGs.
123         (store_split_bit_field): If SUBREG_REG (op0) or
124         op0 itself has smaller mode than word, return it
125         for offset 0 and const0_rtx for out-of-bounds stores.
126         If word is const0_rtx, skip it.
127
128 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
129
130         * gcov-io.c: Use GCC Runtime Library Exception.
131
132 2011-04-05  Eric Botcazou  <ebotcazou@adacore.com>
133
134         * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
135
136 2011-04-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
137
138         * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
139
140 2011-04-01  Andrey Belevantsev  <abel@ispras.ru>
141
142         Backport from mainline
143         2011-03-22  Andrey Belevantsev  <abel@ispras.ru>
144
145         PR rtl-optimization/48143
146         * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
147         (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
148         sse2_cvtps2pd): Likewise.
149
150 2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
151
152         PR target/48142
153         * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
154         frame-related from frame-unrelated adjustments to the stack pointer.
155
156 2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
157
158         Backport from mainline
159         2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
160
161         PR target/48349
162         * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
163         FLOAT_SSE_REGS.
164
165 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
166
167         PR debug/48253
168         * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
169         dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
170         dw_fde_unlikely_section_end_label, cold_in_std_section,
171         dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
172         Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
173         fields.
174         (output_fde): Use dw_fde_second_{begin,end} if second is
175         true, otherwise dw_fde_{begin,end}.
176         (output_call_frame_info): Test dw_fde_second_begin != NULL
177         instead of dw_fde_switched_sections.
178         (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
179         fields, initialize new fields.  Initialize in_std_section
180         unconditionally from the first partition.
181         (dwarf2out_end_epilogue): Don't override dw_fde_end when
182         dw_fde_second_begin is non-NULL.
183         (dwarf2out_switch_text_section): Stop initializing removed
184         dw_fde_struct fields, initialize new fields, initialize
185         also dw_fde_end here.  Set dw_fde_switch_cfi even when
186         dwarf2out_do_cfi_asm ().  Call var_location_switch_text_section.
187         (struct var_loc_list_def): Add last_before_switch field.
188         (arange_table, arange_table_allocated, arange_table_in_use,
189         ARANGE_TABLE_INCREMENT, add_arange): Removed.
190         (size_of_aranges): Count !in_std_section and !second_in_std_section
191         hunks in fdes, instead of looking at arange_table_in_use.
192         (output_aranges): Add aranges_length argument, don't call
193         size_of_aranges here.  Instead of using aranges_table*
194         emit ranges for fdes when !in_std_section resp.
195         !second_in_std_section.
196         (dw_loc_list): Break ranges crossing section switch.
197         (convert_cfa_to_fb_loc_list): Likewise.  If switched sections,
198         use dw_fde_second_end instead of dw_fde_end as end of last
199         range.
200         (gen_subprogram_die): Don't call add_arange.  Use
201         dw_fde_{begin,end} for first partition and if switched
202         section dw_fde_second_{begin,end} for the second.
203         (var_location_switch_text_section_1,
204         var_location_switch_text_section): New functions.
205         (dwarf2out_begin_function): Initialize cold_text_section even
206         when function_section () isn't text_section.
207         (prune_unused_types): Don't walk arange_table.
208         (dwarf2out_finish): Don't needlessly test
209         flag_reorder_blocks_and_partition when testing cold_text_section_used.
210         If info_section_emitted, call size_of_aranges and if it indicates
211         non-empty .debug_aranges, call output_aranges with the computed
212         size.  Stop using removed dw_fde_struct fields, use
213         dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
214         for second.
215
216 2011-03-29  Uros Bizjak  <ubizjak@gmail.com>
217
218         * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
219         (alpha_option_override): Don't set alpha_sr_alias_set.
220         (emit_frame_store_1): Use gen_frame_mem rather than calling
221         set_mem_alias_set.
222         (alpha_expand_epilogue): Ditto.
223         (unicosmk_gen_dsib): Ditto.
224
225 2011-03-29  Nick Clifton  <nickc@redhat.com>
226
227         * config/rx/rx.h (LABEL_ALIGN_AFTER_BARRIER): Define.
228         (ASM_OUTPUT_MAX_SKIP): Define.
229         * config/rx/predicates.md (rx_zs_comparison_operator): Do not
230         allow LT aor GE comparisons.
231         * config/rx/rx-protos.h (rx_align_for_label): Prototype.
232         * config/rx/rx.md: Add peepholes and patterns to combine extending
233         loads with simple arithmetic instructions.
234         * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI modes
235         to use pre-decrement and post-increment addressing.
236         (rx_is_restricted_memory_address): For REG+INT addressing, ensure
237         that the INT is a valid offset.
238         (rx_print_operand): Handle %R.
239         Fix %Q's handling of MEMs.
240         (rx_option_override): Set alignments.
241         (rx_align_for_label): New function.
242         (rx_max_skip_for_label): New function.
243         (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
244         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
245         (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
246         (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
247
248 2011-03-29  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
249
250         * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
251         for invalid symbolic addresses.
252         (s390_secondary_reload): Don't use s390_check_symref_alignment for
253         larl operands.
254
255 2011-03-28  Richard Sandiford  <richard.sandiford@linaro.org>
256
257         PR target/47553
258         * config/arm/predicates.md (neon_lane_number): Accept 0..15.
259
260 2011-03-28  Richard Guenther  <rguenther@suse.de>
261
262         Backport from mainline
263         2011-03-24  Richard Guenther  <rguenther@suse.de>
264
265         PR middle-end/48269
266         * tree-object-size.c (addr_object_size): Do not double-account
267         for MEM_REF offsets.
268
269         2011-03-22  Richard Guenther  <rguenther@suse.de>
270
271         PR tree-optimization/48228
272         * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
273         for single-arg PHIs.
274
275         2011-03-17  Richard Guenther  <rguenther@suse.de>
276
277         PR middle-end/48134
278         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
279         a value make sure to fold the statement.
280
281         2011-03-15  Richard Guenther  <rguenther@suse.de>
282
283         PR middle-end/48031
284         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
285         or variable-indexed array accesses when in gimple form.
286
287 2011-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
288
289         PR other/48179
290         PR other/48221
291         PR other/48234
292         * doc/extend.texi (Alignment): Move section to match order in TOC.
293         * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
294         (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
295
296 2011-03-26  Uros Bizjak  <ubizjak@gmail.com>
297
298         Backport from mainline:
299         2011-03-24  Uros Bizjak  <ubizjak@gmail.com>
300
301         PR target/48237
302         * config/i386/i386.md (*movdf_internal_rex64): Do not split
303         alternatives that can be handled with movq or movabsq insn.
304         (*movdf_internal): Disable for !TARGET_64BIT.
305         (*movdf_internal_nointeger): Ditto.
306         * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
307
308 2011-03-26  Jakub Jelinek  <jakub@redhat.com>
309
310         Backport from mainline
311         2011-03-24  Jakub Jelinek  <jakub@redhat.com>
312
313         PR debug/48204
314         * simplify-rtx.c (simplify_const_unary_operation): Call
315         real_convert when changing mode class with FLOAT_EXTEND.
316
317         2011-03-20  Jakub Jelinek  <jakub@redhat.com>
318
319         PR c/42544
320         PR c/48197
321         * c-common.c (shorten_compare): If primopN is first sign-extended
322         to opN and then zero-extended to result type, set primopN to opN.
323
324         PR rtl-optimization/48156
325         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
326         assume df and df_lr are not NULL.
327
328         2011-03-17  Jakub Jelinek  <jakub@redhat.com>
329
330         PR rtl-optimization/48141
331         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
332         * dse.c: Include params.h.
333         (active_local_stores_len): New variable.
334         (add_wild_read, dse_step1): Clear it when setting active_local_stores
335         to NULL.
336         (record_store, check_mem_read_rtx): Decrease it when removing
337         from the chain.
338         (scan_insn): Likewise.  Increase it when adding to chain, if it
339         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
340         set active_local_stores to NULL before the addition.
341         * Makefile.in (dse.o): Depend on $(PARAMS_H).
342
343         PR rtl-optimization/48141
344         * dse.c (record_store): If no positions are needed in an insn
345         that cannot be deleted, at least unchain it from active_local_stores.
346
347 2011-03-25  Jakub Jelinek  <jakub@redhat.com>
348
349         * BASE-VER: Set to 4.6.1.
350         * DEV-PHASE: Set to prerelease.
351
352 2011-03-25  Release Manager
353
354         * GCC 4.6.0 released.
355
356 2011-03-21  Andreas Tobler  <andreast@fgznet.ch>
357
358         * config/rs6000/t-freebsd: Remove duplication from file.
359
360 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
361
362         PR bootstrap/48135
363         * doc/install.texi (Prerequisites): Move jar etc. up.
364         Explain support library version requirements.
365
366 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
367
368         PR bootstrap/48135
369         * doc/install.texi (Prerequisites): Move Perl to build
370         requirements.  Always necessary on Solaris 2 with Sun ld.
371
372 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
373
374         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
375         binutils 2.21.
376         (Specific, i?86-*-solaris2.[89]): Likewise.
377         (Specific, i?86-*-solaris2.10): Likewise.
378         (Specific, mips-sgi-irix6): Likewise.
379         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
380         Update for binutils 2.21.
381
382 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
383
384         PR target/48213
385         * config/s390/s390.c (s390_delegitimize_address): Don't call
386         lowpart_subreg if orig_x has BLKmode.
387
388 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
389
390         * c-decl.c (diagnose_mismatched_decls): Give an error for
391         redefining a typedef with variably modified type.
392
393 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
394
395         * c-decl.c (grokfield): Don't allow typedefs for structures or
396         unions with no tag by default.
397         * doc/extend.texi (Unnamed Fields): Update.
398
399 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
400
401         PR debug/48176
402         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
403         arange_table_in_use is 0, but either text_section_used or
404         cold_text_section_used is true.  Don't call it if
405         !info_section_emitted.
406
407 2011-03-18  Richard Guenther  <rguenther@suse.de>
408
409         * doc/install.texi (--enable-gold): Remove.
410         (--with-plugin-ld): Document.
411         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
412
413 2011-03-18  H.J. Lu  <hongjiu.lu@intel.com>
414
415         Backport from mainline
416         2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
417
418         PR target/48171
419         * config/i386/i386.opt: Add Save to -mavx and -mfma.
420
421 2011-03-18  Richard Henderson  <rth@redhat.com>
422             Jakub Jelinek  <jakub@redhat.com>
423
424         PR bootstrap/48161
425         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
426         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
427
428 2011-03-17  Richard Guenther  <rguenther@suse.de>
429
430         PR middle-end/48165
431         * tree-object-size.c (compute_object_offset): Properly return
432         the offset operand of MEM_REFs as sizetype.
433
434 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
435
436         PR debug/47510
437         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
438         (lookup_type_die_strip_naming_typedef): ... here.
439         (get_context_die): Use it.
440         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
441         the anonymous struct named by the naming typedef.
442
443 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
444
445         PR target/46788
446         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
447         in the output template.
448
449 2011-03-15  Alan Modra  <amodra@gmail.com>
450
451         PR target/48032
452         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
453         presume symbol_refs without a symbol_ref_decl are suitably
454         aligned, nor other trees we may see here.  Handle anchor symbols.
455         (legitimate_constant_pool_address_p): Comment.  Add mode param.
456         Check cmodel=medium addresses.  Adjust all calls.
457         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
458         creating cmodel=medium optimized access to locals.
459         * config/rs6000/constraints.md (R): Pass QImode to
460         legitimate_constant_pool_address_p.
461         * config/rs6000/predicates.md (input_operand): Pass mode to
462         legitimate_constant_pool_address_p.
463         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
464         Update prototype.
465
466 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
467
468         PR target/48053
469         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
470         64-bit constants being loaded into registers other than GPRs such
471         as loading 0 into a VSX register.
472
473 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
474
475         * config/sol2.c (solaris_assemble_visibility): Remove obsolete
476         URLs.
477
478 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
479
480         * doc/invoke.texi, doc/standards.texi: Refer to
481         gcc-4.6/c99status.html.
482
483         * DEV-PHASE: Mark "prerelease".
484
485 2011-03-14  Richard Guenther  <rguenther@suse.de>
486
487         PR middle-end/48098
488         * tree.c (build_vector_from_val): Adjust assert to requirements
489         and reality.
490
491 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
492
493         PR bootstrap/48102
494         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE
495         parameter.
496
497 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
498
499         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
500         terms of target_flags_explicit. Adjust copyright year.
501
502         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
503         * config/rs6000/t-freebsd: New file. Add override for
504         LIB2FUNCS_EXTRA.
505
506 2011-03-13  Chris Demetriou  <cgd@google.com>
507
508         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
509         (-fno-diagnostics-show-option): this, to reflect current default.
510         (-Werror=): Update text about -fno-diagnostics-show-option.
511
512 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
513
514         PR target/48053
515         * config/rs6000/predicates.md (easy_vector_constant_add_self,
516         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
517         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
518         mode is not V2DImode or V2DFmode.
519         (vspltis_constant): Do not handle V2DImode and V2DFmode.
520         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
521         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
522         registers to 0.
523         (movdi_internal64): Likewise.
524
525 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
526
527         PR tree-optimization/47127
528         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
529         parameter.
530         (set_cloog_options): Same.
531         (scop_to_clast): Same.
532         (print_clast_stmt): Do not call cloog_state_malloc and
533         cloog_state_free.
534         (print_generated_program): Same.
535         (gloog): Same.
536         * graphite-clast-to-gimple.h (cloog_state): Declared.
537         (scop_to_clast): Adjust declaration.
538         * graphite.c (cloog_state): Defined here.
539         (graphite_initialize): Call cloog_state_malloc.
540         (graphite_finalize): Call cloog_state_free.
541
542 2011-03-11  Jason Merrill  <jason@redhat.com>
543
544         * attribs.c (lookup_attribute_spec): Take const_tree.
545         * tree.h: Adjust.
546
547 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
548
549         * config/sparc/sparc.c (sparc_option_override): Use
550         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
551
552 2011-03-11  Richard Guenther  <rguenther@suse.de>
553
554         PR tree-optimization/48067
555         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
556         multiplication result will be only used once on the target
557         stmt.
558
559 2011-03-11  Richard Guenther  <rguenther@suse.de>
560
561         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
562
563 2011-03-11  Richard Guenther  <rguenther@suse.de>
564
565         PR lto/48073
566         * tree.c (find_decls_types_r): Do not walk types only reachable
567         from IDENTIFIER_NODEs.
568
569 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
570
571         PR middle-end/48044
572         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
573         all vnode->force_output nodes as needed.
574
575 2011-03-11  Jason Merrill  <jason@redhat.com>
576
577         PR c++/48069
578         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
579         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
580
581 2011-03-11  Martin Jambor  <mjambor@suse.cz>
582
583         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
584         cgraph_node.
585
586 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
587
588         PR tree-optimization/48063
589         * ipa-inline.c (cgraph_decide_inlining): Don't try to
590         inline functions called once if !tree_can_inline_p (node->callers).
591
592 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
593
594         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
595         extra_objs.
596         * config/score/score3.c: Delete.
597         * config/score/score3.h: Delete.
598         * config/score/mul-div.S: Delete.
599         * config/score/sfp-machine.h: Add new file.
600         * config/score/constraints.md: Add new file.
601         * config/score/t-score-softfp: Add new file.
602         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
603         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
604         (score7_extra_constraint): Delete.
605         (score7_option_override): Remove unused code.
606         * config/score/score.c: Remove score3 and score5 define and code.
607         * config/score/score.h: Remove score3 and score5 define and code.
608         * config/score/score.md: Remove score3 template and unusual insn.
609         * config/score/score.opt: Remove score3 and score5 options.
610
611 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
612
613         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
614         when _HPUX_SOURCE is defined.
615         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
616
617 2011-03-10  Jason Merrill  <jason@redhat.com>
618
619         PR c++/48029
620         * stor-layout.c (layout_type): Don't set structural equality
621         on arrays of incomplete type.
622         * tree.c (type_hash_eq): Handle comparing them properly.
623
624 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
625
626         PR debug/48043
627         * config/s390/s390.c (s390_delegitimize_address): Make sure the
628         result mode matches original rtl mode.
629
630 2011-03-10  Nick Clifton  <nickc@redhat.com>
631
632         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
633         (andsi3, andsi3_flags): Fix timings for three operand alternative.
634
635 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
636
637         PR rtl-optimization/47866
638         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
639         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
640         if target wasn't scalar.
641         * function.c (assign_stack_temp_for_type): Assert that neither
642         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
643         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
644         macro.
645         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
646
647 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
648
649         * config/s390/s390-protos.h (s390_label_align): New prototype.
650         * config/s390/s390.c (s390_label_align): New function.
651         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
652
653 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
654
655         PR target/47755
656         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
657         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
658         (output_vec_const_move): Ditto.
659
660 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
661
662         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
663         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
664         * config/mips/mips.c (mips_preferred_reload_class): Make static.
665         Change 'rclass' argument and result type to reg_class_t.
666         (TARGET_PREFERRED_RELOAD_CLASS): Define.
667
668 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
669
670        * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
671        * config/avr/avr.c (TARGET_REGISTER_MOVE_COST,
672        TARGET_MEMORY_MOVE_COST): Define.
673        (avr_register_move_cost, avr_memory_move_cost): New Functions.
674
675 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
676
677         PR debug/47881
678         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
679         removed anything.
680
681         PR tree-optimization/48022
682         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
683         for EQ/NE_EXPR.
684
685 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
686
687         PR debug/47991
688         * var-tracking.c (find_use_val): Return NULL for
689         cui->sets && cui->store_p BLKmode MEMs.
690
691 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
692
693         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
694         Remove.
695         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
696         xstormy16_print_operand_address): Remove.
697         * config/stormy16/stormy16.c (xstormy16_print_operand,
698         xstormy16_print_operand_address): Make static.
699         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
700
701 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
702
703         PR target/47862
704         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
705         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
706         before definition.
707
708 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
709
710         PR bootstrap/48000
711         * cfgloopmanip.c (fix_bb_placements): Return immediately
712         if FROM is BASE_LOOP's header.
713
714 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
715
716         * gimplify.c (gimplify_function_tree): Fix building calls
717         to __builtin_return_address.
718
719 2011-03-07  Alan Modra  <amodra@gmail.com>
720
721         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
722         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
723         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
724         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
725         return_mode args.
726         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
727         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
728         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
729         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
730         * config/rs6000/rs6000.c
731         (rs6000_elf_end_indicate_exec_stack): Rename to..
732         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
733         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
734         (rs6000_file_start): ..here.
735         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
736         file scope variables.
737         (call_ABI_of_interest): New function.
738         (init_cumulative_args): Set above vars when function return value
739         is a float, vector, or small struct.
740         (rs6000_function_arg_advance_1): Likewise for function args.
741         (rs6000_va_start): Set rs6000_passes_float if variable arg function
742         references float args.
743
744 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
745
746         * doc/cfg.texi: Remove "See" before @ref.
747         * doc/invoke.texi: Likewise.
748
749 2011-03-05  Jason Merrill  <jason@redhat.com>
750
751         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
752
753 2011-03-05  Anthony Green  <green@moxielogic.com>
754
755         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
756
757 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
758
759         PR rtl-optimization/47899
760         * cfgloopmanip.c (fix_bb_placements): Fix first argument
761         to flow_loop_nested_p when moving the loop upward.
762
763 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
764
765         PR target/47719
766         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
767
768 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
769
770         PR tree-optimization/47967
771         * ipa-cp.c (build_const_val): Return NULL instead of creating
772         VIEW_CONVERT_EXPR for mismatching sizes.
773         (ipcp_create_replace_map): Return NULL if build_const_val failed.
774         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
775         give up on versioning.
776
777 2011-03-05  Alan Modra  <amodra@gmail.com>
778
779         PR target/47986
780         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
781         full cmodel medium/large lo_sum + high addresses.
782
783 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
784
785         * config/s390/s390.c (s390_decompose_address): Reject non-literal
786         pool references in UNSPEC_LTREL_OFFSET.
787
788 2011-03-04  Jan Hubicka  <jh@suse.cz>
789
790         PR lto/47497
791         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
792         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
793         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk): Add node pointers.
794         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
795         cgraph_add_thunk): Add node pointers.
796         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
797         associated to right node.
798         (input_node): Update use of cgraph_same_body_alias
799         and cgraph_add_thunk.
800
801 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
802
803         * config/i386/i386.opt (mprefer-avx128): New flag.
804         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit mode
805         when the flag -mprefer-avx128 is on.
806
807 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
808
809         * dwarf2out.c (compare_loc_operands): Fix address handling.
810
811 2011-03-04  Alan Modra  <amodra@gmail.com>
812
813         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
814
815 2011-03-04  Richard Guenther  <rguenther@suse.de>
816
817         PR middle-end/47968
818         * expmed.c (extract_bit_field_1): Prefer vector modes that
819         vec_extract patterns can handle.
820
821 2011-03-04  Richard Guenther  <rguenther@suse.de>
822
823         PR middle-end/47975
824         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
825
826 2011-03-04  Richard Henderson  <rth@redhat.com>
827
828         * explow.c (emit_stack_save): Remove 'after' parameter.
829         (emit_stack_restore): Likewise.
830         * expr.h: Update to match.
831         * builtins.c, calls.c, stmt.c: Likewise.
832         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
833         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
834         * function.c (expand_function_end): Insert the emit_stack_save
835         sequence before parm_birth_insn instead of after.
836
837 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
838
839         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
840         (ssse3_pmaddubsw128): Ditto.
841         (ssse3_pmaddubsw): Ditto.
842
843 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
844
845         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
846
847 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
848
849         PR c/47963
850         * gimplify.c (omp_add_variable): Only call omp_notice_variable
851         on TYPE_SIZE_UNIT if it is a DECL.
852
853         PR debug/47283
854         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
855         first operand is not is_gimple_mem_ref_addr, try to fold it.
856         If the operand still isn't is_gimple_mem_ref_addr, clear
857         MEM_EXPR on op0.
858
859 2011-03-03  Richard Guenther  <rguenther@suse.de>
860
861         PR middle-end/47283
862         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
863         match comment.
864         (refs_may_alias_p_1): For release branches return true if
865         we are confused by our input.
866
867 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
868
869         * config/s390/s390.c (s390_function_value): Rename to ...
870         (s390_function_and_libcall_value): ... this.
871         (s390_function_value): New function.
872         (s390_libcall_value): New function.
873         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
874         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
875         target macro definitions.
876         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
877
878 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
879
880         * config/i386/freebsd64.h (CC1_SPEC): Define.
881         * config/i386/linux64.h (CC1_SPEC): Define.
882         * config/i386/x86-64.h (CC1_SPEC): Don't define.
883
884 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
885
886         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
887         Remove.
888         * config/stormy16/stormy16.c: Include reload.h.
889         (xstormy16_memory_move_cost): New function.
890         (TARGET_MEMORY_MOVE_COST): Define.
891
892 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
893
894         PR rtl-optimization/47925
895         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
896         with side effects.  Remove the more-specific check for volatile asms.
897
898 2011-03-02  Alan Modra  <amodra@gmail.com>
899
900         PR target/47935
901         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
902         toc relative addresses for valid offsets.
903
904 2011-03-01  Richard Guenther  <rguenther@suse.de>
905
906         PR tree-optimization/47890
907         * tree-vect-loop.c (get_initial_def_for_induction): Set
908         related stmt properly.
909
910 2011-03-01  Richard Guenther  <rguenther@suse.de>
911
912         PR lto/47924
913         * lto-streamer.c (lto_record_common_node): Also register
914         the canonical type.
915
916 2011-03-01  Richard Guenther  <rguenther@suse.de>
917
918         PR lto/46911
919         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
920         Do not stream DECL_ABSTRACT_ORIGIN.
921         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
922         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
923         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
924         Do not stream DECL_ABSTRACT_ORIGIN.
925         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
926         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
927
928 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
929
930         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
931         FUNCTION_VALUE_REGNO_P): Remove.
932         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
933         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
934         Add 'outgoing' argument.
935         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
936         function.
937         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
938         TARGET_FUNCTION_VALUE_REGNO_P): Define.
939
940 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
941
942         PR debug/28047
943         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
944         (lookup_filename): Likewise.
945         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
946
947 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
948             Jakub Jelinek  <jakub@redhat.com>
949
950         PR middle-end/47893
951         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
952         (assign_stack_local_1): Change last argument type to int.
953         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
954         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
955         don't record padding space into frame_space_list nor use those areas.
956         (assign_stack_local): Adjust caller.
957         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
958         of assign_stack_local, pass 0 as last argument.
959         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
960         callers.
961
962 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
963
964         PR debug/47283
965         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
966         Use target address_mode and pointer_mode hooks instead of hardcoded
967         Pmode and ptr_mode.  Handle some simple cases of extending if
968         POINTERS_EXTEND_UNSIGNED < 0.
969         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
970         Call convert_debug_memory_address.
971         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
972         convert_debug_memory_address.
973
974         PR middle-end/46790
975         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
976         * configure: Regenerated.
977         * config.in: Regenerated.
978         * varasm.c (default_function_section): Return NULL
979         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
980
981 2011-02-28  Martin Jambor  <mjambor@suse.cz>
982
983         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
984         the description to match the printed values.
985
986 2011-02-28  Richard Guenther  <rguenther@suse.de>
987
988         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
989         of the copied scope tree.
990
991 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
992
993         * doc/extend.texi (Function Attributes): Avoid deeply (and
994         wrongly) nested tables.
995
996 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
997
998         PR middle-end/47903
999         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
1000         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
1001         r isn't op0 nor op1.
1002
1003 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
1004
1005         * config/avr/avr.md: Remove magic comment for emacs.
1006
1007 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
1008
1009         PR target/45261
1010         * config/avr/avr.c (avr_option_override): Use error on bad options.
1011         (avr_help): New function.
1012         (TARGET_HELP): Define.
1013
1014 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
1015
1016         PR target/42240
1017         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
1018         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
1019
1020 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
1021
1022         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
1023         (ARM Options): Ditto.
1024         (i386 and x86-64 Options): Ditto.
1025         (RX Options): Ditto.
1026         (SPARC Options): Ditto.
1027
1028 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
1029
1030         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
1031         FreeBSD 6 and later.  Generally use cpu generic.
1032
1033 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
1034
1035         * doc/cpp.texi: Update copyright years.
1036
1037 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
1038
1039         PR target/46898
1040         * config/lm32/lm32.md (ashrsi3): Added needed variable.
1041
1042 2011-02-25  Jon Beniston  <jon@beniston.com>
1043
1044         PR target/46898
1045         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
1046         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
1047         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
1048         (lm32_block_move_inline): Add type cast to remove warning.
1049         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
1050         (gen_int_relational): Move declarations to start of function.
1051
1052 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
1053
1054         PR tree-optimization/45470
1055         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
1056         can throw internally only.
1057         * tree-vect-stmts.c (vectorizable_call): Likewise.
1058
1059 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
1060
1061         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
1062         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1063         * config/stormy16/stormy16-protos.h
1064         (xstormy16_preferred_reload_class): Remove.
1065         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
1066         static. Change 'rclass' argument and return type to reg_class_t.
1067         (TARGET_PREFERRED_RELOAD_CLASS,
1068         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1069
1070 2011-02-24  Richard Guenther  <rguenther@suse.de>
1071
1072         * lto-streamer-in.c (input_bb): Do not find referenced vars
1073         in debug statements.
1074
1075 2011-02-23  Jason Merrill  <jason@redhat.com>
1076
1077         * common.opt (fabi-version): Document v5 and v6.
1078
1079 2011-02-23  Richard Guenther  <rguenther@suse.de>
1080
1081         PR tree-optimization/47849
1082         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
1083
1084 2011-02-23  Jie Zhang  <jie@codesourcery.com>
1085
1086         * opts-common.c (decode_cmdline_option): Print empty string
1087         argument as "" in decoded->orig_option_with_args_text.
1088         * gcc.c (execute): Print empty string argument as ""
1089         in the verbose output.
1090         (do_spec_1): Keep empty string argument.
1091
1092 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
1093
1094         * config.gcc: Declare score-* and crx-* obsolete.
1095
1096 2011-02-23  Jie Zhang  <jie@codesourcery.com>
1097
1098         PR rtl-optimization/47763
1099         * web.c (web_main): Ignore naked clobber when replacing register.
1100
1101 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
1102
1103         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
1104         Remove.
1105
1106 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1107
1108         PR doc/47848
1109         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
1110
1111 2011-02-22  Mike Stump  <mikestump@comcast.net>
1112
1113         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
1114         assembler.
1115         * configure: Regenerate.
1116
1117 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
1118
1119         PR rtl-optimization/46002
1120         * ira-color.c (update_copy_costs): Change class intersection
1121         test to reg_class_contents[] test of 'hard_regno'.
1122
1123 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
1124
1125         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
1126         than Driver option.
1127         * config/hpux11.opt (mt): Likewise.
1128         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
1129         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
1130         * config/vax/elf.opt (mno-asm-pic): Likewise.
1131         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
1132
1133 2011-02-21  Mike Stump  <mikestump@comcast.net>
1134
1135         PR target/47822
1136         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
1137         tree so we can get save the type.
1138         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
1139         for CFString instead of trying to use past the end of the builtins.
1140         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
1141         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
1142         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
1143         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
1144         Rename to darwin_builtin_cfstring.
1145         (darwin_init_cfstring_builtins): Return the built type.
1146
1147 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
1148
1149         PR target/47840
1150         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
1151         (_mm256_insert_epi64): Use _mm_insert_epi64.
1152
1153 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
1154
1155         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1156         * config/stormy16/stormy16-protos.h
1157         (xstormy16_mode_dependent_address_p): Remove.
1158         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
1159         Make static. Change return type to bool. Change argument type to
1160         const_rtx. Remove dead code.
1161         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1162
1163 2011-02-21  Richard Guenther  <rguenther@suse.de>
1164
1165         PR lto/47820
1166         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
1167         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1168         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
1169         TUs context.
1170         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
1171         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1172
1173 2011-02-20  Richard Guenther  <rguenther@suse.de>
1174
1175         PR lto/47822
1176         * tree.c (free_lang_data_in_decl): Clean builtins from
1177         the TU decl BLOCK_VARS.
1178
1179 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
1180
1181         PR debug/47620
1182         PR debug/47630
1183         * haifa-sched.c (fix_tick_ready): Skip tick computation
1184         for debug insns.
1185
1186 2011-02-19  Richard Guenther  <rguenther@suse.de>
1187
1188         PR lto/47647
1189         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1190         Remove lazy BLOCK_VARS streaming.
1191         (lto_input_ts_block_tree_pointers): Likewise.
1192         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1193
1194 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
1195
1196         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
1197
1198 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
1199
1200         * config/i386/biarch32.h, config/i386/mach.h,
1201         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
1202
1203 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
1204
1205         PR target/47800
1206         * config/i386/i386.md (peephole2 for shift and plus): Use
1207         operands[1] original mode in the first insn.
1208
1209 2011-02-18  Mike Stump  <mikestump@comcast.net>
1210
1211         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
1212
1213 2011-02-18  Jan Hubicka  <jh@suse.cz>
1214
1215         PR middle-end/47788
1216         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
1217         to zero when the function is not inlinable at all.
1218
1219 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1220
1221         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
1222         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1223         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
1224         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
1225         * config/pa/t-pa64: Likewise.
1226         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1227
1228 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
1229
1230         PR driver/47787
1231         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
1232
1233 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1234
1235         PR target/47792
1236         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
1237
1238 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
1239
1240         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
1241         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
1242         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
1243         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
1244         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
1245         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
1246         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
1247         m32r_load_postinc_p, m32r_store_preinc_predec_p,
1248         m32r_legitimate_address_p): New functions.
1249         * config/m32r/constraints.md (constraint "S"): Don't use
1250         STORE_PREINC_PREDEC_P.
1251         (constraint "U"): Don't use LOAD_POSTINC_P.
1252
1253 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
1254
1255         PR rtl-optimization/46178
1256         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
1257         compute ira_hard_regno_cover_class[].
1258
1259 2011-02-18  Richard Guenther  <rguenther@suse.de>
1260
1261         PR lto/47798
1262         * lto-streamer.h (lto_global_var_decls): Declare.
1263         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
1264         statics for global var processing.
1265
1266 2011-02-18  Richard Guenther  <rguenther@suse.de>
1267
1268         PR tree-optimization/47737
1269         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
1270         edge dominance check.
1271
1272 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
1273
1274         PR debug/47780
1275         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
1276         avoid invalid rtx sharing.
1277
1278 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
1279
1280         * doc/cpp.texi (Obsolete Features): Add background on the
1281         origin of assertions.
1282
1283 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
1284
1285         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
1286         objc_abi == 2.
1287         * config/darwin.c (output_objc_section_asm_op): Added support for
1288         ABI v1 and v2.
1289         (is_objc_metadata): New.
1290         (darwin_objc2_section): New.
1291         (darwin_objc1_section): New.
1292         (machopic_select_section): Added support for ABI v1 and v2.
1293         (darwin_emit_objc_zeroed): New.
1294         (darwin_output_aligned_bss): Detect objc metadata and treat it
1295         appropriately.
1296         (darwin_asm_output_aligned_decl_common): Same.
1297         (darwin_asm_output_aligned_decl_local): Same.
1298         * config/darwin-sections.def: Updated for ABI v1 and v2.
1299         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
1300         compiling Objective-C code for the NeXT runtime, default to using
1301         ABI version 0 for 32-bit, and version 2 for 64-bit.
1302
1303 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1304
1305         * common.opt (optimize_fast): New Variable.
1306         * opts.c (default_options_optimization): Use opts->x_optimize_fast
1307         instead of local variable ofast.
1308
1309 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1310
1311         * doc/invoke.texi (fobjc-abi-version): Documented.
1312         (fobjc-nilcheck): Documented.
1313         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
1314         version.
1315
1316 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1317
1318         PR driver/47390
1319         * common.opt (export-dynamic): New Driver option.
1320         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
1321
1322 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1323
1324         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
1325
1326 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
1327             Jan Hubicka  <jh@suse.cz>
1328
1329         PR debug/47106
1330         PR debug/47402
1331         * cfgexpand.c (account_used_vars_for_block): Remove.
1332         (estimated_stack_frame_size): Use referenced vars.
1333         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
1334         that were referenced in the original function.  Test src_fn
1335         rather than cfun.  Drop redundant get_var_ann.
1336         (setup_one_parameter): Drop redundant get_var_ann.
1337         (declare_return_variable): Likewise.
1338         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
1339         (copy_arguments_for_versioning): Drop redundant get_var_ann.
1340         * ipa-inline.c (compute_inline_parameters): Do not compute
1341         disregard_inline_limits here.
1342         (compute_inlinable_for_current, pass_inlinable): New.
1343         (pass_inline_parameters): Require PROP_referenced_vars.
1344         * cgraphunit.c (cgraph_process_new_functions): Don't run
1345         compute_inline_parameters explicitly unless function is in SSA form.
1346         (cgraph_analyze_function): Set .disregard_inline_limits.
1347         * tree-sra.c (convert_callers): Compute inliner parameters
1348         only for functions already in SSA form.
1349
1350 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1351
1352         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
1353         -mlittle-endian-data.
1354
1355 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
1356
1357         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
1358         -mno-fpu, not -fpu and -no-fpu.
1359         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
1360         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
1361
1362 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
1363
1364         PR target/43653
1365         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
1366         input reload with PLUS RTX.
1367
1368 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1369
1370         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
1371         of InverseVar(MDMX).
1372
1373 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1374
1375         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
1376         --m4-340.
1377
1378 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1379
1380         * config/mn10300/mn10300.opt (mno-crt0): New.
1381
1382 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1383
1384         * config/m68k/uclinux.opt (static-libc): New Driver option.
1385
1386 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1387
1388         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
1389
1390 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
1391
1392         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
1393         %{muser-extend-enabled}.
1394
1395 2011-02-16  Richard Guenther  <rguenther@suse.de>
1396
1397         PR tree-optimization/47738
1398         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
1399         the TODO from tree_predictive_commoning.
1400
1401 2011-02-15  Jeff Law  <law@redhat.com>
1402
1403         Revert
1404         2011-01-25  Jeff Law  <law@redhat.com>
1405
1406         PR rtl-optimization/37273
1407         * ira-costs.c (scan_one_insn): Detect constants living in memory and
1408         handle them like argument loads from stack slots.  Do not double
1409         count memory for memory constants and argument loads from stack slots.
1410
1411 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1412
1413         PR middle-end/47725
1414         * combine.c (cant_combine_insn_p): Revert the last change.
1415
1416 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
1417
1418         PR target/47755
1419         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
1420         mode for vector constants.  Remove code that checks for TImode.
1421
1422 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1423
1424         PR debug/47106
1425         PR debug/47402
1426         * cgraph.h (compute_inline_parameters): Return void.
1427         * ipa-inline.c (compute_inline_parameters): Adjust.
1428
1429 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1430
1431         PR debug/47106
1432         PR debug/47402
1433         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
1434         rather than decl.
1435         * cfgexpand.c (estimated_stack_frame_size): Likewise.
1436         * ipa-inline.c (compute_inline_parameters): Adjust.
1437
1438 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1439
1440         PR debug/47106
1441         PR debug/47402
1442         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
1443         Adjust all users.  Pass FN to...
1444         * tree-flow-inline.h (first_referenced_var): ... this.  Add
1445         fn argument.
1446         * ipa-struct-reorg.c: Adjust.
1447         * tree-dfa.c: Adjust.
1448         * tree-into-ssa.c: Adjust.
1449         * tree-sra.c: Adjust.
1450         * tree-ssa-alias.c: Adjust.
1451         * tree-ssa-live.c: Adjust.
1452         * tree-ssa.c: Adjust.
1453         * tree-ssanames.c: Adjust.
1454         * tree-tailcall.c: Adjust.
1455
1456 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1457
1458         PR debug/47106
1459         PR debug/47402
1460         * tree-flow.h (referenced_var_lookup): Add fn parameter.
1461         Adjust all callers.
1462         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
1463         * tree-flow-inline.h: Adjust.
1464         * gimple-pretty-print.c: Adjust.
1465         * tree-into-ssa.c: Adjust.
1466         * tree-ssa.c: Adjust.
1467         * cfgexpand.c: Adjust.
1468
1469 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1470
1471         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
1472         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1473         (EXTRA_CONSTRAINT): Delete.
1474         * config/iq2000/constraints.md: New file.
1475         * config/iq2000/iq2000.md: Include it.
1476         (define_insn ""): Delete.
1477         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
1478         unsupported constraint letters from patterns.
1479         (call_value, call_value_internal1): Likewise.
1480         (call_value_multiple_internal1): Likewise.
1481
1482 2011-02-15  Nick Clifton  <nickc@redhat.com>
1483
1484         * config/mn10300/mn10300.c: Include tm-constrs.h.
1485         (struct liw_data): New data structure describing an LIW candidate
1486         instruction.
1487         (extract_bundle): Use struct liw_data.  Allow small integer
1488         operands for some instructions.
1489         (check_liw_constraints): Use struct liw_data.  Remove swapped
1490         parameter.  Add comments describing the checks.  Fix bug when
1491         assigning the source of liw1 to the source of liw2.
1492         (liw_candidate): Delete.  Code moved into extract_bundle.
1493         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
1494         before swapping.
1495         * config/mn10300/predicates.md (liw_operand): New predicate.
1496         Allows registers and small integer constants.
1497         * config/mn10300/constraints.md (O): New constraint.  Accetps
1498         integers in the range -8 to +7 inclusive.
1499         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
1500         for moving a small integer into a register.  Give this alternative
1501         LIW attributes.
1502         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
1503         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
1504         using the J,K,L and M constraints,
1505         (liw): Remove SI mode on second operands to allow for HI and QI
1506         mode values.
1507         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
1508         instruction.
1509
1510 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1511
1512         PR middle-end/47725
1513         * combine.c (cant_combine_insn_p): Check zero/sign extended
1514         hard registers.
1515
1516 2011-02-15  Richard Guenther  <rguenther@suse.de>
1517
1518         PR tree-optimization/47743
1519         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
1520         for a non-type-compatible VN lookup bail out.
1521
1522 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1523
1524         * config/fr30/constraints.md: New file.
1525         * config/fr30/fr30.md: Include it.
1526         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
1527         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1528         (EXTRA_CONSTRAINT): Delete.
1529
1530 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1531
1532         * config/frv/constraints.md: New file.
1533         * config/frv/predicates.md: Include it.
1534         * config/frv/frv.c (reg_class_from_letter): Delete.
1535         (frv_option_override): Don't initialize it.
1536         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
1537         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
1538         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
1539         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1540         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
1541         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1542         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
1543         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
1544         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
1545         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
1546         (REG_CLASS_FROM_CONSTRAINT): Delete.
1547
1548 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
1549
1550         PR middle-end/47581
1551         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
1552         if frame size is 0 in a leaf function.
1553
1554 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1555
1556         PR pch/14940
1557         * config/alpha/host-osf.c: New file.
1558         * config/alpha/x-osf: New file.
1559         * config.host (alpha*-dec-osf*): Use it.
1560
1561 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
1562
1563         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1564         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
1565         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
1566         (rx_mode_dependent_address_p): ...this. Make static. Change argument
1567         type to const_rtx.
1568         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1569
1570 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1571
1572         * config/stormy16/constraints.md: New file.
1573         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
1574         Use satisfies_constraint_Q and satisfies_constraint_R.
1575         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
1576         Delete.
1577         (xstormy16_legitiamte_address_p): Declare.
1578         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
1579         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1580         (EXTRA_CONSTRAINT): Delete.
1581         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
1582         Un-staticize.
1583         (xstormy16_extra_constraint_p): Delete.
1584
1585 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
1586
1587         PR tree-optimization/46494
1588         * loop-unroll.c (split_edge_and_insert): Adjust comment.
1589         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
1590         (pass_rtl_loop_done): Add TODO_verify_flow.
1591         * fwprop.c (pass_rtl_fwprop): Likewise.
1592         * modulo-sched.c (pass_sms): Likewise.
1593         * tree-ssa-dom.c (pass_dominator): Likewise.
1594         * tree-ssa-loop-ch.c (pass_ch): Likewise.
1595         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
1596         (pass_tree_loop_done): Likewise.
1597         * tree-ssa-pre.c (execute_pre): Likewise.
1598         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
1599         * tree-ssa-sink.c (pass_sink_code): Likewise.
1600         * tree-vrp.c (pass_vrp): Likewise.
1601
1602 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1603
1604         * config/v850/constraints.md: New file.
1605         * config/v850/v850.md: Include it.
1606         * config/v850/predicates.md (reg_or_0_operand): Use
1607         satisfies_constraint_G.
1608         (special_symbolref_operand): Use satisfies_constraint_K.
1609         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
1610         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
1611         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
1612         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1613         (EXTRA_CONSTRAINT): Delete.
1614         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
1615         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
1616         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
1617
1618 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
1619
1620         PR target/47696
1621         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
1622         description.
1623
1624 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1625
1626         * config/mcore/constraints.md: New file.
1627         * config/mcore/mcore.md: Include it.
1628         * config/mcore/mcore.c (reg_class_from_letter): Delete.
1629         * config/mcore/mcore.h (reg_class_from_letter): Delete.
1630         (REG_CLASS_FROM_LETTER): Delete.
1631         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
1632         insn_const_int_ok_for_constraint.
1633         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
1634         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
1635         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1636         (EXTRA_CONSTRAINT): Delete.
1637
1638 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1639
1640         PR ada/41929
1641         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
1642         (IS_SIGHANDLER): Define.
1643         (sparc64_is_sighandler): New function, split off from
1644         sparc64_fallback_frame_state.
1645         (sparc_is_sighandler): New function, split off from
1646         sparc_fallback_frame_state.
1647         (sparc64_fallback_frame_state): Merge with ...
1648         (sparc_fallback_frame_state): ... this into ...
1649         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
1650         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
1651         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
1652         stack instead of hardcoded offsets.
1653
1654 2011-02-14  Andriy Gapon  <avg@freebsd.org>
1655
1656         PR target/45808
1657         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
1658
1659 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1660
1661         * configure: Regenerate.
1662
1663 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
1664
1665         PR driver/45731
1666         * gcc.c (asm_options): Correct spec matching --target-help.
1667
1668 2011-02-12  Martin Jambor  <mjambor@suse.cz>
1669
1670         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
1671         to gimple call error.
1672
1673 2011-02-12  Mike Stump  <mikestump@comcast.net>
1674
1675         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
1676         comments in backslash regions.
1677
1678 2011-02-12  Mike Stump  <mikestump@comcast.net>
1679             Jakub Jelinek  <jakub@redhat.com>
1680             Iain Sandoe  <iains@gcc.gnu.org>
1681
1682         PR target/47324
1683         * dwarf2out.c (output_cfa_loc): When required, apply the
1684         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
1685         (output_loc_sequence): Likewise.
1686         (output_loc_operands_raw): Likewise.
1687         (output_loc_sequence_raw): Likewise.
1688         (output_cfa_loc): Likewise.
1689         (output_loc_list): Suppress register number adjustment when
1690         calling output_loc_sequence()
1691         (output_die): Likewise.
1692
1693 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
1694
1695         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
1696         Remove macros.
1697         * config/xtensa/xtensa.c (xtensa_register_move_cost,
1698         xtensa_memory_move_cost): New functions.
1699         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
1700
1701 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
1702
1703         PR lto/47225
1704         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
1705         in the current directory.
1706         * configure: Rebuilt.
1707
1708 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
1709
1710         * config/darwin.c (darwin_override_options): Add a hunk missed
1711         from the commit of r168571.  Trim comment line lengths and
1712         correct indents of the preceding block.
1713
1714 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
1715
1716         * gcc.c (driver_handle_option): Concatenate the argument to -F with
1717         the switch.
1718
1719 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
1720
1721         * common.opt (nostartfiles): New Driver option.
1722
1723 2011-02-11  Xinliang David Li  <davidxl@google.com>
1724
1725         PR tree-optimization/47707
1726         * tree-chrec.c (convert_affine_scev): Keep type precision.
1727
1728 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
1729
1730         PR tree-optimization/47420
1731         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
1732
1733 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
1734
1735         PR rtl-optimization/47614
1736         * rtl.h (check_for_inc_dec): Declare.
1737         * dse.c (check_for_inc_dec): Externalize...
1738         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
1739         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
1740
1741 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
1742
1743         PR driver/47678
1744         * gcc.c (main): Do not compile inputs if there were errors in
1745         option handling.
1746         * opts-common.c (read_cmdline_option): Check for wrong language
1747         after other error checks.
1748
1749 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
1750
1751         * cgraph.c: Fix comment typos.
1752         * cgraph.h: Likewise.
1753         * cgraphunit.c: Likewise.
1754         * ipa-cp.c: Likewise.
1755         * ipa-inline.c: Likewise.
1756         * ipa-prop.c: Likewise.
1757         * ipa-pure-const.c: Likewise.
1758         * ipa-ref.c: Likewise.
1759         * ipa-reference.c: Likewise.
1760
1761 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
1762
1763         PR debug/47684
1764         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
1765
1766 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1767
1768         PR testsuite/47400
1769         * doc/sourcebuild.texi (Require Support): Document
1770         dg-require-ascii-locale.
1771
1772 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
1773
1774         * doc/lto.texi (Write summary): Fix missing parentheses.
1775
1776 2011-02-10  DJ Delorie  <dj@redhat.com>
1777
1778         * config/m32c/m32c.c (m32c_option_override): Disable
1779         -fcombine-stack-adjustments until flag value tracking and compare
1780         optimization can be rewritten.
1781
1782 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
1783
1784         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
1785         PROCESSOR_POWER7.
1786         (PROCESSOR_DEFAULT64): Likewise.
1787
1788 2011-02-10  Richard Henderson  <rth@redhat.com>
1789
1790         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
1791         change from 2011-02-03.
1792         * config/rx/rx.c (flags_from_code): Likewise.
1793         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
1794         is valid, n/pz otherwise.
1795         (rx_select_cc_mode): Return CCmode if Y is not zero.
1796
1797 2011-02-10  Richard Guenther  <rguenther@suse.de>
1798
1799         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
1800
1801 2011-02-10  Richard Guenther  <rguenther@suse.de>
1802
1803         PR tree-optimization/47677
1804         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
1805
1806 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
1807
1808         PR target/47665
1809         * combine.c (make_compound_operation): Only change shifts into
1810         multiplication for SCALAR_INT_MODE_P.
1811
1812 2011-02-10  Jie Zhang  <jie@codesourcery.com>
1813
1814         PR testsuite/47622
1815         Revert
1816         2011-02-05  Jie Zhang  <jie@codesourcery.com>
1817         PR debug/42631
1818         * web.c (entry_register): Don't clobber the number of the
1819         first uninitialized reference in used[].
1820
1821 2011-02-09  Richard Guenther  <rguenther@suse.de>
1822
1823         PR tree-optimization/47664
1824         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
1825         all edges again.
1826
1827 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
1828
1829         PR target/46481
1830         PR target/47032
1831         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
1832         PROCESSOR_POWER7.
1833         (PROCESSOR_DEFAULT64): Same.
1834         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
1835
1836 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1837
1838         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
1839
1840 2011-02-09  Martin Jambor  <mjambor@suse.cz>
1841
1842         PR middle-end/45505
1843         * tree-sra.c (struct access): New flags grp_scalar_read and
1844         grp_scalar_write.  Changed description of assignment read and write
1845         flags.
1846         (dump_access): Dump new flags, reorder all of them.
1847         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
1848         to detect multiple scalar reads.
1849         (analyze_access_subtree): Use the new scalar read write flags instead
1850         of the old flags.  Adjusted comments.
1851
1852 2011-02-08  DJ Delorie  <dj@redhat.com>
1853
1854         PR target/47548
1855         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
1856         patterns.
1857
1858 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1859
1860         * config/m68k/uclinux.opt: New.
1861         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
1862
1863 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1864
1865         * config/cris/elf.opt (sim): New Driver option.
1866
1867 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1868
1869         * config/xtensa/elf.opt: New.
1870         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
1871
1872 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1873
1874         * config/vax/elf.opt: New.
1875         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
1876
1877 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1878
1879         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
1880
1881 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1882
1883         * config/gnu-user.opt: New.
1884         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
1885         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
1886         *-*-uclinux*): Use gnu-user.opt.
1887
1888 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
1889
1890         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
1891         * config/i386/gnu.h (CPP_SPEC): Likewise.
1892
1893 2011-02-08  Ian Lance Taylor  <iant@google.com>
1894
1895         * common.opt (fcx-limited-range): Add SetByCombined flag.
1896         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
1897         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
1898         (fassociative-math, freciprocal-math): Likewise.
1899         (funsafe-math-optimizations): Likewise.
1900         * opth-gen.awk: Handle SetByCombined.
1901         * optc-gen.awk: Likewise.
1902         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
1903         (set_unsafe_math_optimizations_flags): Likewise.
1904         * doc/options.texi (Option properties): Document SetByCombined.
1905
1906 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1907
1908         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
1909         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
1910         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
1911         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
1912         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
1913
1914 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
1915
1916         PR tree-optimization/46834
1917         PR tree-optimization/46994
1918         PR tree-optimization/46995
1919         * graphite-sese-to-poly.c (used_outside_reduction): New.
1920         (detect_commutative_reduction): Call used_outside_reduction.
1921         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
1922         translate_scalar_reduction_to_array only when at least one
1923         loop-phi/close-phi tuple has been detected.
1924
1925 2011-02-08  Richard Guenther  <rguenther@suse.de>
1926
1927         PR middle-end/47639
1928         * tree-vect-generic.c (expand_vector_operations_1): Update
1929         stmts here ...
1930         (expand_vector_operations): ... not here.  Cleanup EH info
1931         and the CFG if required.
1932
1933 2011-02-08  Richard Guenther  <rguenther@suse.de>
1934
1935         PR tree-optimization/47641
1936         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
1937         require type compatibility.
1938
1939 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1940
1941         * gimple-low.c (lower_function_body): Don't remove the location of
1942         the return statement here.
1943         (lower_gimple_return): Do it here instead but only if the return
1944         statement is actually used twice.
1945
1946 2011-02-08  Richard Guenther  <rguenther@suse.de>
1947
1948         PR tree-optimization/47632
1949         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
1950         unused up_to_stmt parameter, return whether cfg-cleanup is
1951         necessary, remove EH info properly.
1952         (forward_propagate_into_gimple_cond): Adjust caller.
1953         (forward_propagate_into_cond): Likewise.
1954         (forward_propagate_comparison): Likewise.
1955         (tree_ssa_forward_propagate_single_use_vars): Make
1956         forward_propagate_comparison case similar to the two others.
1957
1958 2011-02-08  Nick Clifton  <nickc@redhat.com>
1959
1960         * config/mn10300/mn10300.opt (mliw): New command line option.
1961         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
1962         (liw_bundling): New automaton.
1963         (liw): New attribute.
1964         (liw_op): New attribute.
1965         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
1966         (movsi_internal): Add LIW attributes.
1967         (andsi3): Likewise.
1968         (iorsi3): Likewise.
1969         (xorsi3): Likewise.
1970         (addsi3): Separate register and immediate alternatives.
1971         Add LIW attributes.
1972         (subsi3): Likewise.
1973         (cmpsi): Likewise.
1974         (aslsi3): Likewise.
1975         (lshrsi3): Likewise.
1976         (ashrsi3): Likewise.
1977         (liw): New pattern.
1978         * config/mn10300/mn10300.c (liw_op_names): New
1979         (mn10300_print_operand): Handle 'W' operand descriptor.
1980         (extract_bundle): New function.
1981         (check_liw_constraints): New function.
1982         (liw_candidate): New function.
1983         (mn10300_bundle_liw): New function.
1984         (mn10300_reorg): New function.
1985         (TARGET_MACHINE_DEPENDENT_REORG): Define.
1986         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
1987         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
1988         __LIW__ or __NO_LIW__.
1989         * doc/invoke.texi: Describe the -mliw command line option.
1990
1991 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1992
1993         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
1994         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1995         pthread_mutex_unlock): Remove.
1996         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
1997         * config/pa/t-pa64: Likewise.
1998         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
1999         shared libc if not linking against libpthread.
2000         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
2001
2002 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
2003
2004         PR target/47558
2005         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
2006         on 10.6 and later to ensure that we always use the unwinder from
2007         the system.  Only add -no_compact_unwind when tarteting darwin
2008         10.6 or later.
2009
2010 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
2011
2012         PR target/46997
2013         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
2014         (vec_interleave_lowv2sf): Ditto.
2015         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
2016         (vec_extract_oddv2sf): Ditto.
2017
2018 2011-02-07  Mike Stump  <mikestump@comcast.net>
2019
2020         PR target/42333
2021         Add __ieee_divdc3 entry point.
2022         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
2023         entry point.
2024         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
2025         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
2026         * config/darwin.c (darwin_rename_builtins): Add.
2027         * config/darwin-protos.h (darwin_rename_builtins): Add.
2028
2029 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
2030
2031         PR target/47636
2032         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
2033         for the condition.
2034
2035 2011-02-07  Mike Stump  <mikestump@comcast.net>
2036
2037         * config/darwin.opt (mmacosx-version-min): Update default OS version.
2038
2039 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
2040
2041         PR target/47534
2042         * config/avr/libgcc.S (exit): Move .endfunc
2043
2044 2011-02-07  Richard Guenther  <rguenther@suse.de>
2045
2046         PR tree-optimization/47615
2047         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
2048         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
2049         (run_scc_vn): Initialize it.
2050         (visit_reference_op_load): Use it.
2051         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
2052
2053 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2054
2055         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
2056         DImode trapping arithmetic libfuncs.
2057
2058 2011-02-07  Richard Guenther  <rguenther@suse.de>
2059
2060         PR tree-optimization/47621
2061         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
2062         two duplicates ...
2063         (execute_update_addresses_taken): ... here.  Make it more
2064         conservative in what we accept.
2065
2066 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
2067
2068         * config/sparc/freebsd.h (ASM_SPEC): Define.
2069         * config/sparc/vxworks.h (ASM_SPEC): Define.
2070
2071 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
2072
2073         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
2074
2075 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
2076
2077         * doc/invoke.texi: Remove reference to compiler internals from
2078         user documentation.
2079
2080         * reg-notes.def: Remove REG_VALUE_PROFILE.
2081         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
2082
2083 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
2084
2085         PR middle-end/47610
2086         * varasm.c (default_section_type_flags): If decl is NULL,
2087         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
2088
2089 2011-02-05  Jie Zhang  <jie@codesourcery.com>
2090
2091         PR debug/42631
2092         * web.c (entry_register): Don't clobber the number of the
2093         first uninitialized reference in used[].
2094
2095 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
2096
2097         PR tree-optimization/46194
2098         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
2099         (build_classic_dist_vector_1): Do not represent classic distance
2100         vectors when the access functions are variating in different loops.
2101
2102 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2103
2104         * config/mips/iris6.opt: New.
2105         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
2106
2107 2011-02-04  Richard Henderson  <rth@redhat.com>
2108             Steve Ellcey  <sje@cup.hp.com>
2109
2110         PR target/46997
2111         * config/ia64/predicates.md (mux1_brcst_element): New.
2112         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
2113         * config/ia64/ia64.c (ia64_unpack_assemble): New.
2114         (ia64_unpack_sign): New.
2115         (ia64_expand_unpack): Rewrite using new routines.
2116         (ia64_expand_widen_sum): Ditto.
2117         (ia64_expand_dot_prod_v8qi): Ditto.
2118         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
2119         routines, add endian check.
2120         (pmpy2_even): Rename from pmpy2_r, add endian check.
2121         (pmpy2_odd): Rename from pmpy2_l, add endian check.
2122         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
2123         (vec_widen_smult_hi_v4hi): Ditto.
2124         (vec_widen_umult_lo_v4hi): Ditto.
2125         (vec_widen_umult_hi_v4hi): Ditto.
2126         (mulv2si3): Change endian checks.
2127         (sdot_prodv4hi): Rewrite with new calls.
2128         (udot_prodv4hi): New.
2129         (vec_pack_ssat_v4hi): Add endian check.
2130         (vec_pack_usat_v4hi): Ditto.
2131         (vec_pack_ssat_v2si): Ditto.
2132         (max1_even): Rename from max1_r, add endian check.
2133         (max1_odd): Rename from max1_l, add endian check.
2134         (*mux1_rev): Format change.
2135         (*mux1_mix): Ditto.
2136         (*mux1_shuf): Ditto.
2137         (*mux1_alt): Ditto.
2138         (*mux1_brcst_v8qi): Use new predicate.
2139         (vec_extract_evenv8qi): Remove endian check.
2140         (vec_extract_oddv8qi): Ditto.
2141         (vec_interleave_lowv4hi): Format change.
2142         (vec_interleave_highv4hi): Ditto.
2143         (mix2_even): Rename from mix2_r, add endian check.
2144         (mix2_odd): Rename from mux2_l, add endian check.
2145         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
2146         (vec_extract_evenodd_helper): Format change.
2147         (vec_extract_evenv4hi): Remove endian check.
2148         (vec_extract_oddv4hi): Remove endian check.
2149         (vec_interleave_lowv2si): Format change.
2150         (vec_interleave_highv2si): Format change.
2151         (vec_initv2si): Remove endian check.
2152         (vecinit_v2si): Add endian check.
2153         (reduc_splus_v2sf): Add endian check.
2154         (reduc_smax_v2sf): Ditto.
2155         (reduc_smin_v2sf): Ditto.
2156         (vec_initv2sf): Remove endian check.
2157         (fpack): Add endian check.
2158         (fswap): Add endian check.
2159         (vec_interleave_highv2sf): Add endian check.
2160         (vec_interleave_lowv2sf): Add endian check.
2161         (fmix_lr): Add endian check.
2162         (vec_setv2sf): Format change.
2163         (*vec_extractv2sf_0_be): Use shift to extract operand.
2164         (*vec_extractv2sf_1_be): New.
2165         (vec_pack_trunc_v4hi): Add endian check.
2166         (vec_pack_trunc_v2si): Format change.
2167
2168 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
2169
2170         PR inline-asm/23200
2171         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
2172         do bb, locus and block comparison and disallow loads if it is not set.
2173         (stmt_is_replaceable_p): New function.
2174         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
2175         callers.
2176         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
2177         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
2178         SSA_NAME_DEF_STMT.
2179         * tree-flow.h (stmt_is_replaceable_p): New prototype.
2180
2181 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2182
2183         * config/rs6000/xilinx.opt: New.
2184         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
2185
2186 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
2187
2188         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
2189
2190 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
2191
2192         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
2193         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2194         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
2195         secondary_reload_info, xtensa_secondary_reload): Remove.
2196         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
2197         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2198         (xtensa_preferred_reload_class): Make static. Change return and
2199         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
2200         Use CONST_DOUBLE_P predicate.
2201         (xtensa_preferred_output_reload_class): New function.
2202         (xtensa_secondary_reload): Make static.
2203
2204 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
2205
2206         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
2207         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
2208         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
2209
2210 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2211
2212         PR middle-end/31490
2213         * output.h (SECTION_RELRO): Define.
2214         (SECTION_MACH_DEP): Adjust.
2215         (get_variable_section): New prototype.
2216         * varpool.c (varpool_finalize_named_section_flags): New function.
2217         (varpool_assemble_pending_decls): Call it.
2218         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
2219         * cgraphunit.c (cgraph_output_in_order): Call
2220         varpool_finalize_named_section_flags.
2221         * varasm.c (get_section): Allow section flags conflicts between
2222         relro and read-only sections if the section hasn't been declared yet.
2223         Set SECTION_OVERRIDE after diagnosing section type conflict.
2224         (get_variable_section): No longer static.
2225         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
2226         readonly sections that need relocations.
2227         (decl_readonly_section_1): New function.
2228         (decl_readonly_section): Use it.
2229
2230         Revert:
2231         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
2232                     Steve Ellcey  <sje@cup.hp.com>
2233
2234         PR middle-end/31490
2235         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
2236         if section attribute used.
2237
2238 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2239
2240         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
2241         * config/darwin.c (SECTION_NO_ANCHOR): Define.
2242         (darwin_init_sections): Remove assertion.
2243
2244 2011-02-03  Nick Clifton  <nickc@redhat.com>
2245
2246         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
2247         lt and ge.
2248         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
2249         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
2250         instead of "n" and "pz".
2251         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
2252         CC_FLAG_S.
2253
2254 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
2255
2256         PR target/47312
2257         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
2258         fma, expand FMA_EXPR as fma{,f,l} call.
2259
2260         PR lto/47274
2261         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
2262         copy them into a unsigned char variable and pass address of it to
2263         lto_output_data_stream.
2264
2265         PR target/47564
2266         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
2267         around backend_init_target and lang_dependent_init_target calls.
2268         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
2269         (verify_cgraph_node): Don't call set_cfun here.  Use
2270         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
2271         Set error_found for incorrectly represented calls to thunks.
2272
2273 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
2274
2275         PR debug/43092
2276         PR rtl-optimization/43494
2277         * rtl.h (for_each_inc_dec_fn): New type.
2278         (for_each_inc_dec): Declare.
2279         * rtlanal.c (struct for_each_inc_dec_ops): New type.
2280         (for_each_inc_dec_find_inc_dec): New fn.
2281         (for_each_inc_dec_find_mem): New fn.
2282         (for_each_inc_dec): New fn.
2283         * dse.c (struct insn_size): Remove.
2284         (replace_inc_dec, replace_inc_dec_mem): Remove.
2285         (emit_inc_dec_insn_before): New fn.
2286         (check_for_inc_dec): Use it, along with for_each_inc_dec.
2287         (canon_address): Pass mem modes to cselib_lookup.
2288         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
2289         (cselib_lookup_from_insn): Likewise.
2290         (cselib_subst_to_values): Likewise.
2291         * cselib.c (find_slot_memmode): New var.
2292         (cselib_find_slot): New fn.  Use it instead of
2293         htab_find_slot_with_hash everywhere.
2294         (entry_and_rtx_equal_p): Use find_slot_memmode.
2295         (autoinc_split): New fn.
2296         (rtx_equal_for_cselib_p): Rename and implement in terms of...
2297         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
2298         Deal with autoinc.  Special-case recursion into MEMs.
2299         (cselib_hash_rtx): Likewise.
2300         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
2301         address and MEM modes.
2302         (cselib_subst_to_values): Add memmode, pass it on.
2303         Deal with autoinc.
2304         (cselib_lookup): Add memmode argument, pass it on.
2305         (cselib_lookup_from_insn): Add memmode.
2306         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
2307         (struct cselib_record_autoinc_data): New.
2308         (cselib_record_autoinc_cb): New fn.
2309         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
2310         mode to cselib_lookup.  Reset autoinced REGs here instead of...
2311         (cselib_process_insn): ... here.
2312         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
2313         to cselib_lookup.
2314         (add_uses): Likewise, also to cselib_subst_to_values.
2315         (add_stores): Likewise.
2316         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
2317         cselib_subst_to_values.
2318         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
2319         * gcse.c (do_local_cprop): Adjusted.
2320         * postreload.c (reload_cse_simplify_set): Adjusted.
2321         (reload_cse_simplify_operands): Adjusted.
2322         * sel-sched-dump (debug_mem_addr_value): Pass mode.
2323
2324 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
2325
2326         PR tree-optimization/45122
2327         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
2328         unsafe assumptions when there's more than one loop exit.
2329
2330 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
2331
2332         PR target/47272
2333         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
2334         Document using vector double with the load/store builtins, and
2335         that the load/store builtins always use Altivec instructions.
2336
2337         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
2338         to use altivec memory instructions, even on VSX.
2339         (vector_altivec_store_<mode>): Ditto.
2340
2341         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
2342         function.
2343
2344         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2345         V2DF, V2DI support to load/store overloaded builtins.
2346
2347         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
2348         altivec load/store builtins for V2DF/V2DI types.
2349
2350         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2351         set avoid indexed addresses on power6 if -maltivec.
2352         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
2353         vector_altivec_load/vector_altivec_store builtins.
2354         (altivec_expand_st_builtin): Ditto.
2355         (altivec_expand_builtin): Add VSX memory builtins.
2356         (rs6000_init_builtins): Add V2DI types to internal types.
2357         (altivec_init_builtins): Add support for V2DF/V2DI altivec
2358         load/store builtins.
2359         (rs6000_address_for_altivec): Insure memory address is appropriate
2360         for Altivec.
2361
2362         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
2363         vec_vsx_ld and vec_vsx_st.
2364         (vsx_store_<mode>): Ditto.
2365
2366         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
2367         variables to hold long long types for VSX vector memory builtins.
2368         (RS6000_BTI_unsigned_long_long): Ditto.
2369         (long_long_integer_type_internal_node): Ditti.
2370         (long_long_unsigned_type_internal_node): Ditti.
2371
2372         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
2373         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
2374         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
2375
2376         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
2377         short cuts.
2378         (vec_vsx_st): Ditto.
2379
2380 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2381
2382         * config/pa/pa-hpux10.opt: New.
2383         * config/hpux11.opt (pthread): New Driver option.
2384         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
2385         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
2386
2387 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2388
2389         * config/ia64/vms.opt: New.
2390         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
2391
2392 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
2393
2394         PR target/47580
2395         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
2396         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
2397         generator functions.
2398         (vsx_floatuns<VSi><mode>2): Ditto.
2399         (vsx_fix_trunc<mode><VSi>2): Ditto.
2400         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
2401
2402 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
2403
2404         * config/i386/djgpp.opt (posix): New Driver option.
2405
2406 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
2407
2408         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
2409         Move to the unsupported targets list.
2410
2411 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
2412
2413         PR rtl-optimization/47525
2414         * df-scan.c: Update copyright years.
2415         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
2416         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
2417
2418 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2419
2420         * config/i386/sysv4.h (TARGET_VERSION): Remove.
2421         (SUBTARGET_RETURN_IN_MEMORY): Remove.
2422         (ASM_OUTPUT_ASCII): Remove.
2423         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
2424
2425 2011-02-02  Jeff Law  <law@redhat.com>
2426
2427         PR middle-end/47543
2428         * reload.c (find_reloads_address): Handle reg+d address where both
2429         components are invalid by reloading the entire address.
2430
2431 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
2432             Richard Guenther  <rguenther@suse.de>
2433
2434         PR tree-optimization/40979
2435         PR bootstrap/47044
2436         * passes.c (init_optimization_passes): After LIM call copy_prop
2437         and DCE to clean up.
2438         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
2439
2440 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
2441
2442         PR tree-optimization/47576
2443         PR tree-optimization/47555
2444         * doc/invoke.texi (scev-max-expr-complexity): Documented.
2445         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2446         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
2447         * tree-scalar-evolution.c (follow_ssa_edge): Use
2448         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
2449
2450 2011-02-02  Richard Guenther  <rguenther@suse.de>
2451
2452         PR tree-optimization/47566
2453         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
2454
2455 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
2456
2457         PR debug/47106
2458         PR debug/47402
2459         * tree-inline.c (declare_return_variable): Remove unused caller
2460         variable.
2461
2462         PR debug/47106
2463         PR debug/47402
2464         * tree-flow-inline.h (clear_is_used, is_used_p): New.
2465         * cfgexpand.c (account_used_vars_for_block): Use them.
2466         * tree-nrv.c (tree_nrv): Likewise.
2467         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
2468         (dump_scope_block): Likewise.
2469         (remove_unused_locals): Likewise.
2470
2471         PR debug/47106
2472         PR debug/47402
2473         * tree-inline.c (declare_return_variable): Add result decl to
2474         local decls only once.
2475         * gimple-low.c (record_vars_into): Mark newly-created variables
2476         as referenced.
2477
2478 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
2479
2480         PR debug/47498
2481         PR debug/47501
2482         PR debug/45136
2483         PR debug/45130
2484         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2485         debug insns.
2486         (no_real_insns_p, schedule_block, set_priorities): Drop special
2487         treatment of boundary debug insns.
2488         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2489         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
2490         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2491         (BOUNDARY_DEBUG_INSN_P): Likewise.
2492         (SCHEDULE_DEBUG_INSN_P): Likewise.
2493         * sched-rgn.c (init_ready_list): Drop special treatment of
2494         boundary debug insns.
2495         * final.c (rest_of_clean_state): Clear notes' BB.
2496
2497 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2498
2499         * config/openbsd.opt (assert=): New Driver option.
2500
2501 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2502
2503         * config/i386/nto.opt: New.
2504         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
2505
2506 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2507
2508         * config/i386/netware.opt: New.
2509         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
2510
2511 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2512
2513         * config/interix.opt (posix): New Driver option.
2514
2515 2011-02-01  DJ Delorie  <dj@redhat.com>
2516
2517         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
2518
2519         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
2520         class for A0/A1.
2521
2522 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
2523
2524         PR tree-optimization/47561
2525         * toplev.c (process_options): Print the Graphite flags.  Add
2526         flag_loop_flatten to the list of options requiring Graphite.
2527
2528 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2529
2530         * config/i386/cygming.opt (posix): New Driver option.
2531
2532 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2533
2534         * config/arm/vxworks.opt: New.
2535         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
2536
2537 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2538
2539         * config/alpha/elf.opt: New.
2540         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
2541         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
2542
2543 2011-02-01  Richard Guenther  <rguenther@suse.de>
2544
2545         PR tree-optimization/47559
2546         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
2547         store-motion on references that can throw.
2548
2549 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
2550
2551         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
2552         * tree-pass.h (TDF_CSELIB): New macro.
2553         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
2554         cselib_lookup): Check for it rather than for TDF_DETAILS.
2555
2556 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
2557
2558         PR driver/47547
2559         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
2560         is HOST_BIT_BUCKET.
2561
2562         * opts.c (finish_options): Don't add x_aux_base_name if it is
2563         HOST_BIT_BUCKET.
2564
2565 2011-02-01  Richard Guenther  <rguenther@suse.de>
2566
2567         PR tree-optimization/47555
2568         Revert
2569         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
2570
2571         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2572
2573 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
2574
2575         PR gcc/46692
2576         * config/lm32/t-lm32: Add multilib for all CPU options.
2577
2578 2011-02-01  Richard Guenther  <rguenther@suse.de>
2579
2580         PR tree-optimization/47541
2581         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
2582         sure to have a field at offset zero.
2583
2584 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2585
2586         * config/arc/arc.opt (EB, EL): New Driver options.
2587
2588 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2589
2590         * config/alpha/osf5.opt: New.
2591         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
2592
2593 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2594
2595         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
2596
2597 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
2598
2599         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
2600         -floop-interchange.
2601         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
2602         is an alias of -floop-interchange and that it requires the
2603         Graphite infrastructure.
2604         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
2605         flag_loop_interchange based on the value of flag_tree_loop_linear.
2606
2607 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
2608             Richard Guenther  <rguenther@suse.de>
2609
2610         PR tree-optimization/47538
2611         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
2612         type instead of r1type, except for comparisons.  For right
2613         shifts and comparisons punt if there are mismatches in
2614         sizetype vs. non-sizetype types.
2615
2616 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2617
2618         * doc/sourcebuild.texi (Effective-Target Keywords): Document
2619         avx_runtime.
2620
2621 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2622
2623         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
2624         version number.
2625         * configure: Regenerate.
2626
2627 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2628
2629         * configure.ac (gcc_cv_ld_static_option): Define.
2630         (gcc_cv_ld_dynamic_option): Define.
2631         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
2632         instead.
2633         (HAVE_LD_STATIC_DYNAMIC): Update message.
2634         (LD_STATIC_OPTION): Define.
2635         (LD_DYNAMIC_OPTION): Define.
2636         * configure: Regenerate.
2637         * config.in: Regenerate.
2638         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
2639         HAVE_LD_STATIC_DYNAMIC]: Use them.
2640
2641 2011-01-31  Nick Clifton  <nickc@redhat.com>
2642
2643         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
2644         registers inside interrupt handlers if the handler is not a leaf
2645         function.
2646
2647 2011-01-31  Nick Clifton  <nickc@redhat.com>
2648
2649         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
2650         reg_renumber returning an INVALID_REGNUM.
2651
2652 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
2653
2654         PR libgcj/44341
2655         * doc/install.texi: Document host options discarded when cross
2656         configuring target libraries.
2657
2658 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
2659
2660         Reverted:
2661         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
2662         PR debug/45136
2663         PR debug/45130
2664         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2665         debug insns.
2666         (no_real_insns_p, schedule_block, set_priorities): Drop special
2667         treatment of boundary debug insns.
2668         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2669         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2670         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2671         (BOUNDARY_DEBUG_INSN_P): Likewise.
2672         (SCHEDULE_DEBUG_INSN_P): Likewise.
2673         * sched-rgn.c (init_ready_list): Drop special treatment of
2674         boundary debug insns.
2675         * final.c (rest_of_clean-state): Clear notes' BB.
2676
2677 2011-01-31  Alan Modra  <amodra@gmail.com>
2678
2679         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
2680         toc relative expressions as we do in print_operand_address.
2681
2682 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
2683
2684         * doc/extend.texi: Follow spelling conventions.
2685         * doc/invoke.texi: Fix a typo.
2686
2687 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
2688
2689         * config/hpux11.opt: New.
2690         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
2691         ia64*-*-hpux*): Use hpux11.opt.
2692
2693 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
2694
2695         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
2696         to tmake_file.
2697
2698 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2699
2700         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
2701         support sites.
2702
2703 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2704
2705         * doc/install.texi (Binaries): Remove outdated reference for
2706         Motorola 68HC11/68HC12 downloads.
2707
2708 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2709
2710         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
2711         Drepper's paper.
2712
2713 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
2714
2715         PR bootstrap/47147
2716         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
2717         used by NetBSD.
2718
2719 2011-01-28  Ahmad Sharif  <asharif@google.com>
2720
2721         * value-prof.c (check_counter): Corrected error message.
2722
2723 2011-01-29  Jie Zhang  <jie@codesourcery.com>
2724
2725         * config/arm/arm.c (arm_legitimize_reload_address): New.
2726         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
2727         arm_legitimize_reload_address.
2728         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
2729
2730 2011-01-28  Ian Lance Taylor  <iant@google.com>
2731
2732         * godump.c (go_define): Ignore macros whose definitions include
2733         two adjacent operands.
2734
2735 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
2736
2737         PR target/42894
2738         * varasm.c (force_const_mem): Store copy of x in desc->constant
2739         instead of x itself.
2740         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
2741         itself into REG_EQUAL note.
2742
2743 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
2744
2745         * config/freebsd.opt (posix, rdynamic): New Driver options.
2746
2747 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2748
2749         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
2750         -Bstatic/-Bdynamic.
2751         * configure: Regenerate.
2752
2753 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
2754
2755         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
2756         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
2757
2758 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
2759
2760         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
2761         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
2762         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
2763         (s390_preferred_reload_class): Make static. Change return and
2764         'rclass' argument type to reg_class_t.
2765
2766 2011-01-27  Jan Hubicka  <jh@suse.cz>
2767
2768         PR middle-end/46949
2769         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
2770         (process_function_and_variable_attributes): Check defined weakrefs.
2771
2772 2011-01-27  Martin Jambor  <mjambor@suse.cz>
2773
2774         PR tree-optimization/47228
2775         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
2776         build_ref_for_offset.
2777
2778 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2779
2780         * config/spu/spu-elf.h (ASM_SPEC): Remove.
2781
2782 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
2783
2784         PR rtl-optimization/46856
2785         * postreload.c (reload_combine_recognize_const_pattern): Do not
2786         separate cc0 setter and user on cc0 targets.
2787
2788 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
2789
2790         PR c/43082
2791         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
2792         passed a VOID_TYPE expression, immediately emit an error and
2793         return error_mark_node.
2794
2795 2011-01-26  Jeff Law  <law@redhat.com>
2796
2797         PR rtl-optimization/47464
2798         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
2799         rather than may_trap_p as needed.
2800
2801 2011-01-26  DJ Delorie  <dj@redhat.com>
2802
2803         PR rtl-optimization/46878
2804         * combine.c (insn_a_feeds_b): Check for the implicit cc0
2805         setter/user dependency as well.
2806
2807 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
2808
2809         PR rtl-optimization/44469
2810         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
2811         after removing trivially dead basic blocks.
2812
2813 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
2814
2815         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
2816         * config/frv/frv.h (LINK_SPEC): Likewise.
2817         * config/i386/netware.h (LINK_SPEC): Likewise.
2818         * config/m68k/linux.h (ASM_SPEC): Likewise.
2819         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
2820         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
2821         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2822         * config/sparc/linux.h (ASM_SPEC): Likewise.
2823         * config/sparc/linux64.h (ASM_SPEC): Likewise.
2824         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2825
2826 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
2827
2828         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
2829         * config/frv/frv.h (ASM_SPEC): Likewise.
2830         * config/m68k/linux.h (ASM_SPEC): Likewise.
2831         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
2832         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
2833         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2834         * config/sparc/linux.h (ASM_SPEC): Likewise.
2835         * config/sparc/linux64.h (ASM_SPEC): Likewise.
2836         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2837
2838 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
2839
2840         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
2841         * config/frv/frv.h (LINK_SPEC): Likewise.
2842         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
2843
2844 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
2845
2846         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
2847         * config/frv/frv.h (ASM_SPEC): Likewise.
2848         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
2849         * config/m68k/linux.h (ASM_SPEC): Likewise.
2850         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
2851         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
2852         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2853         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
2854         * config/sparc/linux.h (ASM_SPEC): Likewise.
2855         * config/sparc/linux64.h (ASM_SPEC): Likewise.
2856         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2857         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
2858
2859 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
2860
2861         PR target/46997
2862         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
2863         (*mux2): Ditto.
2864         (vec_extract_evenodd_help): Ditto.
2865         (vec_extract_evenv4hi): Ditto.
2866         (vec_extract_oddv4hi): Ditto.
2867         (vec_interleave_lowv2si): Ditto.
2868         (vec_interleave_highv2si): Ditto.
2869         (vec_extract_evenv2si): Ditto.
2870         (vec_extract_oddv2si: Ditto.
2871         (vec_pack_trunc_v2si): Ditto.
2872
2873 2011-01-22  Jan Hubicka  <jh@suse.cz>
2874
2875         PR target/47237
2876         * cgraph.h (cgraph_local_info): New field can_change_signature.
2877         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
2878         signature can change.
2879         (ipcp_estimate_growth): Call sequence simplify only if calle signature
2880         can change.
2881         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
2882         (cgraph_function_versioning): We can not change signature of functions
2883         that don't allow that.
2884         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
2885         (lto_input_node): Likewise.
2886         * ipa-inline.c (compute_inline_parameters): Compute
2887         local.can_change_signature.
2888         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
2889         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
2890         functions that can not change signature.
2891         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
2892         init_cumulative_args): Do not use local calling conventions
2893         for functions that can not change signature.
2894
2895 2011-01-22  Jan Hubicka  <jh@suse.cz>
2896
2897         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
2898
2899 2011-01-26  Richard Guenther  <rguenther@suse.de>
2900
2901         PR tree-optimization/47190
2902         * cgraphunit.c (process_common_attributes): New function.
2903         (process_function_and_variable_attributes): Use it.
2904
2905 2011-01-26  Richard Guenther  <rguenther@suse.de>
2906
2907         PR lto/47423
2908         * cgraphbuild.c (record_eh_tables): Record reference to personality
2909         function.
2910
2911 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
2912
2913         PR debug/45454
2914         * sel-sched.c (moveup_expr): Don't let debug insns prevent
2915         non-debug insns from moving up.
2916
2917 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2918
2919         PR target/40125
2920         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
2921         t-dlldir{,-x} fragment for build and add it to tmake_file.
2922         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
2923         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
2924         * config/i386/t-dlldir: New file.
2925         (SHLIB_DLLDIR): Define.
2926         * config/i386/t-dlldir-x: New file.
2927         (SHLIB_DLLDIR): Define.
2928         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
2929         (SHLIB_INSTALL): Use it.
2930
2931 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
2932
2933         PR target/47246
2934         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
2935         lower bound of the allowed Thumb-2 coprocessor load/store
2936         index range to -256. Add explaining comment.
2937
2938 2011-01-25  Ian Lance Taylor  <iant@google.com>
2939
2940         * godump.c (go_define): Improve lexing of macro expansion to only
2941         accept expressions which match Go spec.
2942
2943 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2944
2945         PR c++/43601
2946         * tree.c (handle_dll_attribute): Handle it.
2947         * doc/extend.texi (@item dllexport): Mention it.
2948         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
2949
2950 2011-01-25  Ian Lance Taylor  <iant@google.com>
2951
2952         PR tree-optimization/26854
2953         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
2954         (decl_jump_unsafe): Move higher in file, with no other change.
2955         (bind): Set has_jump_unsafe_decl if appropriate.
2956         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
2957         (check_earlier_gotos): Likewise.
2958         (c_check_switch_jump_warnings): Likewise.
2959
2960 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2961
2962         * doc/invoke.texi (Warning Options): Add missing hyphen.
2963         (-fprofile-dir): Minor grammatical fixes.
2964         (-fbranch-probabilities): Likewise.
2965
2966 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
2967
2968         PR debug/45136
2969         PR debug/45130
2970         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2971         debug insns.
2972         (no_real_insns_p, schedule_block, set_priorities): Drop special
2973         treatment of boundary debug insns.
2974         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2975         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2976         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2977         (BOUNDARY_DEBUG_INSN_P): Likewise.
2978         (SCHEDULE_DEBUG_INSN_P): Likewise.
2979         * sched-rgn.c (init_ready_list): Drop special treatment of
2980         boundary debug insns.
2981         * final.c (rest_of_clean-state): Clear notes' BB.
2982
2983 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2984
2985         * Makefile.in (LAMBDA_H): Removed.
2986         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
2987         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
2988         lambda-trans.o, and tree-loop-linear.o.
2989         (lto-symtab.o): Remove dependence on LAMBDA_H.
2990         (tree-loop-linear.o): Remove rule.
2991         (lambda-mat.o): Same.
2992         (lambda-trans.o): Same.
2993         (lambda-code.o): Same.
2994         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
2995         (tree-vect-slp.o): Same.
2996         * hwint.h (gcd): Moved here.
2997         (least_common_multiple): Same.
2998         * lambda-code.c: Removed.
2999         * lambda-mat.c: Removed.
3000         * lambda-trans.c: Removed.
3001         * lambda.h: Removed.
3002         * tree-loop-linear.c: Removed.
3003         * lto-symtab.c: Do not include lambda.h.
3004         * omega.c (gcd): Removed.
3005         * passes.c (init_optimization_passes): Remove pass_linear_transform.
3006         * tree-data-ref.c (print_lambda_vector): Moved here.
3007         (lambda_vector_copy): Same.
3008         (lambda_matrix_copy): Same.
3009         (lambda_matrix_id): Same.
3010         (lambda_vector_first_nz): Same.
3011         (lambda_matrix_row_add): Same.
3012         (lambda_matrix_row_exchange): Same.
3013         (lambda_vector_mult_const): Same.
3014         (lambda_vector_negate): Same.
3015         (lambda_matrix_row_negate): Same.
3016         (lambda_vector_equal): Same.
3017         (lambda_matrix_right_hermite): Same.
3018         * tree-data-ref.h: Do not include lambda.h.
3019         (lambda_vector): Moved here.
3020         (lambda_matrix): Same.
3021         (dependence_level): Same.
3022         (lambda_transform_legal_p): Removed declaration.
3023         (lambda_collect_parameters): Same.
3024         (lambda_compute_access_matrices): Same.
3025         (lambda_vector_gcd): Same.
3026         (lambda_vector_new): Same.
3027         (lambda_vector_clear): Same.
3028         (lambda_vector_lexico_pos): Same.
3029         (lambda_vector_zerop): Same.
3030         (lambda_matrix_new): Same.
3031         * tree-flow.h (least_common_multiple): Removed declaration.
3032         * tree-parloops.c (lambda_trans_matrix): Moved here.
3033         (LTM_MATRIX): Same.
3034         (LTM_ROWSIZE): Same.
3035         (LTM_COLSIZE): Same.
3036         (LTM_DENOMINATOR): Same.
3037         (lambda_trans_matrix_new): Same.
3038         (lambda_matrix_vector_mult): Same.
3039         (lambda_transform_legal_p): Same.
3040         * tree-pass.h (pass_linear_transform): Removed declaration.
3041         * tree-ssa-loop.c (tree_linear_transform): Removed.
3042         (gate_tree_linear_transform): Removed.
3043         (pass_linear_transform): Removed.
3044         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
3045         flag_loop_interchange.
3046
3047 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3048
3049         PR tree-optimization/47265
3050         PR tree-optimization/47443
3051         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
3052         if name still has some uses.
3053
3054 2011-01-25  Martin Jambor  <mjambor@suse.cz>
3055
3056         PR tree-optimization/47382
3057         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
3058         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
3059
3060 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
3061
3062         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
3063         sjlj_except_unwind_info.
3064
3065 2011-01-25  Richard Guenther  <rguenther@suse.de>
3066
3067         PR tree-optimization/47426
3068         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
3069         visible functions results escape.
3070
3071 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3072
3073         PR target/45701
3074         * config/arm/arm.c (any_sibcall_uses_r3): New function.
3075         (arm_get_frame_offsets): Use it.
3076
3077 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3078             Jakub Jelinek  <jakub@redhat.com>
3079
3080         PR tree-optimization/47271
3081         * tree-if-conv.c (bb_postdominates_preds): New.
3082         (if_convertible_bb_p): Call bb_postdominates_preds.
3083         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
3084         (predicate_scalar_phi): Call bb_postdominates_preds.
3085
3086 2011-01-25  Nick Clifton  <nickc@redhat.com>
3087
3088         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
3089         * config/rx/rx.c (rx_function_value): Likewise.
3090         (rx_promote_function_mode): Likewise.
3091         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
3092         in order to make it legitimate.
3093         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
3094         make sure that the first operand is the same as the result register.
3095         (addsi3_unspec): Delete.
3096         (subdi3): Do not accept immediate operands.
3097         (subdi3_internal): Likewise.
3098
3099 2011-01-25  Jeff Law  <law@redhat.com>
3100
3101         PR rtl-optimization/37273
3102         * ira-costs.c (scan_one_insn): Detect constants living in memory and
3103         handle them like argument loads from stack slots.  Do not double
3104         count memory for memory constants and argument loads from stack slots.
3105
3106 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
3107
3108         PR tree-optimization/47427
3109         PR tree-optimization/47428
3110         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3111         coalesce if the new root var would be TREE_READONLY.
3112
3113 2011-01-25  Richard Guenther  <rguenther@suse.de>
3114
3115         PR middle-end/47414
3116         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
3117         correct type for TBAA.
3118
3119 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3120
3121         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
3122         (close_phi_written_to_memory): Call for_each_index with
3123         dr_indices_valid_in_loop.
3124
3125 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3126
3127         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
3128         when it is initialized.
3129
3130 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3131
3132         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
3133         call to graphite_find_data_references_in_stmt.
3134         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
3135         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
3136         call to graphite_find_data_references_in_stmt.
3137         (analyze_drs_in_stmts): Same.
3138         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
3139         in which the scalar analysis of indices is performed.
3140         (create_data_ref): Same.  Update call to dr_analyze_indices.
3141         (find_data_references_in_stmt): Update call to create_data_ref.
3142         (graphite_find_data_references_in_stmt): Same.
3143         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
3144         declaration.
3145         (create_data_ref): Same.
3146         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
3147         call to create_data_ref.
3148
3149 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3150
3151         * graphite-sese-to-poly.c (build_poly_scop): Move
3152         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
3153
3154 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3155
3156         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
3157         VAR_DECL, PARM_DECL, and RESULT_DECL.
3158
3159 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3160
3161         * graphite-dependences.c (reduction_dr_1): Allow several reductions
3162         in a reduction PBB.
3163         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
3164         that have already been marked as PBB_IS_REDUCTION.
3165
3166 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3167
3168         * graphite-scop-detection.c (same_close_phi_node): New.
3169         (remove_duplicate_close_phi): New.
3170         (make_close_phi_nodes_unique): New.
3171         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
3172
3173 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3174
3175         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
3176         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
3177         of both data references to be the same.
3178
3179 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3180
3181         * graphite-dependences.c (build_lexicographical_constraint): Remove
3182         the gdim parameter.
3183         (build_lexicographical_constraint): Adjust call to
3184         ppl_powerset_is_empty.
3185         (dependence_polyhedron): Same.
3186         (graphite_legal_transform_dr): Same.
3187         (graphite_carried_dependence_level_k): Same.
3188         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
3189         parameter.
3190         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
3191
3192 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3193
3194         * graphite-sese-to-poly.c
3195         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
3196         (close_phi_written_to_memory): New.
3197         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
3198         and unshare_expr.
3199
3200 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3201
3202         * doc/install.texi: Update the expected version number of PPL to 0.11.
3203         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
3204         #if PPL_VERSION_MINOR < 11.
3205
3206 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3207
3208         * graphite-dependences.c: Include graphite-cloog-util.h.
3209         (new_poly_ddr): Inlined into dependence_polyhedron.
3210         (free_poly_ddr): Moved close by new_poly_ddr.
3211         (dependence_polyhedron_1): Renamed dependence_polyhedron.
3212         Early return NULL when ppl_powerset_is_empty returns true.
3213         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
3214         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
3215         (graphite_legal_transform_dr): Call new_poly_ddr.
3216         (graphite_carried_dependence_level_k): Same.
3217         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
3218         (dot_transformed_deps_stmt_1): Removed.
3219         (dot_deps_stmt_1): Call dot_deps_stmt_2.
3220         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
3221         (dot_deps_1): Call dot_deps_2.
3222         * Makefile.in (graphite-dependences.o): Add missing dependence on
3223         graphite-cloog-util.h.
3224
3225 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3226
3227         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
3228         (build_lexicographical_constraint): Same.
3229         (dependence_polyhedron_1): Same.
3230         (graphite_legal_transform_dr): Same.
3231         (graphite_carried_dependence_level_k): Same.
3232         * graphite-ppl.c (ppl_powerset_is_empty): New.
3233         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
3234         * tree-data-ref.c (dump_data_reference): Print the basic block index.
3235
3236 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3237
3238         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
3239         the "a followed by b" relation and document it.
3240
3241 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3242
3243         * graphite-dependences.c (build_lexicographical_constraint): Stop the
3244         iteration when the bag of constraints is empty.
3245
3246 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3247
3248         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
3249
3250 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3251
3252         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
3253         nest and two loop depths as parameters.
3254         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
3255         lst_perfect_nestify.
3256
3257 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3258
3259         * graphite-dependences.c (print_pddr): Call
3260         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
3261
3262 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
3263
3264         * graphite-ppl.c (debug_gmp_value): New.
3265         * graphite-ppl.h (debug_gmp_value): Declared.
3266
3267 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
3268
3269         * doc/install.texi: Document availability of cloog-0.16.
3270
3271 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
3272
3273         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
3274         invalid postdominance info.
3275
3276 2011-01-24  Jan Hubicka  <jh@suse.cz>
3277
3278         PR c/21659
3279         * doc/extend.texi (weak pragma): Drop claim that it must
3280         appear before definition.
3281         * varasm.c (merge_weak, declare_weak): Only sanity check
3282         that DECL is not output at a time it is declared weak.
3283
3284 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
3285
3286         * machmode.def: Fixed comments.
3287
3288 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
3289
3290         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
3291
3292 2011-01-24  Paul Koning  <ni1d@arrl.net>
3293
3294         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
3295         WORDS_BIG_ENDIAN.
3296
3297 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
3298
3299         PR target/46519
3300         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
3301         (block_info): Add scanned and prev.
3302         (move_or_delete_vzeroupper_2): Return if the basic block
3303         has been scanned and the upper 128bit state is unchanged
3304         from the last scan.
3305         (move_or_delete_vzeroupper_1): Return true if the exit
3306         state is changed.
3307         (move_or_delete_vzeroupper): Visit basic blocks using the
3308         work-list based algorithm based on vt_find_locations in
3309         var-tracking.c.
3310
3311         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
3312
3313 2011-01-24  Nick Clifton  <nickc@redhat.com>
3314
3315         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
3316         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
3317         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
3318         then define __v850e1__.
3319         * doc/invoke.texi: Document -mv850es.
3320
3321 2011-01-24  Richard Henderson  <rth@redhat.com>
3322
3323         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
3324         compound unordered comparisons.
3325         * config/rx/rx.c (rx_split_fp_compare): Remove.
3326         * config/rx/rx-protos.h: Update.
3327         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
3328         (cbranchsf4): Don't call rx_split_fp_compare.
3329         (*cbranchsf4): Use rx_split_cbranch.
3330         (*cmpsf): Don't accept "i" constraint.
3331         (*conditional_branch): Only valid after reload.
3332         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
3333
3334 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
3335
3336         PR target/47385
3337         * config/rs6000/altivec.md (vector constant splitters): Add
3338         support for creating vector single precision constants if -mvsx is
3339         used and we would create the constant using Altivec primitives.
3340
3341 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
3342             Richard Sandiford  <rdsandiford@googlemail.com>
3343
3344         PR rtl-optimization/47166
3345         * reload1.c (emit_reload_insns): Disable the spill_reg_store
3346         mechanism for PRE_MODIFY and POST_MODIFY.
3347         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
3348         reloadreg.
3349
3350 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
3351
3352         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
3353
3354 2011-01-22  Jan Hubicka  <jh@suse.cz>
3355
3356         PR lto/47333
3357         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
3358
3359 2011-01-22  Jan Hubicka  <jh@suse.cz>
3360
3361         PR tree-optimization/43884
3362         PR lto/44334
3363         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
3364         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
3365
3366 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
3367
3368         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3369         * config/s390/s390.c (s390_register_move_cost,
3370         s390_memory_move_cost): New.
3371         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
3372
3373 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3374
3375         PR middle-end/47401
3376         * except.c (sjlj_assign_call_site_values): Move setting the
3377         crtl->uses_eh_lsda flag to ...
3378         (sjlj_mark_call_sites): ... here.
3379         (sjlj_emit_function_enter): Support NULL dispatch label.
3380         (sjlj_build_landing_pads): In a function with no landing pads
3381         that still has must-not-throw regions, generate code to register
3382         a personality function with empty LSDA.
3383
3384 2011-01-21  Richard Henderson  <rth@redhat.com>
3385
3386         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
3387
3388         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
3389
3390         * compare-elim.c: New file.
3391         * Makefile.in (OBJS-common): Add it.
3392         (compare-elim.o): New.
3393         * common.opt (fcompare-elim): New.
3394         * opts.c (default_options_table): Add OPT_fcompare_elim.
3395         * tree-pass.h (pass_compare_elim_after_reload): New.
3396         * passes.c (init_optimization_passes): Add it.
3397         * recog.h: Protect against re-inclusion.
3398         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
3399         * doc/invoke.texi (-fcompare-elim): Document it.
3400         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
3401         * doc/tm.texi: Rebuild.
3402
3403 2011-01-22  Nick Clifton  <nickc@redhat.com>
3404
3405         * config/rx/rx.md (cstoresf4): Pass comparison operator to
3406         rx_split_fp_compare.
3407
3408 2011-01-22  Nick Clifton  <nickc@redhat.com>
3409
3410         * config/rx/rx.md (UNSPEC_CONST): New.
3411         (deallocate_and_return): Wrap the amount popped off the stack in
3412         an UNSPEC_CONST in order to stop it being rejected by
3413         -mmax-constant-size.
3414         (pop_and_return): Add a "(return)" rtx.
3415         (call): Drop the immediate operand.
3416         (call_internal): Likewise.
3417         (call_value): Likewise.
3418         (call_value_internal): Likewise.
3419         (sibcall_internal): Likewise.
3420         (sibcall_value_internal): Likewise.
3421         (sibcall): Likewise.  Generate an explicit call using
3422         sibcall_internal.
3423         (sibcall_value): Likewise.
3424         (mov<>): FAIL if a constant operand is not legitimate.
3425         (addsi3_unpsec): New pattern.
3426
3427         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
3428         (ok_for_max_constant): New function.
3429         (gen_safe_add): New function.
3430         (rx_expand_prologue): Use gen_safe_add.
3431         (rx_expand_epilogue): Likewise.
3432         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
3433         UNSPEC CONSTs.
3434
3435 2011-01-21  Jeff Law  <law@redhat.com>
3436
3437         PR tree-optimization/47053
3438         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
3439         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
3440         statements are deleted.
3441         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
3442         is nonempty, then purge dead edges and cleanup the CFG.
3443
3444 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3445
3446         PR debug/47402
3447         Temporarily revert:
3448         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3449         PR debug/47106
3450         * tree-dfa.c (create_var_ann): Mark variable as used.
3451
3452 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3453
3454         PR middle-end/45566
3455         * except.c (convert_to_eh_region_ranges): Emit queued no-region
3456         notes from other section in hot/cold partitioning even if
3457         last_action is -3.  Increment call_site_base.
3458
3459         PR rtl-optimization/47366
3460         * fwprop.c (forward_propagate_into): Return bool.  If
3461         any changes are made, -fnon-call-exceptions is used and
3462         REG_EH_REGION note is present, call purge_dead_edges
3463         and return true if it purged anything.
3464         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
3465         any EH edges were purged.
3466
3467 2011-01-21  Jeff Law  <law@redhat.com>
3468
3469         PR rtl-optimization/41619
3470         * caller-save.c (setup_save_areas): Break out code to determine
3471         which hard regs are live across calls by examining the reload chains
3472         so that it is always used.
3473         Eliminate code which checked REG_N_CALLS_CROSSED.
3474
3475 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3476
3477         PR tree-optimization/47355
3478         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
3479         NOP has non-debug uses beyond PHIs in new_bb.
3480
3481 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3482
3483         PR debug/47106
3484         * cfgexpand.c (account_used_vars_for_block): Only account vars
3485         that are annotated as used.
3486         (estimated_stack_frame_size): Don't set TREE_USED.
3487         * tree-dfa.c (create_var_ann): Mark variable as used.
3488
3489 2011-01-21  Richard Guenther  <rguenther@suse.de>
3490
3491         PR middle-end/47395
3492         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
3493
3494 2011-01-21  Richard Guenther  <rguenther@suse.de>
3495
3496         PR tree-optimization/47365
3497         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
3498         (vn_reference_lookup_pieces): Adjust.
3499         (vn_reference_lookup): Likewise.
3500         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
3501         (vn_reference_lookup_3): Only look through kills if in
3502         VN_WALKREWRITE mode.
3503         (vn_reference_lookup_pieces): Adjust.
3504         (vn_reference_lookup): Likewise.
3505         (visit_reference_op_load): Likewise.
3506         (visit_reference_op_store): Likewise.
3507         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
3508         (compute_avail): Likewise.
3509         (eliminate): Likewise.
3510
3511 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3512
3513         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
3514         DECL_IGNORED_P non-reg vars if they are used.
3515
3516         PR tree-optimization/47391
3517         * varpool.c (const_value_known_p): Return false if
3518         decl is volatile.
3519
3520 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
3521
3522         PR bootstrap/47215
3523         * config/i386/i386.c (ix86_local_alignment): Handle
3524         case for va_list_type_node is nil.
3525         (ix86_canonical_va_list_type): Likewise.
3526
3527 2011-01-21  Alan Modra  <amodra@gmail.com>
3528
3529         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
3530         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
3531
3532 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3533
3534         * config/arm/arm.md (define_attr type): Rename f_load
3535         and f_store to f_fpa_load and f_fpa_store. Update.
3536         (write_conflict): Deal with rename fallout.
3537         (*push_fp_multi): Likewise.
3538         * config/arm/fpa.md (f_load): Use f_fpa_load.
3539         (f_store): Use f_fpa_store.
3540         (*movsf_fpa): Likewise.
3541         (*movdf_fpa): Likewise.
3542         (*movxf_fpa): Likewise.
3543         (*thumb2_movsf_fpa): Likewise.
3544         (*thumb2_movdf_fpa): Likewise.
3545         (*thumb2_movxf_fpa): Likewise.
3546         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
3547         f_loadd and f_stored.
3548         (*thumb2_movdi_vfp): Likewise.
3549         (*thumb2_movsf_vfp): Fix attribute to f_loads.
3550         (*thumb2_movsi_vfp): Likewise.
3551         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
3552         Use f_loads instead of f_load.
3553         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
3554
3555 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
3556
3557         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3558         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
3559         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3560         (xtensa_mode_dependent_address_p): New function.
3561         (constantpool_address_p): Make static. Change return type to bool.
3562         Change argument type to const_rtx. Use CONST_INT_P predicate.
3563
3564 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
3565
3566         PR debug/46583
3567         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
3568
3569 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
3570
3571         PR debug/47283
3572         * cfgexpand.c (expand_debug_expr): Instead of generating
3573         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
3574         etc. handling.
3575
3576 2011-01-20  Richard Guenther  <rguenther@suse.de>
3577
3578         PR middle-end/47370
3579         * tree-inline.c (remap_gimple_op_r): Recurse manually for
3580         the pointer operand of MEM_REFs.
3581
3582 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
3583
3584         PR tree-optimization/46130
3585         * ipa-split.c (consider_split): If return_bb contains non-virtual
3586         PHIs other than for retval or if split_function would not adjust it,
3587         refuse to split.
3588
3589 2011-01-20  Richard Guenther  <rguenther@suse.de>
3590
3591         PR tree-optimization/47167
3592         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
3593         Revert previous change, only avoid enumeral type changes.
3594
3595 2011-01-19  Mike Stump  <mikestump@comcast.net>
3596
3597         * doc/tm.texi.in (BRANCH_COST): Englishify.
3598         * doc/tm.texi (BRANCH_COST): Likewise.
3599
3600 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
3601
3602         PR c++/47291
3603         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
3604         (gen_scheduled_generic_parms_dies): New functions.
3605         (gen_struct_or_union_type_die): Schedule template parameters DIEs
3606         generation for the end of CU compilation.
3607         (dwarf2out_finish): Generate template parameters DIEs here.
3608
3609 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3610
3611         PR debug/46240
3612         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
3613         debug bind stmt on merge edges.
3614
3615 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3616
3617         PR debug/47079
3618         PR debug/46724
3619         * function.c (instantiate_expr): Instantiate incoming rtl of
3620         implicit arguments, and recurse on VALUE_EXPRs.
3621         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
3622         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
3623
3624 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3625
3626         * c-parser.c (c_parser_for_statement): Initialize
3627         collection_expression.
3628
3629 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3630
3631         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
3632
3633 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3634
3635         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
3636         (LINK_SHLIB_SPEC): Don't use %(link_path).
3637         (SUBTARGET_EXTRA_SPECS): Remove link_path.
3638
3639 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3640
3641         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
3642         (NO_SHARED_LIB_SUPPORT): Remove.
3643         (LINK_SHLIB_SPEC): Remove one conditional definition.
3644
3645 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3646
3647         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
3648         %{call_shared}.
3649         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
3650         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
3651         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
3652         %{call_shared} and conditionals on these options not being passed.
3653         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
3654         %{call_shared}.
3655
3656 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
3657
3658         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
3659         simplify.
3660
3661         * ipa-split.c: Spelling fixes.
3662
3663 2011-01-19  Richard Henderson  <rth@redhat.com>
3664
3665         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
3666         (*mulsi3): Likewise.
3667
3668         * longlong.h [__mn10300__] (count_leading_zeros): New.
3669         [__mn10300__] (umul_ppmm, smul_ppmm): New.
3670         [__mn10300__] (add_ssaaaa, subddmmss): New.
3671         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
3672         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
3673
3674 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3675
3676         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
3677
3678 2011-01-19  Richard Henderson  <rth@redhat.com>
3679
3680         * config/mn10300/mn10300.md (addsi3_flags): New.
3681         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
3682         (subsi3_flags, subc_internal, subdi3): New.
3683         (subdi3_internal, *subdi3_degenerate): New.
3684         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
3685
3686         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
3687         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
3688         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
3689         * config/mn10300/mn10300-protos.h: Update.
3690         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
3691         (return_ret): Likewise.  Rename from return_internal_regs.
3692         (return_internal): Remove.
3693
3694         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
3695         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
3696         (mn10300_legitimate_constant_p): Likewise.
3697         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
3698         (mn10300_frame_size): New.
3699         (mn10300_expand_prologue): Use it.
3700         (mn10300_expand_epilogue): Likewise.
3701         (mn10300_initial_offset): Likewise.
3702         * config/mn10300/mn10300-protos.h: Update.
3703         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
3704         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
3705         (prologue, epilogue, return_internal): Tidy output code.
3706         (mn10300_store_multiple_operation, return): Likewise.
3707         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
3708         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
3709         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
3710         (load_pic, am33_load_pic): New.
3711         (mn10300_load_pic0, mn10300_load_pic1): New.
3712
3713         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
3714         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
3715         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
3716         (cc_flags_for_mode, cc_flags_for_code): New.
3717         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
3718         overflow flag is not valid.  Validate that the flags we need
3719         for the comparison are valid.
3720         (mn10300_output_cmp): Remove.
3721         (mn10300_output_add): New.
3722         (mn10300_select_cc_mode): Use cc_flags_for_code.
3723         (mn10300_split_cbranch): New.
3724         (mn10300_match_ccmode): New.
3725         (mn10300_split_and_operand_count): New.
3726         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
3727         to the function.
3728         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
3729         (addsi3): ... here.  Use mn10300_output_add.
3730         (*addsi3_flags): New.
3731         (*am33_subsi3, *mn10300_subsi3): Merge...
3732         (subsi3): ... here.  Use attribute isa.
3733         (*subsi3_flags): New.
3734         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
3735         when possible.
3736         (*am33_andsi3, *mn10300_andsi3): Merge...
3737         (andsi3): ... here.
3738         (*andsi3_flags): New.
3739         (andsi3 splitters): New.
3740         (*am33_iorsi3, *mn10300_iorsi3): Merge...
3741         (iorsi3): ... here.
3742         (*iorsi3_flags): New.
3743         (*am33_xorsi3, *mn10300_xorsi3): Merge...
3744         (xorsi3): ... here.
3745         (*xorsi3_flags): New.
3746         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
3747         (one_cmplsi2): ... here.
3748         (*one_cmplsi2_flags): New.
3749         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
3750         instead of "dax" in constraints.  Use mn10300_split_cbranch.
3751         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
3752         use matching constraints to eliminate a self-comparison.
3753         (*integer_conditional_branch): Rename from integer_conditional_branch.
3754         Use int_mode_flags to match CC_REG.
3755         (*cbranchsi4_btst, *btstsi): New.
3756         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
3757         mn10300_split_cbranch.
3758         (*am33_cmpsf): Rename from am33_cmpsf.
3759         (*float_conditional_branch): Rename from float_conditional_branch.
3760         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
3761         (zero_extendqisi2): ... here.
3762         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
3763         (zero_extendhisi2): ... here.
3764         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
3765         (extendqisi2): ... here.
3766         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
3767         (extendhisi2): ... here.
3768         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
3769         (ashlsi3): ... here.
3770         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
3771         (lshrsi3): ... here.
3772         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
3773         (ashrsi3): ... here.
3774         (consecutive add peephole): Remove.
3775         * config/mn10300/predicates.md (label_ref_operand): New.
3776         (int_mode_flags): New.
3777         (CCZN_comparison_operator): New.
3778
3779         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
3780         (throughput_42_latency_43): New reservation.
3781         (mulsidi3, umulsidi3): New expanders.
3782         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
3783         the MDR register to allocation; separately allocate the low and
3784         high parts of the DImode result.
3785         (umulsidi3_internal): Similarly.
3786         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
3787         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
3788         (udivsi3, umodsi3): Remove.
3789         (udivmodsi4, divmodsi4): New expanders.
3790         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
3791         (*divmodsi4): Simiarly.
3792         (ext_internal): New.
3793
3794         * config/mn10300/constraints.md ("z"): New constraint.
3795         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
3796         (FIXED_REGISTERS): Don't fix MDR.
3797         (CALL_USED_REGSITERS): Reformat nicely.
3798         (REG_ALLOC_ORDER): Add MDR.
3799         (enum regclass): Add MDR_REGS.
3800         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
3801         (IRA_COVER_CLASSES): Add MDR_REGS.
3802         (REGNO_REG_CLASS): Handle MDR_REG.
3803         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
3804         (mn10300_register_move_cost): Likewise.
3805         * config/mn10300/mn10300.md (MDR_REG): New.
3806         (*movsi_internal): Handle moves to/from MDR_REGS.
3807
3808         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
3809         POST_MODIFY.
3810         (mn10300_secondary_reload): Tidy combination reload classes.
3811         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
3812         addresses for AM33.  Allow symbolic offsets for reg+imm.
3813         (mn10300_regno_in_class_p): New.
3814         (mn10300_legitimize_reload_address): New.
3815         * config/mn10300/mn10300.h (enum reg_class): Remove
3816         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
3817         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
3818         SP_OR_GENERAL_REGS.
3819         (REG_CLASS_NAMES): Update to match.
3820         (REG_CLASS_CONTENTS): Likewise.
3821         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
3822         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
3823         (REGNO_IN_RANGE_P): Remove.
3824         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
3825         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
3826         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
3827         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
3828         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
3829         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
3830         (REGNO_GENERAL_P): New.
3831         (HAVE_POST_MODIFY_DISP): New.
3832         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
3833         (LEGITIMIZE_RELOAD_ADDRESS): New.
3834         * config/mn10300/mn10300-protos.h: Update.
3835
3836         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
3837         DATA_REGS for AM33 stack-pointer destination.
3838         (mn10300_preferred_output_reload_class): Likewise.
3839         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
3840         into a form appropriate for ...
3841         (TARGET_SECONDARY_RELOAD): New.
3842         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
3843         * config/mn10300/mn10300-protos.h: Update.
3844         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
3845         reload_insi; use the "A" constraint for the scratch; handle AM33
3846         moves of sp to non-address registers.
3847
3848         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
3849         (*movqi_internal): ... here.
3850         (*am33_movhi, *mn10300_movhi): Merge into...
3851         (*movhi_internal): ... here.
3852         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
3853         as the source/destination of moves from/to SP.
3854         (movsf): Only allow for AM33-2.
3855         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
3856         any integer constant constraint.  Only allow for AM33-2.  Tidy
3857         all of the alternative outputs.
3858         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
3859         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
3860         for MN103.
3861         (udivsi3, umodsi3): New patterns for MN103 only.
3862
3863 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
3864
3865         * doc/tm.texi.in: Spell out that a lack of register class unions
3866         can lead to ICEs.
3867         * doc/tm.texi: Regenerate.
3868
3869 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
3870
3871         PR rtl-optimization/47337
3872         * dce.c (check_argument_store): New function.
3873         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
3874
3875         PR tree-optimization/47290
3876         * tree-eh.c (infinite_empty_loop_p): New function.
3877         (cleanup_empty_eh): Use it.
3878
3879 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
3880
3881         PR target/46997
3882         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
3883         (a64_expand_widen_sum): Ditto.
3884         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
3885         (vec_extract_evenodd_help): Ditto.
3886         (vec_extract_evenv4hi): Ditto.
3887         (vec_extract_oddv4hi): Ditto.
3888         (vec_extract_evenv2si): Ditto.
3889         (vec_extract_oddv2si): Ditto.
3890         (vec_extract_evenv2sf): Ditto.
3891         (vec_extract_oddv2sf): Ditto.
3892         (vec_pack_trunc_v4hi: Ditto.
3893         (vec_pack_trunc_v2si): Ditto.
3894         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
3895         (vec_interleave_highv8qi): Ditto.
3896         (mix1_r): Ditto.
3897         (vec_extract_oddv8qi): Ditto.
3898         (vec_interleave_lowv4hi): Ditto.
3899         (vec_interleave_highv4hi): Ditto.
3900         (vec_interleave_lowv2si): Ditto.
3901         (vec_interleave_highv2si): Ditto.
3902
3903 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3904
3905         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
3906         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
3907         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
3908         (pa_c_mode_for_suffix): New.
3909         (TARGET_EXPAND_BUILTIN): Define.
3910         (TARGET_C_MODE_FOR_SUFFIX): Define.
3911         (pa_builtins): Define.
3912         (pa_init_builtins): Register __float128 type and init new support
3913         builtins.
3914         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
3915         * config/pa/quadlib.c (_U_Qfcopysign): New.
3916
3917 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
3918
3919         PR middle-end/46894
3920         * explow.c (allocate_dynamic_stack_space): Do not assume more than
3921         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
3922         are defined.
3923
3924 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3925
3926         PR tree-optimization/47179
3927         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
3928         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
3929
3930 2011-01-18  Richard Guenther  <rguenther@suse.de>
3931
3932         PR rtl-optimization/47216
3933         * emit-rtl.c: Include tree-flow.h.
3934         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
3935         of replicating it with different semantics.
3936         * Makefile.in (emit-rtl.o): Adjust.
3937
3938 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3939
3940         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
3941         (cortex_a9_dp): Handle neon types correctly.
3942
3943 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
3944
3945         PR rtl-optimization/47299
3946         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
3947         subtarget.  Use normal multiplication if both operands are constants.
3948         * expmed.c (expand_widening_mult): Don't try to optimize constant
3949         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
3950         before using it.
3951
3952 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3953
3954         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
3955         spacing after 'e.g.', typos, comma, hyphenation.
3956
3957 2011-01-17  Richard Henderson  <rth@redhat.com>
3958
3959         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
3960         (rx_restricted_mem_operand): New.
3961         (rx_shift_operand): Use register_operand.
3962         (rx_source_operand, rx_compare_operand): Likewise.
3963         * config/rx/rx.md (addsi3_flags): New expander.
3964         (adddi3): Rewrite as expander.
3965         (adc_internal, *adc_flags, adddi3_internal): New patterns.
3966         (subsi3_flags): New expander.
3967         (subdi3): Rewrite as expander.
3968         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
3969
3970         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
3971         (rx_init_builtins): Remove sat builtin.
3972         (rx_expand_builtin): Likewise.
3973         * config/rx/rx.md (ssaddsi3): New.
3974         (*sat): Rename from sat.  Represent the CC_REG input.
3975
3976         * config/rx/predicates.md (rshift_operator): New.
3977         * config/rx/rx.c (rx_expand_insv): Remove.
3978         * config/rx/rx-protos.h: Update.
3979         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
3980         operand to the canonical position.
3981         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
3982         (*bitclr, *bitclr_in_memory): Similarly.
3983         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
3984         (insv): Retain the zero_extract in the expansion.
3985
3986         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
3987         (bswaphi2, bitinvert, revw): Likewise.
3988
3989         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
3990         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
3991         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
3992         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
3993         (bitset, bitset_in_memory): Likewise.
3994         (bitinvert, bitinvert_in_memory): Likewise.
3995         (bitclr, bitclr_in_memory): Likewise.
3996         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
3997         (rx_strend, rx_cmpstrn): Likewise.
3998         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
3999         (bitop peep2 patterns): Remove.
4000
4001         * config/rx/rx.c (rx_match_ccmode): New.
4002         * config/rx/rx-protos.h: Update.
4003         * config/rx/rx.md (abssi2): Clobber, don't set flags.
4004         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
4005         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
4006         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
4007         (fix_truncsfsi2, floatsisf2): Likewise.
4008         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
4009         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
4010         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
4011         (*subsi3_flags, *xorsi3_flags): New.
4012
4013         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
4014
4015         * config/rx/rx.c (rx_print_operand): Remove workaround for
4016         unsplit comparison operations.
4017
4018         * config/rx/rx.md (movsicc): Split after reload.
4019         (*movsicc): Merge *movsieq and *movsine via match_operator.
4020         (*stcc): New pattern.
4021
4022         * config/rx/rx.c (rx_float_compare_mode): Remove.
4023         * config/rx/rx.h (rx_float_compare_mode): Remove.
4024         * config/rx/rx.md (cstoresi4): Split after reload.
4025         (*sccc): New pattern.
4026
4027         * config/rx/predicates.md (label_ref_operand): New.
4028         (rx_z_comparison_operator): New.
4029         (rx_zs_comparison_operator): New.
4030         (rx_fp_comparison_operator): New.
4031         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
4032         Validate that the flags are set properly for the comparison.
4033         (rx_gen_cond_branch_template): Remove.
4034         (rx_cc_modes_compatible): Remove.
4035         (mode_from_flags): New.
4036         (flags_from_code): Rename from flags_needed_for_conditional.
4037         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
4038         (rx_select_cc_mode): Likewise.
4039         (rx_split_fp_compare): New.
4040         (rx_split_cbranch): New.
4041         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
4042         (*cbranchsi4): Use match_operator and rx_split_cbranch.
4043         (*cbranchsf4): Similarly.
4044         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
4045         match_operator and rx_split_cbranch.
4046         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
4047         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
4048         (*cmpsi): Rename from cmpsi.
4049         (*tstsi): Rename from tstsi.
4050         (*cmpsf): Rename from cmpsf; use CC_Fmode.
4051         (*conditional_branch): Rename from conditional_branch.
4052         (*reveresed_conditional_branch): Remove.
4053         (b<code>): Remove expander.
4054         * config/rx/rx-protos.h: Update.
4055
4056         * config/rx/rx.c (rx_compare_redundant): Remove.
4057         * config/rx/rx.md (cmpsi): Don't use it.
4058         * config/rx/rx-protos.h: Update.
4059
4060         * config/rx/rx-modes.def (CC_F): New mode.
4061         * config/rx/rx.c (rx_select_cc_mode): New.
4062         * config/rx/rx.h (SELECT_CC_MODE): Use it.
4063         * config/rx/rx-protos.h: Update.
4064
4065 2011-01-17  Richard Henderson  <rth@redhat.com>
4066
4067         * except.c (dump_eh_tree): Fix stray ; after for statement.
4068
4069 2011-01-17  Richard Guenther  <rguenther@suse.de>
4070
4071         PR tree-optimization/47313
4072         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
4073         handling before copying the body.  Properly deal with
4074         by-reference result in SSA form.
4075
4076 2011-01-17  Ian Lance Taylor  <iant@google.com>
4077
4078         PR target/47219
4079         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
4080         (struct_value_alias_set): Don't define.
4081         (sparc_option_override): Don't set sparc_sr_alias_set and
4082         struct_value_alias_set.
4083         (save_or_restore_regs): Use gen_frame_mem rather than calling
4084         set_mem_alias_set.
4085         (sparc_struct_value_rtx): Likewise.
4086
4087 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
4088
4089         PR target/47318
4090         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
4091         __m128i.
4092         (_mm_maskstore_pd): Likewise.
4093         (_mm_maskload_ps): Likewise.
4094         (_mm_maskstore_ps): Likewise.
4095         (_mm256_maskload_pd): Change mask to __m256i.
4096         (_mm256_maskstore_pd): Likewise.
4097         (_mm256_maskload_ps): Likewise.
4098         (_mm256_maskstore_ps): Likewise.
4099
4100         * config/i386/i386-builtin-types.def: Updated.
4101         (ix86_expand_special_args_builtin): Likewise.
4102
4103         * config/i386/i386.c (bdesc_special_args): Update
4104         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
4105         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
4106         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
4107         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
4108
4109         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
4110         Use <avxpermvecmode> on mask register.
4111         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
4112
4113 2011-01-17  Olivier Hainque  <hainque@adacore.com>
4114             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
4115             Eric Botcazou  <ebotcazou@adacore.com>
4116
4117         PR target/46655
4118         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
4119         if <= USHRT_MAX in 32-bit mode.
4120
4121 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4122
4123         * doc/install.texi (Configuration, Specific): Wrap long
4124         lines in examples.  Allow line wrapping in long options
4125         and URLs where beneficial for PDF output.
4126
4127 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
4128
4129         * config/mips/mips.c (mips_classify_symbol): Don't return
4130         SYMBOL_PC_RELATIVE for nonlocal labels.
4131
4132 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
4133
4134         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
4135
4136 2011-01-15  Jan Hubicka  <jh@suse.cz>
4137
4138         PR tree-optimization/47276
4139         * ipa.c (function_and_variable_visibility): Do not try to mark alias
4140         declarations as needed.
4141
4142 2011-01-15  Martin Jambor  <mjambor@suse.cz>
4143
4144         * common.opt (fdevirtualize): New flag.
4145         * doc/invoke.texi (Option Summary): Document it.
4146         * opts.c (default_options_table): Add devirtualize flag.
4147         * ipa-prop.c (detect_type_change): Return immediately if
4148         devirtualize flag is not set.
4149         (detect_type_change_ssa): Likewise.
4150         (compute_known_type_jump_func): Likewise.
4151         (ipa_analyze_virtual_call_uses): Likewise.
4152
4153 2011-01-14  Martin Jambor  <mjambor@suse.cz>
4154
4155         PR tree-optimization/45934
4156         PR tree-optimization/46302
4157         * ipa-prop.c (type_change_info): New type.
4158         (stmt_may_be_vtbl_ptr_store): New function.
4159         (check_stmt_for_type_change): Likewise.
4160         (detect_type_change): Likewise.
4161         (detect_type_change_ssa): Likewise.
4162         (compute_complex_assign_jump_func): Check for dynamic type change.
4163         (compute_complex_ancestor_jump_func): Likewise.
4164         (compute_known_type_jump_func): Likewise.
4165         (compute_scalar_jump_functions): Likewise.
4166         (ipa_analyze_virtual_call_uses): Likewise.
4167         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
4168
4169 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4170
4171         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
4172         * config/i386/i386.opt (msse5): New Alias.
4173
4174 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4175
4176         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
4177         * config/sparc/linux64.h (CC1_SPEC): Likewise.
4178         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4179         * config/sparc/sparc.h (CC1_SPEC): Likewise.
4180
4181 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4182
4183         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
4184         -mcpu options.
4185         * config/sparc/linux64.h (CC1_SPEC): Likewise.
4186         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4187         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
4188         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
4189         Likewise.
4190         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
4191
4192 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4193
4194         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
4195
4196 2011-01-14  Mike Stump  <mikestump@comcast.net>
4197
4198         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
4199         * config/fr30/fr30.md: Likweise
4200         (movsi_push): Likewise.
4201         (movsi_pop): Likewise.
4202         (enter_func): Likewise.
4203         * config/moxie/moxie.md (movsi_push): Likewise.
4204         (movsi_pop): Likewise.
4205
4206 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4207
4208         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
4209         %{no_archive} %{exact_version}.
4210         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
4211         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
4212         %{no_archive} %{exact_version}.
4213         * config/mips/openbsd.h (LINK_SPEC): Likewise.
4214         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
4215         * config/mips/vxworks.h: Likewise.
4216
4217 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4218
4219         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
4220
4221 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4222
4223         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
4224         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
4225
4226 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4227
4228         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
4229         -nodefaultlib.
4230
4231 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4232
4233         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
4234         for mcpu not cpu.
4235         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
4236         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
4237         not cpu.
4238         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
4239         Don't handle -shlib.
4240
4241 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4242
4243         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
4244         (CC1_SPEC): Don't handle -profile.
4245
4246 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4247
4248         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
4249         * config/mips/mips.h (CC1_SPEC): Likewise.
4250
4251 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4252
4253         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
4254         * config/mips/mips.h (CC1_SPEC): Likewise.
4255
4256 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4257
4258         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
4259         * config/m32r/linux.h (LINK_SPEC): Likewise.
4260         * config/mips/linux.h (LINK_SPEC): Likewise.
4261         * config/mips/linux64.h (LINK_SPEC): Likewise.
4262         * config/sparc/linux.h (LINK_SPEC): Likewise.
4263         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
4264         LINK_SPEC): Likewise.
4265         * config/xtensa/linux.h (LINK_SPEC): Likewise.
4266
4267 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4268
4269         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
4270         %{version:-v}.
4271         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
4272
4273 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4274
4275         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
4276         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
4277
4278 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
4279
4280         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
4281
4282 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4283
4284         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
4285         supports -Bstatic/-Bdynamic.
4286         * configure: Regenerate.
4287
4288 2011-01-14  Jan Hubicka  <jh@suse.cz>
4289             Jack Howarth  <howarth@bromo.med.uc.edu>
4290
4291         PR target/46037
4292         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
4293         when checking debug_info_level. Test write_symbols instead of
4294         debug_hooks->var_location when setting flag_var_tracking_uninit.
4295
4296 2011-01-14  Richard Guenther  <rguenther@suse.de>
4297
4298         PR tree-optimization/47179
4299         * target.def (ref_may_alias_errno): New target hook.
4300         * targhooks.h (default_ref_may_alias_errno): Declare.
4301         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
4302         (default_ref_may_alias_errno): New function.
4303         * target.h (struct ao_ref_s): Declare.
4304         * tree-ssa-alias.c: Include target.h.
4305         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
4306         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
4307         (targhooks.o): Likewise.
4308         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
4309         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
4310
4311 2011-01-14  Richard Guenther  <rguenther@suse.de>
4312
4313         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
4314
4315 2011-01-14  Richard Guenther  <rguenther@suse.de>
4316
4317         PR tree-optimization/47280
4318         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
4319         return CFG changes.
4320         (tree_ssa_forward_propagate_single_use_vars): Deal with
4321         CFG changes from associate_plusminus.
4322
4323 2011-01-14  Richard Guenther  <rguenther@suse.de>
4324
4325         PR middle-end/47281
4326         Revert
4327         2011-01-11  Richard Guenther  <rguenther@suse.de>
4328
4329         PR tree-optimization/46076
4330         * tree-ssa.c (useless_type_conversion_p): Conversions from
4331         unprototyped to empty argument list function types are useless.
4332
4333 2011-01-14  Richard Guenther  <rguenther@suse.de>
4334
4335         PR tree-optimization/47286
4336         * tree-ssa-structalias.c (new_var_info): Register variables are global.
4337
4338 2011-01-14  Martin Jambor  <mjambor@suse.cz>
4339
4340         PR middle-end/46823
4341         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
4342
4343 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
4344
4345         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
4346         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
4347         * config/xtensa/xtensa.c (xtensa_libcall_value,
4348         xtensa_function_value_regno_p): New functions.
4349         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
4350
4351 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
4352
4353         PR c++/47213
4354         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
4355         PE specific hook.
4356         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
4357         New function prototype.
4358         * config/i386/winnt.c (i386_pe_assemble_visibility):
4359         Warn only if attribute was specified by user.
4360
4361 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
4362
4363         PR target/47251
4364         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
4365         floating point.
4366         (floatunsdidf2_fcfidu): Ditto.
4367
4368 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4369
4370         * config/s390/s390.c (print_operand_address): Replace 'error' with
4371         'output_operand_lossage'.
4372         (print_operand): Likewise.
4373
4374 2011-01-13  Jeff Law  <law@redhat.com>
4375
4376         PR rtl-optimization/39077
4377         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
4378         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
4379         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
4380         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
4381         * gcse.c (prune_insertions_deletions): New function.
4382         (compute_pre_data): Use it.
4383
4384 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
4385
4386         PR debug/PR46973
4387         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
4388         static function.
4389         (prune_unused_types_mark): Use it.
4390
4391 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
4392
4393         PR rtl-optimization/45352
4394         * sel-sched.c: Update copyright years.
4395         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
4396         in the advancing loop when we have issued issue_rate insns.
4397
4398 2011-01-12  Richard Henderson  <rth@redhat.com>
4399
4400         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
4401         (TARGET_MD_ASM_CLOBBERS): New.
4402
4403         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
4404         (TARGET_DELEGITIMIZE_ADDRESS): New.
4405
4406         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
4407         (clzsi2, *bsch): New patterns.
4408
4409         * config/mn10300/mn10300.md (INT): New mode iterator.
4410         (*mov<INT>_clr): New pattern, and peep2 to generate it.
4411
4412         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
4413         flag_split_wide_types.
4414
4415         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
4416         (mn10300_trampoline_init): Rewrite without a template, an immediate
4417         load and a direct branch.
4418         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
4419
4420 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
4421
4422         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
4423         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
4424         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
4425         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
4426
4427 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
4428
4429         PR debug/47209
4430         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
4431         of type.
4432
4433 2011-01-12  Jan Hubicka  <jh@suse.cz>
4434
4435         PR driver/47244
4436         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
4437         (PLUGIN_COND_CLOSE): New macro.
4438         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
4439
4440 2011-01-12  Richard Guenther  <rguenther@suse.de>
4441
4442         PR lto/47259
4443         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
4444         register variables in a MEM_REF.
4445
4446 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
4447
4448         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
4449         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
4450         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
4451         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
4452         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
4453         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
4454         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
4455         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
4456         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
4457         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
4458         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
4459         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
4460         * config/gnu-user.h: New.  Copied from linux.h.
4461         (LINUX_TARGET_STARTFILE_SPEC): Rename to
4462         GNU_USER_TARGET_STARTFILE_SPEC.
4463         (LINUX_TARGET_ENDFILE_SPEC): Rename to
4464         GNU_USER_TARGET_ENDFILE_SPEC.
4465         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
4466         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
4467         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
4468         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
4469         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
4470         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
4471         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
4472         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
4473         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
4474         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
4475         * config/arm/linux-eabi.h (CC1_SPEC): Use
4476         GNU_USER_TARGET_CC1_SPEC.
4477         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
4478         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
4479         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
4480         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
4481         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
4482         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
4483         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
4484         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
4485
4486 2011-01-12  Richard Guenther  <rguenther@suse.de>
4487
4488         PR other/46946
4489         * doc/invoke.texi (ffast-math): Document it is turned on
4490         with -Ofast.
4491
4492 2011-01-12  Jan Hubicka  <jh@suse.cz>
4493
4494         PR tree-optimization/47233
4495         * opts.c (common_handle_option): Disable ipa-reference with profile
4496         feedback.
4497
4498 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
4499
4500         * c-parser.c (c_parser_objc_at_property_declaration): Improved
4501         error message.
4502
4503 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
4504
4505         * c-parser.c (c_lex_one_token): Updated and reindented some
4506         comments.  No changes in code.
4507
4508 2011-01-11  Ian Lance Taylor  <iant@google.com>
4509
4510         * godump.c (go_output_var): Don't output the variable if there is
4511         already a type with the same name.
4512
4513 2011-01-11  Ian Lance Taylor  <iant@google.com>
4514
4515         * godump.c (go_format_type): Don't generate float80.
4516
4517 2011-01-11  Richard Henderson  <rth@redhat.com>
4518
4519         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
4520         declaration.  Rewrite for both speed and size.
4521         (mn10300_address_cost_1): Remove.
4522         (mn10300_register_move_cost): New.
4523         (mn10300_memory_move_cost): New.
4524         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
4525         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
4526         extensions, shifts, BSWAP, CLZ.
4527         (mn10300_wide_const_load_uses_clr): Remove.
4528         (TARGET_REGISTER_MOVE_COST): New.
4529         (TARGET_MEMORY_MOVE_COST): New.
4530         * config/mn10300/mn10300-protos.h: Update.
4531         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
4532
4533         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
4534         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
4535         * config/mn10300/mn10300-protos.h: Update.
4536         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
4537         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
4538         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
4539         (*test_int_bitfield, *test_byte_bitfield): Remove.
4540         (*bit_test, *subreg_bit_test): Remove.
4541         * config/mn10300/predicates.md (const_8bit_operand): Remove.
4542
4543         * config/mn10300/constraints.md ("c"): Rename from "A".
4544         ("A", "D"): New constraint letters.
4545         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
4546         (fmssf4, fnmasf4, fnmssf4): Likewise.
4547
4548         * config/mn10300/mn10300.md (isa): New attribute.
4549         (enabled): New attribute.
4550
4551         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
4552         (abssf2, negsf2): Define only for hardware fp.
4553         (sqrtsf2): Reformat.
4554         (addsf3, subsf3, mulsf3): Merge expander and insn.
4555
4556         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
4557         (DEBUGGER_AUTO_OFFSET): Remove.
4558         (DEBUGGER_ARG_OFFSET): Remove.
4559
4560         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
4561         Emit register stores with the same offsets as the hardware.
4562         (mn10300_store_multiple_operation): Don't check that the register
4563         save offsets are monotonic.
4564         * config/mn10300/mn10300-protos.h: Update.
4565
4566         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
4567
4568         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
4569         in terms of the value on the stack, not the MDR register.
4570
4571 2011-01-11  Jan Hubicka  <jh@suse.cz>
4572
4573         PR lto/45721
4574         PR lto/45375
4575         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
4576         (symbol_alias_set_destroy, symbol_alias_set_contains,
4577         propagate_aliases_backward): Declare.
4578         * lto-streamer-out.c (struct sets): New sturcture.
4579         (trivally_defined_alias): New function.
4580         (output_alias_pair_p): Rewrite.
4581         (output_unreferenced_globals): Fix output of alias pairs.
4582         (produce_symtab): Likewise.
4583         * ipa.c (function_and_variable_visibility): Set weak alias destination
4584         as needed in lto.
4585         * varasm.c (symbol_alias_set_t): Remove.
4586         (symbol_alias_set_destroy): Export.
4587         (propagate_aliases_forward, propagate_aliases_backward): New functions
4588         based on ...
4589         (compute_visible_aliases): ... this one; remove.
4590         (trivially_visible_alias): New
4591         (trivially_defined_alias): New.
4592         (remove_unreachable_alias_pairs): Rewrite.
4593         (finish_aliases_1): Reorganize code checking if alias is defined.
4594         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
4595         in LTO mode.
4596
4597 2011-01-11  Richard Guenther  <rguenther@suse.de>
4598
4599         PR tree-optimization/46076
4600         * tree-ssa.c (useless_type_conversion_p): Conversions from
4601         unprototyped to empty argument list function types are useless.
4602
4603 2011-01-11  Richard Guenther  <rguenther@suse.de>
4604
4605         PR middle-end/45235
4606         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
4607         volatile MEMs as MEM_READONLY_P.
4608
4609 2011-01-11  Richard Guenther  <rguenther@suse.de>
4610
4611         PR tree-optimization/47239
4612         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
4613
4614 2011-01-11  Jeff Law  <law@redhat.com>
4615
4616         PR tree-optimization/47086
4617         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
4618         IVs from statements that might throw.
4619
4620 2011-01-10  Jan Hubicka  <jh@suse.cz>
4621
4622         PR lto/45375
4623         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
4624
4625 2011-01-10  Jan Hubicka  <jh@suse.cz>
4626
4627         PR lto/45375
4628         * profile.c (read_profile_edge_counts): Ignore profile inconistency
4629         when correcting profile.
4630
4631 2011-01-10  Jan Hubicka  <jh@suse.cz>
4632
4633         PR lto/46083
4634         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
4635         DECL_FINI_PRIORITY.
4636         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
4637         Restore DECL_FINI_PRIORITY.
4638
4639 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4640
4641         * doc/gimple.texi: Fix quoting of multi-word return values in
4642         @deftypefn statements.  Ensure presence of return value.  Wrap
4643         overlong @deftypefn lines.
4644         (is_gimple_operand, is_gimple_min_invariant_address): Remove
4645         descriptions of removed functions.
4646         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
4647         of multi-word return value in @deftypefn statement.
4648
4649 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4650
4651         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
4652         (Conditional Expressions, Logical Operators)
4653         (Statement and operand traversals): Do not indent smallexample
4654         code.  Fix duplicate function argument in example.
4655
4656 2011-01-10  Jeff Law  <law@redhat.com>
4657
4658         PR tree-optimization/47141
4659         * ipa-split.c (split_function): Handle case where we are
4660         returning a value and the return block has a virtual operand phi.
4661
4662 2011-01-10  Jan Hubicka  <jh@suse.cz>
4663
4664         PR tree-optimization/47234
4665         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
4666         (pass_feedback_split_functions): Declare.
4667         * passes.c (init_optimization_passes): Add ipa-split as subpass of
4668         tree-profile.
4669         * ipa-split.c (gate_split_functions): Update comments; disable
4670         split-functions for profile_arc_flag and branch_probabilities.
4671         (gate_feedback_split_functions): New function.
4672         (execute_feedback_split_functions): New function.
4673         (pass_feedback_split_functions): New global var.
4674
4675 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
4676
4677         PR lto/46760
4678         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
4679         calling gimple_call_set_cannot_inline.
4680
4681 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
4682
4683         * config/darwin-sections.def: Remove unused section.
4684
4685 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
4686
4687         PR c++/47218
4688         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
4689
4690 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
4691
4692         PR objc/47232
4693         * c-parser.c (c_parser_declaration_or_fndef): Improved
4694         error message.
4695
4696 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
4697
4698         * config/i386/winnt.c (i386_pe_start_function): Make sure
4699         to switch back to function's section.
4700
4701 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
4702
4703         PR gcc/46902
4704         PR testsuite/46912
4705         * plugin.c: Move include of dlfcn.h from here...
4706         * system.h: ... to here.
4707
4708 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4709
4710         * doc/cpp.texi (C++ Named Operators): Fix markup for header
4711         file name.
4712         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
4713         two extra empty pages in PDF output.
4714
4715 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
4716
4717         PR objc/47078
4718         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
4719         for error recovery purposes behave as if it was not specified so
4720         that the default type is usd.
4721
4722 2011-01-07  Jan Hubicka  <jh@suse.cz>
4723
4724         PR tree-optmization/46469
4725         * ipa.c (function_and_variable_visibility): Clear needed flags on
4726         nodes with external decls; handle weakrefs merging correctly.
4727
4728 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
4729
4730         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
4731         not false.
4732
4733 2011-01-07  Jan Hubicka  <jh@suse.cz>
4734
4735         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
4736         and no longer claim that gold is required for linker plugin.
4737         * configure: Regenerate.
4738         * gcc.c (PLUGIN_COND): New macro.
4739         (LINK_COMMAND_SPEC): Use it.
4740         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
4741         * config.in (HAVE_LTO_PLUGIN): New.
4742         * configure.ac (--with-lto-plugin): New parameter; autodetect
4743         HAVE_LTO_PLUGIN.
4744
4745 2011-01-07  Jan Hubicka  <jh@suse.cz>
4746
4747         PR tree-optimization/46367
4748         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
4749         when we can update original.
4750         (cgraph_mark_inline_edge): Sanity check.
4751         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
4752
4753 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4754
4755         * config/spu/spu.h (ASM_COMMENT_START): Define.
4756
4757 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
4758
4759         PR driver/42445
4760         * gcc.c (%>S): New.
4761         (SWITCH_KEEP_FOR_GCC): Likewise.
4762         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
4763         (do_spec_1): Handle "%>".
4764
4765         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
4766
4767 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
4768
4769         PR target/47201
4770         * config/i386/i386.c (ix86_delegitimize_address): If
4771         simplify_gen_subreg fails, return orig_x.
4772
4773         PR bootstrap/47187
4774         * value-prof.c (gimple_stringop_fixed_value): Handle
4775         lhs of the call properly.
4776
4777 2011-01-07  Jan Hubicka  <jh@suse.cz>
4778
4779         PR lto/45375
4780         * lto-opt.c (lto_reissue_options): Set flag_shlib.
4781
4782 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
4783
4784         * target.def (function_switched_text_sections): New hook.
4785         * doc/tm.texi: Regenerated.
4786         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
4787         * final.c (default_function_switched_text_sections): New.
4788         (final_scan_insn): Call function_switched_text_sections when a
4789         mid-function section change occurs.
4790         * output.h (default_function_switched_text_sections): Declare.
4791         * config/darwin-protos.h (darwin_function_switched_text_sections):
4792         Likewise.
4793         * config/darwin.c (darwin_function_switched_text_sections): New.
4794         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
4795
4796 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
4797
4798         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
4799         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
4800         the secondary code fragment when outputting for DWARF == 2.
4801
4802 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
4803
4804         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
4805         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
4806         Remove.
4807         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
4808         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
4809
4810 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
4811
4812         PR debug/46704
4813         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
4814         when it is not empty.
4815
4816 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
4817
4818         Bobcat Enablement
4819         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
4820         (case ${target}): Add btver1.
4821         * config/i386/driver-i386.c (host_detect_local_cpu): Let
4822         -march=native recognize btver1 processors.
4823         * config/i386/i386-c.c (ix86_target_macros_internal): Add
4824         btver1 def_and_undef
4825         * config/i386/i386.c (struct processor_costs btver1_cost): New
4826         btver1 cost table.
4827         (m_BTVER1): New definition.
4828         (m_AMD_MULTIPLE): Includes m_BTVER1.
4829         (initial_ix86_tune_features): Add btver1 tune.
4830         (processor_target_table): Add btver1 entry.
4831         (static const char *const cpu_names): Add btver1 entry.
4832         (software_prefetching_beneficial_p): Add btver1.
4833         (ix86_option_override_internal): Add btver1 instruction sets.
4834         (ix86_issue_rate): Add btver1.
4835         (ix86_adjust_cost): Add btver1.
4836         * config/i386/i386.h (TARGET_BTVER1): New definition.
4837         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
4838         (enum processor_type): Add PROCESSOR_BTVER1.
4839         * config/i386/i386.md (define_attr "cpu"): Add btver1.
4840
4841 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4842
4843         PR target/43309
4844         * config/i386/i386.c (legitimize_tls_address)
4845         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
4846         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
4847         (tls_initial_exec_64_sun): New pattern.
4848
4849 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
4850
4851         * doc/invoke.texi (Overall Options): Improve wording and markup
4852         of the description of -wrapper.
4853
4854 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
4855
4856         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
4857         rdynamic, threads): New Driver options.
4858
4859 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4860
4861         PR target/38118
4862         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
4863         if coming from .tdata.
4864         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4865
4866 2011-01-06  Jan Hubicka  <jh@suse.cz>
4867
4868         PR lto/47188
4869         * collect2.c (main): Do not enable LTOmode when plugin is active.
4870
4871 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4872
4873         PR other/45915
4874         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
4875         --version output if supported.
4876         * configure: Regenerate.
4877
4878 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
4879
4880         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
4881         Driver options.
4882
4883 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
4884
4885         PR c/47150
4886         * c-convert.c (convert): When converting a complex expression
4887         other than COMPLEX_EXPR to a different complex type, ensure
4888         c_save_expr is called instead of save_expr, unless in_late_binary_op.
4889         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
4890         when converting COMPLEX_TYPE.
4891
4892 2011-01-06  Ira Rosen  <irar@il.ibm.com>
4893
4894         PR tree-optimization/47139
4895         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
4896         only the last reduction value is used outside the loop.  Update
4897         documentation.
4898
4899 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
4900
4901         * config/rtems.opt: New.
4902         * config.gcc (*-*-rtems*): Use rtems.opt.
4903
4904 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
4905
4906         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
4907         processors do not support 3DNow instructions.
4908
4909 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4910
4911         * config/spu/spu.c (spu_option_override): Set parameter
4912         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
4913
4914 2011-01-05  Jan Hubicka  <jh@suse.cz>
4915
4916         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
4917         at the command line.
4918
4919 2011-01-05  Martin Jambor  <mjambor@suse.cz>
4920
4921         PR lto/47162
4922         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
4923         deltas on streamed outgoing edges.
4924         (output_node_opt_summary): Output info for outgoing edges only when
4925         the node is in new parameter set.
4926         (output_cgraph_opt_summary): New parameter set, passed to the two
4927         aforementioned functions.  Update its forward declaration and its
4928         callee too.
4929
4930 2011-01-05  Tom Tromey  <tromey@redhat.com>
4931
4932         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
4933         operator to c_finish_omp_atomic.
4934         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
4935         (build_unary_op): Update.
4936         (build_modify_expr): Update.
4937         (build_asm_expr): Update.
4938
4939 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4940
4941         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
4942         newly inserted insns.
4943         (pad_bb): Likewise.
4944         (spu_emit_branch_hint): Likewise.
4945         (insert_hbrp_for_ilb_runout): Likewise.
4946         (spu_machine_dependent_reorg): Call df_finish_pass after
4947         schedule_insns returns.
4948
4949 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4950
4951         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
4952
4953 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
4954
4955         PR tree-optimization/47005
4956         * tree-sra.c (struct access): Add 'non_addressable' bit.
4957         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
4958         (decide_one_param_reduction): Return 0 if the parameter is passed by
4959         reference and one of the accesses in the group is non_addressable.
4960
4961 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
4962
4963         PR tree-optimization/47056
4964         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
4965         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
4966         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
4967
4968 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
4969
4970         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
4971         initializer.  Skip view conversions from aggregate types.
4972
4973 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
4974
4975         PR bootstrap/47055
4976         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
4977
4978 2011-01-04  Philipp Thomas  <pth@suse.de>
4979
4980         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
4981         obvious typo.
4982
4983 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4984
4985         * function.c (thread_prologue_and_epilogue_insns): Do not crash
4986         on empty epilogue sequences.
4987
4988 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
4989
4990         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
4991         non-static): New Driver options.
4992
4993 2011-01-04  Jie Zhang  <jie@codesourcery.com>
4994
4995         PR driver/47137
4996         * gcc.c (default_compilers[]): Set combinable field to 0
4997         for all assembly languages.
4998
4999 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
5000
5001         * config/mips/loongson3a.md: New file.
5002         * config/mips/mips.md: Include loongson3a.md.
5003         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
5004         TUNE_LOONGSON_3A.
5005
5006 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
5007
5008         PR middle-end/47017
5009         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
5010         instead of convert_memory_address_addr_space on the base expression.
5011
5012 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5013
5014         * config/spu/spu.c (spu_option_override): Update error text
5015         for bad -march= / -mtune= values.
5016
5017 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5018
5019         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
5020         if branch-hint optimization will be performed.
5021
5022 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
5023
5024         PR tree-optimization/47148
5025         * ipa-split.c (split_function): Convert arguments to
5026         DECL_ARG_TYPE if possible.
5027
5028         PR tree-optimization/47155
5029         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
5030         when computing uns.
5031
5032         PR rtl-optimization/47157
5033         * combine.c (try_combine): If undobuf.other_insn becomes
5034         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
5035         and set *new_direct_jump_p too.
5036
5037 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
5038
5039         PR tree-optimization/47021
5040         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
5041
5042 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
5043
5044         * gcc.c (process_command): Update copyright notice dates.
5045         * gcov.c (print_version): Likewise.
5046         * gcov-dump.c (print_version): Likewise.
5047         * mips-tfile.c (main): Likewise.
5048         * mips-tdump.c (main): Likewise.
5049
5050 2011-01-03  Martin Jambor  <mjambor@suse.cz>
5051
5052         PR tree-optimization/46801
5053         * tree-sra.c (type_internals_preclude_sra_p): Check whether
5054         aggregate fields start at byte boundary instead of the bit-field flag.
5055
5056 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
5057
5058         PR driver/47137
5059         * gcc.c (main): Revert revision 168407.
5060
5061 2011-01-03  Martin Jambor  <mjambor@suse.cz>
5062
5063         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
5064
5065 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5066
5067         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
5068         vector optab to expand vector/scalar shift, update gimple to vector.
5069
5070 2011-01-03  Martin Jambor  <mjambor@suse.cz>
5071
5072         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
5073         a thunk.
5074
5075 2011-01-03  Martin Jambor  <mjambor@suse.cz>
5076
5077         PR tree-optimization/46984
5078         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
5079         HOST_WIDE_INT.
5080         (cgraph_create_indirect_edge): Fixed line length.
5081         (cgraph_indirect_call_info): Declare.
5082         (cgraph_make_edge_direct) Update declaration.
5083         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
5084         (cgraph_create_indirect_edge): Use it.
5085         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
5086         callees.
5087         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
5088         the new thunk_delta representation.
5089         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
5090         HOST_WIDE_INT.
5091         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
5092         (ipa_read_indirect_edge_info): Likewise.
5093         * lto-cgraph.c (output_edge_opt_summary): New function.
5094         (output_node_opt_summary): Call it on all outgoing edges.
5095         (input_edge_opt_summary): New function.
5096         (input_node_opt_summary): Call it on all outgoing edges.
5097
5098 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
5099
5100         PR driver/47137
5101         * gcc.c (main): Don't check have_o when settting combine_inputs.
5102
5103 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
5104
5105         * regrename.c: Add general comment describing the pass.
5106         (struct du_head): Remove 'length' field.
5107         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
5108         (regrename_optimize): Do not sort chains.  Rework comments, add others.
5109         Force renaming to the preferred class (if any) in the first pass and do
5110         not consider registers that belong to it in the second pass.
5111         (create_new_chain): Do not set 'length' field.
5112         (scan_rtx_reg): Likewise.
5113
5114 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
5115
5116         PR tree-optimization/47140
5117         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
5118         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
5119         to bit_value_binop.
5120
5121         PR rtl-optimization/47028
5122         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
5123         parm_birth_insn instead of at the beginning of first bb.
5124
5125 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
5126
5127         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
5128         Remove the word "see" before "@pxref".
5129         * doc/rtl.texi: Remove the word "see" before "@pxref".
5130
5131 2011-01-01  Jan Hubicka  <jh@suse.cz>
5132
5133         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
5134         memory.
5135
5136 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
5137
5138         PR target/38662
5139         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
5140
5141 \f
5142 Copyright (C) 2011 Free Software Foundation, Inc.
5143
5144 Copying and distribution of this file, with or without modification,
5145 are permitted in any medium without royalty provided the copyright
5146 notice and this notice are preserved.