OSDN Git Service

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