OSDN Git Service

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