OSDN Git Service

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