OSDN Git Service

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