OSDN Git Service

Oops, almost forgot to check-in ChangeLog.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
2
3         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
4         -floop-interchange.
5         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
6         is an alias of -floop-interchange and that it requires the
7         Graphite infrastructure.
8         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
9         flag_loop_interchange based on the value of flag_tree_loop_linear.
10
11 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
12             Richard Guenther  <rguenther@suse.de>
13
14         PR tree-optimization/47538
15         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
16         type instead of r1type, except for comparisons.  For right
17         shifts and comparisons punt if there are mismatches in
18         sizetype vs. non-sizetype types.
19
20 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
21
22         * doc/sourcebuild.texi (Effective-Target Keywords): Document
23         avx_runtime.
24
25 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
26
27         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
28         version number.
29         * configure: Regenerate.
30
31 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
32
33         * configure.ac (gcc_cv_ld_static_option): Define.
34         (gcc_cv_ld_dynamic_option): Define.
35         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
36         instead.
37         (HAVE_LD_STATIC_DYNAMIC): Update message.
38         (LD_STATIC_OPTION): Define.
39         (LD_DYNAMIC_OPTION): Define.
40         * configure: Regenerate.
41         * config.in: Regenerate.
42         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
43         HAVE_LD_STATIC_DYNAMIC]: Use them.
44
45 2011-01-31  Nick Clifton  <nickc@redhat.com>
46
47         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
48         registers inside interrupt handlers if the handler is not a leaf
49         function.
50
51 2011-01-31  Nick Clifton  <nickc@redhat.com>
52
53         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
54         reg_renumber returning an INVALID_REGNUM.
55
56 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
57
58         PR libgcj/44341
59         * doc/install.texi: Document host options discarded when cross
60         configuring target libraries.
61
62 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
63
64         Reverted:
65         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
66         PR debug/45136
67         PR debug/45130
68         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
69         debug insns.
70         (no_real_insns_p, schedule_block, set_priorities): Drop special
71         treatment of boundary debug insns.
72         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
73         insns.
74         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
75         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
76         (BOUNDARY_DEBUG_INSN_P): Likewise.
77         (SCHEDULE_DEBUG_INSN_P): Likewise.
78         * sched-rgn.c (init_ready_list): Drop special treatment of
79         boundary debug insns.
80         * final.c (rest_of_clean-state): Clear notes' BB.
81
82 2011-01-31  Alan Modra  <amodra@gmail.com>
83
84         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
85         toc relative expressions as we do in print_operand_address.
86
87 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
88
89         * doc/extend.texi: Follow spelling conventions.
90         * doc/invoke.texi: Fix a typo.
91
92 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
93
94         * config/hpux11.opt: New.
95         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
96         ia64*-*-hpux*): Use hpux11.opt.
97
98 2011-01-30  Jonathan Yong <jon_y@users.sourceforge.net>
99
100         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
101         to tmake_file.
102
103 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
104
105         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
106         support sites.
107
108 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
109
110         * doc/install.texi (Binaries): Remove outdated reference for
111         Motorola 68HC11/68HC12 downloads.
112
113 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
114
115         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
116         Drepper's paper.
117
118 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
119
120         PR bootstrap/47147
121         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
122         used by NetBSD.
123
124 2011-01-28  Ahmad Sharif <asharif@google.com>
125
126         * value-prof.c (check_counter): Corrected error message.
127
128 2011-01-29  Jie Zhang  <jie@codesourcery.com>
129
130         * config/arm/arm.c (arm_legitimize_reload_address): New.
131         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
132         arm_legitimize_reload_address.
133         * config/arm/arm-protos.h (arm_legitimize_reload_address):
134         Declare.
135
136 2011-01-28  Ian Lance Taylor  <iant@google.com>
137
138         * godump.c (go_define): Ignore macros whose definitions include
139         two adjacent operands.
140
141 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
142
143         PR target/42894
144         * varasm.c (force_const_mem): Store copy of x in desc->constant
145         instead of x itself.
146         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
147         itself into REG_EQUAL note.
148
149 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
150
151         * config/freebsd.opt (posix, rdynamic): New Driver options.
152
153 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
154
155         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
156         -Bstatic/-Bdynamic.
157         * configure: Regenerate.
158
159 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
160
161         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
162         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
163
164 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
165
166         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
167         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
168         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
169         (s390_preferred_reload_class): Make static. Change return and
170         'rclass' argument type to reg_class_t.
171
172 2011-01-27  Jan Hubicka  <jh@suse.cz>
173
174         PR middle-end/46949
175         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
176         (process_function_and_variable_attributes): Check defined weakrefs.
177
178 2011-01-27  Martin Jambor  <mjambor@suse.cz>
179
180         PR tree-optimization/47228
181         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
182         build_ref_for_offset.
183
184 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
185
186         * config/spu/spu-elf.h (ASM_SPEC): Remove.
187
188 2011-01-26  Mikael Pettersson <mikpe@it.uu.se>
189
190         PR rtl-optimization/46856
191         * postreload.c (reload_combine_recognize_const_pattern): Do not
192         separate cc0 setter and user on cc0 targets.
193
194 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
195
196         PR c/43082
197         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
198         passed a VOID_TYPE expression, immediately emit an error and
199         return error_mark_node.
200
201 2011-01-26  Jeff Law  <law@redhat.com>
202
203         PR rtl-optimization/47464
204         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
205         rather than may_trap_p as needed.
206
207 2011-01-26  DJ Delorie  <dj@redhat.com>
208
209         PR rtl-optimization/46878
210         * combine.c (insn_a_feeds_b): Check for the implicit cc0
211         setter/user dependency as well.
212
213 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
214
215         PR rtl-optimization/44469
216         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
217         after removing trivially dead basic blocks.
218
219 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
220
221         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
222         * config/frv/frv.h (LINK_SPEC): Likewise.
223         * config/i386/netware.h (LINK_SPEC): Likewise.
224         * config/m68k/linux.h (ASM_SPEC): Likewise.
225         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
226         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
227         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
228         * config/sparc/linux.h (ASM_SPEC): Likewise.
229         * config/sparc/linux64.h (ASM_SPEC): Likewise.
230         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
231
232 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
233
234         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
235         * config/frv/frv.h (ASM_SPEC): Likewise.
236         * config/m68k/linux.h (ASM_SPEC): Likewise.
237         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
238         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
239         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
240         * config/sparc/linux.h (ASM_SPEC): Likewise.
241         * config/sparc/linux64.h (ASM_SPEC): Likewise.
242         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
243
244 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
245
246         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
247         * config/frv/frv.h (LINK_SPEC): Likewise.
248         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
249
250 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
251
252         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
253         * config/frv/frv.h (ASM_SPEC): Likewise.
254         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
255         * config/m68k/linux.h (ASM_SPEC): Likewise.
256         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
257         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
258         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
259         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
260         * config/sparc/linux.h (ASM_SPEC): Likewise.
261         * config/sparc/linux64.h (ASM_SPEC): Likewise.
262         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
263         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
264
265 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
266
267         PR target/46997
268         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
269         (*mux2): Ditto.
270         (vec_extract_evenodd_help): Ditto.
271         (vec_extract_evenv4hi): Ditto.
272         (vec_extract_oddv4hi): Ditto.
273         (vec_interleave_lowv2si): Ditto.
274         (vec_interleave_highv2si): Ditto.
275         (vec_extract_evenv2si): Ditto.
276         (vec_extract_oddv2si: Ditto.
277         (vec_pack_trunc_v2si): Ditto.
278
279 2011-01-22  Jan Hubicka  <jh@suse.cz>
280
281         PR target/47237
282         * cgraph.h (cgraph_local_info): New field can_change_signature.
283         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
284         signature can change.
285         (ipcp_estimate_growth): Call sequence simplify only if calle signature
286         can change.
287         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
288         (cgraph_function_versioning): We can not change signature of functions
289         that don't allow that.
290         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
291         (lto_input_node): Likewise.
292         * ipa-inline.c (compute_inline_parameters): Compute local.can_change_signature.
293         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
294         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on functions
295         that can not change signature.
296         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
297         init_cumulative_args): Do not use local calling conventions for functions
298         that can not change signature.
299
300 2011-01-22  Jan Hubicka  <jh@suse.cz>
301
302         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
303
304 2011-01-26  Richard Guenther  <rguenther@suse.de>
305
306         PR tree-optimization/47190
307         * cgraphunit.c (process_common_attributes): New function.
308         (process_function_and_variable_attributes): Use it.
309
310 2011-01-26  Richard Guenther  <rguenther@suse.de>
311
312         PR lto/47423
313         * cgraphbuild.c (record_eh_tables): Record reference to personality
314         function.
315
316 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
317
318         PR debug/45454
319         * sel-sched.c (moveup_expr): Don't let debug insns prevent
320         non-debug insns from moving up.
321
322 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
323
324         PR target/40125
325         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
326         t-dlldir{,-x} fragment for build and add it to tmake_file.
327         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
328         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
329         * config/i386/t-dlldir: New file.
330         (SHLIB_DLLDIR): Define.
331         * config/i386/t-dlldir-x: New file.
332         (SHLIB_DLLDIR): Define.
333         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
334         (SHLIB_INSTALL): Use it.
335
336 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
337
338         PR target/47246
339         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
340         lower bound of the allowed Thumb-2 coprocessor load/store
341         index range to -256. Add explaining comment.
342
343 2011-01-25  Ian Lance Taylor  <iant@google.com>
344
345         * godump.c (go_define): Improve lexing of macro expansion to only
346         accept expressions which match Go spec.
347
348 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
349
350         PR c++/43601
351         * tree.c (handle_dll_attribute): Handle it.
352         * doc/extend.texi (@item dllexport): Mention it.
353         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
354
355 2011-01-25  Ian Lance Taylor  <iant@google.com>
356
357         PR tree-optimization/26854
358         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
359         (decl_jump_unsafe): Move higher in file, with no other change.
360         (bind): Set has_jump_unsafe_decl if appropriate.
361         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
362         (check_earlier_gotos): Likewise.
363         (c_check_switch_jump_warnings): Likewise.
364
365 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
366
367         * doc/invoke.texi (Warning Options): Add missing hyphen.
368         (-fprofile-dir): Minor grammatical fixes.
369         (-fbranch-probabilities): Likewise.
370
371 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
372
373         PR debug/45136
374         PR debug/45130
375         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
376         debug insns.
377         (no_real_insns_p, schedule_block, set_priorities): Drop special
378         treatment of boundary debug insns.
379         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
380         insns.
381         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
382         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
383         (BOUNDARY_DEBUG_INSN_P): Likewise.
384         (SCHEDULE_DEBUG_INSN_P): Likewise.
385         * sched-rgn.c (init_ready_list): Drop special treatment of
386         boundary debug insns.
387         * final.c (rest_of_clean-state): Clear notes' BB.
388
389 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
390
391         * Makefile.in (LAMBDA_H): Removed.
392         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
393         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
394         lambda-trans.o, and tree-loop-linear.o.
395         (lto-symtab.o): Remove dependence on LAMBDA_H.
396         (tree-loop-linear.o): Remove rule.
397         (lambda-mat.o): Same.
398         (lambda-trans.o): Same.
399         (lambda-code.o): Same.
400         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
401         (tree-vect-slp.o): Same.
402         * hwint.h (gcd): Moved here.
403         (least_common_multiple): Same.
404         * lambda-code.c: Removed.
405         * lambda-mat.c: Removed.
406         * lambda-trans.c: Removed.
407         * lambda.h: Removed.
408         * tree-loop-linear.c: Removed.
409         * lto-symtab.c: Do not include lambda.h.
410         * omega.c (gcd): Removed.
411         * passes.c (init_optimization_passes): Remove pass_linear_transform.
412         * tree-data-ref.c (print_lambda_vector): Moved here.
413         (lambda_vector_copy): Same.
414         (lambda_matrix_copy): Same.
415         (lambda_matrix_id): Same.
416         (lambda_vector_first_nz): Same.
417         (lambda_matrix_row_add): Same.
418         (lambda_matrix_row_exchange): Same.
419         (lambda_vector_mult_const): Same.
420         (lambda_vector_negate): Same.
421         (lambda_matrix_row_negate): Same.
422         (lambda_vector_equal): Same.
423         (lambda_matrix_right_hermite): Same.
424         * tree-data-ref.h: Do not include lambda.h.
425         (lambda_vector): Moved here.
426         (lambda_matrix): Same.
427         (dependence_level): Same.
428         (lambda_transform_legal_p): Removed declaration.
429         (lambda_collect_parameters): Same.
430         (lambda_compute_access_matrices): Same.
431         (lambda_vector_gcd): Same.
432         (lambda_vector_new): Same.
433         (lambda_vector_clear): Same.
434         (lambda_vector_lexico_pos): Same.
435         (lambda_vector_zerop): Same.
436         (lambda_matrix_new): Same.
437         * tree-flow.h (least_common_multiple): Removed declaration.
438         * tree-parloops.c (lambda_trans_matrix): Moved here.
439         (LTM_MATRIX): Same.
440         (LTM_ROWSIZE): Same.
441         (LTM_COLSIZE): Same.
442         (LTM_DENOMINATOR): Same.
443         (lambda_trans_matrix_new): Same.
444         (lambda_matrix_vector_mult): Same.
445         (lambda_transform_legal_p): Same.
446         * tree-pass.h (pass_linear_transform): Removed declaration.
447         * tree-ssa-loop.c (tree_linear_transform): Removed.
448         (gate_tree_linear_transform): Removed.
449         (pass_linear_transform): Removed.
450         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
451         flag_loop_interchange.
452
453 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
454
455         PR tree-optimization/47265
456         PR tree-optimization/47443
457         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
458         if name still has some uses.
459
460 2011-01-25  Martin Jambor  <mjambor@suse.cz>
461
462         PR tree-optimization/47382
463         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
464         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
465
466 2011-01-25  Joel Sherrill <joel.sherrill@oarcorp.com>
467
468         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
469         sjlj_except_unwind_info.
470
471 2011-01-25  Richard Guenther  <rguenther@suse.de>
472
473         PR tree-optimization/47426
474         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
475         visible functions results escape.
476
477 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
478
479         PR target/45701
480         * config/arm/arm.c (any_sibcall_uses_r3): New function.
481         (arm_get_frame_offsets): Use it.
482
483 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
484             Jakub Jelinek  <jakub@redhat.com>
485
486         PR tree-optimization/47271
487         * tree-if-conv.c (bb_postdominates_preds): New.
488         (if_convertible_bb_p): Call bb_postdominates_preds.
489         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
490         (predicate_scalar_phi): Call bb_postdominates_preds.
491
492 2011-01-25  Nick Clifton  <nickc@redhat.com>
493
494         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
495         * config/rx/rx.c (rx_function_value): Likewise.
496         (rx_promote_function_mode): Likewise.
497         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
498         in order to make it legitimate.
499         * config/rx/rx.md (adddi3_internal): If the second operand is a
500         MEM make sure that the first operand is the same as the result
501         register.
502         (addsi3_unspec): Delete.
503         (subdi3): Do not accept immediate operands.
504         (subdi3_internal): Likewise.
505
506 2011-01-25  Jeff Law  <law@redhat.com>
507
508         PR rtl-optimization/37273
509         * ira-costs.c (scan_one_insn): Detect constants living in memory and
510         handle them like argument loads from stack slots.  Do not double
511         count memory for memory constants and argument loads from stack slots.
512
513 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
514
515         PR tree-optimization/47427
516         PR tree-optimization/47428
517         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
518         coalesce if the new root var would be TREE_READONLY.
519
520 2011-01-25  Richard Guenther  <rguenther@suse.de>
521
522         PR middle-end/47414
523         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
524         correct type for TBAA.
525
526 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
527
528         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
529         (close_phi_written_to_memory): Call for_each_index with
530         dr_indices_valid_in_loop.
531
532 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
533
534         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
535         when it is initialized.
536
537 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
538
539         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
540         call to graphite_find_data_references_in_stmt.
541         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
542         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
543         call to graphite_find_data_references_in_stmt.
544         (analyze_drs_in_stmts): Same.
545         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
546         in which the scalar analysis of indices is performed.
547         (create_data_ref): Same.  Update call to dr_analyze_indices.
548         (find_data_references_in_stmt): Update call to create_data_ref.
549         (graphite_find_data_references_in_stmt): Same.
550         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
551         declaration.
552         (create_data_ref): Same.
553         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
554         call to create_data_ref.
555
556 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
557
558         * graphite-sese-to-poly.c (build_poly_scop): Move
559         rewrite_commutative_reductions_out_of_ssa before
560         find_scop_parameters.
561
562 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
563
564         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
565         VAR_DECL, PARM_DECL, and RESULT_DECL.
566
567 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
568
569         * graphite-dependences.c (reduction_dr_1): Allow several reductions
570         in a reduction PBB.
571         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
572         that have already been marked as PBB_IS_REDUCTION.
573
574 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
575
576         * graphite-scop-detection.c (same_close_phi_node): New.
577         (remove_duplicate_close_phi): New.
578         (make_close_phi_nodes_unique): New.
579         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
580
581 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
582
583         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
584         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
585         of both data references to be the same.
586
587 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
588
589         * graphite-dependences.c (build_lexicographical_constraint): Remove the
590         gdim parameter.
591         (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
592         (dependence_polyhedron): Same.
593         (graphite_legal_transform_dr): Same.
594         (graphite_carried_dependence_level_k): Same.
595         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
596         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
597
598 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
599
600         * graphite-sese-to-poly.c
601         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
602         (close_phi_written_to_memory): New.
603         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
604         and unshare_expr.
605
606 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
607
608         * doc/install.texi: Update the expected version number of PPL to 0.11.
609         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
610         #if PPL_VERSION_MINOR < 11.
611
612 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
613
614         * graphite-dependences.c: Include graphite-cloog-util.h.
615         (new_poly_ddr): Inlined into dependence_polyhedron.
616         (free_poly_ddr): Moved close by new_poly_ddr.
617         (dependence_polyhedron_1): Renamed dependence_polyhedron.
618         Early return NULL when ppl_powerset_is_empty returns true.
619         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
620         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
621         (graphite_legal_transform_dr): Call new_poly_ddr.
622         (graphite_carried_dependence_level_k): Same.
623         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
624         (dot_transformed_deps_stmt_1): Removed.
625         (dot_deps_stmt_1): Call dot_deps_stmt_2.
626         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
627         (dot_deps_1): Call dot_deps_2.
628         * Makefile.in (graphite-dependences.o): Add missing dependence on
629         graphite-cloog-util.h.
630
631 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
632
633         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
634         (build_lexicographical_constraint): Same.
635         (dependence_polyhedron_1): Same.
636         (graphite_legal_transform_dr): Same.
637         (graphite_carried_dependence_level_k): Same.
638         * graphite-ppl.c (ppl_powerset_is_empty): New.
639         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
640         * tree-data-ref.c (dump_data_reference): Print the basic block index.
641
642 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
643
644         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
645         the "a followed by b" relation and document it.
646
647 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
648
649         * graphite-dependences.c (build_lexicographical_constraint): Stop the
650         iteration when the bag of constraints is empty.
651
652 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
653
654         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
655
656 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
657
658         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
659         nest and two loop depths as parameters.
660         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
661         lst_perfect_nestify.
662
663 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
664
665         * graphite-dependences.c (print_pddr): Call
666         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
667
668 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
669
670         * graphite-ppl.c (debug_gmp_value): New.
671         * graphite-ppl.h (debug_gmp_value): Declared.
672
673 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
674
675         * doc/install.texi: Document availability of cloog-0.16.
676
677 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
678
679         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
680         invalid postdominance info.
681
682 2011-01-24  Jan Hubicka  <jh@suse.cz>
683
684         PR c/21659
685         * doc/extend.texi (weak pragma): Drop claim that it must
686         appear before definition.
687         * varasm.c (merge_weak, declare_weak): Only sanity check
688         that DECL is not output at a time it is declared weak.
689
690 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
691
692         * machmode.def: Fixed comments.
693
694 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
695
696         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
697
698 2011-01-24  Paul Koning  <ni1d@arrl.net>
699
700         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
701         WORDS_BIG_ENDIAN.
702
703 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
704
705         PR target/46519
706         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
707         (block_info): Add scanned and prev.
708         (move_or_delete_vzeroupper_2): Return if the basic block
709         has been scanned and the upper 128bit state is unchanged
710         from the last scan.
711         (move_or_delete_vzeroupper_1): Return true if the exit
712         state is changed.
713         (move_or_delete_vzeroupper): Visit basic blocks using the
714         work-list based algorithm based on vt_find_locations in
715         var-tracking.c.
716
717         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
718
719 2011-01-24  Nick Clifton  <nickc@redhat.com>
720
721         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
722         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
723         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
724         then define __v850e1__.
725         * doc/invoke.texi: Document -mv850es.
726
727 2011-01-24  Richard Henderson  <rth@redhat.com>
728
729         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
730         compound unordered comparisons.
731         * config/rx/rx.c (rx_split_fp_compare): Remove.
732         * config/rx/rx-protos.h: Update.
733         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
734         (cbranchsf4): Don't call rx_split_fp_compare.
735         (*cbranchsf4): Use rx_split_cbranch.
736         (*cmpsf): Don't accept "i" constraint.
737         (*conditional_branch): Only valid after reload.
738         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
739
740 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
741
742         PR target/47385
743         * config/rs6000/altivec.md (vector constant splitters): Add
744         support for creating vector single precision constants if -mvsx is
745         used and we would create the constant using Altivec primitives.
746
747 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
748             Richard Sandiford  <rdsandiford@googlemail.com>
749
750         PR rtl-optimization/47166
751         * reload1.c (emit_reload_insns): Disable the spill_reg_store
752         mechanism for PRE_MODIFY and POST_MODIFY.
753         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
754         reloadreg.
755
756 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
757
758         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
759
760 2011-01-22  Jan Hubicka  <jh@suse.cz>
761
762         PR lto/47333
763         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
764
765 2011-01-22  Jan Hubicka  <jh@suse.cz>
766
767         PR tree-optimization/43884
768         PR lto/44334
769         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
770         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
771
772 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
773
774         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
775         * config/s390/s390.c (s390_register_move_cost,
776         s390_memory_move_cost): New.
777         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
778
779 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
780
781         PR middle-end/47401
782         * except.c (sjlj_assign_call_site_values): Move setting the
783         crtl->uses_eh_lsda flag to ...
784         (sjlj_mark_call_sites): ... here.
785         (sjlj_emit_function_enter): Support NULL dispatch label.
786         (sjlj_build_landing_pads): In a function with no landing pads
787         that still has must-not-throw regions, generate code to register
788         a personality function with empty LSDA.
789
790 2011-01-21  Richard Henderson  <rth@redhat.com>
791
792         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
793
794         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
795
796         * compare-elim.c: New file.
797         * Makefile.in (OBJS-common): Add it.
798         (compare-elim.o): New.
799         * common.opt (fcompare-elim): New.
800         * opts.c (default_options_table): Add OPT_fcompare_elim.
801         * tree-pass.h (pass_compare_elim_after_reload): New.
802         * passes.c (init_optimization_passes): Add it.
803         * recog.h: Protect against re-inclusion.
804         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
805         * doc/invoke.texi (-fcompare-elim): Document it.
806         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
807         * doc/tm.texi: Rebuild.
808
809 2011-01-22  Nick Clifton  <nickc@redhat.com>
810
811         * config/rx/rx.md (cstoresf4): Pass comparison operator to
812         rx_split_fp_compare.
813
814 2011-01-22  Nick Clifton  <nickc@redhat.com>
815
816         * config/rx/rx.md (UNSPEC_CONST): New.
817         (deallocate_and_return): Wrap the amount popped off the stack in
818         an UNSPEC_CONST in order to stop it being rejected by
819         -mmax-constant-size.
820         (pop_and_return): Add a "(return)" rtx.
821         (call): Drop the immediate operand.
822         (call_internal): Likewise.
823         (call_value): Likewise.
824         (call_value_internal): Likewise.
825         (sibcall_internal): Likewise.
826         (sibcall_value_internal): Likewise.
827         (sibcall): Likewise.  Generate an explicit call using
828         sibcall_internal.
829         (sibcall_value): Likewise.
830         (mov<>): FAIL if a constant operand is not legitimate.
831         (addsi3_unpsec): New pattern.
832
833         * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
834         CONSTs.
835         (ok_for_max_constant): New function.
836         (gen_safe_add): New function.
837         (rx_expand_prologue): Use gen_safe_add.
838         (rx_expand_epilogue): Likewise.
839         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
840         UNSPEC CONSTs.
841
842 2011-01-21  Jeff Law  <law@redhat.com>
843
844         PR tree-optimization/47053
845         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
846         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
847         statements are deleted.
848         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
849         is nonempty, then purge dead edges and cleanup the CFG.
850
851 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
852
853         PR debug/47402
854         Temporarily revert:
855         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
856         PR debug/47106
857         * tree-dfa.c (create_var_ann): Mark variable as used.
858
859 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
860
861         PR middle-end/45566
862         * except.c (convert_to_eh_region_ranges): Emit queued no-region
863         notes from other section in hot/cold partitioning even if
864         last_action is -3.  Increment call_site_base.
865
866         PR rtl-optimization/47366
867         * fwprop.c (forward_propagate_into): Return bool.  If
868         any changes are made, -fnon-call-exceptions is used and
869         REG_EH_REGION note is present, call purge_dead_edges
870         and return true if it purged anything.
871         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
872         any EH edges were purged.
873
874 2011-01-21  Jeff Law  <law@redhat.com>
875
876         PR rtl-optimization/41619
877         * caller-save.c (setup_save_areas): Break out code to determine
878         which hard regs are live across calls by examining the reload chains
879         so that it is always used.
880         Eliminate code which checked REG_N_CALLS_CROSSED.
881
882 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
883
884         PR tree-optimization/47355
885         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
886         NOP has non-debug uses beyond PHIs in new_bb.
887
888 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
889
890         PR debug/47106
891         * cfgexpand.c (account_used_vars_for_block): Only account vars
892         that are annotated as used.
893         (estimated_stack_frame_size): Don't set TREE_USED.
894         * tree-dfa.c (create_var_ann): Mark variable as used.
895
896 2011-01-21  Richard Guenther  <rguenther@suse.de>
897
898         PR middle-end/47395
899         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
900
901 2011-01-21  Richard Guenther  <rguenther@suse.de>
902
903         PR tree-optimization/47365
904         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
905         (vn_reference_lookup_pieces): Adjust.
906         (vn_reference_lookup): Likewise.
907         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
908         (vn_reference_lookup_3): Only look through kills if in
909         VN_WALKREWRITE mode.
910         (vn_reference_lookup_pieces): Adjust.
911         (vn_reference_lookup): Likewise.
912         (visit_reference_op_load): Likewise.
913         (visit_reference_op_store): Likewise.
914         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
915         (compute_avail): Likewise.
916         (eliminate): Likewise.
917
918 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
919
920         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
921         DECL_IGNORED_P non-reg vars if they are used.
922
923         PR tree-optimization/47391
924         * varpool.c (const_value_known_p): Return false if
925         decl is volatile.
926
927 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
928
929         PR bootstrap/47215
930         * config/i386/i386.c (ix86_local_alignment): Handle
931         case for va_list_type_node is nil.
932         (ix86_canonical_va_list_type): Likewise.
933
934 2011-01-21  Alan Modra  <amodra@gmail.com>
935
936         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
937         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
938
939 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
940
941         * config/arm/arm.md (define_attr type): Rename f_load
942         and f_store to f_fpa_load and f_fpa_store. Update.
943         (write_conflict): Deal with rename fallout.
944         (*push_fp_multi): Likewise.
945         * config/arm/fpa.md (f_load): Use f_fpa_load.
946         (f_store): Use f_fpa_store.
947         (*movsf_fpa): Likewise.
948         (*movdf_fpa): Likewise.
949         (*movxf_fpa): Likewise.
950         (*thumb2_movsf_fpa): Likewise.
951         (*thumb2_movdf_fpa): Likewise.
952         (*thumb2_movxf_fpa): Likewise.
953         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
954         f_loadd and f_stored.
955         (*thumb2_movdi_vfp): Likewise.
956         (*thumb2_movsf_vfp): Fix attribute to f_loads.
957         (*thumb2_movsi_vfp): Likewise.
958         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
959         Use f_loads instead of f_load.
960         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
961
962 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
963
964         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
965         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
966         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
967         (xtensa_mode_dependent_address_p): New function.
968         (constantpool_address_p): Make static. Change return type to bool.
969         Change argument type to const_rtx. Use CONST_INT_P predicate.
970
971 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
972
973         PR debug/46583
974         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
975
976 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
977
978         PR debug/47283
979         * cfgexpand.c (expand_debug_expr): Instead of generating
980         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
981         etc. handling.
982
983 2011-01-20  Richard Guenther  <rguenther@suse.de>
984
985         PR middle-end/47370
986         * tree-inline.c (remap_gimple_op_r): Recurse manually for
987         the pointer operand of MEM_REFs.
988
989 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
990
991         PR tree-optimization/46130
992         * ipa-split.c (consider_split): If return_bb contains non-virtual
993         PHIs other than for retval or if split_function would not adjust it,
994         refuse to split.
995
996 2011-01-20  Richard Guenther  <rguenther@suse.de>
997
998         PR tree-optimization/47167
999         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
1000         Revert previous change, only avoid enumeral type changes.
1001
1002 2011-01-19  Mike Stump  <mikestump@comcast.net>
1003
1004         * doc/tm.texi.in (BRANCH_COST): Englishify.
1005         * doc/tm.texi (BRANCH_COST): Likewise.
1006
1007 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
1008
1009         PR c++/47291
1010         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
1011         (gen_scheduled_generic_parms_dies): New functions.
1012         (gen_struct_or_union_type_die): Schedule template parameters DIEs
1013         generation for the end of CU compilation.
1014         (dwarf2out_finish): Generate template parameters DIEs here.
1015
1016 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
1017
1018         PR debug/46240
1019         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
1020         debug bind stmt on merge edges.
1021
1022 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
1023
1024         PR debug/47079
1025         PR debug/46724
1026         * function.c (instantiate_expr): Instantiate incoming rtl of
1027         implicit arguments, and recurse on VALUE_EXPRs.
1028         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
1029         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
1030
1031 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
1032
1033         * c-parser.c (c_parser_for_statement): Initialize
1034         collection_expression.
1035
1036 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
1037
1038         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
1039
1040 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
1041
1042         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
1043         (LINK_SHLIB_SPEC): Don't use %(link_path).
1044         (SUBTARGET_EXTRA_SPECS): Remove link_path.
1045
1046 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
1047
1048         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
1049         (NO_SHARED_LIB_SUPPORT): Remove.
1050         (LINK_SHLIB_SPEC): Remove one conditional definition.
1051
1052 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
1053
1054         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
1055         %{call_shared}.
1056         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
1057         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
1058         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
1059         %{call_shared} and conditionals on these options not being passed.
1060         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
1061         %{call_shared}.
1062
1063 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
1064
1065         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
1066         simplify.
1067
1068         * ipa-split.c: Spelling fixes.
1069
1070 2011-01-19  Richard Henderson  <rth@redhat.com>
1071
1072         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
1073         (*mulsi3): Likewise.
1074
1075         * longlong.h [__mn10300__] (count_leading_zeros): New.
1076         [__mn10300__] (umul_ppmm, smul_ppmm): New.
1077         [__mn10300__] (add_ssaaaa, subddmmss): New.
1078         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
1079         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
1080
1081 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1082
1083         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
1084
1085 2011-01-19  Richard Henderson  <rth@redhat.com>
1086
1087         * config/mn10300/mn10300.md (addsi3_flags): New.
1088         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
1089         (subsi3_flags, subc_internal, subdi3): New.
1090         (subdi3_internal, *subdi3_degenerate): New.
1091         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
1092
1093         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
1094         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
1095         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
1096         * config/mn10300/mn10300-protos.h: Update.
1097         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
1098         (return_ret): Likewise.  Rename from return_internal_regs.
1099         (return_internal): Remove.
1100
1101         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
1102         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
1103         (mn10300_legitimate_constant_p): Likewise.
1104         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
1105         (mn10300_frame_size): New.
1106         (mn10300_expand_prologue): Use it.
1107         (mn10300_expand_epilogue): Likewise.
1108         (mn10300_initial_offset): Likewise.
1109         * config/mn10300/mn10300-protos.h: Update.
1110         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
1111         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
1112         (prologue, epilogue, return_internal): Tidy output code.
1113         (mn10300_store_multiple_operation, return): Likewise.
1114         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
1115         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
1116         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
1117         (load_pic, am33_load_pic): New.
1118         (mn10300_load_pic0, mn10300_load_pic1): New.
1119
1120         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
1121         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
1122         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
1123         (cc_flags_for_mode, cc_flags_for_code): New.
1124         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
1125         overflow flag is not valid.  Validate that the flags we need
1126         for the comparison are valid.
1127         (mn10300_output_cmp): Remove.
1128         (mn10300_output_add): New.
1129         (mn10300_select_cc_mode): Use cc_flags_for_code.
1130         (mn10300_split_cbranch): New.
1131         (mn10300_match_ccmode): New.
1132         (mn10300_split_and_operand_count): New.
1133         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
1134         to the function.
1135         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
1136         (addsi3): ... here.  Use mn10300_output_add.
1137         (*addsi3_flags): New.
1138         (*am33_subsi3, *mn10300_subsi3): Merge...
1139         (subsi3): ... here.  Use attribute isa.
1140         (*subsi3_flags): New.
1141         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
1142         when possible.
1143         (*am33_andsi3, *mn10300_andsi3): Merge...
1144         (andsi3): ... here.
1145         (*andsi3_flags): New.
1146         (andsi3 splitters): New.
1147         (*am33_iorsi3, *mn10300_iorsi3): Merge...
1148         (iorsi3): ... here.
1149         (*iorsi3_flags): New.
1150         (*am33_xorsi3, *mn10300_xorsi3): Merge...
1151         (xorsi3): ... here.
1152         (*xorsi3_flags): New.
1153         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
1154         (one_cmplsi2): ... here.
1155         (*one_cmplsi2_flags): New.
1156         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
1157         instead of "dax" in constraints.  Use mn10300_split_cbranch.
1158         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
1159         use matching constraints to eliminate a self-comparison.
1160         (*integer_conditional_branch): Rename from integer_conditional_branch.
1161         Use int_mode_flags to match CC_REG.
1162         (*cbranchsi4_btst, *btstsi): New.
1163         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
1164         mn10300_split_cbranch.
1165         (*am33_cmpsf): Rename from am33_cmpsf.
1166         (*float_conditional_branch): Rename from float_conditional_branch.
1167         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
1168         (zero_extendqisi2): ... here.
1169         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
1170         (zero_extendhisi2): ... here.
1171         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
1172         (extendqisi2): ... here.
1173         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
1174         (extendhisi2): ... here.
1175         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
1176         (ashlsi3): ... here.
1177         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
1178         (lshrsi3): ... here.
1179         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
1180         (ashrsi3): ... here.
1181         (consecutive add peephole): Remove.
1182         * config/mn10300/predicates.md (label_ref_operand): New.
1183         (int_mode_flags): New.
1184         (CCZN_comparison_operator): New.
1185
1186         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
1187         (throughput_42_latency_43): New reservation.
1188         (mulsidi3, umulsidi3): New expanders.
1189         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
1190         the MDR register to allocation; separately allocate the low and
1191         high parts of the DImode result.
1192         (umulsidi3_internal): Similarly.
1193         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
1194         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
1195         (udivsi3, umodsi3): Remove.
1196         (udivmodsi4, divmodsi4): New expanders.
1197         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
1198         (*divmodsi4): Simiarly.
1199         (ext_internal): New.
1200
1201         * config/mn10300/constraints.md ("z"): New constraint.
1202         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
1203         (FIXED_REGISTERS): Don't fix MDR.
1204         (CALL_USED_REGSITERS): Reformat nicely.
1205         (REG_ALLOC_ORDER): Add MDR.
1206         (enum regclass): Add MDR_REGS.
1207         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
1208         (IRA_COVER_CLASSES): Add MDR_REGS.
1209         (REGNO_REG_CLASS): Handle MDR_REG.
1210         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
1211         (mn10300_register_move_cost): Likewise.
1212         * config/mn10300/mn10300.md (MDR_REG): New.
1213         (*movsi_internal): Handle moves to/from MDR_REGS.
1214
1215         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
1216         POST_MODIFY.
1217         (mn10300_secondary_reload): Tidy combination reload classes.
1218         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
1219         addresses for AM33.  Allow symbolic offsets for reg+imm.
1220         (mn10300_regno_in_class_p): New.
1221         (mn10300_legitimize_reload_address): New.
1222         * config/mn10300/mn10300.h (enum reg_class): Remove
1223         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
1224         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
1225         SP_OR_GENERAL_REGS.
1226         (REG_CLASS_NAMES): Update to match.
1227         (REG_CLASS_CONTENTS): Likewise.
1228         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
1229         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
1230         (REGNO_IN_RANGE_P): Remove.
1231         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
1232         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
1233         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
1234         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
1235         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
1236         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
1237         (REGNO_GENERAL_P): New.
1238         (HAVE_POST_MODIFY_DISP): New.
1239         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
1240         (LEGITIMIZE_RELOAD_ADDRESS): New.
1241         * config/mn10300/mn10300-protos.h: Update.
1242
1243         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
1244         DATA_REGS for AM33 stack-pointer destination.
1245         (mn10300_preferred_output_reload_class): Likewise.
1246         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
1247         into a form appropriate for ...
1248         (TARGET_SECONDARY_RELOAD): New.
1249         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
1250         * config/mn10300/mn10300-protos.h: Update.
1251         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
1252         reload_insi; use the "A" constraint for the scratch; handle AM33
1253         moves of sp to non-address registers.
1254
1255         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
1256         (*movqi_internal): ... here.
1257         (*am33_movhi, *mn10300_movhi): Merge into...
1258         (*movhi_internal): ... here.
1259         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
1260         as the source/destination of moves from/to SP.
1261         (movsf): Only allow for AM33-2.
1262         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
1263         any integer constant constraint.  Only allow for AM33-2.  Tidy
1264         all of the alternative outputs.
1265         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
1266         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
1267         for MN103.
1268         (udivsi3, umodsi3): New patterns for MN103 only.
1269
1270 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
1271
1272         * doc/tm.texi.in: Spell out that a lack of register class unions
1273         can lead to ICEs.
1274         * doc/tm.texi: Regenerate.
1275
1276 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
1277
1278         PR rtl-optimization/47337
1279         * dce.c (check_argument_store): New function.
1280         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
1281
1282         PR tree-optimization/47290
1283         * tree-eh.c (infinite_empty_loop_p): New function.
1284         (cleanup_empty_eh): Use it.
1285
1286 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
1287
1288         PR target/46997
1289         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
1290         (a64_expand_widen_sum): Ditto.
1291         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
1292         (vec_extract_evenodd_help): Ditto.
1293         (vec_extract_evenv4hi): Ditto.
1294         (vec_extract_oddv4hi): Ditto.
1295         (vec_extract_evenv2si): Ditto.
1296         (vec_extract_oddv2si): Ditto.
1297         (vec_extract_evenv2sf): Ditto.
1298         (vec_extract_oddv2sf): Ditto.
1299         (vec_pack_trunc_v4hi: Ditto.
1300         (vec_pack_trunc_v2si): Ditto.
1301         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
1302         (vec_interleave_highv8qi): Ditto.
1303         (mix1_r): Ditto.
1304         (vec_extract_oddv8qi): Ditto.
1305         (vec_interleave_lowv4hi): Ditto.
1306         (vec_interleave_highv4hi): Ditto.
1307         (vec_interleave_lowv2si): Ditto.
1308         (vec_interleave_highv2si): Ditto.
1309
1310 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1311
1312         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
1313         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
1314         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
1315         (pa_c_mode_for_suffix): New.
1316         (TARGET_EXPAND_BUILTIN): Define.
1317         (TARGET_C_MODE_FOR_SUFFIX): Define.
1318         (pa_builtins): Define.
1319         (pa_init_builtins): Register __float128 type and init new support
1320         builtins.
1321         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
1322         * config/pa/quadlib.c (_U_Qfcopysign): New.
1323
1324 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
1325
1326         PR middle-end/46894
1327         * explow.c (allocate_dynamic_stack_space): Do not assume more than
1328         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
1329         are defined.
1330
1331 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1332
1333         PR tree-optimization/47179
1334         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
1335         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
1336
1337 2011-01-18  Richard Guenther  <rguenther@suse.de>
1338
1339         PR rtl-optimization/47216
1340         * emit-rtl.c: Include tree-flow.h.
1341         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
1342         of replicating it with different semantics.
1343         * Makefile.in (emit-rtl.o): Adjust.
1344
1345 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1346
1347         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
1348         include.
1349         (cortex_a9_dp): Handle neon types correctly.
1350
1351 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
1352
1353         PR rtl-optimization/47299
1354         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
1355         subtarget.  Use normal multiplication if both operands are
1356         constants.
1357         * expmed.c (expand_widening_mult): Don't try to optimize constant
1358         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
1359         before using it.
1360
1361 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1362
1363         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
1364         spacing after 'e.g.', typos, comma, hyphenation.
1365
1366 2011-01-17  Richard Henderson  <rth@redhat.com>
1367
1368         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
1369         (rx_restricted_mem_operand): New.
1370         (rx_shift_operand): Use register_operand.
1371         (rx_source_operand, rx_compare_operand): Likewise.
1372         * config/rx/rx.md (addsi3_flags): New expander.
1373         (adddi3): Rewrite as expander.
1374         (adc_internal, *adc_flags, adddi3_internal): New patterns.
1375         (subsi3_flags): New expander.
1376         (subdi3): Rewrite as expander.
1377         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
1378
1379         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
1380         (rx_init_builtins): Remove sat builtin.
1381         (rx_expand_builtin): Likewise.
1382         * config/rx/rx.md (ssaddsi3): New.
1383         (*sat): Rename from sat.  Represent the CC_REG input.
1384
1385         * config/rx/predicates.md (rshift_operator): New.
1386         * config/rx/rx.c (rx_expand_insv): Remove.
1387         * config/rx/rx-protos.h: Update.
1388         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
1389         operand to the canonical position.
1390         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
1391         (*bitclr, *bitclr_in_memory): Similarly.
1392         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
1393         (insv): Retain the zero_extract in the expansion.
1394
1395         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
1396         (bswaphi2, bitinvert, revw): Likewise.
1397
1398         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
1399         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
1400         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
1401         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
1402         (bitset, bitset_in_memory): Likewise.
1403         (bitinvert, bitinvert_in_memory): Likewise.
1404         (bitclr, bitclr_in_memory): Likewise.
1405         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
1406         (rx_strend, rx_cmpstrn): Likewise.
1407         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
1408         (bitop peep2 patterns): Remove.
1409
1410         * config/rx/rx.c (rx_match_ccmode): New.
1411         * config/rx/rx-protos.h: Update.
1412         * config/rx/rx.md (abssi2): Clobber, don't set flags.
1413         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
1414         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
1415         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
1416         (fix_truncsfsi2, floatsisf2): Likewise.
1417         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
1418         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
1419         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
1420         (*subsi3_flags, *xorsi3_flags): New.
1421
1422         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
1423
1424         * config/rx/rx.c (rx_print_operand): Remove workaround for
1425         unsplit comparison operations.
1426
1427         * config/rx/rx.md (movsicc): Split after reload.
1428         (*movsicc): Merge *movsieq and *movsine via match_operator.
1429         (*stcc): New pattern.
1430
1431         * config/rx/rx.c (rx_float_compare_mode): Remove.
1432         * config/rx/rx.h (rx_float_compare_mode): Remove.
1433         * config/rx/rx.md (cstoresi4): Split after reload.
1434         (*sccc): New pattern.
1435
1436         * config/rx/predicates.md (label_ref_operand): New.
1437         (rx_z_comparison_operator): New.
1438         (rx_zs_comparison_operator): New.
1439         (rx_fp_comparison_operator): New.
1440         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
1441         Validate that the flags are set properly for the comparison.
1442         (rx_gen_cond_branch_template): Remove.
1443         (rx_cc_modes_compatible): Remove.
1444         (mode_from_flags): New.
1445         (flags_from_code): Rename from flags_needed_for_conditional.
1446         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
1447         (rx_select_cc_mode): Likewise.
1448         (rx_split_fp_compare): New.
1449         (rx_split_cbranch): New.
1450         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
1451         (*cbranchsi4): Use match_operator and rx_split_cbranch.
1452         (*cbranchsf4): Similarly.
1453         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
1454         match_operator and rx_split_cbranch.
1455         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
1456         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
1457         (*cmpsi): Rename from cmpsi.
1458         (*tstsi): Rename from tstsi.
1459         (*cmpsf): Rename from cmpsf; use CC_Fmode.
1460         (*conditional_branch): Rename from conditional_branch.
1461         (*reveresed_conditional_branch): Remove.
1462         (b<code>): Remove expander.
1463         * config/rx/rx-protos.h: Update.
1464
1465         * config/rx/rx.c (rx_compare_redundant): Remove.
1466         * config/rx/rx.md (cmpsi): Don't use it.
1467         * config/rx/rx-protos.h: Update.
1468
1469         * config/rx/rx-modes.def (CC_F): New mode.
1470         * config/rx/rx.c (rx_select_cc_mode): New.
1471         * config/rx/rx.h (SELECT_CC_MODE): Use it.
1472         * config/rx/rx-protos.h: Update.
1473
1474 2011-01-17  Richard Henderson  <rth@redhat.com>
1475
1476         * except.c (dump_eh_tree): Fix stray ; after for statement.
1477
1478 2011-01-17  Richard Guenther  <rguenther@suse.de>
1479
1480         PR tree-optimization/47313
1481         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
1482         handling before copying the body.  Properly deal with
1483         by-reference result in SSA form.
1484
1485 2011-01-17  Ian Lance Taylor  <iant@google.com>
1486
1487         PR target/47219
1488         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
1489         (struct_value_alias_set): Don't define.
1490         (sparc_option_override): Don't set sparc_sr_alias_set and
1491         struct_value_alias_set.
1492         (save_or_restore_regs): Use gen_frame_mem rather than calling
1493         set_mem_alias_set.
1494         (sparc_struct_value_rtx): Likewise.
1495
1496 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
1497
1498         PR target/47318
1499         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
1500         __m128i.
1501         (_mm_maskstore_pd): Likewise.
1502         (_mm_maskload_ps): Likewise.
1503         (_mm_maskstore_ps): Likewise.
1504         (_mm256_maskload_pd): Change mask to __m256i.
1505         (_mm256_maskstore_pd): Likewise.
1506         (_mm256_maskload_ps): Likewise.
1507         (_mm256_maskstore_ps): Likewise.
1508
1509         * config/i386/i386-builtin-types.def: Updated.
1510         (ix86_expand_special_args_builtin): Likewise.
1511
1512         * config/i386/i386.c (bdesc_special_args): Update
1513         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
1514         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
1515         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
1516         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
1517
1518         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
1519         Use <avxpermvecmode> on mask register.
1520         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
1521
1522 2011-01-17  Olivier Hainque  <hainque@adacore.com>
1523             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1524             Eric Botcazou  <ebotcazou@adacore.com>
1525
1526         PR target/46655
1527         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
1528         if <= USHRT_MAX in 32-bit mode.
1529
1530 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1531
1532         * doc/install.texi (Configuration, Specific): Wrap long
1533         lines in examples.  Allow line wrapping in long options
1534         and URLs where beneficial for PDF output.
1535
1536 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
1537
1538         * config/mips/mips.c (mips_classify_symbol): Don't return
1539         SYMBOL_PC_RELATIVE for nonlocal labels.
1540
1541 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
1542
1543         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
1544
1545 2011-01-15  Jan Hubicka  <jh@suse.cz>
1546
1547         PR tree-optimization/47276
1548         * ipa.c (function_and_variable_visibility): Do not try to mark alias
1549         declarations as needed.
1550
1551 2011-01-15  Martin Jambor  <mjambor@suse.cz>
1552
1553         * common.opt (fdevirtualize): New flag.
1554         * doc/invoke.texi (Option Summary): Document it.
1555         * opts.c (default_options_table): Add devirtualize flag.
1556         * ipa-prop.c (detect_type_change): Return immediately if
1557         devirtualize flag is not set.
1558         (detect_type_change_ssa): Likewise.
1559         (compute_known_type_jump_func): Likewise.
1560         (ipa_analyze_virtual_call_uses): Likewise.
1561
1562 2011-01-14  Martin Jambor  <mjambor@suse.cz>
1563
1564         PR tree-optimization/45934
1565         PR tree-optimization/46302
1566         * ipa-prop.c (type_change_info): New type.
1567         (stmt_may_be_vtbl_ptr_store): New function.
1568         (check_stmt_for_type_change): Likewise.
1569         (detect_type_change): Likewise.
1570         (detect_type_change_ssa): Likewise.
1571         (compute_complex_assign_jump_func): Check for dynamic type change.
1572         (compute_complex_ancestor_jump_func): Likewise.
1573         (compute_known_type_jump_func): Likewise.
1574         (compute_scalar_jump_functions): Likewise.
1575         (ipa_analyze_virtual_call_uses): Likewise.
1576         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
1577
1578 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1579
1580         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
1581         * config/i386/i386.opt (msse5): New Alias.
1582
1583 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1584
1585         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
1586         * config/sparc/linux64.h (CC1_SPEC): Likewise.
1587         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1588         * config/sparc/sparc.h (CC1_SPEC): Likewise.
1589
1590 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1591
1592         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
1593         -mcpu options.
1594         * config/sparc/linux64.h (CC1_SPEC): Likewise.
1595         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1596         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
1597         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
1598         Likewise.
1599         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
1600
1601 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1602
1603         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or
1604         -fvec-eabi.
1605
1606 2011-01-14  Mike Stump  <mikestump@comcast.net>
1607
1608         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
1609         * config/fr30/fr30.md: Likweise
1610         (movsi_push): Likewise.
1611         (movsi_pop): Likewise.
1612         (enter_func): Likewise.
1613         * config/moxie/moxie.md (movsi_push): Likewise.
1614         (movsi_pop): Likewise.
1615
1616 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1617
1618         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
1619         %{no_archive} %{exact_version}.
1620         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
1621         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
1622         %{no_archive} %{exact_version}.
1623         * config/mips/openbsd.h (LINK_SPEC): Likewise.
1624         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
1625         * config/mips/vxworks.h: Likewise.
1626
1627 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1628
1629         * config/microblaze/microblaze.h (ASM_SPEC): Remove
1630         %{microblaze1}.
1631
1632 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1633
1634         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
1635         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
1636
1637 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1638
1639         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
1640         -nodefaultlib.
1641
1642 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1643
1644         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
1645         for mcpu not cpu.
1646         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
1647         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
1648         not cpu.
1649         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
1650         Don't handle -shlib.
1651
1652 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1653
1654         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
1655         (CC1_SPEC): Don't handle -profile.
1656
1657 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1658
1659         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
1660         * config/mips/mips.h (CC1_SPEC): Likewise.
1661
1662 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1663
1664         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
1665         * config/mips/mips.h (CC1_SPEC): Likewise.
1666
1667 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1668
1669         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
1670         * config/m32r/linux.h (LINK_SPEC): Likewise.
1671         * config/mips/linux.h (LINK_SPEC): Likewise.
1672         * config/mips/linux64.h (LINK_SPEC): Likewise.
1673         * config/sparc/linux.h (LINK_SPEC): Likewise.
1674         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
1675         LINK_SPEC): Likewise.
1676         * config/xtensa/linux.h (LINK_SPEC): Likewise.
1677
1678 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1679
1680         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
1681         %{version:-v}.
1682         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
1683
1684 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1685
1686         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
1687         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1688
1689 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
1690
1691         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
1692
1693 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1694
1695         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
1696         supports -Bstatic/-Bdynamic.
1697         * configure: Regenerate.
1698
1699 2011-01-14  Jan Hubicka  <jh@suse.cz>
1700         Jack Howarth <howarth@bromo.med.uc.edu>
1701
1702         PR target/46037
1703         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
1704         when checking debug_info_level. Test write_symbols instead of
1705         debug_hooks->var_location when setting flag_var_tracking_uninit.
1706
1707 2011-01-14  Richard Guenther  <rguenther@suse.de>
1708
1709         PR tree-optimization/47179
1710         * target.def (ref_may_alias_errno): New target hook.
1711         * targhooks.h (default_ref_may_alias_errno): Declare.
1712         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
1713         (default_ref_may_alias_errno): New function.
1714         * target.h (struct ao_ref_s): Declare.
1715         * tree-ssa-alias.c: Include target.h.
1716         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
1717         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
1718         (targhooks.o): Likewise.
1719         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
1720         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
1721
1722 2011-01-14  Richard Guenther  <rguenther@suse.de>
1723
1724         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
1725
1726 2011-01-14  Richard Guenther  <rguenther@suse.de>
1727
1728         PR tree-optimization/47280
1729         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
1730         return CFG changes.
1731         (tree_ssa_forward_propagate_single_use_vars): Deal with
1732         CFG changes from associate_plusminus.
1733
1734 2011-01-14  Richard Guenther  <rguenther@suse.de>
1735
1736         PR middle-end/47281
1737         Revert
1738         2011-01-11  Richard Guenther  <rguenther@suse.de>
1739
1740         PR tree-optimization/46076
1741         * tree-ssa.c (useless_type_conversion_p): Conversions from
1742         unprototyped to empty argument list function types are useless.
1743
1744 2011-01-14  Richard Guenther  <rguenther@suse.de>
1745
1746         PR tree-optimization/47286
1747         * tree-ssa-structalias.c (new_var_info): Register variables are global.
1748
1749 2011-01-14  Martin Jambor  <mjambor@suse.cz>
1750
1751         PR middle-end/46823
1752         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
1753
1754 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
1755
1756         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
1757         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1758         * config/xtensa/xtensa.c (xtensa_libcall_value,
1759         xtensa_function_value_regno_p): New functions.
1760         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
1761
1762 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
1763
1764         PR c++/47213
1765         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
1766         PE specific hook.
1767         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
1768         New function prototype.
1769         * config/i386/winnt.c (i386_pe_assemble_visibility):
1770         Warn only if attribute was specified by user.
1771
1772 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
1773
1774         PR target/47251
1775         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
1776         floating point.
1777         (floatunsdidf2_fcfidu): Ditto.
1778
1779 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1780
1781         * config/s390/s390.c (print_operand_address): Replace 'error' with
1782         'output_operand_lossage'.
1783         (print_operand): Likewise.
1784
1785 2011-01-13  Jeff Law  <law@redhat.com>
1786
1787         PR rtl-optimization/39077
1788         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
1789         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
1790         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
1791         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
1792         * gcse.c (prune_insertions_deletions): New function.
1793         (compute_pre_data): Use it.
1794
1795 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
1796
1797         PR debug/PR46973
1798         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
1799         static function.
1800         (prune_unused_types_mark): Use it.
1801
1802 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
1803
1804         PR rtl-optimization/45352
1805         * sel-sched.c: Update copyright years.
1806         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1807         in the advancing loop when we have issued issue_rate insns.
1808
1809 2011-01-12  Richard Henderson  <rth@redhat.com>
1810
1811         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
1812         (TARGET_MD_ASM_CLOBBERS): New.
1813
1814         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
1815         (TARGET_DELEGITIMIZE_ADDRESS): New.
1816
1817         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
1818         (clzsi2, *bsch): New patterns.
1819
1820         * config/mn10300/mn10300.md (INT): New mode iterator.
1821         (*mov<INT>_clr): New pattern, and peep2 to generate it.
1822
1823         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
1824         flag_split_wide_types.
1825
1826         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
1827         (mn10300_trampoline_init): Rewrite without a template, an immediate
1828         load and a direct branch.
1829         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
1830
1831 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
1832
1833         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1834         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
1835         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
1836         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1837
1838 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
1839
1840         PR debug/47209
1841         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
1842         of type.
1843
1844 2011-01-12  Jan Hubicka  <jh@suse.cz>
1845
1846         PR driver/47244
1847         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
1848         (PLUGIN_COND_CLOSE): New macro.
1849         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
1850
1851 2011-01-12  Richard Guenther  <rguenther@suse.de>
1852
1853         PR lto/47259
1854         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
1855         register variables in a MEM_REF.
1856
1857 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
1858
1859         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
1860         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
1861         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
1862         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
1863         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
1864         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
1865         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
1866         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
1867         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
1868         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
1869         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
1870         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
1871         * config/gnu-user.h: New.  Copied from linux.h.
1872         (LINUX_TARGET_STARTFILE_SPEC): Rename to
1873         GNU_USER_TARGET_STARTFILE_SPEC.
1874         (LINUX_TARGET_ENDFILE_SPEC): Rename to
1875         GNU_USER_TARGET_ENDFILE_SPEC.
1876         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
1877         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
1878         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
1879         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
1880         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
1881         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
1882         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
1883         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
1884         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
1885         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
1886         * config/arm/linux-eabi.h (CC1_SPEC): Use
1887         GNU_USER_TARGET_CC1_SPEC.
1888         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
1889         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
1890         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
1891         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
1892         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
1893         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
1894         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
1895         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
1896
1897 2011-01-12  Richard Guenther  <rguenther@suse.de>
1898
1899         PR other/46946
1900         * doc/invoke.texi (ffast-math): Document it is turned on
1901         with -Ofast.
1902
1903 2011-01-12  Jan Hubicka  <jh@suse.cz>
1904
1905         PR tree-optimization/47233
1906         * opts.c (common_handle_option): Disable ipa-reference with profile
1907         feedback.
1908
1909 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1910
1911         * c-parser.c (c_parser_objc_at_property_declaration): Improved
1912         error message.
1913
1914 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
1915
1916         * c-parser.c (c_lex_one_token): Updated and reindented some
1917         comments.  No changes in code.
1918
1919 2011-01-11  Ian Lance Taylor  <iant@google.com>
1920
1921         * godump.c (go_output_var): Don't output the variable if there is
1922         already a type with the same name.
1923
1924 2011-01-11  Ian Lance Taylor  <iant@google.com>
1925
1926         * godump.c (go_format_type): Don't generate float80.
1927
1928 2011-01-11  Richard Henderson  <rth@redhat.com>
1929
1930         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
1931         declaration.  Rewrite for both speed and size.
1932         (mn10300_address_cost_1): Remove.
1933         (mn10300_register_move_cost): New.
1934         (mn10300_memory_move_cost): New.
1935         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
1936         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
1937         extensions, shifts, BSWAP, CLZ.
1938         (mn10300_wide_const_load_uses_clr): Remove.
1939         (TARGET_REGISTER_MOVE_COST): New.
1940         (TARGET_MEMORY_MOVE_COST): New.
1941         * config/mn10300/mn10300-protos.h: Update.
1942         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
1943
1944         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
1945         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
1946         * config/mn10300/mn10300-protos.h: Update.
1947         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
1948         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
1949         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
1950         (*test_int_bitfield, *test_byte_bitfield): Remove.
1951         (*bit_test, *subreg_bit_test): Remove.
1952         * config/mn10300/predicates.md (const_8bit_operand): Remove.
1953
1954         * config/mn10300/constraints.md ("c"): Rename from "A".
1955         ("A", "D"): New constraint letters.
1956         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
1957         (fmssf4, fnmasf4, fnmssf4): Likewise.
1958
1959         * config/mn10300/mn10300.md (isa): New attribute.
1960         (enabled): New attribute.
1961
1962         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
1963         (abssf2, negsf2): Define only for hardware fp.
1964         (sqrtsf2): Reformat.
1965         (addsf3, subsf3, mulsf3): Merge expander and insn.
1966
1967         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
1968         (DEBUGGER_AUTO_OFFSET): Remove.
1969         (DEBUGGER_ARG_OFFSET): Remove.
1970
1971         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
1972         Emit register stores with the same offsets as the hardware.
1973         (mn10300_store_multiple_operation): Don't check that the register
1974         save offsets are monotonic.
1975         * config/mn10300/mn10300-protos.h: Update.
1976
1977         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
1978
1979         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
1980         in terms of the value on the stack, not the MDR register.
1981
1982 2011-01-11  Jan Hubicka  <jh@suse.cz>
1983
1984         PR lto/45721
1985         PR lto/45375
1986         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
1987         (symbol_alias_set_destroy, symbol_alias_set_contains,
1988         propagate_aliases_backward): Declare.
1989         * lto-streamer-out.c (struct sets): New sturcture.
1990         (trivally_defined_alias): New function.
1991         (output_alias_pair_p): Rewrite.
1992         (output_unreferenced_globals): Fix output of alias pairs.
1993         (produce_symtab): Likewise.
1994         * ipa.c (function_and_variable_visibility): Set weak alias destination
1995         as needed in lto.
1996         * varasm.c (symbol_alias_set_t): Remove.
1997         (symbol_alias_set_destroy): Export.
1998         (propagate_aliases_forward, propagate_aliases_backward): New functions
1999         based on ...
2000         (compute_visible_aliases): ... this one; remove.
2001         (trivially_visible_alias): New
2002         (trivially_defined_alias): New.
2003         (remove_unreachable_alias_pairs): Rewrite.
2004         (finish_aliases_1): Reorganize code checking if alias is defined.
2005         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
2006         in LTO mode.
2007
2008 2011-01-11  Richard Guenther  <rguenther@suse.de>
2009
2010         PR tree-optimization/46076
2011         * tree-ssa.c (useless_type_conversion_p): Conversions from
2012         unprototyped to empty argument list function types are useless.
2013
2014 2011-01-11  Richard Guenther  <rguenther@suse.de>
2015
2016         PR middle-end/45235
2017         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
2018         volatile MEMs as MEM_READONLY_P.
2019
2020 2011-01-11  Richard Guenther  <rguenther@suse.de>
2021
2022         PR tree-optimization/47239
2023         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
2024
2025 2011-01-11  Jeff Law  <law@redhat.com>
2026
2027         PR tree-optimization/47086
2028         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
2029         IVs from statements that might throw.
2030
2031 2011-01-10  Jan Hubicka  <jh@suse.cz>
2032
2033         PR lto/45375
2034         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
2035
2036 2011-01-10  Jan Hubicka  <jh@suse.cz>
2037
2038         PR lto/45375
2039         * profile.c (read_profile_edge_counts): Ignore profile inconistency
2040         when correcting profile.
2041
2042 2011-01-10  Jan Hubicka  <jh@suse.cz>
2043
2044         PR lto/46083
2045         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
2046         DECL_FINI_PRIORITY.
2047         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
2048         Restore DECL_FINI_PRIORITY.
2049
2050 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2051
2052         * doc/gimple.texi: Fix quoting of multi-word return values in
2053         @deftypefn statements.  Ensure presence of return value.  Wrap
2054         overlong @deftypefn lines.
2055         (is_gimple_operand, is_gimple_min_invariant_address): Remove
2056         descriptions of removed functions.
2057         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
2058         of multi-word return value in @deftypefn statement.
2059
2060 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2061
2062         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
2063         (Conditional Expressions, Logical Operators)
2064         (Statement and operand traversals): Do not indent smallexample
2065         code.  Fix duplicate function argument in example.
2066
2067 2011-01-10  Jeff Law  <law@redhat.com>
2068
2069         PR tree-optimization/47141
2070         * ipa-split.c (split_function): Handle case where we are
2071         returning a value and the return block has a virtual operand phi.
2072
2073 2011-01-10  Jan Hubicka  <jh@suse.cz>
2074
2075         PR tree-optimization/47234
2076         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
2077         (pass_feedback_split_functions): Declare.
2078         * passes.c (init_optimization_passes): Add ipa-split as subpass of
2079         tree-profile.
2080         * ipa-split.c (gate_split_functions): Update comments; disable
2081         split-functions for profile_arc_flag and branch_probabilities.
2082         (gate_feedback_split_functions): New function.
2083         (execute_feedback_split_functions): New function.
2084         (pass_feedback_split_functions): New global var.
2085
2086 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
2087
2088         PR lto/46760
2089         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
2090         calling gimple_call_set_cannot_inline.
2091
2092 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
2093
2094         * config/darwin-sections.def: Remove unused section.
2095
2096 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
2097
2098         PR c++/47218
2099         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
2100
2101 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
2102
2103         PR objc/47232
2104         * c-parser.c (c_parser_declaration_or_fndef): Improved
2105         error message.
2106
2107 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
2108
2109         * config/i386/winnt.c (i386_pe_start_function): Make sure
2110         to switch back to function's section.
2111
2112 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
2113
2114         PR gcc/46902
2115         PR testsuite/46912
2116         * plugin.c: Move include of dlfcn.h from here...
2117         * system.h: ... to here.
2118
2119 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2120
2121         * doc/cpp.texi (C++ Named Operators): Fix markup for header
2122         file name.
2123         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
2124         two extra empty pages in PDF output.
2125
2126 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
2127
2128         PR objc/47078
2129         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
2130         for error recovery purposes behave as if it was not specified so
2131         that the default type is usd.
2132
2133 2011-01-07  Jan Hubicka  <jh@suse.cz>
2134
2135         PR tree-optmization/46469
2136         * ipa.c (function_and_variable_visibility): Clear needed flags on
2137         nodes with external decls; handle weakrefs merging correctly.
2138
2139 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
2140
2141         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
2142         not false.
2143
2144 2011-01-07  Jan Hubicka  <jh@suse.cz>
2145
2146         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
2147         and no longer claim that gold is required for linker plugin.
2148         * configure: Regenerate.
2149         * gcc.c (PLUGIN_COND): New macro.
2150         (LINK_COMMAND_SPEC): Use it.
2151         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
2152         * config.in (HAVE_LTO_PLUGIN): New.
2153         * configure.ac (--with-lto-plugin): New parameter; autodetect
2154         HAVE_LTO_PLUGIN.
2155
2156 2011-01-07  Jan Hubicka  <jh@suse.cz>
2157
2158         PR tree-optimization/46367
2159         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
2160         when we can update original.
2161         (cgraph_mark_inline_edge): Sanity check.
2162         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
2163
2164 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2165
2166         * config/spu/spu.h (ASM_COMMENT_START): Define.
2167
2168 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
2169
2170         PR driver/42445
2171         * gcc.c (%>S): New.
2172         (SWITCH_KEEP_FOR_GCC): Likewise.
2173         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
2174         (do_spec_1): Handle "%>".
2175
2176         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
2177
2178 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
2179
2180         PR target/47201
2181         * config/i386/i386.c (ix86_delegitimize_address): If
2182         simplify_gen_subreg fails, return orig_x.
2183
2184         PR bootstrap/47187
2185         * value-prof.c (gimple_stringop_fixed_value): Handle
2186         lhs of the call properly.
2187
2188 2011-01-07  Jan Hubicka  <jh@suse.cz>
2189
2190         PR lto/45375
2191         * lto-opt.c (lto_reissue_options): Set flag_shlib.
2192
2193 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
2194
2195         * target.def (function_switched_text_sections): New hook.
2196         * doc/tm.texi: Regenerated.
2197         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
2198         * final.c (default_function_switched_text_sections): New.
2199         (final_scan_insn): Call function_switched_text_sections when a
2200         mid-function section change occurs.
2201         * output.h (default_function_switched_text_sections): Declare.
2202         * config/darwin-protos.h (darwin_function_switched_text_sections):
2203         Likewise.
2204         * config/darwin.c (darwin_function_switched_text_sections): New.
2205         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
2206
2207 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
2208
2209         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
2210         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
2211         the secondary code fragment when outputting for DWARF == 2.
2212
2213 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
2214
2215         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
2216         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
2217         Remove.
2218         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
2219         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
2220
2221 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
2222
2223         PR debug/46704
2224         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
2225         when it is not empty.
2226
2227 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
2228
2229         Bobcat Enablement
2230         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
2231         (case ${target}): Add btver1.
2232         * config/i386/driver-i386.c (host_detect_local_cpu): Let
2233         -march=native recognize btver1 processors.
2234         * config/i386/i386-c.c (ix86_target_macros_internal): Add
2235         btver1 def_and_undef
2236         * config/i386/i386.c (struct processor_costs btver1_cost): New
2237         btver1 cost table.
2238         (m_BTVER1): New definition.
2239         (m_AMD_MULTIPLE): Includes m_BTVER1.
2240         (initial_ix86_tune_features): Add btver1 tune.
2241         (processor_target_table): Add btver1 entry.
2242         (static const char *const cpu_names): Add btver1 entry.
2243         (software_prefetching_beneficial_p): Add btver1.
2244         (ix86_option_override_internal): Add btver1 instruction sets.
2245         (ix86_issue_rate): Add btver1.
2246         (ix86_adjust_cost): Add btver1.
2247         * config/i386/i386.h (TARGET_BTVER1): New definition.
2248         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
2249         (enum processor_type): Add PROCESSOR_BTVER1.
2250         * config/i386/i386.md (define_attr "cpu"): Add btver1.
2251
2252 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2253
2254         PR target/43309
2255         * config/i386/i386.c (legitimize_tls_address)
2256         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
2257         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
2258         (tls_initial_exec_64_sun): New pattern.
2259
2260 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
2261
2262         * doc/invoke.texi (Overall Options): Improve wording and markup
2263         of the description of -wrapper.
2264
2265 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
2266
2267         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
2268         rdynamic, threads): New Driver options.
2269
2270 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2271
2272         PR target/38118
2273         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
2274         if coming from .tdata.
2275         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2276
2277 2011-01-06  Jan Hubicka  <jh@suse.cz>
2278
2279         PR lto/47188
2280         * collect2.c (main): Do not enable LTOmode when plugin is active.
2281
2282 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2283
2284         PR other/45915
2285         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
2286         --version output if supported.
2287         * configure: Regenerate.
2288
2289 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
2290
2291         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
2292         Driver options.
2293
2294 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
2295
2296         PR c/47150
2297         * c-convert.c (convert): When converting a complex expression
2298         other than COMPLEX_EXPR to a different complex type, ensure
2299         c_save_expr is called instead of save_expr, unless in_late_binary_op.
2300         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
2301         when converting COMPLEX_TYPE.
2302
2303 2011-01-06  Ira Rosen  <irar@il.ibm.com>
2304
2305         PR tree-optimization/47139
2306         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
2307         only the last reduction value is used outside the loop.  Update
2308         documentation.
2309
2310 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
2311
2312         * config/rtems.opt: New.
2313         * config.gcc (*-*-rtems*): Use rtems.opt.
2314
2315 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
2316
2317         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
2318         processors do not support 3DNow instructions.
2319
2320 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2321
2322         * config/spu/spu.c (spu_option_override): Set parameter
2323         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
2324
2325 2011-01-05  Jan Hubicka  <jh@suse.cz>
2326
2327         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
2328         at the command line.
2329
2330 2011-01-05  Martin Jambor  <mjambor@suse.cz>
2331
2332         PR lto/47162
2333         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
2334         deltas on streamed outgoing edges.
2335         (output_node_opt_summary): Output info for outgoing edges only when
2336         the node is in new parameter set.
2337         (output_cgraph_opt_summary): New parameter set, passed to the two
2338         aforementioned functions.  Update its forward declaration and its
2339         callee too.
2340
2341 2011-01-05  Tom Tromey  <tromey@redhat.com>
2342
2343         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
2344         operator to c_finish_omp_atomic.
2345         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
2346         (build_unary_op): Update.
2347         (build_modify_expr): Update.
2348         (build_asm_expr): Update.
2349
2350 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2351
2352         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
2353         newly inserted insns.
2354         (pad_bb): Likewise.
2355         (spu_emit_branch_hint): Likewise.
2356         (insert_hbrp_for_ilb_runout): Likewise.
2357         (spu_machine_dependent_reorg): Call df_finish_pass after
2358         schedule_insns returns.
2359
2360 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2361
2362         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
2363
2364 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
2365
2366         PR tree-optimization/47005
2367         * tree-sra.c (struct access): Add 'non_addressable' bit.
2368         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
2369         (decide_one_param_reduction): Return 0 if the parameter is passed by
2370         reference and one of the accesses in the group is non_addressable.
2371
2372 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
2373
2374         PR tree-optimization/47056
2375         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
2376         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
2377         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
2378
2379 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
2380
2381         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
2382         initializer.  Skip view conversions from aggregate types.
2383
2384 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
2385
2386         PR bootstrap/47055
2387         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
2388
2389 2011-01-04  Philipp Thomas <pth@suse.de>
2390
2391         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
2392         obvious typo.
2393
2394 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2395
2396         * function.c (thread_prologue_and_epilogue_insns): Do not crash
2397         on empty epilogue sequences.
2398
2399 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
2400
2401         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
2402         non-static): New Driver options.
2403
2404 2011-01-04  Jie Zhang  <jie@codesourcery.com>
2405
2406         PR driver/47137
2407         * gcc.c (default_compilers[]): Set combinable field to 0
2408         for all assembly languages.
2409
2410 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
2411
2412         * config/mips/loongson3a.md: New file.
2413         * config/mips/mips.md: Include loongson3a.md.
2414         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
2415         TUNE_LOONGSON_3A.
2416
2417 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
2418
2419         PR middle-end/47017
2420         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
2421         instead of convert_memory_address_addr_space on the base expression.
2422
2423 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2424
2425         * config/spu/spu.c (spu_option_override): Update error text
2426         for bad -march= / -mtune= values.
2427
2428 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2429
2430         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
2431         if branch-hint optimization will be performed.
2432
2433 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
2434
2435         PR tree-optimization/47148
2436         * ipa-split.c (split_function): Convert arguments to
2437         DECL_ARG_TYPE if possible.
2438
2439         PR tree-optimization/47155
2440         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
2441         when computing uns.
2442
2443         PR rtl-optimization/47157
2444         * combine.c (try_combine): If undobuf.other_insn becomes
2445         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
2446         and set *new_direct_jump_p too.
2447
2448 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
2449
2450         PR tree-optimization/47021
2451         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
2452
2453 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
2454
2455         * gcc.c (process_command): Update copyright notice dates.
2456         * gcov.c (print_version): Likewise.
2457         * gcov-dump.c (print_version): Likewise.
2458         * mips-tfile.c (main): Likewise.
2459         * mips-tdump.c (main): Likewise.
2460
2461 2011-01-03  Martin Jambor  <mjambor@suse.cz>
2462
2463         PR tree-optimization/46801
2464         * tree-sra.c (type_internals_preclude_sra_p): Check whether
2465         aggregate fields start at byte boundary instead of the bit-field flag.
2466
2467 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
2468
2469         PR driver/47137
2470         * gcc.c (main): Revert revision 168407.
2471
2472 2011-01-03  Martin Jambor  <mjambor@suse.cz>
2473
2474         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
2475
2476 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2477
2478         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
2479         vector optab to expand vector/scalar shift, update gimple to vector.
2480
2481 2011-01-03  Martin Jambor  <mjambor@suse.cz>
2482
2483         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
2484         a thunk.
2485
2486 2011-01-03  Martin Jambor  <mjambor@suse.cz>
2487
2488         PR tree-optimization/46984
2489         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
2490         HOST_WIDE_INT.
2491         (cgraph_create_indirect_edge): Fixed line length.
2492         (cgraph_indirect_call_info): Declare.
2493         (cgraph_make_edge_direct) Update declaration.
2494         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
2495         (cgraph_create_indirect_edge): Use it.
2496         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
2497         callees.
2498         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
2499         the new thunk_delta representation.
2500         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
2501         HOST_WIDE_INT.
2502         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
2503         (ipa_read_indirect_edge_info): Likewise.
2504         * lto-cgraph.c (output_edge_opt_summary): New function.
2505         (output_node_opt_summary): Call it on all outgoing edges.
2506         (input_edge_opt_summary): New function.
2507         (input_node_opt_summary): Call it on all outgoing edges.
2508
2509 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
2510
2511         PR driver/47137
2512         * gcc.c (main): Don't check have_o when settting combine_inputs.
2513
2514 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
2515
2516         * regrename.c: Add general comment describing the pass.
2517         (struct du_head): Remove 'length' field.
2518         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
2519         (regrename_optimize): Do not sort chains.  Rework comments, add others.
2520         Force renaming to the preferred class (if any) in the first pass and do
2521         not consider registers that belong to it in the second pass.
2522         (create_new_chain): Do not set 'length' field.
2523         (scan_rtx_reg): Likewise.
2524
2525 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
2526
2527         PR tree-optimization/47140
2528         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
2529         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
2530         to bit_value_binop.
2531
2532         PR rtl-optimization/47028
2533         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
2534         parm_birth_insn instead of at the beginning of first bb.
2535
2536 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
2537
2538         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
2539         Remove the word "see" before "@pxref".
2540         * doc/rtl.texi: Remove the word "see" before "@pxref".
2541
2542 2011-01-01  Jan Hubicka  <jh@suse.cz>
2543
2544         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
2545         memory.
2546
2547 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
2548
2549         PR target/38662
2550         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
2551
2552 \f
2553 Copyright (C) 2011 Free Software Foundation, Inc.
2554
2555 Copying and distribution of this file, with or without modification,
2556 are permitted in any medium without royalty provided the copyright
2557 notice and this notice are preserved.