OSDN Git Service

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