OSDN Git Service

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