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