OSDN Git Service

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