OSDN Git Service

c4c7a13052c4473f5ea8d9476fdc2cdba487eb45
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
2             Jakub Jelinek  <jakub@redhat.com>
3
4         PR middle-end/47893
5         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
6         (assign_stack_local_1): Change last argument type to int.
7         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
8         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
9         don't record padding space into frame_space_list nor
10         use those areas.
11         (assign_stack_local): Adjust caller.
12         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
13         of assign_stack_local, pass 0 as last argument.
14         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
15         callers.
16
17 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
18
19         PR debug/47283
20         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
21         Use target address_mode and pointer_mode hooks instead of hardcoded
22         Pmode and ptr_mode.  Handle some simple cases of extending if
23         POINTERS_EXTEND_UNSIGNED < 0.
24         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
25         Call convert_debug_memory_address.
26         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
27         convert_debug_memory_address.
28
29         PR middle-end/46790
30         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
31         * configure: Regenerated.
32         * config.in: Regenerated.
33         * varasm.c (default_function_section): Return NULL
34         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit
35         section name.
36
37 2011-02-28  Martin Jambor  <mjambor@suse.cz>
38
39         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
40         the description to match the printed values.
41
42 2011-02-28  Richard Guenther  <rguenther@suse.de>
43
44         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
45         of the copied scope tree.
46
47 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48
49         * doc/extend.texi (Function Attributes): Avoid deeply (and
50         wrongly) nested tables.
51
52 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
53
54         PR middle-end/47903
55         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
56         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
57         r isn't op0 nor op1.
58
59 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
60
61         * config/avr/avr.md: Remove magic comment for emacs.
62
63 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
64
65         PR target/45261
66         * config/avr/avr.c (avr_option_override): Use error on bad options.
67         (avr_help): New function.
68         (TARGET_HELP): Define.
69
70 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
71
72         PR target/42240
73         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
74         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
75
76 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
77
78         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
79         (ARM Options): Ditto.
80         (i386 and x86-64 Options): Ditto.
81         (RX Options): Ditto.
82         (SPARC Options): Ditto.
83
84 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
85
86         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
87         FreeBSD 6 and later.  Generally use cpu generic.
88
89 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
90  
91         * doc/cpp.texi: Update copyright years.
92
93 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
94
95         PR target/46898
96         * config/lm32/lm32.md (ashrsi3): Added needed variable.
97
98 2011-02-25  Jon Beniston  <jon@beniston.com>
99
100         PR target/46898
101         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
102         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
103         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
104         (lm32_block_move_inline): Add type cast to remove warning.
105         (lm32_expand_prologue): Generate fp in a way compatible with
106         dwarf2out.
107         (gen_int_relational): Move declarations to start of function.
108
109 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
110
111         PR tree-optimization/45470
112         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
113         can throw internally only.
114         * tree-vect-stmts.c (vectorizable_call): Likewise.
115
116 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
117
118         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
119         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
120         * config/stormy16/stormy16-protos.h
121         (xstormy16_preferred_reload_class): Remove.
122         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
123         static. Change 'rclass' argument and return type to reg_class_t.
124         (TARGET_PREFERRED_RELOAD_CLASS,
125         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
126
127 2011-02-24  Richard Guenther  <rguenther@suse.de>
128
129         * lto-streamer-in.c (input_bb): Do not find referenced vars
130         in debug statements.
131
132 2011-02-23  Jason Merrill  <jason@redhat.com>
133
134         * common.opt (fabi-version): Document v5 and v6.
135
136 2011-02-23  Richard Guenther  <rguenther@suse.de>
137
138         PR tree-optimization/47849
139         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
140
141 2011-02-23  Jie Zhang  <jie@codesourcery.com>
142
143         * opts-common.c (decode_cmdline_option): Print empty string
144         argument as "" in decoded->orig_option_with_args_text.
145         * gcc.c (execute): Print empty string argument as ""
146         in the verbose output.
147         (do_spec_1): Keep empty string argument.
148
149 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
150
151         * config.gcc: Declare score-* and crx-* obsolete.
152
153 2011-02-23  Jie Zhang  <jie@codesourcery.com>
154
155         PR rtl-optimization/47763
156         * web.c (web_main): Ignore naked clobber when replacing register.
157
158 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
159
160         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
161         Remove.
162
163 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
164
165         PR doc/47848
166         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
167
168 2011-02-22  Mike Stump  <mikestump@comcast.net>
169
170         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
171         assembler.
172         * configure: Regenerate.
173
174 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
175
176         PR rtl-optimization/46002
177         * ira-color.c (update_copy_costs): Change class intersection
178         test to reg_class_contents[] test of 'hard_regno'.
179
180 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
181
182         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
183         than Driver option.
184         * config/hpux11.opt (mt): Likewise.
185         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
186         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
187         * config/vax/elf.opt (mno-asm-pic): Likewise.
188         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
189
190 2011-02-21  Mike Stump  <mikestump@comcast.net>
191
192         PR target/47822
193         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
194         tree so we can get save the type.
195         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
196         for CFString instead of trying to use past the end of the builtins.
197         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
198         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
199         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
200         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
201         Rename to darwin_builtin_cfstring.
202         (darwin_init_cfstring_builtins): Return the built type.
203
204 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
205
206         PR target/47840
207         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
208         (_mm256_insert_epi64): Use _mm_insert_epi64.
209
210 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
211
212         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
213         * config/stormy16/stormy16-protos.h
214         (xstormy16_mode_dependent_address_p): Remove.
215         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
216         Make static. Change return type to bool. Change argument type to
217         const_rtx. Remove dead code.
218         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
219
220 2011-02-21  Richard Guenther  <rguenther@suse.de>
221
222         PR lto/47820
223         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
224         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
225         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
226         TUs context.
227         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
228         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
229
230 2011-02-20  Richard Guenther  <rguenther@suse.de>
231
232         PR lto/47822
233         * tree.c (free_lang_data_in_decl): Clean builtins from
234         the TU decl BLOCK_VARS.
235
236 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
237
238         PR debug/47620
239         PR debug/47630
240         * haifa-sched.c (fix_tick_ready): Skip tick computation
241         for debug insns.
242
243 2011-02-19  Richard Guenther  <rguenther@suse.de>
244
245         PR lto/47647
246         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
247         Remove lazy BLOCK_VARS streaming.
248         (lto_input_ts_block_tree_pointers): Likewise.
249         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
250
251 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
252
253         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
254
255 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
256
257         * config/i386/biarch32.h, config/i386/mach.h,
258         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
259
260 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
261
262         PR target/47800
263         * config/i386/i386.md (peephole2 for shift and plus): Use
264         operands[1] original mode in the first insn.
265
266 2011-02-18  Mike Stump  <mikestump@comcast.net>
267
268         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
269
270 2011-02-18  Jan Hubicka  <jh@suse.cz>
271
272         PR middle-end/47788
273         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
274         to zero when the function is not inlinable at all.
275
276 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
277
278         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
279         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
280         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
281         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
282         * config/pa/t-pa64: Likewise.
283         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
284
285 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
286
287         PR driver/47787
288         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
289
290 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
291
292         PR target/47792
293         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
294
295 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
296
297         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
298         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
299         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
300         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
301         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
302         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
303         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
304         m32r_load_postinc_p, m32r_store_preinc_predec_p,
305         m32r_legitimate_address_p): New functions.
306         * config/m32r/constraints.md (constraint "S"): Don't use
307         STORE_PREINC_PREDEC_P.
308         (constraint "U"): Don't use LOAD_POSTINC_P.
309
310 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
311
312         PR rtl-optimization/46178
313         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
314         compute ira_hard_regno_cover_class[].
315
316 2011-02-18  Richard Guenther  <rguenther@suse.de>
317
318         PR lto/47798
319         * lto-streamer.h (lto_global_var_decls): Declare.
320         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
321         statics for global var processing.
322
323 2011-02-18  Richard Guenther  <rguenther@suse.de>
324
325         PR tree-optimization/47737
326         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
327         edge dominance check.
328
329 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
330
331         PR debug/47780
332         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
333         avoid invalid rtx sharing.
334
335 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
336
337         * doc/cpp.texi (Obsolete Features): Add background on the
338         origin of assertions.
339
340 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
341
342         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
343         objc_abi == 2.
344         * config/darwin.c (output_objc_section_asm_op): Added support for
345         ABI v1 and v2.
346         (is_objc_metadata): New.
347         (darwin_objc2_section): New.
348         (darwin_objc1_section): New.
349         (machopic_select_section): Added support for ABI v1 and v2.
350         (darwin_emit_objc_zeroed): New.
351         (darwin_output_aligned_bss): Detect objc metadata and treat it
352         appropriately.
353         (darwin_asm_output_aligned_decl_common): Same.
354         (darwin_asm_output_aligned_decl_local): Same.
355         * config/darwin-sections.def: Updated for ABI v1 and v2.
356         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
357         compiling Objective-C code for the NeXT runtime, default to using
358         ABI version 0 for 32-bit, and version 2 for 64-bit.
359
360 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
361
362         * common.opt (optimize_fast): New Variable.
363         * opts.c (default_options_optimization): Use opts->x_optimize_fast
364         instead of local variable ofast.
365
366 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
367
368         * doc/invoke.texi (fobjc-abi-version): Documented.
369         (fobjc-nilcheck): Documented.
370         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
371         version.
372
373 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
374
375         PR driver/47390
376         * common.opt (export-dynamic): New Driver option.
377         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
378
379 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
380
381         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
382
383 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
384             Jan Hubicka  <jh@suse.cz>
385
386         PR debug/47106
387         PR debug/47402
388         * cfgexpand.c (account_used_vars_for_block): Remove.
389         (estimated_stack_frame_size): Use referenced vars.
390         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
391         that were referenced in the original function.  Test src_fn
392         rather than cfun.  Drop redundant get_var_ann.
393         (setup_one_parameter): Drop redundant get_var_ann.
394         (declare_return_variable): Likewise.
395         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
396         (copy_arguments_for_versioning): Drop redundant get_var_ann.
397         * ipa-inline.c (compute_inline_parameters): Do not compute
398         disregard_inline_limits here.
399         (compute_inlinable_for_current, pass_inlinable): New.
400         (pass_inline_parameters): Require PROP_referenced_vars.
401         * cgraphunit.c (cgraph_process_new_functions): Don't run
402         compute_inline_parameters explicitly unless function is in SSA form.
403         (cgraph_analyze_function): Set .disregard_inline_limits.
404         * tree-sra.c (convert_callers): Compute inliner parameters
405         only for functions already in SSA form.
406
407 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
408
409         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
410         -mlittle-endian-data.
411
412 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
413
414         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
415         -mno-fpu, not -fpu and -no-fpu.
416         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
417         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
418
419 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
420
421         PR target/43653
422         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
423         input reload with PLUS RTX.
424
425 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
426
427         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
428         of InverseVar(MDMX).
429
430 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
431
432         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
433         --m4-340.
434
435 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
436
437         * config/mn10300/mn10300.opt (mno-crt0): New.
438
439 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
440
441         * config/m68k/uclinux.opt (static-libc): New Driver option.
442
443 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
444
445         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
446
447 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
448
449         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
450         %{muser-extend-enabled}.
451
452 2011-02-16  Richard Guenther  <rguenther@suse.de>
453
454         PR tree-optimization/47738
455         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
456         the TODO from tree_predictive_commoning.
457
458 2011-02-15  Jeff Law  <law@redhat.com>
459
460         Revert
461         2011-01-25  Jeff Law  <law@redhat.com>
462
463         PR rtl-optimization/37273
464         * ira-costs.c (scan_one_insn): Detect constants living in memory and
465         handle them like argument loads from stack slots.  Do not double
466         count memory for memory constants and argument loads from stack slots.
467
468 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
469
470         PR middle-end/47725
471         * combine.c (cant_combine_insn_p): Revert the last change.
472
473 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
474
475         PR target/47755
476         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
477         mode for vector constants.  Remove code that checks for TImode.
478
479 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
480
481         PR debug/47106
482         PR debug/47402
483         * cgraph.h (compute_inline_parameters): Return void.
484         * ipa-inline.c (compute_inline_parameters): Adjust.
485
486 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
487
488         PR debug/47106
489         PR debug/47402
490         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
491         rather than decl.
492         * cfgexpand.c (estimated_stack_frame_size): Likewise.
493         * ipa-inline.c (compute_inline_parameters): Adjust.
494
495 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
496
497         PR debug/47106
498         PR debug/47402
499         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
500         Adjust all users.  Pass FN to...
501         * tree-flow-inline.h (first_referenced_var): ... this.  Add
502         fn argument.
503         * ipa-struct-reorg.c: Adjust.
504         * tree-dfa.c: Adjust.
505         * tree-into-ssa.c: Adjust.
506         * tree-sra.c: Adjust.
507         * tree-ssa-alias.c: Adjust.
508         * tree-ssa-live.c: Adjust.
509         * tree-ssa.c: Adjust.
510         * tree-ssanames.c: Adjust.
511         * tree-tailcall.c: Adjust.
512
513 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
514
515         PR debug/47106
516         PR debug/47402
517         * tree-flow.h (referenced_var_lookup): Add fn parameter.
518         Adjust all callers.
519         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
520         * tree-flow-inline.h: Adjust.
521         * gimple-pretty-print.c: Adjust.
522         * tree-into-ssa.c: Adjust.
523         * tree-ssa.c: Adjust.
524         * cfgexpand.c: Adjust.
525
526 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
527
528         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
529         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
530         (EXTRA_CONSTRAINT): Delete.
531         * config/iq2000/constraints.md: New file.
532         * config/iq2000/iq2000.md: Include it.
533         (define_insn ""): Delete.
534         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
535         unsupported constraint letters from patterns.
536         (call_value, call_value_internal1): Likewise.
537         (call_value_multiple_internal1): Likewise.
538
539 2011-02-15  Nick Clifton  <nickc@redhat.com>
540
541         * config/mn10300/mn10300.c: Include tm-constrs.h.
542         (struct liw_data): New data structure describing an LIW candidate
543         instruction.
544         (extract_bundle): Use struct liw_data.  Allow small integer
545         operands for some instructions.
546         (check_liw_constraints): Use struct liw_data.  Remove swapped
547         parameter.  Add comments describing the checks.  Fix bug when
548         assigning the source of liw1 to the source of liw2.
549         (liw_candidate): Delete.  Code moved into extract_bundle.
550         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
551         before swapping.
552         * config/mn10300/predicates.md (liw_operand): New predicate.
553         Allows registers and small integer constants.
554         * config/mn10300/constraints.md (O): New constraint.  Accetps
555         integers in the range -8 to +7 inclusive.
556         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
557         for moving a small integer into a register.  Give this alternative
558         LIW attributes.
559         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
560         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
561         using the J,K,L and M constraints,
562         (liw): Remove SI mode on second operands to allow for HI and QI
563         mode values.
564         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
565         instruction.
566
567 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
568
569         PR middle-end/47725
570         * combine.c (cant_combine_insn_p): Check zero/sign extended
571         hard registers.
572
573 2011-02-15  Richard Guenther  <rguenther@suse.de>
574
575         PR tree-optimization/47743
576         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
577         for a non-type-compatible VN lookup bail out.
578
579 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
580
581         * config/fr30/constraints.md: New file.
582         * config/fr30/fr30.md: Include it.
583         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
584         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
585         (EXTRA_CONSTRAINT): Delete.
586
587 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
588
589         * config/frv/constraints.md: New file.
590         * config/frv/predicates.md: Include it.
591         * config/frv/frv.c (reg_class_from_letter): Delete.
592         (frv_option_override): Don't initialize it.
593         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
594         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
595         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
596         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
597         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
598         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
599         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
600         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
601         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
602         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
603         (REG_CLASS_FROM_CONSTRAINT): Delete.
604
605 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
606
607         PR middle-end/47581
608         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
609         if frame size is 0 in a leaf function.
610
611 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
612
613         PR pch/14940
614         * config/alpha/host-osf.c: New file.
615         * config/alpha/x-osf: New file.
616         * config.host (alpha*-dec-osf*): Use it.
617
618 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
619
620         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
621         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
622         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
623         (rx_mode_dependent_address_p): ...this. Make static. Change argument
624         type to const_rtx.
625         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
626
627 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
628
629         * config/stormy16/constraints.md: New file.
630         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
631         Use satisfies_constraint_Q and satisfies_constraint_R.
632         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
633         Delete.
634         (xstormy16_legitiamte_address_p): Declare.
635         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
636         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
637         (EXTRA_CONSTRAINT): Delete.
638         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
639         Un-staticize.
640         (xstormy16_extra_constraint_p): Delete.
641
642 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
643
644         PR tree-optimization/46494
645         * loop-unroll.c (split_edge_and_insert): Adjust comment.
646         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
647         (pass_rtl_loop_done): Add TODO_verify_flow.
648         * fwprop.c (pass_rtl_fwprop): Likewise.
649         * modulo-sched.c (pass_sms): Likewise.
650         * tree-ssa-dom.c (pass_dominator): Likewise.
651         * tree-ssa-loop-ch.c (pass_ch): Likewise.
652         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
653         (pass_tree_loop_done): Likewise.
654         * tree-ssa-pre.c (execute_pre): Likewise.
655         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
656         * tree-ssa-sink.c (pass_sink_code): Likewise.
657         * tree-vrp.c (pass_vrp): Likewise.
658
659 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
660
661         * config/v850/constraints.md: New file.
662         * config/v850/v850.md: Include it.
663         * config/v850/predicates.md (reg_or_0_operand): Use
664         satisfies_constraint_G.
665         (special_symbolref_operand): Use satisfies_constraint_K.
666         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
667         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
668         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
669         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
670         (EXTRA_CONSTRAINT): Delete.
671         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
672         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
673         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
674
675 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
676
677         PR target/47696
678         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
679         description.
680
681 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
682
683         * config/mcore/constraints.md: New file.
684         * config/mcore/mcore.md: Include it.
685         * config/mcore/mcore.c (reg_class_from_letter): Delete.
686         * config/mcore/mcore.h (reg_class_from_letter): Delete.
687         (REG_CLASS_FROM_LETTER): Delete.
688         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
689         insn_const_int_ok_for_constraint.
690         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
691         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
692         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
693         (EXTRA_CONSTRAINT): Delete.
694
695 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
696
697         PR ada/41929
698         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
699         (IS_SIGHANDLER): Define.
700         (sparc64_is_sighandler): New function, split off from
701         sparc64_fallback_frame_state.
702         (sparc_is_sighandler): New function, split off from
703         sparc_fallback_frame_state.
704         (sparc64_fallback_frame_state): Merge with ...
705         (sparc_fallback_frame_state): ... this into ...
706         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
707         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
708         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
709         stack instead of hardcoded offsets.
710
711 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
712
713         * go/gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
714
715 2011-02-14  Andriy Gapon  <avg@freebsd.org>
716
717         PR target/45808
718         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
719
720 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
721
722         * configure: Regenerate.
723
724 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
725
726         PR driver/45731
727         * gcc.c (asm_options): Correct spec matching --target-help.
728
729 2011-02-12  Martin Jambor  <mjambor@suse.cz>
730
731         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
732         to gimple call error.
733
734 2011-02-12  Mike Stump  <mikestump@comcast.net>
735
736         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
737         comments in backslash regions.
738
739 2011-02-12  Mike Stump  <mikestump@comcast.net>
740             Jakub Jelinek  <jakub@redhat.com>
741             Iain Sandoe  <iains@gcc.gnu.org>
742
743         PR target/47324
744         * dwarf2out.c (output_cfa_loc): When required, apply the
745         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
746         (output_loc_sequence): Likewise.
747         (output_loc_operands_raw): Likewise.
748         (output_loc_sequence_raw): Likewise.
749         (output_cfa_loc): Likewise.
750         (output_loc_list): Suppress register number adjustment when
751         calling output_loc_sequence()
752         (output_die): Likewise.
753
754 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
755
756         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
757         Remove macros.
758         * config/xtensa/xtensa.c (xtensa_register_move_cost,
759         xtensa_memory_move_cost): New functions.
760         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
761
762 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
763
764         PR lto/47225
765         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
766         in the current directory.
767         * configure: Rebuilt.
768
769 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
770
771         * config/darwin.c (darwin_override_options): Add a hunk missed
772         from the commit of r168571.  Trim comment line lengths and
773         correct indents of the preceding block.
774
775 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
776
777         * gcc.c (driver_handle_option): Concatenate the argument to -F with
778         the switch.
779
780 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
781
782         * common.opt (nostartfiles): New Driver option.
783
784 2011-02-11  Xinliang David Li  <davidxl@google.com>
785
786         PR tree-optimization/47707
787         * tree-chrec.c (convert_affine_scev): Keep type precision.
788
789 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
790
791         PR tree-optimization/47420
792         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
793
794 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
795
796         PR rtl-optimization/47614
797         * rtl.h (check_for_inc_dec): Declare.
798         * dse.c (check_for_inc_dec): Externalize...
799         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
800         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
801
802 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
803
804         PR driver/47678
805         * gcc.c (main): Do not compile inputs if there were errors in
806         option handling.
807         * opts-common.c (read_cmdline_option): Check for wrong language
808         after other error checks.
809
810 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
811
812         * cgraph.c: Fix comment typos.
813         * cgraph.h: Likewise.
814         * cgraphunit.c: Likewise.
815         * ipa-cp.c: Likewise.
816         * ipa-inline.c: Likewise.
817         * ipa-prop.c: Likewise.
818         * ipa-pure-const.c: Likewise.
819         * ipa-ref.c: Likewise.
820         * ipa-reference.c: Likewise.
821
822 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
823
824         PR debug/47684
825         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
826
827 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
828
829         PR testsuite/47400
830         * doc/sourcebuild.texi (Require Support): Document
831         dg-require-ascii-locale.
832
833 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
834
835         * doc/lto.texi (Write summary): Fix missing parentheses.
836
837 2011-02-10  DJ Delorie  <dj@redhat.com>
838
839         * config/m32c/m32c.c (m32c_option_override): Disable
840         -fcombine-stack-adjustments until flag value tracking and compare
841         optimization can be rewritten.
842
843 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
844
845         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
846         PROCESSOR_POWER7.
847         (PROCESSOR_DEFAULT64): Likewise.
848
849 2011-02-10  Richard Henderson  <rth@redhat.com>
850
851         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
852         change from 2011-02-03.
853         * config/rx/rx.c (flags_from_code): Likewise.
854         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
855         is valid, n/pz otherwise.
856         (rx_select_cc_mode): Return CCmode if Y is not zero.
857
858 2011-02-10  Richard Guenther  <rguenther@suse.de>
859
860         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
861
862 2011-02-10  Richard Guenther  <rguenther@suse.de>
863
864         PR tree-optimization/47677
865         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
866
867 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
868
869         PR target/47665
870         * combine.c (make_compound_operation): Only change shifts into
871         multiplication for SCALAR_INT_MODE_P.
872
873 2011-02-10  Jie Zhang  <jie@codesourcery.com>
874
875         PR testsuite/47622
876         Revert
877         2011-02-05  Jie Zhang  <jie@codesourcery.com>
878         PR debug/42631
879         * web.c (entry_register): Don't clobber the number of the
880         first uninitialized reference in used[].
881
882 2011-02-09  Richard Guenther  <rguenther@suse.de>
883
884         PR tree-optimization/47664
885         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
886         all edges again.
887
888 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
889
890         PR target/46481
891         PR target/47032
892         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
893         PROCESSOR_POWER7.
894         (PROCESSOR_DEFAULT64): Same.
895         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
896
897 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
898
899         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
900
901 2011-02-09  Martin Jambor  <mjambor@suse.cz>
902
903         PR middle-end/45505
904         * tree-sra.c (struct access): New flags grp_scalar_read and
905         grp_scalar_write.  Changed description of assignment read and write
906         flags.
907         (dump_access): Dump new flags, reorder all of them.
908         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
909         to detect multiple scalar reads.
910         (analyze_access_subtree): Use the new scalar read write flags instead
911         of the old flags.  Adjusted comments.
912
913 2011-02-08  DJ Delorie  <dj@redhat.com>
914
915         PR target/47548
916         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
917         patterns.
918
919 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
920
921         * config/m68k/uclinux.opt: New.
922         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
923
924 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
925
926         * config/cris/elf.opt (sim): New Driver option.
927
928 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
929
930         * config/xtensa/elf.opt: New.
931         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
932
933 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
934
935         * config/vax/elf.opt: New.
936         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
937
938 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
939
940         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
941
942 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
943
944         * config/gnu-user.opt: New.
945         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
946         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
947         *-*-uclinux*): Use gnu-user.opt.
948
949 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
950
951         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
952         * config/i386/gnu.h (CPP_SPEC): Likewise.
953
954 2011-02-08  Ian Lance Taylor  <iant@google.com>
955
956         * common.opt (fcx-limited-range): Add SetByCombined flag.
957         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
958         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
959         (fassociative-math, freciprocal-math): Likewise.
960         (funsafe-math-optimizations): Likewise.
961         * opth-gen.awk: Handle SetByCombined.
962         * optc-gen.awk: Likewise.
963         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
964         (set_unsafe_math_optimizations_flags): Likewise.
965         * doc/options.texi (Option properties): Document SetByCombined.
966
967 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
968
969         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
970         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
971         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
972         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
973         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
974
975 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
976
977         PR tree-optimization/46834
978         PR tree-optimization/46994
979         PR tree-optimization/46995
980         * graphite-sese-to-poly.c (used_outside_reduction): New.
981         (detect_commutative_reduction): Call used_outside_reduction.
982         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
983         translate_scalar_reduction_to_array only when at least one
984         loop-phi/close-phi tuple has been detected.
985
986 2011-02-08  Richard Guenther  <rguenther@suse.de>
987
988         PR middle-end/47639
989         * tree-vect-generic.c (expand_vector_operations_1): Update
990         stmts here ...
991         (expand_vector_operations): ... not here.  Cleanup EH info
992         and the CFG if required.
993
994 2011-02-08  Richard Guenther  <rguenther@suse.de>
995
996         PR tree-optimization/47641
997         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
998         require type compatibility.
999
1000 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1001
1002         * gimple-low.c (lower_function_body): Don't remove the location of
1003         the return statement here.
1004         (lower_gimple_return): Do it here instead but only if the return
1005         statement is actually used twice.
1006
1007 2011-02-08  Richard Guenther  <rguenther@suse.de>
1008
1009         PR tree-optimization/47632
1010         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
1011         unused up_to_stmt parameter, return whether cfg-cleanup is
1012         necessary, remove EH info properly.
1013         (forward_propagate_into_gimple_cond): Adjust caller.
1014         (forward_propagate_into_cond): Likewise.
1015         (forward_propagate_comparison): Likewise.
1016         (tree_ssa_forward_propagate_single_use_vars): Make
1017         forward_propagate_comparison case similar to the two others.
1018
1019 2011-02-08  Nick Clifton  <nickc@redhat.com>
1020
1021         * config/mn10300/mn10300.opt (mliw): New command line option.
1022         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
1023         (liw_bundling): New automaton.
1024         (liw): New attribute.
1025         (liw_op): New attribute.
1026         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
1027         (movsi_internal): Add LIW attributes.
1028         (andsi3): Likewise.
1029         (iorsi3): Likewise.
1030         (xorsi3): Likewise.
1031         (addsi3): Separate register and immediate alternatives.
1032         Add LIW attributes.
1033         (subsi3): Likewise.
1034         (cmpsi): Likewise.
1035         (aslsi3): Likewise.
1036         (lshrsi3): Likewise.
1037         (ashrsi3): Likewise.
1038         (liw): New pattern.
1039         * config/mn10300/mn10300.c (liw_op_names): New
1040         (mn10300_print_operand): Handle 'W' operand descriptor.
1041         (extract_bundle): New function.
1042         (check_liw_constraints): New function.
1043         (liw_candidate): New function.
1044         (mn10300_bundle_liw): New function.
1045         (mn10300_reorg): New function.
1046         (TARGET_MACHINE_DEPENDENT_REORG): Define.
1047         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
1048         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
1049         __LIW__ or __NO_LIW__.
1050         * doc/invoke.texi: Describe the -mliw command line option.
1051
1052 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1053
1054         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
1055         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1056         pthread_mutex_unlock): Remove.
1057         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
1058         * config/pa/t-pa64: Likewise.
1059         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
1060         shared libc if not linking against libpthread.
1061         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
1062
1063 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
1064
1065         PR target/47558
1066         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
1067         on 10.6 and later to ensure that we always use the unwinder from
1068         the system.  Only add -no_compact_unwind when tarteting darwin
1069         10.6 or later.
1070
1071 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
1072
1073         PR target/46997
1074         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
1075         (vec_interleave_lowv2sf): Ditto.
1076         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
1077         (vec_extract_oddv2sf): Ditto.
1078
1079 2011-02-07  Mike Stump  <mikestump@comcast.net>
1080
1081         PR target/42333
1082         Add __ieee_divdc3 entry point.
1083         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
1084         entry point.
1085         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
1086         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
1087         * config/darwin.c (darwin_rename_builtins): Add.
1088         * config/darwin-protos.h (darwin_rename_builtins): Add.
1089
1090 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
1091
1092         PR target/47636
1093         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
1094         for the condition.
1095
1096 2011-02-07  Mike Stump  <mikestump@comcast.net>
1097
1098         * config/darwin.opt (mmacosx-version-min): Update default OS version.
1099
1100 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
1101
1102         PR target/47534
1103         * config/avr/libgcc.S (exit): Move .endfunc
1104
1105 2011-02-07  Richard Guenther  <rguenther@suse.de>
1106
1107         PR tree-optimization/47615
1108         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
1109         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
1110         (run_scc_vn): Initialize it.
1111         (visit_reference_op_load): Use it.
1112         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
1113
1114 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1115
1116         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
1117         DImode trapping arithmetic libfuncs.
1118
1119 2011-02-07  Richard Guenther  <rguenther@suse.de>
1120
1121         PR tree-optimization/47621
1122         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
1123         two duplicates ...
1124         (execute_update_addresses_taken): ... here.  Make it more
1125         conservative in what we accept.
1126
1127 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
1128
1129         * config/sparc/freebsd.h (ASM_SPEC): Define.
1130         * config/sparc/vxworks.h (ASM_SPEC): Define.
1131
1132 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
1133
1134         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
1135
1136 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
1137
1138         * doc/invoke.texi: Remove reference to compiler internals from
1139         user documentation.
1140
1141         * reg-notes.def: Remove REG_VALUE_PROFILE.
1142         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
1143
1144 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
1145
1146         PR middle-end/47610
1147         * varasm.c (default_section_type_flags): If decl is NULL,
1148         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
1149
1150 2011-02-05  Jie Zhang  <jie@codesourcery.com>
1151
1152         PR debug/42631
1153         * web.c (entry_register): Don't clobber the number of the
1154         first uninitialized reference in used[].
1155
1156 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
1157
1158         PR tree-optimization/46194
1159         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
1160         (build_classic_dist_vector_1): Do not represent classic distance
1161         vectors when the access functions are variating in different loops.
1162
1163 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1164
1165         * config/mips/iris6.opt: New.
1166         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
1167
1168 2011-02-04  Richard Henderson  <rth@redhat.com>
1169             Steve Ellcey  <sje@cup.hp.com>
1170
1171         PR target/46997
1172         * config/ia64/predicates.md (mux1_brcst_element): New.
1173         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
1174         * config/ia64/ia64.c (ia64_unpack_assemble): New.
1175         (ia64_unpack_sign): New.
1176         (ia64_expand_unpack): Rewrite using new routines.
1177         (ia64_expand_widen_sum): Ditto.
1178         (ia64_expand_dot_prod_v8qi): Ditto.
1179         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
1180         routines, add endian check.
1181         (pmpy2_even): Rename from pmpy2_r, add endian check.
1182         (pmpy2_odd): Rename from pmpy2_l, add endian check.
1183         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
1184         (vec_widen_smult_hi_v4hi): Ditto.
1185         (vec_widen_umult_lo_v4hi): Ditto.
1186         (vec_widen_umult_hi_v4hi): Ditto.
1187         (mulv2si3): Change endian checks.
1188         (sdot_prodv4hi): Rewrite with new calls.
1189         (udot_prodv4hi): New.
1190         (vec_pack_ssat_v4hi): Add endian check.
1191         (vec_pack_usat_v4hi): Ditto.
1192         (vec_pack_ssat_v2si): Ditto.
1193         (max1_even): Rename from max1_r, add endian check.
1194         (max1_odd): Rename from max1_l, add endian check.
1195         (*mux1_rev): Format change.
1196         (*mux1_mix): Ditto.
1197         (*mux1_shuf): Ditto.
1198         (*mux1_alt): Ditto.
1199         (*mux1_brcst_v8qi): Use new predicate.
1200         (vec_extract_evenv8qi): Remove endian check.
1201         (vec_extract_oddv8qi): Ditto.
1202         (vec_interleave_lowv4hi): Format change.
1203         (vec_interleave_highv4hi): Ditto.
1204         (mix2_even): Rename from mix2_r, add endian check.
1205         (mix2_odd): Rename from mux2_l, add endian check.
1206         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
1207         (vec_extract_evenodd_helper): Format change.
1208         (vec_extract_evenv4hi): Remove endian check.
1209         (vec_extract_oddv4hi): Remove endian check.
1210         (vec_interleave_lowv2si): Format change.
1211         (vec_interleave_highv2si): Format change.
1212         (vec_initv2si): Remove endian check.
1213         (vecinit_v2si): Add endian check.
1214         (reduc_splus_v2sf): Add endian check.
1215         (reduc_smax_v2sf): Ditto.
1216         (reduc_smin_v2sf): Ditto.
1217         (vec_initv2sf): Remove endian check.
1218         (fpack): Add endian check.
1219         (fswap): Add endian check.
1220         (vec_interleave_highv2sf): Add endian check.
1221         (vec_interleave_lowv2sf): Add endian check.
1222         (fmix_lr): Add endian check.
1223         (vec_setv2sf): Format change.
1224         (*vec_extractv2sf_0_be): Use shift to extract operand.
1225         (*vec_extractv2sf_1_be): New.
1226         (vec_pack_trunc_v4hi): Add endian check.
1227         (vec_pack_trunc_v2si): Format change.
1228
1229 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
1230
1231         PR inline-asm/23200
1232         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
1233         do bb, locus and block comparison and disallow loads if it is not set.
1234         (stmt_is_replaceable_p): New function.
1235         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
1236         callers.
1237         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
1238         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
1239         SSA_NAME_DEF_STMT.
1240         * tree-flow.h (stmt_is_replaceable_p): New prototype.
1241
1242 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1243
1244         * config/rs6000/xilinx.opt: New.
1245         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
1246
1247 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1248
1249         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
1250
1251 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
1252
1253         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
1254         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1255         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
1256         secondary_reload_info, xtensa_secondary_reload): Remove.
1257         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
1258         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1259         (xtensa_preferred_reload_class): Make static. Change return and
1260         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
1261         Use CONST_DOUBLE_P predicate.
1262         (xtensa_preferred_output_reload_class): New function.
1263         (xtensa_secondary_reload): Make static.
1264
1265 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
1266
1267         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
1268         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
1269         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
1270
1271 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1272
1273         PR middle-end/31490
1274         * output.h (SECTION_RELRO): Define.
1275         (SECTION_MACH_DEP): Adjust.
1276         (get_variable_section): New prototype.
1277         * varpool.c (varpool_finalize_named_section_flags): New function.
1278         (varpool_assemble_pending_decls): Call it.
1279         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
1280         * cgraphunit.c (cgraph_output_in_order): Call
1281         varpool_finalize_named_section_flags.
1282         * varasm.c (get_section): Allow section flags conflicts between
1283         relro and read-only sections if the section hasn't been declared yet.
1284         Set SECTION_OVERRIDE after diagnosing section type conflict.
1285         (get_variable_section): No longer static.
1286         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
1287         readonly sections that need relocations.
1288         (decl_readonly_section_1): New function.
1289         (decl_readonly_section): Use it.
1290
1291         Revert:
1292         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
1293                     Steve Ellcey  <sje@cup.hp.com>
1294
1295         PR middle-end/31490
1296         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
1297         if section attribute used.
1298
1299 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1300
1301         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
1302         * config/darwin.c (SECTION_NO_ANCHOR): Define.
1303         (darwin_init_sections): Remove assertion.
1304
1305 2011-02-03  Nick Clifton  <nickc@redhat.com>
1306
1307         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
1308         lt and ge.
1309         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
1310         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
1311         instead of "n" and "pz".
1312         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
1313         CC_FLAG_S.
1314
1315 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1316
1317         PR target/47312
1318         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
1319         fma, expand FMA_EXPR as fma{,f,l} call.
1320
1321         PR lto/47274
1322         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
1323         copy them into a unsigned char variable and pass address of it to
1324         lto_output_data_stream.
1325
1326         PR target/47564
1327         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
1328         around backend_init_target and lang_dependent_init_target calls.
1329         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
1330         (verify_cgraph_node): Don't call set_cfun here.  Use
1331         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
1332         Set error_found for incorrectly represented calls to thunks.
1333
1334 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
1335
1336         PR debug/43092
1337         PR rtl-optimization/43494
1338         * rtl.h (for_each_inc_dec_fn): New type.
1339         (for_each_inc_dec): Declare.
1340         * rtlanal.c (struct for_each_inc_dec_ops): New type.
1341         (for_each_inc_dec_find_inc_dec): New fn.
1342         (for_each_inc_dec_find_mem): New fn.
1343         (for_each_inc_dec): New fn.
1344         * dse.c (struct insn_size): Remove.
1345         (replace_inc_dec, replace_inc_dec_mem): Remove.
1346         (emit_inc_dec_insn_before): New fn.
1347         (check_for_inc_dec): Use it, along with for_each_inc_dec.
1348         (canon_address): Pass mem modes to cselib_lookup.
1349         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
1350         (cselib_lookup_from_insn): Likewise.
1351         (cselib_subst_to_values): Likewise.
1352         * cselib.c (find_slot_memmode): New var.
1353         (cselib_find_slot): New fn.  Use it instead of
1354         htab_find_slot_with_hash everywhere.
1355         (entry_and_rtx_equal_p): Use find_slot_memmode.
1356         (autoinc_split): New fn.
1357         (rtx_equal_for_cselib_p): Rename and implement in terms of...
1358         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
1359         Deal with autoinc.  Special-case recursion into MEMs.
1360         (cselib_hash_rtx): Likewise.
1361         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
1362         address and MEM modes.
1363         (cselib_subst_to_values): Add memmode, pass it on.
1364         Deal with autoinc.
1365         (cselib_lookup): Add memmode argument, pass it on.
1366         (cselib_lookup_from_insn): Add memmode.
1367         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
1368         (struct cselib_record_autoinc_data): New.
1369         (cselib_record_autoinc_cb): New fn.
1370         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
1371         mode to cselib_lookup.  Reset autoinced REGs here instead of...
1372         (cselib_process_insn): ... here.
1373         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
1374         to cselib_lookup.
1375         (add_uses): Likewise, also to cselib_subst_to_values.
1376         (add_stores): Likewise.
1377         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
1378         cselib_subst_to_values.
1379         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
1380         * gcse.c (do_local_cprop): Adjusted.
1381         * postreload.c (reload_cse_simplify_set): Adjusted.
1382         (reload_cse_simplify_operands): Adjusted.
1383         * sel-sched-dump (debug_mem_addr_value): Pass mode.
1384
1385 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
1386
1387         PR tree-optimization/45122
1388         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
1389         unsafe assumptions when there's more than one loop exit.
1390
1391 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
1392
1393         PR target/47272
1394         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1395         Document using vector double with the load/store builtins, and
1396         that the load/store builtins always use Altivec instructions.
1397
1398         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
1399         to use altivec memory instructions, even on VSX.
1400         (vector_altivec_store_<mode>): Ditto.
1401
1402         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
1403         function.
1404
1405         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1406         V2DF, V2DI support to load/store overloaded builtins.
1407
1408         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
1409         altivec load/store builtins for V2DF/V2DI types.
1410
1411         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1412         set avoid indexed addresses on power6 if -maltivec.
1413         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
1414         vector_altivec_load/vector_altivec_store builtins.
1415         (altivec_expand_st_builtin): Ditto.
1416         (altivec_expand_builtin): Add VSX memory builtins.
1417         (rs6000_init_builtins): Add V2DI types to internal types.
1418         (altivec_init_builtins): Add support for V2DF/V2DI altivec
1419         load/store builtins.
1420         (rs6000_address_for_altivec): Insure memory address is appropriate
1421         for Altivec.
1422
1423         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
1424         vec_vsx_ld and vec_vsx_st.
1425         (vsx_store_<mode>): Ditto.
1426
1427         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
1428         variables to hold long long types for VSX vector memory builtins.
1429         (RS6000_BTI_unsigned_long_long): Ditto.
1430         (long_long_integer_type_internal_node): Ditti.
1431         (long_long_unsigned_type_internal_node): Ditti.
1432
1433         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
1434         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
1435         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
1436
1437         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
1438         short cuts.
1439         (vec_vsx_st): Ditto.
1440
1441 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1442
1443         * config/pa/pa-hpux10.opt: New.
1444         * config/hpux11.opt (pthread): New Driver option.
1445         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
1446         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
1447
1448 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1449
1450         * config/ia64/vms.opt: New.
1451         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
1452
1453 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
1454
1455         PR target/47580
1456         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
1457         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
1458         generator functions.
1459         (vsx_floatuns<VSi><mode>2): Ditto.
1460         (vsx_fix_trunc<mode><VSi>2): Ditto.
1461         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
1462
1463 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1464
1465         * config/i386/djgpp.opt (posix): New Driver option.
1466
1467 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
1468
1469         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
1470         Move to the unsupported targets list.
1471
1472 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
1473
1474         PR rtl-optimization/47525
1475         * df-scan.c: Update copyright years.
1476         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
1477         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
1478
1479 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1480
1481         * config/i386/sysv4.h (TARGET_VERSION): Remove.
1482         (SUBTARGET_RETURN_IN_MEMORY): Remove.
1483         (ASM_OUTPUT_ASCII): Remove.
1484         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
1485
1486 2011-02-02  Jeff Law  <law@redhat.com>
1487
1488         PR middle-end/47543
1489         * reload.c (find_reloads_address): Handle reg+d address where both
1490         components are invalid by reloading the entire address.
1491
1492 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
1493             Richard Guenther  <rguenther@suse.de>
1494
1495         PR tree-optimization/40979
1496         PR bootstrap/47044
1497         * passes.c (init_optimization_passes): After LIM call copy_prop
1498         and DCE to clean up.
1499         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
1500
1501 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
1502
1503         PR tree-optimization/47576
1504         PR tree-optimization/47555
1505         * doc/invoke.texi (scev-max-expr-complexity): Documented.
1506         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
1507         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
1508         * tree-scalar-evolution.c (follow_ssa_edge): Use
1509         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
1510
1511 2011-02-02  Richard Guenther  <rguenther@suse.de>
1512
1513         PR tree-optimization/47566
1514         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
1515
1516 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
1517
1518         PR debug/47106
1519         PR debug/47402
1520         * tree-inline.c (declare_return_variable): Remove unused caller
1521         variable.
1522
1523         PR debug/47106
1524         PR debug/47402
1525         * tree-flow-inline.h (clear_is_used, is_used_p): New.
1526         * cfgexpand.c (account_used_vars_for_block): Use them.
1527         * tree-nrv.c (tree_nrv): Likewise.
1528         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
1529         (dump_scope_block): Likewise.
1530         (remove_unused_locals): Likewise.
1531
1532         PR debug/47106
1533         PR debug/47402
1534         * tree-inline.c (declare_return_variable): Add result decl to
1535         local decls only once.
1536         * gimple-low.c (record_vars_into): Mark newly-created variables
1537         as referenced.
1538
1539 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
1540
1541         PR debug/47498
1542         PR debug/47501
1543         PR debug/45136
1544         PR debug/45130
1545         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1546         debug insns.
1547         (no_real_insns_p, schedule_block, set_priorities): Drop special
1548         treatment of boundary debug insns.
1549         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1550         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
1551         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1552         (BOUNDARY_DEBUG_INSN_P): Likewise.
1553         (SCHEDULE_DEBUG_INSN_P): Likewise.
1554         * sched-rgn.c (init_ready_list): Drop special treatment of
1555         boundary debug insns.
1556         * final.c (rest_of_clean_state): Clear notes' BB.
1557
1558 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1559
1560         * config/openbsd.opt (assert=): New Driver option.
1561
1562 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1563
1564         * config/i386/nto.opt: New.
1565         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
1566
1567 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1568
1569         * config/i386/netware.opt: New.
1570         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
1571
1572 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1573
1574         * config/interix.opt (posix): New Driver option.
1575
1576 2011-02-01  DJ Delorie  <dj@redhat.com>
1577
1578         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
1579
1580         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
1581         class for A0/A1.
1582
1583 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
1584
1585         PR tree-optimization/47561
1586         * toplev.c (process_options): Print the Graphite flags.  Add
1587         flag_loop_flatten to the list of options requiring Graphite.
1588
1589 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1590
1591         * config/i386/cygming.opt (posix): New Driver option.
1592
1593 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1594
1595         * config/arm/vxworks.opt: New.
1596         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
1597
1598 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1599
1600         * config/alpha/elf.opt: New.
1601         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
1602         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
1603
1604 2011-02-01  Richard Guenther  <rguenther@suse.de>
1605
1606         PR tree-optimization/47559
1607         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
1608         store-motion on references that can throw.
1609
1610 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
1611
1612         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
1613         * tree-pass.h (TDF_CSELIB): New macro.
1614         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
1615         cselib_lookup): Check for it rather than for TDF_DETAILS.
1616
1617 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
1618
1619         PR driver/47547
1620         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
1621         is HOST_BIT_BUCKET.
1622
1623         * opts.c (finish_options): Don't add x_aux_base_name if it is
1624         HOST_BIT_BUCKET.
1625
1626 2011-02-01  Richard Guenther  <rguenther@suse.de>
1627
1628         PR tree-optimization/47555
1629         Revert
1630         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
1631
1632         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
1633
1634 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
1635
1636         PR gcc/46692
1637         * config/lm32/t-lm32: Add multilib for all CPU options.
1638
1639 2011-02-01  Richard Guenther  <rguenther@suse.de>
1640
1641         PR tree-optimization/47541
1642         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
1643         sure to have a field at offset zero.
1644
1645 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1646
1647         * config/arc/arc.opt (EB, EL): New Driver options.
1648
1649 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1650
1651         * config/alpha/osf5.opt: New.
1652         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
1653
1654 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1655
1656         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
1657
1658 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
1659
1660         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
1661         -floop-interchange.
1662         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
1663         is an alias of -floop-interchange and that it requires the
1664         Graphite infrastructure.
1665         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
1666         flag_loop_interchange based on the value of flag_tree_loop_linear.
1667
1668 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
1669             Richard Guenther  <rguenther@suse.de>
1670
1671         PR tree-optimization/47538
1672         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
1673         type instead of r1type, except for comparisons.  For right
1674         shifts and comparisons punt if there are mismatches in
1675         sizetype vs. non-sizetype types.
1676
1677 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1678
1679         * doc/sourcebuild.texi (Effective-Target Keywords): Document
1680         avx_runtime.
1681
1682 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1683
1684         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
1685         version number.
1686         * configure: Regenerate.
1687
1688 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1689
1690         * configure.ac (gcc_cv_ld_static_option): Define.
1691         (gcc_cv_ld_dynamic_option): Define.
1692         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
1693         instead.
1694         (HAVE_LD_STATIC_DYNAMIC): Update message.
1695         (LD_STATIC_OPTION): Define.
1696         (LD_DYNAMIC_OPTION): Define.
1697         * configure: Regenerate.
1698         * config.in: Regenerate.
1699         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
1700         HAVE_LD_STATIC_DYNAMIC]: Use them.
1701
1702 2011-01-31  Nick Clifton  <nickc@redhat.com>
1703
1704         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
1705         registers inside interrupt handlers if the handler is not a leaf
1706         function.
1707
1708 2011-01-31  Nick Clifton  <nickc@redhat.com>
1709
1710         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
1711         reg_renumber returning an INVALID_REGNUM.
1712
1713 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
1714
1715         PR libgcj/44341
1716         * doc/install.texi: Document host options discarded when cross
1717         configuring target libraries.
1718
1719 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
1720
1721         Reverted:
1722         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
1723         PR debug/45136
1724         PR debug/45130
1725         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1726         debug insns.
1727         (no_real_insns_p, schedule_block, set_priorities): Drop special
1728         treatment of boundary debug insns.
1729         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1730         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
1731         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1732         (BOUNDARY_DEBUG_INSN_P): Likewise.
1733         (SCHEDULE_DEBUG_INSN_P): Likewise.
1734         * sched-rgn.c (init_ready_list): Drop special treatment of
1735         boundary debug insns.
1736         * final.c (rest_of_clean-state): Clear notes' BB.
1737
1738 2011-01-31  Alan Modra  <amodra@gmail.com>
1739
1740         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
1741         toc relative expressions as we do in print_operand_address.
1742
1743 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
1744
1745         * doc/extend.texi: Follow spelling conventions.
1746         * doc/invoke.texi: Fix a typo.
1747
1748 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
1749
1750         * config/hpux11.opt: New.
1751         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
1752         ia64*-*-hpux*): Use hpux11.opt.
1753
1754 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
1755
1756         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
1757         to tmake_file.
1758
1759 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1760
1761         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
1762         support sites.
1763
1764 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1765
1766         * doc/install.texi (Binaries): Remove outdated reference for
1767         Motorola 68HC11/68HC12 downloads.
1768
1769 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1770
1771         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
1772         Drepper's paper.
1773
1774 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1775
1776         PR bootstrap/47147
1777         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
1778         used by NetBSD.
1779
1780 2011-01-28  Ahmad Sharif  <asharif@google.com>
1781
1782         * value-prof.c (check_counter): Corrected error message.
1783
1784 2011-01-29  Jie Zhang  <jie@codesourcery.com>
1785
1786         * config/arm/arm.c (arm_legitimize_reload_address): New.
1787         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
1788         arm_legitimize_reload_address.
1789         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
1790
1791 2011-01-28  Ian Lance Taylor  <iant@google.com>
1792
1793         * godump.c (go_define): Ignore macros whose definitions include
1794         two adjacent operands.
1795
1796 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
1797
1798         PR target/42894
1799         * varasm.c (force_const_mem): Store copy of x in desc->constant
1800         instead of x itself.
1801         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
1802         itself into REG_EQUAL note.
1803
1804 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
1805
1806         * config/freebsd.opt (posix, rdynamic): New Driver options.
1807
1808 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1809
1810         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
1811         -Bstatic/-Bdynamic.
1812         * configure: Regenerate.
1813
1814 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
1815
1816         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
1817         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
1818
1819 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
1820
1821         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
1822         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
1823         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
1824         (s390_preferred_reload_class): Make static. Change return and
1825         'rclass' argument type to reg_class_t.
1826
1827 2011-01-27  Jan Hubicka  <jh@suse.cz>
1828
1829         PR middle-end/46949
1830         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
1831         (process_function_and_variable_attributes): Check defined weakrefs.
1832
1833 2011-01-27  Martin Jambor  <mjambor@suse.cz>
1834
1835         PR tree-optimization/47228
1836         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
1837         build_ref_for_offset.
1838
1839 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1840
1841         * config/spu/spu-elf.h (ASM_SPEC): Remove.
1842
1843 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
1844
1845         PR rtl-optimization/46856
1846         * postreload.c (reload_combine_recognize_const_pattern): Do not
1847         separate cc0 setter and user on cc0 targets.
1848
1849 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1850
1851         PR c/43082
1852         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
1853         passed a VOID_TYPE expression, immediately emit an error and
1854         return error_mark_node.
1855
1856 2011-01-26  Jeff Law  <law@redhat.com>
1857
1858         PR rtl-optimization/47464
1859         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
1860         rather than may_trap_p as needed.
1861
1862 2011-01-26  DJ Delorie  <dj@redhat.com>
1863
1864         PR rtl-optimization/46878
1865         * combine.c (insn_a_feeds_b): Check for the implicit cc0
1866         setter/user dependency as well.
1867
1868 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
1869
1870         PR rtl-optimization/44469
1871         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
1872         after removing trivially dead basic blocks.
1873
1874 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1875
1876         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
1877         * config/frv/frv.h (LINK_SPEC): Likewise.
1878         * config/i386/netware.h (LINK_SPEC): Likewise.
1879         * config/m68k/linux.h (ASM_SPEC): Likewise.
1880         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
1881         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1882         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1883         * config/sparc/linux.h (ASM_SPEC): Likewise.
1884         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1885         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1886
1887 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1888
1889         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
1890         * config/frv/frv.h (ASM_SPEC): Likewise.
1891         * config/m68k/linux.h (ASM_SPEC): Likewise.
1892         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1893         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
1894         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1895         * config/sparc/linux.h (ASM_SPEC): Likewise.
1896         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1897         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1898
1899 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1900
1901         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
1902         * config/frv/frv.h (LINK_SPEC): Likewise.
1903         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1904
1905 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1906
1907         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
1908         * config/frv/frv.h (ASM_SPEC): Likewise.
1909         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
1910         * config/m68k/linux.h (ASM_SPEC): Likewise.
1911         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1912         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
1913         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1914         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
1915         * config/sparc/linux.h (ASM_SPEC): Likewise.
1916         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1917         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1918         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
1919
1920 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
1921
1922         PR target/46997
1923         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
1924         (*mux2): Ditto.
1925         (vec_extract_evenodd_help): Ditto.
1926         (vec_extract_evenv4hi): Ditto.
1927         (vec_extract_oddv4hi): Ditto.
1928         (vec_interleave_lowv2si): Ditto.
1929         (vec_interleave_highv2si): Ditto.
1930         (vec_extract_evenv2si): Ditto.
1931         (vec_extract_oddv2si: Ditto.
1932         (vec_pack_trunc_v2si): Ditto.
1933
1934 2011-01-22  Jan Hubicka  <jh@suse.cz>
1935
1936         PR target/47237
1937         * cgraph.h (cgraph_local_info): New field can_change_signature.
1938         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
1939         signature can change.
1940         (ipcp_estimate_growth): Call sequence simplify only if calle signature
1941         can change.
1942         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
1943         (cgraph_function_versioning): We can not change signature of functions
1944         that don't allow that.
1945         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
1946         (lto_input_node): Likewise.
1947         * ipa-inline.c (compute_inline_parameters): Compute
1948         local.can_change_signature.
1949         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
1950         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
1951         functions that can not change signature.
1952         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
1953         init_cumulative_args): Do not use local calling conventions
1954         for functions that can not change signature.
1955
1956 2011-01-22  Jan Hubicka  <jh@suse.cz>
1957
1958         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
1959
1960 2011-01-26  Richard Guenther  <rguenther@suse.de>
1961
1962         PR tree-optimization/47190
1963         * cgraphunit.c (process_common_attributes): New function.
1964         (process_function_and_variable_attributes): Use it.
1965
1966 2011-01-26  Richard Guenther  <rguenther@suse.de>
1967
1968         PR lto/47423
1969         * cgraphbuild.c (record_eh_tables): Record reference to personality
1970         function.
1971
1972 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
1973
1974         PR debug/45454
1975         * sel-sched.c (moveup_expr): Don't let debug insns prevent
1976         non-debug insns from moving up.
1977
1978 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1979
1980         PR target/40125
1981         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
1982         t-dlldir{,-x} fragment for build and add it to tmake_file.
1983         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1984         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
1985         * config/i386/t-dlldir: New file.
1986         (SHLIB_DLLDIR): Define.
1987         * config/i386/t-dlldir-x: New file.
1988         (SHLIB_DLLDIR): Define.
1989         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
1990         (SHLIB_INSTALL): Use it.
1991
1992 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
1993
1994         PR target/47246
1995         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
1996         lower bound of the allowed Thumb-2 coprocessor load/store
1997         index range to -256. Add explaining comment.
1998
1999 2011-01-25  Ian Lance Taylor  <iant@google.com>
2000
2001         * godump.c (go_define): Improve lexing of macro expansion to only
2002         accept expressions which match Go spec.
2003
2004 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2005
2006         PR c++/43601
2007         * tree.c (handle_dll_attribute): Handle it.
2008         * doc/extend.texi (@item dllexport): Mention it.
2009         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
2010
2011 2011-01-25  Ian Lance Taylor  <iant@google.com>
2012
2013         PR tree-optimization/26854
2014         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
2015         (decl_jump_unsafe): Move higher in file, with no other change.
2016         (bind): Set has_jump_unsafe_decl if appropriate.
2017         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
2018         (check_earlier_gotos): Likewise.
2019         (c_check_switch_jump_warnings): Likewise.
2020
2021 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2022
2023         * doc/invoke.texi (Warning Options): Add missing hyphen.
2024         (-fprofile-dir): Minor grammatical fixes.
2025         (-fbranch-probabilities): Likewise.
2026
2027 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
2028
2029         PR debug/45136
2030         PR debug/45130
2031         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2032         debug insns.
2033         (no_real_insns_p, schedule_block, set_priorities): Drop special
2034         treatment of boundary debug insns.
2035         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2036         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2037         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2038         (BOUNDARY_DEBUG_INSN_P): Likewise.
2039         (SCHEDULE_DEBUG_INSN_P): Likewise.
2040         * sched-rgn.c (init_ready_list): Drop special treatment of
2041         boundary debug insns.
2042         * final.c (rest_of_clean-state): Clear notes' BB.
2043
2044 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2045
2046         * Makefile.in (LAMBDA_H): Removed.
2047         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
2048         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
2049         lambda-trans.o, and tree-loop-linear.o.
2050         (lto-symtab.o): Remove dependence on LAMBDA_H.
2051         (tree-loop-linear.o): Remove rule.
2052         (lambda-mat.o): Same.
2053         (lambda-trans.o): Same.
2054         (lambda-code.o): Same.
2055         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
2056         (tree-vect-slp.o): Same.
2057         * hwint.h (gcd): Moved here.
2058         (least_common_multiple): Same.
2059         * lambda-code.c: Removed.
2060         * lambda-mat.c: Removed.
2061         * lambda-trans.c: Removed.
2062         * lambda.h: Removed.
2063         * tree-loop-linear.c: Removed.
2064         * lto-symtab.c: Do not include lambda.h.
2065         * omega.c (gcd): Removed.
2066         * passes.c (init_optimization_passes): Remove pass_linear_transform.
2067         * tree-data-ref.c (print_lambda_vector): Moved here.
2068         (lambda_vector_copy): Same.
2069         (lambda_matrix_copy): Same.
2070         (lambda_matrix_id): Same.
2071         (lambda_vector_first_nz): Same.
2072         (lambda_matrix_row_add): Same.
2073         (lambda_matrix_row_exchange): Same.
2074         (lambda_vector_mult_const): Same.
2075         (lambda_vector_negate): Same.
2076         (lambda_matrix_row_negate): Same.
2077         (lambda_vector_equal): Same.
2078         (lambda_matrix_right_hermite): Same.
2079         * tree-data-ref.h: Do not include lambda.h.
2080         (lambda_vector): Moved here.
2081         (lambda_matrix): Same.
2082         (dependence_level): Same.
2083         (lambda_transform_legal_p): Removed declaration.
2084         (lambda_collect_parameters): Same.
2085         (lambda_compute_access_matrices): Same.
2086         (lambda_vector_gcd): Same.
2087         (lambda_vector_new): Same.
2088         (lambda_vector_clear): Same.
2089         (lambda_vector_lexico_pos): Same.
2090         (lambda_vector_zerop): Same.
2091         (lambda_matrix_new): Same.
2092         * tree-flow.h (least_common_multiple): Removed declaration.
2093         * tree-parloops.c (lambda_trans_matrix): Moved here.
2094         (LTM_MATRIX): Same.
2095         (LTM_ROWSIZE): Same.
2096         (LTM_COLSIZE): Same.
2097         (LTM_DENOMINATOR): Same.
2098         (lambda_trans_matrix_new): Same.
2099         (lambda_matrix_vector_mult): Same.
2100         (lambda_transform_legal_p): Same.
2101         * tree-pass.h (pass_linear_transform): Removed declaration.
2102         * tree-ssa-loop.c (tree_linear_transform): Removed.
2103         (gate_tree_linear_transform): Removed.
2104         (pass_linear_transform): Removed.
2105         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
2106         flag_loop_interchange.
2107
2108 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2109
2110         PR tree-optimization/47265
2111         PR tree-optimization/47443
2112         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
2113         if name still has some uses.
2114
2115 2011-01-25  Martin Jambor  <mjambor@suse.cz>
2116
2117         PR tree-optimization/47382
2118         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
2119         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
2120
2121 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
2122
2123         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
2124         sjlj_except_unwind_info.
2125
2126 2011-01-25  Richard Guenther  <rguenther@suse.de>
2127
2128         PR tree-optimization/47426
2129         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
2130         visible functions results escape.
2131
2132 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2133
2134         PR target/45701
2135         * config/arm/arm.c (any_sibcall_uses_r3): New function.
2136         (arm_get_frame_offsets): Use it.
2137
2138 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2139             Jakub Jelinek  <jakub@redhat.com>
2140
2141         PR tree-optimization/47271
2142         * tree-if-conv.c (bb_postdominates_preds): New.
2143         (if_convertible_bb_p): Call bb_postdominates_preds.
2144         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
2145         (predicate_scalar_phi): Call bb_postdominates_preds.
2146
2147 2011-01-25  Nick Clifton  <nickc@redhat.com>
2148
2149         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
2150         * config/rx/rx.c (rx_function_value): Likewise.
2151         (rx_promote_function_mode): Likewise.
2152         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
2153         in order to make it legitimate.
2154         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
2155         make sure that the first operand is the same as the result register.
2156         (addsi3_unspec): Delete.
2157         (subdi3): Do not accept immediate operands.
2158         (subdi3_internal): Likewise.
2159
2160 2011-01-25  Jeff Law  <law@redhat.com>
2161
2162         PR rtl-optimization/37273
2163         * ira-costs.c (scan_one_insn): Detect constants living in memory and
2164         handle them like argument loads from stack slots.  Do not double
2165         count memory for memory constants and argument loads from stack slots.
2166
2167 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2168
2169         PR tree-optimization/47427
2170         PR tree-optimization/47428
2171         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
2172         coalesce if the new root var would be TREE_READONLY.
2173
2174 2011-01-25  Richard Guenther  <rguenther@suse.de>
2175
2176         PR middle-end/47414
2177         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
2178         correct type for TBAA.
2179
2180 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2181
2182         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
2183         (close_phi_written_to_memory): Call for_each_index with
2184         dr_indices_valid_in_loop.
2185
2186 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2187
2188         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
2189         when it is initialized.
2190
2191 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2192
2193         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
2194         call to graphite_find_data_references_in_stmt.
2195         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
2196         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
2197         call to graphite_find_data_references_in_stmt.
2198         (analyze_drs_in_stmts): Same.
2199         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
2200         in which the scalar analysis of indices is performed.
2201         (create_data_ref): Same.  Update call to dr_analyze_indices.
2202         (find_data_references_in_stmt): Update call to create_data_ref.
2203         (graphite_find_data_references_in_stmt): Same.
2204         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
2205         declaration.
2206         (create_data_ref): Same.
2207         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
2208         call to create_data_ref.
2209
2210 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2211
2212         * graphite-sese-to-poly.c (build_poly_scop): Move
2213         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
2214
2215 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2216
2217         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
2218         VAR_DECL, PARM_DECL, and RESULT_DECL.
2219
2220 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2221
2222         * graphite-dependences.c (reduction_dr_1): Allow several reductions
2223         in a reduction PBB.
2224         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
2225         that have already been marked as PBB_IS_REDUCTION.
2226
2227 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2228
2229         * graphite-scop-detection.c (same_close_phi_node): New.
2230         (remove_duplicate_close_phi): New.
2231         (make_close_phi_nodes_unique): New.
2232         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
2233
2234 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2235
2236         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
2237         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
2238         of both data references to be the same.
2239
2240 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2241
2242         * graphite-dependences.c (build_lexicographical_constraint): Remove
2243         the gdim parameter.
2244         (build_lexicographical_constraint): Adjust call to
2245         ppl_powerset_is_empty.
2246         (dependence_polyhedron): Same.
2247         (graphite_legal_transform_dr): Same.
2248         (graphite_carried_dependence_level_k): Same.
2249         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
2250         parameter.
2251         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
2252
2253 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2254
2255         * graphite-sese-to-poly.c
2256         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
2257         (close_phi_written_to_memory): New.
2258         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
2259         and unshare_expr.
2260
2261 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2262
2263         * doc/install.texi: Update the expected version number of PPL to 0.11.
2264         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
2265         #if PPL_VERSION_MINOR < 11.
2266
2267 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2268
2269         * graphite-dependences.c: Include graphite-cloog-util.h.
2270         (new_poly_ddr): Inlined into dependence_polyhedron.
2271         (free_poly_ddr): Moved close by new_poly_ddr.
2272         (dependence_polyhedron_1): Renamed dependence_polyhedron.
2273         Early return NULL when ppl_powerset_is_empty returns true.
2274         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
2275         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
2276         (graphite_legal_transform_dr): Call new_poly_ddr.
2277         (graphite_carried_dependence_level_k): Same.
2278         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
2279         (dot_transformed_deps_stmt_1): Removed.
2280         (dot_deps_stmt_1): Call dot_deps_stmt_2.
2281         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
2282         (dot_deps_1): Call dot_deps_2.
2283         * Makefile.in (graphite-dependences.o): Add missing dependence on
2284         graphite-cloog-util.h.
2285
2286 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2287
2288         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
2289         (build_lexicographical_constraint): Same.
2290         (dependence_polyhedron_1): Same.
2291         (graphite_legal_transform_dr): Same.
2292         (graphite_carried_dependence_level_k): Same.
2293         * graphite-ppl.c (ppl_powerset_is_empty): New.
2294         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
2295         * tree-data-ref.c (dump_data_reference): Print the basic block index.
2296
2297 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2298
2299         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
2300         the "a followed by b" relation and document it.
2301
2302 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2303
2304         * graphite-dependences.c (build_lexicographical_constraint): Stop the
2305         iteration when the bag of constraints is empty.
2306
2307 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2308
2309         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2310
2311 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2312
2313         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
2314         nest and two loop depths as parameters.
2315         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
2316         lst_perfect_nestify.
2317
2318 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2319
2320         * graphite-dependences.c (print_pddr): Call
2321         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
2322
2323 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2324
2325         * graphite-ppl.c (debug_gmp_value): New.
2326         * graphite-ppl.h (debug_gmp_value): Declared.
2327
2328 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
2329
2330         * doc/install.texi: Document availability of cloog-0.16.
2331
2332 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
2333
2334         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
2335         invalid postdominance info.
2336
2337 2011-01-24  Jan Hubicka  <jh@suse.cz>
2338
2339         PR c/21659
2340         * doc/extend.texi (weak pragma): Drop claim that it must
2341         appear before definition.
2342         * varasm.c (merge_weak, declare_weak): Only sanity check
2343         that DECL is not output at a time it is declared weak.
2344
2345 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
2346
2347         * machmode.def: Fixed comments.
2348
2349 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
2350
2351         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
2352
2353 2011-01-24  Paul Koning  <ni1d@arrl.net>
2354
2355         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
2356         WORDS_BIG_ENDIAN.
2357
2358 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2359
2360         PR target/46519
2361         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
2362         (block_info): Add scanned and prev.
2363         (move_or_delete_vzeroupper_2): Return if the basic block
2364         has been scanned and the upper 128bit state is unchanged
2365         from the last scan.
2366         (move_or_delete_vzeroupper_1): Return true if the exit
2367         state is changed.
2368         (move_or_delete_vzeroupper): Visit basic blocks using the
2369         work-list based algorithm based on vt_find_locations in
2370         var-tracking.c.
2371
2372         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
2373
2374 2011-01-24  Nick Clifton  <nickc@redhat.com>
2375
2376         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
2377         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
2378         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
2379         then define __v850e1__.
2380         * doc/invoke.texi: Document -mv850es.
2381
2382 2011-01-24  Richard Henderson  <rth@redhat.com>
2383
2384         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
2385         compound unordered comparisons.
2386         * config/rx/rx.c (rx_split_fp_compare): Remove.
2387         * config/rx/rx-protos.h: Update.
2388         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
2389         (cbranchsf4): Don't call rx_split_fp_compare.
2390         (*cbranchsf4): Use rx_split_cbranch.
2391         (*cmpsf): Don't accept "i" constraint.
2392         (*conditional_branch): Only valid after reload.
2393         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
2394
2395 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
2396
2397         PR target/47385
2398         * config/rs6000/altivec.md (vector constant splitters): Add
2399         support for creating vector single precision constants if -mvsx is
2400         used and we would create the constant using Altivec primitives.
2401
2402 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
2403             Richard Sandiford  <rdsandiford@googlemail.com>
2404
2405         PR rtl-optimization/47166
2406         * reload1.c (emit_reload_insns): Disable the spill_reg_store
2407         mechanism for PRE_MODIFY and POST_MODIFY.
2408         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
2409         reloadreg.
2410
2411 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
2412
2413         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
2414
2415 2011-01-22  Jan Hubicka  <jh@suse.cz>
2416
2417         PR lto/47333
2418         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
2419
2420 2011-01-22  Jan Hubicka  <jh@suse.cz>
2421
2422         PR tree-optimization/43884
2423         PR lto/44334
2424         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
2425         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
2426
2427 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
2428
2429         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2430         * config/s390/s390.c (s390_register_move_cost,
2431         s390_memory_move_cost): New.
2432         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2433
2434 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2435
2436         PR middle-end/47401
2437         * except.c (sjlj_assign_call_site_values): Move setting the
2438         crtl->uses_eh_lsda flag to ...
2439         (sjlj_mark_call_sites): ... here.
2440         (sjlj_emit_function_enter): Support NULL dispatch label.
2441         (sjlj_build_landing_pads): In a function with no landing pads
2442         that still has must-not-throw regions, generate code to register
2443         a personality function with empty LSDA.
2444
2445 2011-01-21  Richard Henderson  <rth@redhat.com>
2446
2447         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
2448
2449         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
2450
2451         * compare-elim.c: New file.
2452         * Makefile.in (OBJS-common): Add it.
2453         (compare-elim.o): New.
2454         * common.opt (fcompare-elim): New.
2455         * opts.c (default_options_table): Add OPT_fcompare_elim.
2456         * tree-pass.h (pass_compare_elim_after_reload): New.
2457         * passes.c (init_optimization_passes): Add it.
2458         * recog.h: Protect against re-inclusion.
2459         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
2460         * doc/invoke.texi (-fcompare-elim): Document it.
2461         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
2462         * doc/tm.texi: Rebuild.
2463
2464 2011-01-22  Nick Clifton  <nickc@redhat.com>
2465
2466         * config/rx/rx.md (cstoresf4): Pass comparison operator to
2467         rx_split_fp_compare.
2468
2469 2011-01-22  Nick Clifton  <nickc@redhat.com>
2470
2471         * config/rx/rx.md (UNSPEC_CONST): New.
2472         (deallocate_and_return): Wrap the amount popped off the stack in
2473         an UNSPEC_CONST in order to stop it being rejected by
2474         -mmax-constant-size.
2475         (pop_and_return): Add a "(return)" rtx.
2476         (call): Drop the immediate operand.
2477         (call_internal): Likewise.
2478         (call_value): Likewise.
2479         (call_value_internal): Likewise.
2480         (sibcall_internal): Likewise.
2481         (sibcall_value_internal): Likewise.
2482         (sibcall): Likewise.  Generate an explicit call using
2483         sibcall_internal.
2484         (sibcall_value): Likewise.
2485         (mov<>): FAIL if a constant operand is not legitimate.
2486         (addsi3_unpsec): New pattern.
2487
2488         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
2489         (ok_for_max_constant): New function.
2490         (gen_safe_add): New function.
2491         (rx_expand_prologue): Use gen_safe_add.
2492         (rx_expand_epilogue): Likewise.
2493         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
2494         UNSPEC CONSTs.
2495
2496 2011-01-21  Jeff Law  <law@redhat.com>
2497
2498         PR tree-optimization/47053
2499         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
2500         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
2501         statements are deleted.
2502         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
2503         is nonempty, then purge dead edges and cleanup the CFG.
2504
2505 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2506
2507         PR debug/47402
2508         Temporarily revert:
2509         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2510         PR debug/47106
2511         * tree-dfa.c (create_var_ann): Mark variable as used.
2512
2513 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2514
2515         PR middle-end/45566
2516         * except.c (convert_to_eh_region_ranges): Emit queued no-region
2517         notes from other section in hot/cold partitioning even if
2518         last_action is -3.  Increment call_site_base.
2519
2520         PR rtl-optimization/47366
2521         * fwprop.c (forward_propagate_into): Return bool.  If
2522         any changes are made, -fnon-call-exceptions is used and
2523         REG_EH_REGION note is present, call purge_dead_edges
2524         and return true if it purged anything.
2525         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
2526         any EH edges were purged.
2527
2528 2011-01-21  Jeff Law  <law@redhat.com>
2529
2530         PR rtl-optimization/41619
2531         * caller-save.c (setup_save_areas): Break out code to determine
2532         which hard regs are live across calls by examining the reload chains
2533         so that it is always used.
2534         Eliminate code which checked REG_N_CALLS_CROSSED.
2535
2536 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2537
2538         PR tree-optimization/47355
2539         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
2540         NOP has non-debug uses beyond PHIs in new_bb.
2541
2542 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2543
2544         PR debug/47106
2545         * cfgexpand.c (account_used_vars_for_block): Only account vars
2546         that are annotated as used.
2547         (estimated_stack_frame_size): Don't set TREE_USED.
2548         * tree-dfa.c (create_var_ann): Mark variable as used.
2549
2550 2011-01-21  Richard Guenther  <rguenther@suse.de>
2551
2552         PR middle-end/47395
2553         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
2554
2555 2011-01-21  Richard Guenther  <rguenther@suse.de>
2556
2557         PR tree-optimization/47365
2558         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
2559         (vn_reference_lookup_pieces): Adjust.
2560         (vn_reference_lookup): Likewise.
2561         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
2562         (vn_reference_lookup_3): Only look through kills if in
2563         VN_WALKREWRITE mode.
2564         (vn_reference_lookup_pieces): Adjust.
2565         (vn_reference_lookup): Likewise.
2566         (visit_reference_op_load): Likewise.
2567         (visit_reference_op_store): Likewise.
2568         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
2569         (compute_avail): Likewise.
2570         (eliminate): Likewise.
2571
2572 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2573
2574         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
2575         DECL_IGNORED_P non-reg vars if they are used.
2576
2577         PR tree-optimization/47391
2578         * varpool.c (const_value_known_p): Return false if
2579         decl is volatile.
2580
2581 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
2582
2583         PR bootstrap/47215
2584         * config/i386/i386.c (ix86_local_alignment): Handle
2585         case for va_list_type_node is nil.
2586         (ix86_canonical_va_list_type): Likewise.
2587
2588 2011-01-21  Alan Modra  <amodra@gmail.com>
2589
2590         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
2591         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
2592
2593 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2594
2595         * config/arm/arm.md (define_attr type): Rename f_load
2596         and f_store to f_fpa_load and f_fpa_store. Update.
2597         (write_conflict): Deal with rename fallout.
2598         (*push_fp_multi): Likewise.
2599         * config/arm/fpa.md (f_load): Use f_fpa_load.
2600         (f_store): Use f_fpa_store.
2601         (*movsf_fpa): Likewise.
2602         (*movdf_fpa): Likewise.
2603         (*movxf_fpa): Likewise.
2604         (*thumb2_movsf_fpa): Likewise.
2605         (*thumb2_movdf_fpa): Likewise.
2606         (*thumb2_movxf_fpa): Likewise.
2607         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
2608         f_loadd and f_stored.
2609         (*thumb2_movdi_vfp): Likewise.
2610         (*thumb2_movsf_vfp): Fix attribute to f_loads.
2611         (*thumb2_movsi_vfp): Likewise.
2612         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
2613         Use f_loads instead of f_load.
2614         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
2615
2616 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
2617
2618         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2619         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
2620         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2621         (xtensa_mode_dependent_address_p): New function.
2622         (constantpool_address_p): Make static. Change return type to bool.
2623         Change argument type to const_rtx. Use CONST_INT_P predicate.
2624
2625 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
2626
2627         PR debug/46583
2628         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
2629
2630 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
2631
2632         PR debug/47283
2633         * cfgexpand.c (expand_debug_expr): Instead of generating
2634         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
2635         etc. handling.
2636
2637 2011-01-20  Richard Guenther  <rguenther@suse.de>
2638
2639         PR middle-end/47370
2640         * tree-inline.c (remap_gimple_op_r): Recurse manually for
2641         the pointer operand of MEM_REFs.
2642
2643 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
2644
2645         PR tree-optimization/46130
2646         * ipa-split.c (consider_split): If return_bb contains non-virtual
2647         PHIs other than for retval or if split_function would not adjust it,
2648         refuse to split.
2649
2650 2011-01-20  Richard Guenther  <rguenther@suse.de>
2651
2652         PR tree-optimization/47167
2653         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
2654         Revert previous change, only avoid enumeral type changes.
2655
2656 2011-01-19  Mike Stump  <mikestump@comcast.net>
2657
2658         * doc/tm.texi.in (BRANCH_COST): Englishify.
2659         * doc/tm.texi (BRANCH_COST): Likewise.
2660
2661 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
2662
2663         PR c++/47291
2664         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
2665         (gen_scheduled_generic_parms_dies): New functions.
2666         (gen_struct_or_union_type_die): Schedule template parameters DIEs
2667         generation for the end of CU compilation.
2668         (dwarf2out_finish): Generate template parameters DIEs here.
2669
2670 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2671
2672         PR debug/46240
2673         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
2674         debug bind stmt on merge edges.
2675
2676 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2677
2678         PR debug/47079
2679         PR debug/46724
2680         * function.c (instantiate_expr): Instantiate incoming rtl of
2681         implicit arguments, and recurse on VALUE_EXPRs.
2682         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
2683         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
2684
2685 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2686
2687         * c-parser.c (c_parser_for_statement): Initialize
2688         collection_expression.
2689
2690 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2691
2692         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
2693
2694 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2695
2696         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
2697         (LINK_SHLIB_SPEC): Don't use %(link_path).
2698         (SUBTARGET_EXTRA_SPECS): Remove link_path.
2699
2700 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2701
2702         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
2703         (NO_SHARED_LIB_SUPPORT): Remove.
2704         (LINK_SHLIB_SPEC): Remove one conditional definition.
2705
2706 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2707
2708         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
2709         %{call_shared}.
2710         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
2711         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
2712         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
2713         %{call_shared} and conditionals on these options not being passed.
2714         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
2715         %{call_shared}.
2716
2717 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
2718
2719         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
2720         simplify.
2721
2722         * ipa-split.c: Spelling fixes.
2723
2724 2011-01-19  Richard Henderson  <rth@redhat.com>
2725
2726         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
2727         (*mulsi3): Likewise.
2728
2729         * longlong.h [__mn10300__] (count_leading_zeros): New.
2730         [__mn10300__] (umul_ppmm, smul_ppmm): New.
2731         [__mn10300__] (add_ssaaaa, subddmmss): New.
2732         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
2733         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
2734
2735 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2736
2737         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
2738
2739 2011-01-19  Richard Henderson  <rth@redhat.com>
2740
2741         * config/mn10300/mn10300.md (addsi3_flags): New.
2742         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
2743         (subsi3_flags, subc_internal, subdi3): New.
2744         (subdi3_internal, *subdi3_degenerate): New.
2745         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
2746
2747         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
2748         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
2749         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
2750         * config/mn10300/mn10300-protos.h: Update.
2751         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
2752         (return_ret): Likewise.  Rename from return_internal_regs.
2753         (return_internal): Remove.
2754
2755         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
2756         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
2757         (mn10300_legitimate_constant_p): Likewise.
2758         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
2759         (mn10300_frame_size): New.
2760         (mn10300_expand_prologue): Use it.
2761         (mn10300_expand_epilogue): Likewise.
2762         (mn10300_initial_offset): Likewise.
2763         * config/mn10300/mn10300-protos.h: Update.
2764         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
2765         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
2766         (prologue, epilogue, return_internal): Tidy output code.
2767         (mn10300_store_multiple_operation, return): Likewise.
2768         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
2769         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
2770         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
2771         (load_pic, am33_load_pic): New.
2772         (mn10300_load_pic0, mn10300_load_pic1): New.
2773
2774         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
2775         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
2776         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
2777         (cc_flags_for_mode, cc_flags_for_code): New.
2778         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
2779         overflow flag is not valid.  Validate that the flags we need
2780         for the comparison are valid.
2781         (mn10300_output_cmp): Remove.
2782         (mn10300_output_add): New.
2783         (mn10300_select_cc_mode): Use cc_flags_for_code.
2784         (mn10300_split_cbranch): New.
2785         (mn10300_match_ccmode): New.
2786         (mn10300_split_and_operand_count): New.
2787         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
2788         to the function.
2789         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
2790         (addsi3): ... here.  Use mn10300_output_add.
2791         (*addsi3_flags): New.
2792         (*am33_subsi3, *mn10300_subsi3): Merge...
2793         (subsi3): ... here.  Use attribute isa.
2794         (*subsi3_flags): New.
2795         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
2796         when possible.
2797         (*am33_andsi3, *mn10300_andsi3): Merge...
2798         (andsi3): ... here.
2799         (*andsi3_flags): New.
2800         (andsi3 splitters): New.
2801         (*am33_iorsi3, *mn10300_iorsi3): Merge...
2802         (iorsi3): ... here.
2803         (*iorsi3_flags): New.
2804         (*am33_xorsi3, *mn10300_xorsi3): Merge...
2805         (xorsi3): ... here.
2806         (*xorsi3_flags): New.
2807         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
2808         (one_cmplsi2): ... here.
2809         (*one_cmplsi2_flags): New.
2810         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
2811         instead of "dax" in constraints.  Use mn10300_split_cbranch.
2812         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
2813         use matching constraints to eliminate a self-comparison.
2814         (*integer_conditional_branch): Rename from integer_conditional_branch.
2815         Use int_mode_flags to match CC_REG.
2816         (*cbranchsi4_btst, *btstsi): New.
2817         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
2818         mn10300_split_cbranch.
2819         (*am33_cmpsf): Rename from am33_cmpsf.
2820         (*float_conditional_branch): Rename from float_conditional_branch.
2821         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
2822         (zero_extendqisi2): ... here.
2823         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
2824         (zero_extendhisi2): ... here.
2825         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
2826         (extendqisi2): ... here.
2827         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
2828         (extendhisi2): ... here.
2829         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
2830         (ashlsi3): ... here.
2831         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
2832         (lshrsi3): ... here.
2833         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
2834         (ashrsi3): ... here.
2835         (consecutive add peephole): Remove.
2836         * config/mn10300/predicates.md (label_ref_operand): New.
2837         (int_mode_flags): New.
2838         (CCZN_comparison_operator): New.
2839
2840         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
2841         (throughput_42_latency_43): New reservation.
2842         (mulsidi3, umulsidi3): New expanders.
2843         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
2844         the MDR register to allocation; separately allocate the low and
2845         high parts of the DImode result.
2846         (umulsidi3_internal): Similarly.
2847         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
2848         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
2849         (udivsi3, umodsi3): Remove.
2850         (udivmodsi4, divmodsi4): New expanders.
2851         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
2852         (*divmodsi4): Simiarly.
2853         (ext_internal): New.
2854
2855         * config/mn10300/constraints.md ("z"): New constraint.
2856         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
2857         (FIXED_REGISTERS): Don't fix MDR.
2858         (CALL_USED_REGSITERS): Reformat nicely.
2859         (REG_ALLOC_ORDER): Add MDR.
2860         (enum regclass): Add MDR_REGS.
2861         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
2862         (IRA_COVER_CLASSES): Add MDR_REGS.
2863         (REGNO_REG_CLASS): Handle MDR_REG.
2864         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
2865         (mn10300_register_move_cost): Likewise.
2866         * config/mn10300/mn10300.md (MDR_REG): New.
2867         (*movsi_internal): Handle moves to/from MDR_REGS.
2868
2869         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
2870         POST_MODIFY.
2871         (mn10300_secondary_reload): Tidy combination reload classes.
2872         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
2873         addresses for AM33.  Allow symbolic offsets for reg+imm.
2874         (mn10300_regno_in_class_p): New.
2875         (mn10300_legitimize_reload_address): New.
2876         * config/mn10300/mn10300.h (enum reg_class): Remove
2877         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
2878         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
2879         SP_OR_GENERAL_REGS.
2880         (REG_CLASS_NAMES): Update to match.
2881         (REG_CLASS_CONTENTS): Likewise.
2882         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
2883         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
2884         (REGNO_IN_RANGE_P): Remove.
2885         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
2886         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
2887         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
2888         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
2889         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
2890         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
2891         (REGNO_GENERAL_P): New.
2892         (HAVE_POST_MODIFY_DISP): New.
2893         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
2894         (LEGITIMIZE_RELOAD_ADDRESS): New.
2895         * config/mn10300/mn10300-protos.h: Update.
2896
2897         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
2898         DATA_REGS for AM33 stack-pointer destination.
2899         (mn10300_preferred_output_reload_class): Likewise.
2900         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
2901         into a form appropriate for ...
2902         (TARGET_SECONDARY_RELOAD): New.
2903         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
2904         * config/mn10300/mn10300-protos.h: Update.
2905         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
2906         reload_insi; use the "A" constraint for the scratch; handle AM33
2907         moves of sp to non-address registers.
2908
2909         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
2910         (*movqi_internal): ... here.
2911         (*am33_movhi, *mn10300_movhi): Merge into...
2912         (*movhi_internal): ... here.
2913         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
2914         as the source/destination of moves from/to SP.
2915         (movsf): Only allow for AM33-2.
2916         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
2917         any integer constant constraint.  Only allow for AM33-2.  Tidy
2918         all of the alternative outputs.
2919         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
2920         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
2921         for MN103.
2922         (udivsi3, umodsi3): New patterns for MN103 only.
2923
2924 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
2925
2926         * doc/tm.texi.in: Spell out that a lack of register class unions
2927         can lead to ICEs.
2928         * doc/tm.texi: Regenerate.
2929
2930 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
2931
2932         PR rtl-optimization/47337
2933         * dce.c (check_argument_store): New function.
2934         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
2935
2936         PR tree-optimization/47290
2937         * tree-eh.c (infinite_empty_loop_p): New function.
2938         (cleanup_empty_eh): Use it.
2939
2940 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
2941
2942         PR target/46997
2943         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
2944         (a64_expand_widen_sum): Ditto.
2945         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
2946         (vec_extract_evenodd_help): Ditto.
2947         (vec_extract_evenv4hi): Ditto.
2948         (vec_extract_oddv4hi): Ditto.
2949         (vec_extract_evenv2si): Ditto.
2950         (vec_extract_oddv2si): Ditto.
2951         (vec_extract_evenv2sf): Ditto.
2952         (vec_extract_oddv2sf): Ditto.
2953         (vec_pack_trunc_v4hi: Ditto.
2954         (vec_pack_trunc_v2si): Ditto.
2955         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
2956         (vec_interleave_highv8qi): Ditto.
2957         (mix1_r): Ditto.
2958         (vec_extract_oddv8qi): Ditto.
2959         (vec_interleave_lowv4hi): Ditto.
2960         (vec_interleave_highv4hi): Ditto.
2961         (vec_interleave_lowv2si): Ditto.
2962         (vec_interleave_highv2si): Ditto.
2963
2964 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2965
2966         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
2967         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
2968         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
2969         (pa_c_mode_for_suffix): New.
2970         (TARGET_EXPAND_BUILTIN): Define.
2971         (TARGET_C_MODE_FOR_SUFFIX): Define.
2972         (pa_builtins): Define.
2973         (pa_init_builtins): Register __float128 type and init new support
2974         builtins.
2975         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
2976         * config/pa/quadlib.c (_U_Qfcopysign): New.
2977
2978 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2979
2980         PR middle-end/46894
2981         * explow.c (allocate_dynamic_stack_space): Do not assume more than
2982         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
2983         are defined.
2984
2985 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2986
2987         PR tree-optimization/47179
2988         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
2989         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
2990
2991 2011-01-18  Richard Guenther  <rguenther@suse.de>
2992
2993         PR rtl-optimization/47216
2994         * emit-rtl.c: Include tree-flow.h.
2995         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
2996         of replicating it with different semantics.
2997         * Makefile.in (emit-rtl.o): Adjust.
2998
2999 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3000
3001         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
3002         (cortex_a9_dp): Handle neon types correctly.
3003
3004 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
3005
3006         PR rtl-optimization/47299
3007         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
3008         subtarget.  Use normal multiplication if both operands are constants.
3009         * expmed.c (expand_widening_mult): Don't try to optimize constant
3010         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
3011         before using it.
3012
3013 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3014
3015         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
3016         spacing after 'e.g.', typos, comma, hyphenation.
3017
3018 2011-01-17  Richard Henderson  <rth@redhat.com>
3019
3020         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
3021         (rx_restricted_mem_operand): New.
3022         (rx_shift_operand): Use register_operand.
3023         (rx_source_operand, rx_compare_operand): Likewise.
3024         * config/rx/rx.md (addsi3_flags): New expander.
3025         (adddi3): Rewrite as expander.
3026         (adc_internal, *adc_flags, adddi3_internal): New patterns.
3027         (subsi3_flags): New expander.
3028         (subdi3): Rewrite as expander.
3029         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
3030
3031         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
3032         (rx_init_builtins): Remove sat builtin.
3033         (rx_expand_builtin): Likewise.
3034         * config/rx/rx.md (ssaddsi3): New.
3035         (*sat): Rename from sat.  Represent the CC_REG input.
3036
3037         * config/rx/predicates.md (rshift_operator): New.
3038         * config/rx/rx.c (rx_expand_insv): Remove.
3039         * config/rx/rx-protos.h: Update.
3040         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
3041         operand to the canonical position.
3042         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
3043         (*bitclr, *bitclr_in_memory): Similarly.
3044         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
3045         (insv): Retain the zero_extract in the expansion.
3046
3047         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
3048         (bswaphi2, bitinvert, revw): Likewise.
3049
3050         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
3051         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
3052         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
3053         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
3054         (bitset, bitset_in_memory): Likewise.
3055         (bitinvert, bitinvert_in_memory): Likewise.
3056         (bitclr, bitclr_in_memory): Likewise.
3057         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
3058         (rx_strend, rx_cmpstrn): Likewise.
3059         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
3060         (bitop peep2 patterns): Remove.
3061
3062         * config/rx/rx.c (rx_match_ccmode): New.
3063         * config/rx/rx-protos.h: Update.
3064         * config/rx/rx.md (abssi2): Clobber, don't set flags.
3065         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
3066         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
3067         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
3068         (fix_truncsfsi2, floatsisf2): Likewise.
3069         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
3070         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
3071         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
3072         (*subsi3_flags, *xorsi3_flags): New.
3073
3074         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
3075
3076         * config/rx/rx.c (rx_print_operand): Remove workaround for
3077         unsplit comparison operations.
3078
3079         * config/rx/rx.md (movsicc): Split after reload.
3080         (*movsicc): Merge *movsieq and *movsine via match_operator.
3081         (*stcc): New pattern.
3082
3083         * config/rx/rx.c (rx_float_compare_mode): Remove.
3084         * config/rx/rx.h (rx_float_compare_mode): Remove.
3085         * config/rx/rx.md (cstoresi4): Split after reload.
3086         (*sccc): New pattern.
3087
3088         * config/rx/predicates.md (label_ref_operand): New.
3089         (rx_z_comparison_operator): New.
3090         (rx_zs_comparison_operator): New.
3091         (rx_fp_comparison_operator): New.
3092         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
3093         Validate that the flags are set properly for the comparison.
3094         (rx_gen_cond_branch_template): Remove.
3095         (rx_cc_modes_compatible): Remove.
3096         (mode_from_flags): New.
3097         (flags_from_code): Rename from flags_needed_for_conditional.
3098         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
3099         (rx_select_cc_mode): Likewise.
3100         (rx_split_fp_compare): New.
3101         (rx_split_cbranch): New.
3102         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
3103         (*cbranchsi4): Use match_operator and rx_split_cbranch.
3104         (*cbranchsf4): Similarly.
3105         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
3106         match_operator and rx_split_cbranch.
3107         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
3108         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
3109         (*cmpsi): Rename from cmpsi.
3110         (*tstsi): Rename from tstsi.
3111         (*cmpsf): Rename from cmpsf; use CC_Fmode.
3112         (*conditional_branch): Rename from conditional_branch.
3113         (*reveresed_conditional_branch): Remove.
3114         (b<code>): Remove expander.
3115         * config/rx/rx-protos.h: Update.
3116
3117         * config/rx/rx.c (rx_compare_redundant): Remove.
3118         * config/rx/rx.md (cmpsi): Don't use it.
3119         * config/rx/rx-protos.h: Update.
3120
3121         * config/rx/rx-modes.def (CC_F): New mode.
3122         * config/rx/rx.c (rx_select_cc_mode): New.
3123         * config/rx/rx.h (SELECT_CC_MODE): Use it.
3124         * config/rx/rx-protos.h: Update.
3125
3126 2011-01-17  Richard Henderson  <rth@redhat.com>
3127
3128         * except.c (dump_eh_tree): Fix stray ; after for statement.
3129
3130 2011-01-17  Richard Guenther  <rguenther@suse.de>
3131
3132         PR tree-optimization/47313
3133         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
3134         handling before copying the body.  Properly deal with
3135         by-reference result in SSA form.
3136
3137 2011-01-17  Ian Lance Taylor  <iant@google.com>
3138
3139         PR target/47219
3140         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
3141         (struct_value_alias_set): Don't define.
3142         (sparc_option_override): Don't set sparc_sr_alias_set and
3143         struct_value_alias_set.
3144         (save_or_restore_regs): Use gen_frame_mem rather than calling
3145         set_mem_alias_set.
3146         (sparc_struct_value_rtx): Likewise.
3147
3148 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
3149
3150         PR target/47318
3151         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
3152         __m128i.
3153         (_mm_maskstore_pd): Likewise.
3154         (_mm_maskload_ps): Likewise.
3155         (_mm_maskstore_ps): Likewise.
3156         (_mm256_maskload_pd): Change mask to __m256i.
3157         (_mm256_maskstore_pd): Likewise.
3158         (_mm256_maskload_ps): Likewise.
3159         (_mm256_maskstore_ps): Likewise.
3160
3161         * config/i386/i386-builtin-types.def: Updated.
3162         (ix86_expand_special_args_builtin): Likewise.
3163
3164         * config/i386/i386.c (bdesc_special_args): Update
3165         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
3166         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
3167         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
3168         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
3169
3170         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
3171         Use <avxpermvecmode> on mask register.
3172         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
3173
3174 2011-01-17  Olivier Hainque  <hainque@adacore.com>
3175             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
3176             Eric Botcazou  <ebotcazou@adacore.com>
3177
3178         PR target/46655
3179         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
3180         if <= USHRT_MAX in 32-bit mode.
3181
3182 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3183
3184         * doc/install.texi (Configuration, Specific): Wrap long
3185         lines in examples.  Allow line wrapping in long options
3186         and URLs where beneficial for PDF output.
3187
3188 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
3189
3190         * config/mips/mips.c (mips_classify_symbol): Don't return
3191         SYMBOL_PC_RELATIVE for nonlocal labels.
3192
3193 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3194
3195         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
3196
3197 2011-01-15  Jan Hubicka  <jh@suse.cz>
3198
3199         PR tree-optimization/47276
3200         * ipa.c (function_and_variable_visibility): Do not try to mark alias
3201         declarations as needed.
3202
3203 2011-01-15  Martin Jambor  <mjambor@suse.cz>
3204
3205         * common.opt (fdevirtualize): New flag.
3206         * doc/invoke.texi (Option Summary): Document it.
3207         * opts.c (default_options_table): Add devirtualize flag.
3208         * ipa-prop.c (detect_type_change): Return immediately if
3209         devirtualize flag is not set.
3210         (detect_type_change_ssa): Likewise.
3211         (compute_known_type_jump_func): Likewise.
3212         (ipa_analyze_virtual_call_uses): Likewise.
3213
3214 2011-01-14  Martin Jambor  <mjambor@suse.cz>
3215
3216         PR tree-optimization/45934
3217         PR tree-optimization/46302
3218         * ipa-prop.c (type_change_info): New type.
3219         (stmt_may_be_vtbl_ptr_store): New function.
3220         (check_stmt_for_type_change): Likewise.
3221         (detect_type_change): Likewise.
3222         (detect_type_change_ssa): Likewise.
3223         (compute_complex_assign_jump_func): Check for dynamic type change.
3224         (compute_complex_ancestor_jump_func): Likewise.
3225         (compute_known_type_jump_func): Likewise.
3226         (compute_scalar_jump_functions): Likewise.
3227         (ipa_analyze_virtual_call_uses): Likewise.
3228         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
3229
3230 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3231
3232         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
3233         * config/i386/i386.opt (msse5): New Alias.
3234
3235 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3236
3237         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
3238         * config/sparc/linux64.h (CC1_SPEC): Likewise.
3239         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3240         * config/sparc/sparc.h (CC1_SPEC): Likewise.
3241
3242 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3243
3244         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
3245         -mcpu options.
3246         * config/sparc/linux64.h (CC1_SPEC): Likewise.
3247         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3248         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
3249         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
3250         Likewise.
3251         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
3252
3253 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3254
3255         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
3256
3257 2011-01-14  Mike Stump  <mikestump@comcast.net>
3258
3259         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
3260         * config/fr30/fr30.md: Likweise
3261         (movsi_push): Likewise.
3262         (movsi_pop): Likewise.
3263         (enter_func): Likewise.
3264         * config/moxie/moxie.md (movsi_push): Likewise.
3265         (movsi_pop): Likewise.
3266
3267 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3268
3269         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
3270         %{no_archive} %{exact_version}.
3271         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
3272         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
3273         %{no_archive} %{exact_version}.
3274         * config/mips/openbsd.h (LINK_SPEC): Likewise.
3275         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
3276         * config/mips/vxworks.h: Likewise.
3277
3278 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3279
3280         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
3281
3282 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3283
3284         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
3285         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
3286
3287 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3288
3289         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
3290         -nodefaultlib.
3291
3292 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3293
3294         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
3295         for mcpu not cpu.
3296         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
3297         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
3298         not cpu.
3299         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
3300         Don't handle -shlib.
3301
3302 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3303
3304         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
3305         (CC1_SPEC): Don't handle -profile.
3306
3307 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3308
3309         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
3310         * config/mips/mips.h (CC1_SPEC): Likewise.
3311
3312 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3313
3314         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
3315         * config/mips/mips.h (CC1_SPEC): Likewise.
3316
3317 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3318
3319         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
3320         * config/m32r/linux.h (LINK_SPEC): Likewise.
3321         * config/mips/linux.h (LINK_SPEC): Likewise.
3322         * config/mips/linux64.h (LINK_SPEC): Likewise.
3323         * config/sparc/linux.h (LINK_SPEC): Likewise.
3324         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
3325         LINK_SPEC): Likewise.
3326         * config/xtensa/linux.h (LINK_SPEC): Likewise.
3327
3328 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3329
3330         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
3331         %{version:-v}.
3332         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
3333
3334 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3335
3336         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
3337         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
3338
3339 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3340
3341         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
3342
3343 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3344
3345         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
3346         supports -Bstatic/-Bdynamic.
3347         * configure: Regenerate.
3348
3349 2011-01-14  Jan Hubicka  <jh@suse.cz>
3350             Jack Howarth  <howarth@bromo.med.uc.edu>
3351
3352         PR target/46037
3353         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
3354         when checking debug_info_level. Test write_symbols instead of
3355         debug_hooks->var_location when setting flag_var_tracking_uninit.
3356
3357 2011-01-14  Richard Guenther  <rguenther@suse.de>
3358
3359         PR tree-optimization/47179
3360         * target.def (ref_may_alias_errno): New target hook.
3361         * targhooks.h (default_ref_may_alias_errno): Declare.
3362         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
3363         (default_ref_may_alias_errno): New function.
3364         * target.h (struct ao_ref_s): Declare.
3365         * tree-ssa-alias.c: Include target.h.
3366         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
3367         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
3368         (targhooks.o): Likewise.
3369         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
3370         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
3371
3372 2011-01-14  Richard Guenther  <rguenther@suse.de>
3373
3374         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
3375
3376 2011-01-14  Richard Guenther  <rguenther@suse.de>
3377
3378         PR tree-optimization/47280
3379         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
3380         return CFG changes.
3381         (tree_ssa_forward_propagate_single_use_vars): Deal with
3382         CFG changes from associate_plusminus.
3383
3384 2011-01-14  Richard Guenther  <rguenther@suse.de>
3385
3386         PR middle-end/47281
3387         Revert
3388         2011-01-11  Richard Guenther  <rguenther@suse.de>
3389
3390         PR tree-optimization/46076
3391         * tree-ssa.c (useless_type_conversion_p): Conversions from
3392         unprototyped to empty argument list function types are useless.
3393
3394 2011-01-14  Richard Guenther  <rguenther@suse.de>
3395
3396         PR tree-optimization/47286
3397         * tree-ssa-structalias.c (new_var_info): Register variables are global.
3398
3399 2011-01-14  Martin Jambor  <mjambor@suse.cz>
3400
3401         PR middle-end/46823
3402         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
3403
3404 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
3405
3406         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
3407         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
3408         * config/xtensa/xtensa.c (xtensa_libcall_value,
3409         xtensa_function_value_regno_p): New functions.
3410         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
3411
3412 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
3413
3414         PR c++/47213
3415         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
3416         PE specific hook.
3417         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
3418         New function prototype.
3419         * config/i386/winnt.c (i386_pe_assemble_visibility):
3420         Warn only if attribute was specified by user.
3421
3422 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
3423
3424         PR target/47251
3425         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
3426         floating point.
3427         (floatunsdidf2_fcfidu): Ditto.
3428
3429 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3430
3431         * config/s390/s390.c (print_operand_address): Replace 'error' with
3432         'output_operand_lossage'.
3433         (print_operand): Likewise.
3434
3435 2011-01-13  Jeff Law  <law@redhat.com>
3436
3437         PR rtl-optimization/39077
3438         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
3439         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
3440         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
3441         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
3442         * gcse.c (prune_insertions_deletions): New function.
3443         (compute_pre_data): Use it.
3444
3445 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
3446
3447         PR debug/PR46973
3448         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
3449         static function.
3450         (prune_unused_types_mark): Use it.
3451
3452 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
3453
3454         PR rtl-optimization/45352
3455         * sel-sched.c: Update copyright years.
3456         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
3457         in the advancing loop when we have issued issue_rate insns.
3458
3459 2011-01-12  Richard Henderson  <rth@redhat.com>
3460
3461         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
3462         (TARGET_MD_ASM_CLOBBERS): New.
3463
3464         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
3465         (TARGET_DELEGITIMIZE_ADDRESS): New.
3466
3467         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
3468         (clzsi2, *bsch): New patterns.
3469
3470         * config/mn10300/mn10300.md (INT): New mode iterator.
3471         (*mov<INT>_clr): New pattern, and peep2 to generate it.
3472
3473         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
3474         flag_split_wide_types.
3475
3476         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
3477         (mn10300_trampoline_init): Rewrite without a template, an immediate
3478         load and a direct branch.
3479         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
3480
3481 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
3482
3483         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3484         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
3485         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
3486         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3487
3488 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
3489
3490         PR debug/47209
3491         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
3492         of type.
3493
3494 2011-01-12  Jan Hubicka  <jh@suse.cz>
3495
3496         PR driver/47244
3497         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
3498         (PLUGIN_COND_CLOSE): New macro.
3499         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
3500
3501 2011-01-12  Richard Guenther  <rguenther@suse.de>
3502
3503         PR lto/47259
3504         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
3505         register variables in a MEM_REF.
3506
3507 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
3508
3509         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
3510         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
3511         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
3512         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
3513         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
3514         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
3515         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
3516         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
3517         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
3518         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
3519         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
3520         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
3521         * config/gnu-user.h: New.  Copied from linux.h.
3522         (LINUX_TARGET_STARTFILE_SPEC): Rename to
3523         GNU_USER_TARGET_STARTFILE_SPEC.
3524         (LINUX_TARGET_ENDFILE_SPEC): Rename to
3525         GNU_USER_TARGET_ENDFILE_SPEC.
3526         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
3527         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
3528         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
3529         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
3530         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
3531         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
3532         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
3533         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
3534         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
3535         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
3536         * config/arm/linux-eabi.h (CC1_SPEC): Use
3537         GNU_USER_TARGET_CC1_SPEC.
3538         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
3539         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
3540         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
3541         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
3542         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
3543         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
3544         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
3545         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
3546
3547 2011-01-12  Richard Guenther  <rguenther@suse.de>
3548
3549         PR other/46946
3550         * doc/invoke.texi (ffast-math): Document it is turned on
3551         with -Ofast.
3552
3553 2011-01-12  Jan Hubicka  <jh@suse.cz>
3554
3555         PR tree-optimization/47233
3556         * opts.c (common_handle_option): Disable ipa-reference with profile
3557         feedback.
3558
3559 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
3560
3561         * c-parser.c (c_parser_objc_at_property_declaration): Improved
3562         error message.
3563
3564 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
3565
3566         * c-parser.c (c_lex_one_token): Updated and reindented some
3567         comments.  No changes in code.
3568
3569 2011-01-11  Ian Lance Taylor  <iant@google.com>
3570
3571         * godump.c (go_output_var): Don't output the variable if there is
3572         already a type with the same name.
3573
3574 2011-01-11  Ian Lance Taylor  <iant@google.com>
3575
3576         * godump.c (go_format_type): Don't generate float80.
3577
3578 2011-01-11  Richard Henderson  <rth@redhat.com>
3579
3580         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
3581         declaration.  Rewrite for both speed and size.
3582         (mn10300_address_cost_1): Remove.
3583         (mn10300_register_move_cost): New.
3584         (mn10300_memory_move_cost): New.
3585         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
3586         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
3587         extensions, shifts, BSWAP, CLZ.
3588         (mn10300_wide_const_load_uses_clr): Remove.
3589         (TARGET_REGISTER_MOVE_COST): New.
3590         (TARGET_MEMORY_MOVE_COST): New.
3591         * config/mn10300/mn10300-protos.h: Update.
3592         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
3593
3594         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
3595         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
3596         * config/mn10300/mn10300-protos.h: Update.
3597         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
3598         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
3599         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
3600         (*test_int_bitfield, *test_byte_bitfield): Remove.
3601         (*bit_test, *subreg_bit_test): Remove.
3602         * config/mn10300/predicates.md (const_8bit_operand): Remove.
3603
3604         * config/mn10300/constraints.md ("c"): Rename from "A".
3605         ("A", "D"): New constraint letters.
3606         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
3607         (fmssf4, fnmasf4, fnmssf4): Likewise.
3608
3609         * config/mn10300/mn10300.md (isa): New attribute.
3610         (enabled): New attribute.
3611
3612         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
3613         (abssf2, negsf2): Define only for hardware fp.
3614         (sqrtsf2): Reformat.
3615         (addsf3, subsf3, mulsf3): Merge expander and insn.
3616
3617         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
3618         (DEBUGGER_AUTO_OFFSET): Remove.
3619         (DEBUGGER_ARG_OFFSET): Remove.
3620
3621         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
3622         Emit register stores with the same offsets as the hardware.
3623         (mn10300_store_multiple_operation): Don't check that the register
3624         save offsets are monotonic.
3625         * config/mn10300/mn10300-protos.h: Update.
3626
3627         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
3628
3629         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
3630         in terms of the value on the stack, not the MDR register.
3631
3632 2011-01-11  Jan Hubicka  <jh@suse.cz>
3633
3634         PR lto/45721
3635         PR lto/45375
3636         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
3637         (symbol_alias_set_destroy, symbol_alias_set_contains,
3638         propagate_aliases_backward): Declare.
3639         * lto-streamer-out.c (struct sets): New sturcture.
3640         (trivally_defined_alias): New function.
3641         (output_alias_pair_p): Rewrite.
3642         (output_unreferenced_globals): Fix output of alias pairs.
3643         (produce_symtab): Likewise.
3644         * ipa.c (function_and_variable_visibility): Set weak alias destination
3645         as needed in lto.
3646         * varasm.c (symbol_alias_set_t): Remove.
3647         (symbol_alias_set_destroy): Export.
3648         (propagate_aliases_forward, propagate_aliases_backward): New functions
3649         based on ...
3650         (compute_visible_aliases): ... this one; remove.
3651         (trivially_visible_alias): New
3652         (trivially_defined_alias): New.
3653         (remove_unreachable_alias_pairs): Rewrite.
3654         (finish_aliases_1): Reorganize code checking if alias is defined.
3655         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
3656         in LTO mode.
3657
3658 2011-01-11  Richard Guenther  <rguenther@suse.de>
3659
3660         PR tree-optimization/46076
3661         * tree-ssa.c (useless_type_conversion_p): Conversions from
3662         unprototyped to empty argument list function types are useless.
3663
3664 2011-01-11  Richard Guenther  <rguenther@suse.de>
3665
3666         PR middle-end/45235
3667         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
3668         volatile MEMs as MEM_READONLY_P.
3669
3670 2011-01-11  Richard Guenther  <rguenther@suse.de>
3671
3672         PR tree-optimization/47239
3673         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
3674
3675 2011-01-11  Jeff Law  <law@redhat.com>
3676
3677         PR tree-optimization/47086
3678         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
3679         IVs from statements that might throw.
3680
3681 2011-01-10  Jan Hubicka  <jh@suse.cz>
3682
3683         PR lto/45375
3684         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
3685
3686 2011-01-10  Jan Hubicka  <jh@suse.cz>
3687
3688         PR lto/45375
3689         * profile.c (read_profile_edge_counts): Ignore profile inconistency
3690         when correcting profile.
3691
3692 2011-01-10  Jan Hubicka  <jh@suse.cz>
3693
3694         PR lto/46083
3695         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
3696         DECL_FINI_PRIORITY.
3697         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
3698         Restore DECL_FINI_PRIORITY.
3699
3700 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3701
3702         * doc/gimple.texi: Fix quoting of multi-word return values in
3703         @deftypefn statements.  Ensure presence of return value.  Wrap
3704         overlong @deftypefn lines.
3705         (is_gimple_operand, is_gimple_min_invariant_address): Remove
3706         descriptions of removed functions.
3707         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
3708         of multi-word return value in @deftypefn statement.
3709
3710 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3711
3712         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
3713         (Conditional Expressions, Logical Operators)
3714         (Statement and operand traversals): Do not indent smallexample
3715         code.  Fix duplicate function argument in example.
3716
3717 2011-01-10  Jeff Law  <law@redhat.com>
3718
3719         PR tree-optimization/47141
3720         * ipa-split.c (split_function): Handle case where we are
3721         returning a value and the return block has a virtual operand phi.
3722
3723 2011-01-10  Jan Hubicka  <jh@suse.cz>
3724
3725         PR tree-optimization/47234
3726         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
3727         (pass_feedback_split_functions): Declare.
3728         * passes.c (init_optimization_passes): Add ipa-split as subpass of
3729         tree-profile.
3730         * ipa-split.c (gate_split_functions): Update comments; disable
3731         split-functions for profile_arc_flag and branch_probabilities.
3732         (gate_feedback_split_functions): New function.
3733         (execute_feedback_split_functions): New function.
3734         (pass_feedback_split_functions): New global var.
3735
3736 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
3737
3738         PR lto/46760
3739         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
3740         calling gimple_call_set_cannot_inline.
3741
3742 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
3743
3744         * config/darwin-sections.def: Remove unused section.
3745
3746 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
3747
3748         PR c++/47218
3749         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
3750
3751 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
3752
3753         PR objc/47232
3754         * c-parser.c (c_parser_declaration_or_fndef): Improved
3755         error message.
3756
3757 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
3758
3759         * config/i386/winnt.c (i386_pe_start_function): Make sure
3760         to switch back to function's section.
3761
3762 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
3763
3764         PR gcc/46902
3765         PR testsuite/46912
3766         * plugin.c: Move include of dlfcn.h from here...
3767         * system.h: ... to here.
3768
3769 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3770
3771         * doc/cpp.texi (C++ Named Operators): Fix markup for header
3772         file name.
3773         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
3774         two extra empty pages in PDF output.
3775
3776 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
3777
3778         PR objc/47078
3779         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
3780         for error recovery purposes behave as if it was not specified so
3781         that the default type is usd.
3782
3783 2011-01-07  Jan Hubicka  <jh@suse.cz>
3784
3785         PR tree-optmization/46469
3786         * ipa.c (function_and_variable_visibility): Clear needed flags on
3787         nodes with external decls; handle weakrefs merging correctly.
3788
3789 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
3790
3791         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
3792         not false.
3793
3794 2011-01-07  Jan Hubicka  <jh@suse.cz>
3795
3796         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
3797         and no longer claim that gold is required for linker plugin.
3798         * configure: Regenerate.
3799         * gcc.c (PLUGIN_COND): New macro.
3800         (LINK_COMMAND_SPEC): Use it.
3801         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
3802         * config.in (HAVE_LTO_PLUGIN): New.
3803         * configure.ac (--with-lto-plugin): New parameter; autodetect
3804         HAVE_LTO_PLUGIN.
3805
3806 2011-01-07  Jan Hubicka  <jh@suse.cz>
3807
3808         PR tree-optimization/46367
3809         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
3810         when we can update original.
3811         (cgraph_mark_inline_edge): Sanity check.
3812         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
3813
3814 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3815
3816         * config/spu/spu.h (ASM_COMMENT_START): Define.
3817
3818 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3819
3820         PR driver/42445
3821         * gcc.c (%>S): New.
3822         (SWITCH_KEEP_FOR_GCC): Likewise.
3823         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
3824         (do_spec_1): Handle "%>".
3825
3826         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
3827
3828 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
3829
3830         PR target/47201
3831         * config/i386/i386.c (ix86_delegitimize_address): If
3832         simplify_gen_subreg fails, return orig_x.
3833
3834         PR bootstrap/47187
3835         * value-prof.c (gimple_stringop_fixed_value): Handle
3836         lhs of the call properly.
3837
3838 2011-01-07  Jan Hubicka  <jh@suse.cz>
3839
3840         PR lto/45375
3841         * lto-opt.c (lto_reissue_options): Set flag_shlib.
3842
3843 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
3844
3845         * target.def (function_switched_text_sections): New hook.
3846         * doc/tm.texi: Regenerated.
3847         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
3848         * final.c (default_function_switched_text_sections): New.
3849         (final_scan_insn): Call function_switched_text_sections when a
3850         mid-function section change occurs.
3851         * output.h (default_function_switched_text_sections): Declare.
3852         * config/darwin-protos.h (darwin_function_switched_text_sections):
3853         Likewise.
3854         * config/darwin.c (darwin_function_switched_text_sections): New.
3855         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
3856
3857 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
3858
3859         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
3860         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
3861         the secondary code fragment when outputting for DWARF == 2.
3862
3863 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
3864
3865         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3866         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
3867         Remove.
3868         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
3869         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3870
3871 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
3872
3873         PR debug/46704
3874         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
3875         when it is not empty.
3876
3877 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
3878
3879         Bobcat Enablement
3880         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
3881         (case ${target}): Add btver1.
3882         * config/i386/driver-i386.c (host_detect_local_cpu): Let
3883         -march=native recognize btver1 processors.
3884         * config/i386/i386-c.c (ix86_target_macros_internal): Add
3885         btver1 def_and_undef
3886         * config/i386/i386.c (struct processor_costs btver1_cost): New
3887         btver1 cost table.
3888         (m_BTVER1): New definition.
3889         (m_AMD_MULTIPLE): Includes m_BTVER1.
3890         (initial_ix86_tune_features): Add btver1 tune.
3891         (processor_target_table): Add btver1 entry.
3892         (static const char *const cpu_names): Add btver1 entry.
3893         (software_prefetching_beneficial_p): Add btver1.
3894         (ix86_option_override_internal): Add btver1 instruction sets.
3895         (ix86_issue_rate): Add btver1.
3896         (ix86_adjust_cost): Add btver1.
3897         * config/i386/i386.h (TARGET_BTVER1): New definition.
3898         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
3899         (enum processor_type): Add PROCESSOR_BTVER1.
3900         * config/i386/i386.md (define_attr "cpu"): Add btver1.
3901
3902 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3903
3904         PR target/43309
3905         * config/i386/i386.c (legitimize_tls_address)
3906         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
3907         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
3908         (tls_initial_exec_64_sun): New pattern.
3909
3910 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
3911
3912         * doc/invoke.texi (Overall Options): Improve wording and markup
3913         of the description of -wrapper.
3914
3915 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
3916
3917         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
3918         rdynamic, threads): New Driver options.
3919
3920 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3921
3922         PR target/38118
3923         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
3924         if coming from .tdata.
3925         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3926
3927 2011-01-06  Jan Hubicka  <jh@suse.cz>
3928
3929         PR lto/47188
3930         * collect2.c (main): Do not enable LTOmode when plugin is active.
3931
3932 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3933
3934         PR other/45915
3935         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
3936         --version output if supported.
3937         * configure: Regenerate.
3938
3939 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
3940
3941         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
3942         Driver options.
3943
3944 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
3945
3946         PR c/47150
3947         * c-convert.c (convert): When converting a complex expression
3948         other than COMPLEX_EXPR to a different complex type, ensure
3949         c_save_expr is called instead of save_expr, unless in_late_binary_op.
3950         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
3951         when converting COMPLEX_TYPE.
3952
3953 2011-01-06  Ira Rosen  <irar@il.ibm.com>
3954
3955         PR tree-optimization/47139
3956         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
3957         only the last reduction value is used outside the loop.  Update
3958         documentation.
3959
3960 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
3961
3962         * config/rtems.opt: New.
3963         * config.gcc (*-*-rtems*): Use rtems.opt.
3964
3965 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
3966
3967         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
3968         processors do not support 3DNow instructions.
3969
3970 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3971
3972         * config/spu/spu.c (spu_option_override): Set parameter
3973         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
3974
3975 2011-01-05  Jan Hubicka  <jh@suse.cz>
3976
3977         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
3978         at the command line.
3979
3980 2011-01-05  Martin Jambor  <mjambor@suse.cz>
3981
3982         PR lto/47162
3983         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
3984         deltas on streamed outgoing edges.
3985         (output_node_opt_summary): Output info for outgoing edges only when
3986         the node is in new parameter set.
3987         (output_cgraph_opt_summary): New parameter set, passed to the two
3988         aforementioned functions.  Update its forward declaration and its
3989         callee too.
3990
3991 2011-01-05  Tom Tromey  <tromey@redhat.com>
3992
3993         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
3994         operator to c_finish_omp_atomic.
3995         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
3996         (build_unary_op): Update.
3997         (build_modify_expr): Update.
3998         (build_asm_expr): Update.
3999
4000 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4001
4002         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
4003         newly inserted insns.
4004         (pad_bb): Likewise.
4005         (spu_emit_branch_hint): Likewise.
4006         (insert_hbrp_for_ilb_runout): Likewise.
4007         (spu_machine_dependent_reorg): Call df_finish_pass after
4008         schedule_insns returns.
4009
4010 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4011
4012         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
4013
4014 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
4015
4016         PR tree-optimization/47005
4017         * tree-sra.c (struct access): Add 'non_addressable' bit.
4018         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
4019         (decide_one_param_reduction): Return 0 if the parameter is passed by
4020         reference and one of the accesses in the group is non_addressable.
4021
4022 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
4023
4024         PR tree-optimization/47056
4025         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
4026         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
4027         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
4028
4029 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
4030
4031         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
4032         initializer.  Skip view conversions from aggregate types.
4033
4034 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
4035
4036         PR bootstrap/47055
4037         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
4038
4039 2011-01-04  Philipp Thomas  <pth@suse.de>
4040
4041         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
4042         obvious typo.
4043
4044 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4045
4046         * function.c (thread_prologue_and_epilogue_insns): Do not crash
4047         on empty epilogue sequences.
4048
4049 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
4050
4051         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
4052         non-static): New Driver options.
4053
4054 2011-01-04  Jie Zhang  <jie@codesourcery.com>
4055
4056         PR driver/47137
4057         * gcc.c (default_compilers[]): Set combinable field to 0
4058         for all assembly languages.
4059
4060 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
4061
4062         * config/mips/loongson3a.md: New file.
4063         * config/mips/mips.md: Include loongson3a.md.
4064         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
4065         TUNE_LOONGSON_3A.
4066
4067 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
4068
4069         PR middle-end/47017
4070         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
4071         instead of convert_memory_address_addr_space on the base expression.
4072
4073 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4074
4075         * config/spu/spu.c (spu_option_override): Update error text
4076         for bad -march= / -mtune= values.
4077
4078 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4079
4080         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
4081         if branch-hint optimization will be performed.
4082
4083 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
4084
4085         PR tree-optimization/47148
4086         * ipa-split.c (split_function): Convert arguments to
4087         DECL_ARG_TYPE if possible.
4088
4089         PR tree-optimization/47155
4090         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
4091         when computing uns.
4092
4093         PR rtl-optimization/47157
4094         * combine.c (try_combine): If undobuf.other_insn becomes
4095         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
4096         and set *new_direct_jump_p too.
4097
4098 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
4099
4100         PR tree-optimization/47021
4101         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
4102
4103 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
4104
4105         * gcc.c (process_command): Update copyright notice dates.
4106         * gcov.c (print_version): Likewise.
4107         * gcov-dump.c (print_version): Likewise.
4108         * mips-tfile.c (main): Likewise.
4109         * mips-tdump.c (main): Likewise.
4110
4111 2011-01-03  Martin Jambor  <mjambor@suse.cz>
4112
4113         PR tree-optimization/46801
4114         * tree-sra.c (type_internals_preclude_sra_p): Check whether
4115         aggregate fields start at byte boundary instead of the bit-field flag.
4116
4117 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
4118
4119         PR driver/47137
4120         * gcc.c (main): Revert revision 168407.