OSDN Git Service

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