OSDN Git Service

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