OSDN Git Service

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