OSDN Git Service

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