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