OSDN Git Service

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