OSDN Git Service

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