OSDN Git Service

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