OSDN Git Service

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