OSDN Git Service

Backport from mainline
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2012-01-06  Eric Botcazou  <ebotcazou@adacore.com>
2
3         Backport from mainline
4         2012-01-06  Arnaud Charlet  <charlet@adacore.com>
5
6         * c-decl.c (ext_block): Moved up.
7         (collect_all_refs, for_each_global_decl): Take ext_block into account.
8
9 2012-01-06  Richard Sandiford  <richard.sandiford@linaro.org>
10
11         PR middle-end/48660
12         * expr.h (copy_blkmode_to_reg): Declare.
13         * expr.c (copy_blkmode_to_reg): New function.
14         (expand_assignment): Don't expand register RESULT_DECLs before
15         the lhs.  Use copy_blkmode_to_reg to copy BLKmode values into a
16         RESULT_DECL register.
17         (expand_expr_real_1): Handle BLKmode decls when looking for promotion.
18
19 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
20
21         PR tree-optimization/51315
22         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
23         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
24
25 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
26
27         PR tree-optimization/51624
28         * tree-sra.c (build_ref_for_model): When replicating a chain of
29         COMPONENT_REFs, stop as soon as the offset would become negative.
30
31 2012-01-04  Richard Guenther  <rguenther@suse.de>
32
33         PR tree-optimization/49651
34         * tree-ssa-structalias.c (type_can_have_subvars): New function.
35         (var_can_have_subvars): Use it.
36         (get_constraint_for_1): Only consider subfields if there
37         can be any.
38
39 2012-01-03  Sandra Loosemore  <sandra@codesourcery.com>
40
41         Backport from mainline:
42         2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
43
44         * doc/invoke.texi (-flto and related options): Copy-edit.
45
46 2012-01-03  Richard Guenther  <rguenther@suse.de>
47
48         Backport from mainline
49         2011-11-10  Richard Guenther  <rguenther@suse.de>
50
51         PR tree-optimization/51042
52         * tree-ssa-pre.c (phi_translate_1): Avoid recursing on
53         self-referential expressions.  Refactor code to avoid duplication.
54
55 2012-01-03  Richard Guenther  <rguenther@suse.de>
56
57         PR tree-optimization/51070
58         * tree-loop-distribution.c (generate_builtin): Do not replace
59         the loop with a builtin if the partition contains statements which
60         results are used outside of the loop.
61         (stmt_has_scalar_dependences_outside_loop): Properly handle calls.
62
63 2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
64
65         Backport from the mainline
66         2011-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
67
68         * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
69         in setting options via target #pragma or attribute.
70
71 2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
72
73         Backport from mainline
74         2011-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
75
76         PR target/51623
77         * config/rs6000/rs6000.c (rs6000_assemble_integer): Don't call
78         unlikely_text_section_p.  Instead check for being in a code
79         section.
80
81 2011-12-23  Richard Guenther  <rguenther@suse.de>
82
83         PR rtl-optimization/50396
84         * simplify-rtx.c (simplify_binary_operation_1): Properly
85         guard code that only works for integers.
86
87 2011-12-22  Doug Kwan  <dougkwan@google.com>
88
89         Backport from mainline
90         2011-03-23  Julian Brown  <julian@codesourcery.com>
91
92         * expr.c (expand_expr_real_1): Only use BLKmode for volatile
93         accesses which are not naturally aligned.
94
95         2011-11-20  Joey Ye  <joey.ye@arm.com>
96
97         * expr.c (expand_expr_real_1): Correctly handle strict volatile
98         bitfield loads smaller than mode size.
99
100 2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
101
102         PR target/51643
103         * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
104         change.
105
106 2011-12-21  Richard Earnshaw  <rearnsha@arm.com>
107
108         PR target/51643
109         * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
110         weak function on bare-metal EABI targets.
111
112 2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
113
114         Backport from mainline
115         2011-12-21  Richard Guenther  <rguenther@suse.de>
116
117         PR lto/41159
118         * tree-outof-ssa.c (insert_value_copy_on_edge): Use the
119         mode of the pseudo as destination mode.  Only assert that
120         is equal to the promoted mode of the decl if it is a REG.
121
122 2011-12-21  Uros Bizjak  <ubizjak@gmail.com>
123
124         * config/alpha/linux-unwind.h: Update copyright years.
125         (MD_FROB_UPDATE_CONTEXT): New define.
126         (alpha_frob_update_context): New function.
127
128 2011-12-19  Martin Jambor  <mjambor@suse.cz>
129
130         PR tree-optimization/51583
131         * tree-sra.c (load_assign_lhs_subreplacements): Call
132         force_gimple_operand_gsi when necessary also in case of no
133         corresponding replacement on the RHS.
134
135 2011-12-16  Eric Botcazou  <ebotcazou@adacore.com>
136
137         * config/sparc/sparc.md (UNSPEC_FRAME_BLOCKAGE): New constant.
138         (frame_blockage): New expander.
139         (frame_blockage<P:mode>): New instruction.
140         * config/sparc/sparc.c (sparc_expand_prologue): When the sequence of
141         instructions establishing the frame isn't atomic, emit frame blockage.
142
143 2011-12-15  H.J. Lu  <hongjiu.lu@intel.com>
144
145         Backport from mainline.
146         2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
147
148         PR rtl-optimization/49720
149         * simplify-rtx.c (simplify_relational_operation_1): Detect
150         infinite recursion condition in "(eq/ne (plus x cst1) cst2)
151         simplifies to (eq/ne x (cst2 - cst1))" case.
152
153 2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
154
155         Backport from mainline.
156         2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
157
158         * config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
159
160 2011-12-13  Eric Botcazou  <ebotcazou@adacore.com>
161
162         * lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
163         * lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
164         * lto-streamer-in.c (lto_read_body): Likewise.
165         (lto_input_toplevel_asms): Likewise.
166         * lto-section-in.c (lto_create_simple_input_block): Likewise.
167         * lto-opts.c (lto_read_file_options): Likewise.
168         * ipa-prop.c (ipa_prop_read_section): Likewise.
169
170         * df.h (DF_NOTE): Fix typo in comment.
171
172 2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
173
174         * regmove.c (fixup_match_2): Only access call_used_regs with hard
175         regs.
176
177 2011-12-12  Jakub Jelinek  <jakub@redhat.com>
178
179         PR middle-end/51510
180         * calls.c (internal_arg_pointer_based_exp_scan): Don't use
181         VEC_safe_grow_cleared if idx is smaller than VEC_length.
182
183         Backported from mainline
184         2011-12-11  Jakub Jelinek  <jakub@redhat.com>
185
186         PR tree-optimization/51485
187         * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
188         DRs in call stmts.
189
190 2011-12-12  Eric Botcazou  <ebotcazou@adacore.com>
191
192         PR tree-optimization/50569
193         * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs
194         in the expression of MODEL instead of just the last one.
195
196 2011-12-09  Michael Meissner  <meissner@the-meissners.org>
197
198         Backport from mainline
199         2011-12-09  Michael Meissner  <meissner@the-meissners.org>
200
201         PR rtl-optimization/51469
202         * varasm.c (default_binds_local_p_1): If the symbol is a gnu
203         indirect function, mark the symbol as non-local.
204
205 2011-12-09  Jakub Jelinek  <jakub@redhat.com>
206
207         Backport from mainline
208         2011-12-08  Jakub Jelinek  <jakub@redhat.com>
209
210         PR tree-optimization/51466
211         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
212         TREE_SIDE_EFFECTS.
213
214         2011-11-28  Jakub Jelinek  <jakub@redhat.com>
215
216         PR tree-optimization/50078
217         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
218         TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.
219
220 2011-12-09  Kazu Hirata  <kazu@codesourcery.com>
221
222         Backport from mainline:
223
224         2011-12-05  Kazu Hirata  <kazu@codesourcery.com>
225
226         PR target/51408
227         * config/arm/arm.md (*minmax_arithsi): Always require the else
228         clause in the MINUS case.
229
230 2011-12-08  Teresa Johnson  <tejohnson@google.com>
231
232         Backport from mainline:
233
234         2011-08-05  Uros Bizjak  <ubizjak@gmail.com>
235
236         * config/i386/i386.md (*movdi_internal_rex64): Use "!o" constraint
237         instead of "!m" for operand 0, alternative 4.
238         (*movdf_internal_rex64): Ditto for operand 0, alernative 6.
239
240 2011-12-08  Jakub Jelinek  <jakub@redhat.com>
241
242         Backport from mainline
243         2011-12-05  Jakub Jelinek  <jakub@redhat.com>
244
245         PR debug/51410
246         * c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
247         for debug info if scope is file_scope.
248
249         PR c/51339
250         * c-decl.c (c_finish_incomplete_decl, finish_decl): Call
251         relayout_decl instead of layout_decl.
252
253         2011-12-05  Jakub Jelinek  <jakub@redhat.com>
254                     Eric Botcazou  <ebotcazou@adacore.com>
255
256         PR middle-end/51323
257         PR middle-end/50074
258         * calls.c (internal_arg_pointer_exp_state): New variable.
259         (internal_arg_pointer_based_exp_1,
260         internal_arg_pointer_exp_scan): New functions.
261         (internal_arg_pointer_based_exp): New function.
262         (mem_overlaps_already_clobbered_arg_p): Use it.
263         (expand_call): Free internal_arg_pointer_exp_state.cache vector
264         and clear internal_arg_pointer_exp_state.scan_start.
265
266         2011-11-30  Jakub Jelinek  <jakub@redhat.com>
267
268         PR rtl-optimization/48721
269         * sched-deps.c (sched_analyze_insn): For SIBLING_CALL_P set
270         reg_pending_barrier to TRUE_BARRIER.
271
272         2011-11-26  Joern Rennecke  <joern.rennecke@embecosm.com>
273
274         PR middle-end/50074
275         * calls.c (mem_overlaps_already_clobbered_arg_p):
276         Return false if no outgoing arguments have been stored so far.
277
278 2011-12-08  Eric Botcazou  <ebotcazou@adacore.com>
279
280         PR tree-optimization/51315
281         * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
282         (tree_non_aligned_mem_p): ...this.  Add ALIGN parameter.  Look into
283         MEM_REFs and use get_object_or_type_alignment for them.
284         (build_accesses_from_assign): Adjust for above change.
285         (access_precludes_ipa_sra_p): Likewise.
286
287 2011-12-06  Martin Jambor  <mjambor@suse.cz>
288
289         Backport from mainline:
290
291         2011-12-02  Martin Jambor  <mjambor@suse.cz>
292
293         PR tree-optimization/50622
294         * tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand
295         if both lacc and racc are grp_partial_lhs.
296
297 2011-12-06  Iain Sandoe  <iains@gcc.gnu.org>
298
299         * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
300         rs6000_current_abi.
301
302 2011-12-06  Alan Modra  <amodra@gmail.com>
303
304         PR target/50906
305         * config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
306         Do not mark r11 setup as frame-related.  Pass correct offset to
307         rs6000_emit_savres_rtx.  Correct out-of-line rs6000_frame_related
308         arguments.  Correct sp_offset.  Remove "offset" fudge from
309         in-line rs6000_frame_related call.  Rename misleading variable.
310         Fix comments and whitespace.  Tidy some expressions.
311         (rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
312         to r11 in out-of-line case.  Correct sp_offset.  Pass correct
313         offset to rs6000_emit_savres_rtx.  Rename misleading variable.
314         Fix comments and whitespace.  Tidy some expressions.
315         (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
316         adjustment when !saving_GPRs_inline.  Correct register mode
317         used in address calcs.
318         (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
319         !restoring_GPRs_inline.
320
321 2011-12-04  Jérémie Detrey  <Jeremie.Detrey@loria.fr>
322
323         PR target/51393
324         * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
325         parameter as long long.
326
327 2011-12-02  Georg-Johann Lay  <avr@gjlay.de>
328
329         PR target/51002
330         PR target/51345
331         * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
332         Enclose parts using __SP_H__ in !defined (__AVR_HAVE_8BIT_SP__).
333         Add FIXME comments.
334         * config/avr/avr.md (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Set
335         insn condition to !AVR_HAVE_8BIT_SP.
336         * config/avr/avr.c (output_movhi): "clr%B0" instead of "in
337         %B0,__SP_H__" if AVR_HAVE_8BIT_SP.
338         (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.
339         * config/avr/avr-devices.c (avr_mcu_types): ATtiny4313 and
340         AT86RF401 have a 16-bit SP (their manual is bogus).
341
342 2011-11-25  Richard Sandiford  <richard.sandiford@linaro.org>
343
344         Backport from mainline:
345
346         2011-03-29  Richard Sandiford  <richard.sandiford@linaro.org>
347
348         PR debug/48190
349         * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
350         (cached_dw_loc_list_def): New structure.
351         (cached_dw_loc_list): New typedef.
352         (cached_dw_loc_list_table): New variable.
353         (cached_dw_loc_list_table_hash): New function.
354         (cached_dw_loc_list_table_eq): Likewise.
355         (add_location_or_const_value_attribute): Take a bool cache_p.
356         Cache the list when the parameter is true.
357         (gen_formal_parameter_die): Update caller.
358         (gen_variable_die): Likewise.
359         (dwarf2out_finish): Likewise.
360         (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
361         while generating debug info for the decl.
362         (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
363         (dwarf2out_init): Initialize cached_dw_loc_list_table.
364         (resolve_addr): Cache the result of resolving a chain of
365         location lists.
366
367 2011-11-24  Enkovich Ilya  <ilya.enkovich@intel.com>
368
369         PR target/51287
370         * i386.c (distance_non_agu_define): Fix insn attr check.
371
372 2011-11-20  Andreas Tobler  <andreast@fgznet.ch>
373
374         * configure: Regenerate.
375
376 2011-11-19  Eric Botcazou  <ebotcazou@adacore.com>
377
378         PR rtl-optimization/51187
379         * reorg.c (relax_delay_slots): Do not consider a jump useless if there
380         is a barrier between the jump and its target label.
381
382 2011-11-19  Richard Earnshaw  <rearnsha@arm.com>
383
384         PR target/50493
385         * config/arm/arm.c (neon_disambiguate_copy): Correctly handle partial
386         overlap of src and dest operands.
387
388 2011-11-18  Iain Sandoe  <iains@gcc.gnu.org>
389
390         PR target/49992
391         * configure.ac: Remove ranlib special-casing for Darwin.
392         * configure: Regenerate.
393
394 2011-11-16  Richard Earnshaw  <rearnsha@arm.com>
395             Bernd Schmidt <bernds@coudesourcery.com>
396             Sebastian Huber <sebastian.huber@embedded-brains.de>
397
398         PR target/49641
399         * config/arm/arm.c (store_multiple_sequence): Avoid cases where
400         the base reg is stored iff compiling for Thumb1.
401
402 2011-11-13  Iain Sandoe  <iains@gcc.gnu.org>
403
404         PR target/48108
405         Backport from mainline r180523
406         * config/darwin.c (top level): Amend comments concerning LTO output.
407         (lto_section_num): New variable.  (darwin_lto_section_e): New GTY.
408         (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
409         (LTO_NAMES_SECTION): Rename.
410         (darwin_asm_named_section): Record LTO section counts and switches
411         in a vec of darwin_lto_section_e.
412         (darwin_file_start): Remove unused code.
413         (darwin_file_end): Put an LTO section termination label.  Handle
414         output of the wrapped LTO sections, index and names table.
415
416 2011-11-12  Iain Sandoe  <iains@gcc.gnu.org>
417
418         PR target/45233
419         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
420         Only expand a symbol ref. into an access when the entity is defined
421         in the TU.
422
423 2011-11-10  Jakub Jelinek  <jakub@redhat.com>
424
425         PR middle-end/51077
426         * tree-object-size.c (addr_object_size): Check TREE_CODE of
427         MEM_REF's operand rather than code of the MEM_REF itself.
428
429 2011-11-07  Alan Modra  <amodra@gmail.com>
430
431         PR target/30282
432         * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit
433         blockage for ABI_V4.
434
435 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
436
437         PR c++/50608
438         * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
439         to fold_offsetof.
440         * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
441
442 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
443
444         PR target/50979
445         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
446
447 2011-11-03  Uros Bizjak  <ubizjak@gmail.com>
448
449         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
450         rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
451         btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.
452
453 2011-11-02  Eric Botcazou  <ebotcazou@adacore.com>
454
455         PR target/50945
456         * config/sparc/sparc.md (movsf_insn): Reindent constraints.
457         (movsf_insn_no_fpu): Likewise.
458         (movdf_insn_sp32): Likewise.
459         (movdf_insn_sp32_no_fpu): Likewise.
460         (movdf_insn_sp32_v9): Likewise.  Remove redundant GY constraint.
461         (movdf_insn_sp32_v9_no_fpu): Likewise.
462         (movdf_insn_sp64): Likewise.
463         (movdf_insn_sp64_no_fpu): Likewise.
464         (movtf_insn_sp32): Likewise.
465         (movtf_insn_sp32_no_fpu): Likewise.
466         (movtf_insn_sp64): Likewise.
467         (movtf_insn_sp64_hq): Likewise.
468         (movtf_insn_sp64_no_fpu): Likewise.
469
470 2011-11-02  Bernd Schmidt  <bernds@codesourcery.com>
471
472         * cfgcleanup.c (try_head_merge_bb): If get_condition returns
473         NULL for a jump that is a cc0 insn, pick the previous insn for
474         move_before.
475
476 2011-11-01  Uros Bizjak  <ubizjak@gmail.com>
477
478         * config/i386/i386.md (splitters for int-float conversion): Use
479         SUBREG_REG on SUBREGs in splitter constraints.
480
481 2011-11-01  Julian Brown  <julian@codesourcery.com>
482
483         PR rtl-optimization/47918
484         * reload1.c (set_initial_label_offsets): Use initial offsets
485         for labels on the nonlocal_goto_handler_labels chain.
486
487 2011-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
488
489         PR target/50691
490         * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
491         * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
492         TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
493
494 2011-10-27  Uros Bizjak  <ubizjak@gmail.com>
495
496         PR target/50875
497         * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
498         constraints.  Change alternative 1 to "x,m,1".
499
500 2011-10-26  Jakub Jelinek  <jakub@redhat.com>
501
502         * BASE-VER: Set to 4.6.3.
503         * DEV-PHASE: Set to prerelease.
504
505 2011-10-26  Release Manager
506
507         * GCC 4.6.2 released.
508
509 2011-10-25  Kai Tietz  <ktietz@redhat.com>
510
511         * config/i386/mingw32.h (SUBTARGET_FRAME_POINTER_REQUIRED):
512         Use for 32-bit frame-pointer, if setjmp is used.
513
514 2011-10-24  Jakub Jelinek  <jakub@redhat.com>
515
516         PR debug/50816
517         * dwarf2out.c (dwarf2out_source_line): Emit discriminators only if
518         -gdwarf-4 or not -gstrict-dwarf.
519
520 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
521
522         PR target/49824
523         Backport from mainline r180385
524         * doc/extend.texi (Declaring Attributes of Functions):
525         Document OS_main and OS_task attributes.
526         (Specifying Attributes of Variables): Move up
527         subsection "AVR Variable Attributes" as of alphabetical order.
528
529 2011-10-24  Georg-Johann Lay  <avr@gjlay.de>
530
531         PR target/50820
532         * doc/invoke.texi (AVR Options): New subsubsection to explain EIND
533         handling and indirect jump/calls on devices > 128k.
534
535 2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
536
537         PR target/50788
538         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
539         Remove (match_dup 0).
540
541 2011-10-21  Georg-Johann Lay  <avr@gjlay.de>
542
543         PR target/50820
544         Backport from Mainline r180299.
545         * config/avr/libgcc.S (__EIND__): New define to 0x3C.
546         (__tablejump__): Consistently use EIND for indirect jump/call.
547         (__tablejump_elpm__): Ditto.
548
549 2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
550
551         PR target/50106
552         Backport from mainline.
553         2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
554
555         * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
556         reg size from 1-3.
557
558 2011-10-19  Jakub Jelinek  <jakub@redhat.com>
559
560         * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
561         second argument instead of mode.
562
563         PR target/50350
564         Backport from mainline
565         2011-09-27  Richard Sandiford  <rdsandiford@googlemail.com>
566
567         PR middle-end/50386
568         PR middle-end/50326
569         * tree-sra.c (build_ref_for_model): Use the type of the field as
570         the type of the COMPONENT_REF.
571
572 2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
573             Eric Botcazou  <ebotcazou@adacore.com>
574
575         PR target/50737
576         * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
577         fs->signal_frame to 1.
578
579 2011-10-14  Richard Guenther  <rguenther@suse.de>
580
581         Backport from mainline
582         2011-10-14  Richard Guenther  <rguenther@suse.de>
583
584         PR tree-optimization/50723
585         * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
586
587         2011-10-13  Richard Guenther  <rguenther@suse.de>
588
589         PR tree-optimization/50712
590         * ipa-split.c (split_function): Always re-gimplify parameters
591         when they are not gimple vals before passing them.  Properly
592         check for type compatibility.
593
594 2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>
595
596         * doc/invoke.texi (SPARC options): Document -mfix-at697f.
597         * config/sparc/sparc.opt (mfix-at697f): New option.
598         * config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
599         (sparc_reorg): New function.
600
601 2011-10-12  Steve Ellcey  <sje@cup.hp.com>
602
603         PR target/49967
604         Backport from Mainline 179472.
605         * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
606         (gcc_cv_ld_static_option): Ditto.
607         (gcc_cv_ld_dynamic_option): Ditto.
608         * configure: Regenerate.
609
610 2011-10-12  Paul Koning  <pkoning@gcc.gnu.org>
611
612         PR tree-optimization/50189
613         * tree-vrp.c (extract_range_from_assert): Use the type of
614         the variable, not the limit.
615
616 2011-10-12  Richard Guenther  <rguenther@suse.de>
617
618         PR tree-optimization/50700
619         * tree-object-size.c (addr_object_size): Simplify and treat
620         MEM_REF bases consistently.
621
622 2011-10-12  Joseph Myers  <joseph@codesourcery.com>
623
624         PR c/50565
625         * convert.c (convert_to_integer): Do not narrow operands of
626         pointer subtraction.
627
628 2011-10-11  Eric Botcazou  <ebotcazou@adacore.com>
629
630         PR target/49965
631         * config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
632         (mov<F:mode>cc): Likewise.
633
634 2011-10-11  Nick Clifton  <nickc@redhat.com>
635
636         PR middle-end/49801
637         * compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
638         df_get_live_out instead of accessing the bitmaps directly.
639         (execute_compare_elim_after_reload): Remove calls to df_set_flags,
640         df_live_add_problem and df_analyze.
641
642 2011-10-10  Georg-Johann Lay  <avr@gjlay.de>
643
644         PR target/50652
645         Backport from Mainline r179737.
646         * config/avr/avr-devices.c (avr_mcu_types): Set
647         .data_section_start of atmega164a to 0x100.
648
649 2011-10-07  Bernd Schmidt  <bernds@codesourcery.com>
650
651         PR target/49049
652         * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.
653
654 2011-10-06  Jakub Jelinek  <jakub@redhat.com>
655
656         * tree.h (avoid_folding_inline_builtin): New prototype.
657         * builtins.c (avoid_folding_inline_builtin): No longer static.
658         * gimple-fold.c (gimple_fold_builtin): Give up if
659         avoid_folding_inline_builtin returns true.
660
661         PR tree-optimization/49279
662         * tree-ssa-structalias.c (find_func_aliases): Don't handle
663         CAST_RESTRICT.
664
665 2011-10-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
666
667         * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
668         variables.  Fix second operand of DR.  Swap inputs for sdiv_qrnnd.
669
670 2011-10-03  Jakub Jelinek  <jakub@redhat.com>
671             Ian Lance Taylor  <iant@google.com>
672
673         * godump.c (go_output_typedef): Support printing enum values that
674         don't fit in a signed HOST_WIDE_INT.
675
676 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
677
678         PR inline-asm/50571
679         * gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
680         input constraints allow mem and not reg, pass true instead of
681         false as second argument to maybe_fold_reference.
682
683 2011-09-30  Jakub Jelinek  <jakub@redhat.com>
684             Richard Guenther  <rguenther@suse.de>
685
686         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Fix
687         handling of BUILT_IN_STRNCAT.
688         (ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
689         and BUILT_IN_STRNCAT.
690
691 2011-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
692
693         * graphite-scop-detection.c (make_close_phi_nodes_unique):  New
694         forward declaration.
695         (remove_duplicate_close_phi): Detect and repair creation of
696         duplicate close-phis for a containing loop.
697
698 2011-09-26  Richard Guenther  <rguenther@suse.de>
699
700         PR tree-optimization/50472
701         * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not fold
702         volatile references.
703
704 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
705
706         PR tree-optimization/50413
707         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail to vectorize
708         a basic block if one of its data-refs can't be analyzed.
709
710 2011-09-25  Ira Rosen  <ira.rosen@linaro.org>
711
712         PR tree-optimization/50412
713         * tree-vect-data-refs.c (vect_analyze_group_access): Fail for
714         accesses that require epilogue loop if vectorizing outer loop.
715
716 2011-09-22  Uros Bizjak  <ubizjak@gmail.com>
717
718         PR target/50464
719         * config/i386/sse.md (xop_pcmov_<mode>): Change operand 1 predicate
720         to register_operand and operand 2 predicate to nonimmediate_operand.
721         (xop_pcmov_<mode>256): Ditto.
722         * config/i386/i386.c (ix86_expand_sse_movcc): When generating
723         xop_pcmov, force op_true to register.  Also, force op_false to
724         register if it doesn't satisfy nonimmediate_operand predicate.
725
726 2011-09-19  Alan Modra  <amodra@gmail.com>
727             Michael Meissner  <meissner@linux.vnet.ibm.com>
728
729         PR target/50341
730         * config/rs6000/rs6000.md (call_indirect_aix32): Do not split the
731         load of the indirect function's TOC from the call to prevent the
732         compiler from moving the load of the new TOC above code that
733         references the current function's TOC.
734         (call_indirect_aix64): Ditto.
735         (call_value_indirect_aix32): Ditto.
736         (call_value_indirect_aix64): Ditto.
737         (call_indirect_nonlocal_aix32_internal): Ditto.
738         (call_indirect_nonlocal_aix32): Ditto.
739         (call_indirect_nonlocal_aix64_internal): Ditto.
740         (call_indirect_nonlocal_aix64): Ditto.
741         (call_value_indirect_nonlocal_aix32_internal): Ditto.
742         (call_value_indirect_nonlocal_aix32): Ditto.
743         (call_value_indirect_nonlocal_aix64_internal): Ditto.
744         (call_value_indirect_nonlocal_aix64): Ditto.
745
746 2011-09-19  Martin Jambor  <mjambor@suse.cz>
747
748         PR middle-end/49886
749         * ipa-split.c (split_function): Do not change signature if it is
750         not possible or there are attribute types.
751
752 2011-09-18  Eric Botcazou  <ebotcazou@adacore.com>
753             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
754
755         PR target/50091
756         * config/rs6000/rs6000.md (probe_stack): Use explicit operand.
757         * config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
758
759 2011-09-14  Diego Novillo  <dnovillo@google.com>
760
761         * tree-vect-stmts.c (vect_transform_stmt): Remove unused
762         local variable ORIG_SCALAR_STMT.
763
764 2011-09-08  Martin Jambor  <mjambor@suse.cz>
765
766         Backport from mainline
767         2011-09-07  Martin Jambor  <mjambor@suse.cz>
768
769         PR tree-optimization/49911
770         * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
771         enumerations to the corresponding plain integer type.
772
773 2011-09-08  Richard Guenther  <rguenther@suse.de>
774
775         Backport from mainline
776         2011-07-04  Richard Guenther  <rguenther@suse.de>
777
778         PR tree-optimization/49518
779         PR tree-optimization/49628
780         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
781         irrelevant data-references.
782
783 2011-09-08  Richard Guenther  <rguenther@suse.de>
784
785         Backport from mainline
786         2011-08-23  Richard Guenther  <rguenther@suse.de>
787
788         PR tree-optimization/50162
789         * tree-vect-stmts.c (vectorizable_call): Fix argument lookup.
790
791 2011-09-08  Richard Guenther  <rguenther@suse.de>
792
793         Backport from mainline
794         2011-05-05  Michael Matz  <matz@suse.de>
795
796         * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
797         * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
798         * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
799         * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
800         * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
801         * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
802         * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
803         * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
804         * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
805         * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
806         * config/i386/linux.h (ENDFILE_SPEC): Add Ofast.
807         * config/i386/linux64.h (ENDFILE_SPEC): Add Ofast.
808         * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
809         * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
810         * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
811         * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
812
813 2011-09-08  Eric Botcazou  <ebotcazou@adacore.com>
814             Iain Sandoe  <iains@gcc.gnu.org>
815
816         Backport from mainline (restore powerpc-darwin Ada bootstrap).
817         * config/rs6000/rs6000.c (compute_save_world_info): Test
818         cfun->has_nonlocal_label to determine if the out-of-line save
819         world call may be used.
820
821 2011-09-08  Jakub Jelinek  <jakub@redhat.com>
822
823         PR target/50310
824         * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
825         code early if TARGET_AVX.
826         (ix86_expand_fp_vcond): Handle LTGT and UNEQ.
827
828 2011-09-06  Martin Jambor  <mjambor@suse.cz>
829
830         Revert
831         2011-09-02  Martin Jambor  <mjambor@suse.cz>
832         PR middle-end/49886
833         * ipa-split.c (split_function): Do not skip any arguments if
834         can_change_signature is set or there are function type attributes.
835
836 2011-09-05  Georg-Johann Lay  <avr@gjlay.de>
837
838         PR target/50289
839         Backport from mainline r178528
840         * config/avr/avr.c (sequent_regs_live): Don't recognize sequences
841         that contain global register variable.
842
843 2011-09-02  Martin Jambor  <mjambor@suse.cz>
844
845         PR middle-end/49886
846         * ipa-split.c (split_function): Do not skip any arguments if
847         can_change_signature is set or there are function type attributes.
848
849 2011-09-01  Ira Rosen  <ira.rosen@linaro.org>
850
851         PR tree-optimization/50178
852         * tree-vect-stmts.c (vectorizable_call): Update the related
853         pattern statement before deleting the original call.
854         (vect_transform_stmt): Don't expect the related pattern statement
855         to match the original statement after transformation.
856
857 2011-08-29  Richard Guenther  <rguenther@suse.de>
858
859         PR middle-end/50116
860         * varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
861
862 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
863
864         * config/i386/sse.md (vec_extract_lo_<mode>): Prevent both
865         operands in memory.
866         (vec_extract_lo_v16hi): Ditto.
867         (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
868         * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
869         notes to REG_EQUAL.
870
871 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
872
873         PR target/50202
874         * config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
875         when all outputs are unused.
876         (sse4_2_pcmpistr): Ditto.
877
878 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
879
880         PR c/50179
881         * c-typeck.c (c_process_expr_stmt): Skip over nops and
882         call mark_exp_read even if exprv is ADDR_EXPR.
883
884 2011-08-20  Jakub Jelinek  <jakub@redhat.com>
885
886         PR tree-optimization/48739
887         * tree-ssa.c: Include cfgloop.h.
888         (execute_update_addresses_taken): When updating ssa, if in
889         loop closed SSA form, call rewrite_into_loop_closed_ssa instead of
890         update_ssa.
891         * Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
892
893 2011-08-18  Jakub Jelinek  <jakub@redhat.com>
894
895         PR target/50092
896         * config/i386/i386.c (assign_386_stack_local): Call validize_mem
897         on the result before returning it.
898
899 2011-08-16  Liang Wang  <lwang1@marvell.com>
900
901         * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
902         ggc_alloc_zone_vec_rtvec_def.
903
904 2011-08-12  Nick Clifton  <nickc@redhat.com>
905
906         * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi
907         pattern.
908         * doc/md.texi (cmpstrn): Note that the comparison stops if both
909         fetched bytes are zero.
910         (cmpstr): Likewise.
911         (cmpmem): Note that the comparison does not stop if both of the
912         fetched bytes are zero.
913
914 2011-08-11  Kazuhiro Inaoka  <kazuhiro.inaoka.ud@renesas.com>
915
916         * config/rx/rx.md (movsicc): Allow register to register
917         transfers.
918         (*movsicc): Likewise.
919         (*stcc): Restrict this pattern to EQ and NE compares.
920         (*stcc_reg): New pattern.  Works for any comparison but only for
921         register transfers.
922
923 2011-08-10  DJ Delorie  <dj@redhat.com>
924
925         * expr.c (expand_expr_addr_expr_1): Detect a user request for
926         a local frame in a naked function, and produce a suitable
927         error for that specific case.
928
929 2011-08-09  Martin Jambor  <mjambor@suse.cz>
930
931         PR middle-end/49923
932         * tree-sra.c (access_precludes_ipa_sra_p): Also check access
933         memory alignment.
934
935 2011-08-09  Nick Clifton  <nickc@redhat.com>
936
937         * config/rx/rx.md: Disable extender peepholes at -O3.
938
939 2011-08-06  Uros Bizjak  <ubizjak@gmail.com>
940
941         PR target/50001
942         * config/alpha/alpha.c (alpha_instantiate_decls): New function.
943         (TARGET_INSTANTIATE_DECLS): New define.
944
945 2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
946
947         Backport from mainline
948         2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
949
950         * config/i386/i386.c (processor_alias_table): Add core-avx-i.
951
952         * doc/invoke.texi: Document core-avx-i.
953
954 2011-08-03  Jakub Jelinek  <jakub@redhat.com>
955
956         PR tree-optimization/49948
957         * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
958
959 2011-08-02  Uros Bizjak  <ubizjak@gmail.com>
960
961         * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
962         (stack_protect_test): The pattern compares ptr_mode value.
963
964 2011-07-31  Uros Bizjak  <ubizjak@gmail.com>
965
966         PR target/49920
967         * config/i386/i386.md (strset): Do not expand strset_singleop
968         when %eax or $edi are fixed.
969         (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
970         (*strsetsi_1): Ditto.
971         (*strsethi_1): Ditto.
972         (*strsetqi_1): Ditto.
973         (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
974         (*rep_stossi): Ditto.
975         (*rep_stosqi): Ditto.
976         (*strlenqi_1): Ditto.
977         (cmpstrnsi): Also fail when %ecx is fixed.
978         (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
979         (*cmpstrnqi_1): Ditto.
980         (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
981         (*strmovsi_1): Ditto.
982         (*strmovhi_1): Ditto.
983         (*strmovqi_1): Ditto.
984         (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
985         (*rep_movsi): Ditto.
986         (*rep_movqi): Ditto.
987
988 2011-07-31  Mikael Pettersson  <mikpe@it.uu.se>
989
990         PR target/47908
991         * config/m68k/m68k.c (m68k_override_options_after_change): New function.
992         Disable instruction scheduling for non-ColdFire targets.
993         (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
994
995 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
996
997         PR middle-end/49897
998         PR middle-end/49898
999         * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
1000         in nested parallel and outer is a gimple_reg, mark it as addressable
1001         and set its bit in task_shared_vars bitmap too.
1002
1003 2011-07-29  Wei Guozhi  <carrot@google.com>
1004
1005         Backport from mainline
1006         2011-07-29  Wei Guozhi  <carrot@google.com>
1007
1008         PR rtl-optimization/49799
1009         * combine.c (make_compound_operation): Check if the bit field is valid
1010         before change it to bit field extraction.
1011
1012 2011-07-28  Jakub Jelinek  <jakub@redhat.com>
1013
1014         PR debug/49871
1015         * dwarf2out.c (size_of_die, value_format, output_die): Use
1016         DW_FORM_udata instead of DW_FORM_data[48] for
1017         dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
1018
1019 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
1020
1021         Backport from mainline
1022         2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
1023
1024         PR target/47364
1025         * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
1026
1027 2011-07-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1028
1029         Backport from mainline:
1030         2011-07-26  Martin Jambor  <mjambor@suse.cz>
1031
1032         * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
1033         return false for invariants.
1034
1035 2011-07-27  Jakub Jelinek  <jakub@redhat.com>
1036
1037         PR target/49866
1038         * config/i386/i386.md (*call_pop_1_vzeroupper, *call_pop_1,
1039         *sibcall_pop_1_vzeroupper, *sibcall_pop_1, *call_1_vzeroupper,
1040         *call_1, *sibcall_1_vzeroupper, *sibcall_1, *call_1_rex64_vzeroupper,
1041         *call_1_rex64, *call_1_rex64_ms_sysv_vzeroupper,
1042         *call_1_rex64_ms_sysv, *sibcall_1_rex64_vzeroupper,
1043         *sibcall_1_rex64, *call_value_pop_1_vzeroupper,
1044         *call_value_pop_1, *sibcall_value_pop_1_vzeroupper,
1045         *sibcall_value_pop_1, *call_value_1_vzeroupper,
1046         *call_value_1, *sibcall_value_1_vzeroupper,
1047         *sibcall_value_1, *call_value_1_rex64_vzeroupper,
1048         *call_value_1_rex64, *call_value_1_rex64_ms_sysv_vzeroupper,
1049         *call_value_1_rex64_ms_sysv, *sibcall_value_1_rex64_vzeroupper,
1050         *sibcall_value_1_rex64): Use z constraint instead of s constraint.
1051
1052         Backport from mainline
1053         2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
1054
1055         * config/i386/constraints.md (z): New constraint.
1056
1057 2011-07-25  Andrew Pinski  <apinski@cavium.com>
1058
1059         PR tree-opt/49671
1060         * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
1061         TREE_THIS_NOTRAP into the inner most MEM_REF.
1062         Always copy TREE_THIS_VOLATILE.
1063         * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
1064         arguments are not volatile references.
1065
1066 2011-07-25  Georg-Johann Lay  <avr@gjlay.de>
1067
1068         PR target/39386
1069         Backport from mainline r176756
1070         2011-07-25  Georg-Johann Lay
1071         * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
1072         shift counter for x << x and x >> x shifts.
1073
1074 2011-07-22  Uros Bizjak  <ubizjak@gmail.com>
1075
1076         * config.gcc (x86_64-*-linux*): Set
1077         default_gnu_indirect_function to yes.
1078
1079 2011-07-22  Richard Guenther  <rguenther@suse.de>
1080
1081         PR tree-optimization/45819
1082         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
1083         preserve volatile and notrap flags.
1084
1085 2011-07-21  Uros Bizjak  <ubizjak@gmail.com>
1086
1087         Backport from mainline
1088         2011-07-04  Uros Bizjak  <ubizjak@gmail.com>
1089
1090         PR target/49600
1091         * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
1092         general register to memory for !TARGET_INTER_UNIT_MOVES.
1093
1094 2011-07-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1095
1096         * config/s390/s390.c (s390_class_max_nregs): Fix return type.
1097         * config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
1098
1099 2011-07-19  Jakub Jelinek  <jakub@redhat.com>
1100
1101         PR tree-optimization/49768
1102         * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Return NULL
1103         if offset is smaller than bitoffset, but offset+size is bigger
1104         than bitoffset.
1105
1106 2011-07-18  Jakub Jelinek  <jakub@redhat.com>
1107
1108         PR middle-end/49675
1109         * tree.c (build_common_builtin_nodes): Register
1110         __builtin_return_address, __cyg_profile_func_enter
1111         and __cyg_profile_func_exit.
1112
1113 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1114
1115         * config.gcc: Obsolete i[3456x]86-*-netware*.
1116
1117 2011-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1118
1119         PR target/49746
1120         Revert:
1121         2010-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1122
1123         * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
1124         patterns.
1125
1126 2011-07-17  Eric Botcazou  <ebotcazou@adacore.com>
1127
1128         PR middle-end/49732
1129         * tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.
1130
1131 2011-07-16  Eric Botcazou  <ebotcazou@adacore.com>
1132
1133         PR tree-optimization/49725
1134         Backport from mainline
1135         2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
1136
1137         * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
1138         a zero minimum index only if it is redundant.
1139
1140 2011-07-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1141
1142         PR target/49723
1143         * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
1144
1145 2011-07-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1146
1147         Backport from mainline:
1148         2011-07-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1149
1150         * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
1151         (asm_file_start): Remove.
1152         (spu_machine_dependent_reorg): Call compute_bb_for_insn and
1153         free_bb_for_insn around code that modifies insns before
1154         restarting df analysis.
1155
1156 2011-07-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1157
1158         Backport from mainline:
1159         2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1160
1161         PR target/49541
1162         * config/sol2.h (LIB_SPEC): Simplify.
1163         Move LIB_THREAD_LDFLAGS_SPEC ...
1164         (LINK_SPEC): ... here.
1165
1166 2011-07-14  James Greenhalgh  <james.greenhalgh@arm.com>
1167
1168         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
1169
1170 2011-07-14  Andrew Pinski  <pinskia@gmail.com>
1171
1172         PR tree-opt/49309
1173         * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
1174         Use fold_build2_loc instead of build2.
1175         Use the correct type for the new tree.
1176
1177 2011-07-14  Georg-Johann Lay  <avr@gjlay.de>
1178
1179         PR target/49487
1180         Backport from mainline r176276
1181         2011-07-14  Georg-Johann Lay
1182         * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
1183         of REG.
1184         (*rotw<mode>): Use const_int_operand for operand2.
1185         Use match_scatch for operand3.
1186         (*rotb<mode>): Ditto
1187         * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.
1188
1189 2011-07-14  Richard Guenther  <rguenther@suse.de>
1190
1191         PR tree-optimization/49651
1192         * tree-ssa-structalias.c (get_constraint_for_1): Properly
1193         handle dereferences with subvariables.
1194
1195 2011-07-11  Martin Jambor  <mjambor@suse.cz>
1196
1197         PR tree-optimization/49094
1198         * tree-sra.c (tree_non_mode_aligned_mem_p): New function.
1199         (build_accesses_from_assign): Use it.
1200
1201 2011-07-11  Georg-Johann Lay  <avr@gjlay.de>
1202
1203         PR target/39633
1204         Backport from mainline r176141
1205         2011-07-11  Georg-Johann Lay
1206         * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
1207         offsets 1..5 set cc0 in a usable way.
1208
1209 2011-07-08  Jakub Jelinek  <jakub@redhat.com>
1210
1211         PR target/49621
1212         * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
1213         CONST0_RTX (dest_mode) instead of const0_rtx as second operand
1214         of NE.
1215         * config/rs6000/vector.md (vector_select_<mode>,
1216         vector_select_<mode>_uns): Change second operand of NE to
1217         CONST0_RTX (<MODE>mode) instead of const0_rtx.
1218         * config/rs6000/altivec.md (*altivec_vsel<mode>,
1219         *altivec_vsel<mode>_uns): Expect second operand of NE to be
1220         zero_constant of the corresponding vector mode.
1221         * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
1222         Likewise.
1223
1224 2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
1225
1226         PR target/46779
1227         Backport from mainline SVN 176053.
1228         2011-07-08  Georg-Johann Lay  <avr@gjlay.de>
1229         * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
1230         In particular, allow 8-bit values in r28 and r29.
1231         (avr_hard_regno_scratch_ok): Disallow any register that might be
1232         part of the frame pointer.
1233         (avr_hard_regno_rename_ok): Same.
1234         (avr_legitimate_address_p): Don't allow SUBREGs.
1235
1236 2011-07-07  Eric Botcazou  <ebotcazou@adacore.com>
1237
1238         PR target/49660
1239         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
1240         MASK_V8PLUS, remove commented out flag and reorder.
1241
1242         Backport from mainline
1243         2011-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1244
1245         * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
1246         (TARGET_64BIT_DEFAULT): Define.
1247         * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
1248         of tm_file.
1249         * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
1250
1251 2011-07-07  Jakub Jelinek  <jakub@redhat.com>
1252
1253         PR c/49644
1254         * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
1255         one non-complex and one complex argument, call c_save_expr on both
1256         operands.
1257
1258         PR debug/49522
1259         * df-problems.c (dead_debug_reset): Remove dead_debug_uses
1260         referencing debug insns that have been reset.
1261         (dead_debug_insert_before): Don't assert reg is non-NULL,
1262         instead return immediately if it is NULL.
1263
1264         PR middle-end/49640
1265         * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF
1266         operands and last COMPONENT_REF operand call gimplify_expr on it
1267         if non-NULL.
1268
1269 2011-07-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1270
1271         Backport from mainline.
1272         2011-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1273
1274         PR target/49335
1275         * config/arm/predicates.md (add_operator): New.
1276         * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage
1277         in Thumb2.
1278
1279 2011-07-05  Jakub Jelinek  <jakub@redhat.com>
1280
1281         PR tree-optimization/49618
1282         * tree-eh.c (tree_could_trap_p) <case FUNCTION_DECL, case VAR_DECL>:
1283         For DECL_WEAK decls return true.
1284
1285 2011-07-04  Jakub Jelinek  <jakub@redhat.com>
1286
1287         PR rtl-optimization/49619
1288         * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
1289         pass VOIDmode as op0_mode to recursive call.
1290
1291         PR rtl-optimization/49472
1292         * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
1293         negating MULT, negate the second operand instead of first.
1294         (simplify_binary_operation_1) <case MULT>: If one operand is
1295         a NEG and the other is MULT, don't attempt to optimize by
1296         negation of the MULT operand if it only moves the NEG operation
1297         around.
1298
1299         Backported from mainline
1300         2011-06-06  Jakub Jelinek  <jakub@redhat.com>
1301
1302         PR debug/49262
1303         * dwarf2out.c (native_encode_initializer): Decrement count in each
1304         iteration.
1305
1306 2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
1307
1308         Backport from mainline
1309         2011-07-04  Georg-Johann Lay  <avr@gjlay.de>
1310
1311         PR target/44643
1312         * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
1313         instead of TREE_READONLY.
1314
1315 2011-07-04  Richard Guenther  <rguenther@suse.de>
1316
1317         PR tree-optimization/49615
1318         * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
1319         basic-block index check.
1320
1321 2011-06-30  Eric Botcazou  <ebotcazou@adacore.com>
1322
1323         PR tree-optimization/49572
1324         * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
1325         type of the RHS instead of that of the LHS for the expression type.
1326
1327 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
1328
1329         Backport from mainline
1330         PR target/34734
1331         (avr_section_type_flags): For data in ".progmem.data", remove
1332         section flag SECTION_WRITE.
1333
1334 2011-06-30  Georg-Johann Lay  <avr@gjlay.de>
1335
1336         Backport from mainline
1337         PR target/34734
1338         * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
1339         about uninitialized data attributed 'progmem' from here...
1340         (avr_encode_section_info): ...to this new function.
1341         (TARGET_ENCODE_SECTION_INFO): New define.
1342
1343 2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
1344
1345         Backport from mainline
1346         2011-06-29  Changpeng Fang  <changpeng.fang@amd.com>
1347
1348         * config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask
1349         option.
1350         * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL
1351         entry.
1352         (TARGET_AVX128_OPTIMAL): New definition.
1353         * config/i386/i386.c (initial_ix86_tune_features): Initialize
1354         X86_TUNE_AVX128_OPTIMAL entry.
1355         (ix86_option_override_internal): Enable the generation
1356         of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
1357         (ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
1358         (ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
1359
1360 2011-06-29  Harsha Jagasia <harsha.jagasia@amd.com>
1361
1362         Backport from mainline
1363         2011-05-31  Alexandre Oliva  <aoliva@redhat.com>
1364
1365         * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
1366         * config/i386/sse.md: Add n to negated FMA pattern names.
1367
1368 2011-06-29  Eric Botcazou  <ebotcazou@adacore.com>
1369
1370         PR tree-optimization/49539
1371         * tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
1372         names by means of stmt_references_abnormal_ssa_name.
1373         (associate_plusminus): Call can_propagate_from before propagating
1374         from definition statements.
1375
1376 2011-06-29  Martin Jambor  <mjambor@suse.cz>
1377
1378         Backport from mainline
1379         2011-06-24  Martin Jambor  <mjambor@suse.cz>
1380
1381         PR tree-optimizations/49516
1382         * tree-sra.c (sra_modify_assign): Choose the safe path for
1383         aggregate copies if we also did scalar replacements.
1384
1385 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1386
1387         Backport from mainline
1388         2011-06-20  Changpeng Fang  <changpeng.fang@amd.com>
1389
1390         PR target/49089
1391         * config/i386/i386.c (avx256_split_unaligned_load): New definition.
1392         (avx256_split_unaligned_store): New definition.
1393         (ix86_option_override_internal): Enable avx256 unaligned load/store
1394         splitting only when avx256_split_unaligned_load/store is set.
1395
1396 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1397
1398         Backport from mainline
1399         2011-03-28  H.J. Lu  <hongjiu.lu@intel.com>
1400
1401         * config/i386/i386.c (flag_opts): Fix a typo in
1402         -mavx256-split-unaligned-store.
1403
1404 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1405
1406         Backport from mainline
1407         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
1408
1409         * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
1410         unaligned 256bit load/store.
1411         (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
1412         (*avx_movdqu<avxmodesuffix>): Likewise.
1413
1414 2011-06-28  Changpeng Fang  <changpeng.fang@amd.com>
1415
1416         Backport from mainline
1417         2011-03-27  H.J. Lu  <hongjiu.lu@intel.com>
1418
1419         * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
1420         and -mavx256-split-unaligned-store.
1421         (ix86_option_override_internal): Split 32-byte AVX unaligned
1422         load/store by default.
1423         (ix86_avx256_split_vector_move_misalign): New.
1424         (ix86_expand_vector_move_misalign): Use it.
1425
1426         * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
1427         -mavx256-split-unaligned-store.
1428
1429         * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
1430         256bit load/store.  Generate unaligned store on misaligned memory
1431         operand.
1432         (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
1433         256bit load/store.
1434         (*avx_movdqu<avxmodesuffix>): Likewise.
1435
1436         * doc/invoke.texi: Document -mavx256-split-unaligned-load and
1437         -mavx256-split-unaligned-store.
1438
1439 2011-06-28  Eric Botcazou  <ebotcazou@adacore.com>
1440
1441         * tree-ssa-dom.c (initialize_hash_element): Fix oversight.
1442
1443 2011-06-28  Andrey Belevantsev  <abel@ispras.ru>
1444
1445         Backport from mainline
1446         2011-05-25  Andrey Belevantsev  <abel@ispras.ru>
1447
1448         PR rtl-optimization/49014
1449         * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
1450
1451 2011-06-28  Alexander Monakov  <amonakov@ispras.ru>
1452
1453         Backport from mainline
1454         2011-04-08  Alexander Monakov  <amonakov@ispras.ru>
1455
1456         PR target/48273
1457         * cfgloop.h (loop_has_exit_edges): New helper.
1458         * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
1459         non-clonable.
1460         * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
1461         that have no exit edges.
1462
1463 2011-06-28  Iain Sandoe  <iains@gcc.gnu.org>
1464
1465         PR target/47997
1466         * config/darwin.c (darwin_mergeable_string_section): Place string
1467         constants in '.cstring' rather than '.const' when CF/NSStrings are
1468         active.
1469
1470 2011-06-27  Eric Botcazou  <ebotcazou@adacore.com>
1471
1472         * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
1473         forward scan as well.
1474
1475 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
1476
1477         * BASE-VER: Set to 4.6.2.
1478         * DEV-PHASE: Set to prerelease.
1479
1480 2011-06-27  Release Manager
1481
1482         * GCC 4.6.1 released.
1483
1484 2011-06-21  Alan Modra  <amodra@gmail.com>
1485
1486         * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New func.
1487         (TARGET_CANNOT_FORCE_CONST_MEM): Update definition.
1488
1489 2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1490
1491         Backport from mainline.
1492         2011-06-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1493
1494         PR target/48454
1495         * config/arm/neon.md (vec_pack_trunc): Set the lengths
1496         correctly for the case with Quad vectors.
1497
1498 2011-06-20  Alan Modra  <amodra@gmail.com>
1499
1500         * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
1501         of toc-relative address in CONST.
1502         (rs6000_delegitimize_address): Recognize changed address.
1503         (rs6000_legitimize_reload_address): Likewise.
1504         (rs6000_emit_move): Don't force these constants to memory.
1505         * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
1506         toc-relative address in CONST.
1507         (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
1508         (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
1509
1510 2011-06-18  Jakub Jelinek  <jakub@redhat.com>
1511
1512         PR target/49411
1513         * config/i386/i386.c (ix86_expand_multi_arg_builtins): If
1514         last_arg_constant and last argument doesn't match its predicate,
1515         for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
1516         if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
1517         (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
1518         spelling of error message.
1519         * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
1520         vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
1521         const_0_to_255_operand instead of const_int_operand.
1522
1523 2011-06-17  Richard Henderson  <rth@redhat.com>
1524
1525         Backport from mainline
1526         2011-03-22  Richard Henderson  <rth@redhat.com>
1527
1528         * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
1529
1530 2011-06-17  Richard Guenther  <rguenther@suse.de>
1531
1532         Backport from mainline
1533         2011-05-23  Richard Guenther  <rguenther@suse.de>
1534
1535         PR tree-optimization/49115
1536         * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
1537         is not necessarily carried out, do not claim it kills the ref.
1538         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
1539
1540 2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
1541
1542         Backport from mainline
1543         2011-06-17  Hans-Peter Nilsson  <hp@axis.com>
1544
1545         PR rtl-optimization/48542
1546         * reload.c (find_equiv_reg): Stop looking when finding a
1547         setjmp-type call.
1548         * reload1.c (reload_as_needed): Invalidate all reload
1549         registers when crossing a setjmp-type call.
1550
1551 2011-06-16  Kaz Kojima  <kkojima@gcc.gnu.org>
1552
1553         Backport form main line
1554         2011-06-09  Kaz Kojima  <kkojima@gcc.gnu.org>
1555
1556         PR target/49307
1557         * config/sh/sh.md (UNSPEC_CHKADD): New.
1558         (chk_guard_add): New define_insn_and_split.
1559         (symGOT_load): Use chk_guard_add instead of blockage.
1560
1561 2011-06-16  Martin Jambor  <mjambor@suse.cz>
1562
1563         Backported from mainline
1564         2011-06-15  Martin Jambor  <mjambor@suse.cz>
1565
1566         PR tree-optimization/48613
1567         * ipa-prop.c (ipa_prop_write_jump_functions): Return immediately if
1568         ipa_node_params_vector is NULL.
1569
1570 2011-06-16  Jakub Jelinek  <jakub@redhat.com>
1571
1572         PR tree-optimization/49419
1573         * tree-vrp.c (execute_vrp): Call init_range_assertions
1574         before estimate_numbers_of_iterations, call
1575         free_number_of_iterations_estimates before calling
1576         remove_range_assertions.
1577
1578         Backported from mainline
1579         2011-06-13  Edmar Wienskoski  <edmar@freescale.com>
1580
1581         PR target/44618
1582         * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern
1583         with a set of similar patterns, where the MATCH_OPERAND for the
1584         function argument is replaced with individual references to hardware
1585         registers.
1586         (save_fpregs_<mode>): Ditto
1587         (restore_gpregs_<mode>): Ditto
1588         (return_and_restore_gpregs_<mode>): Ditto
1589         (return_and_restore_fpregs_<mode>): Ditto
1590         (return_and_restore_fpregs_aix_<mode>): Ditto
1591
1592 2011-06-14  Richard Henderson  <rth@redhat.com>
1593
1594         PR debug/48459
1595         * dwarf2out.c (frame_pointer_fb_offset_valid): New.
1596         (based_loc_descr): Assert it's true.
1597         (compute_frame_pointer_to_fb_displacement): Set it,
1598         rather than aborting immediately.
1599
1600 2011-06-14  Richard Henderson  <rth@redhat.com>
1601
1602         Backport from mainline
1603         2011-03-22  Richard Henderson  <rth@redhat.com>
1604
1605         * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
1606         (avr_incoming_return_addr_rtx): New.
1607         (emit_push_byte): New.
1608         (expand_prologue): Use it.  Remove incorrect dwarf annotation for
1609         SREG, RAMPZ, zero register.  Push frame pointer by bytes.  Add dwarf
1610         annotation for __prologue_saves__.  Fixup dwarf annotation for CFA.
1611         (emit_pop_byte): New.
1612         (expand_epilogue): Use it.  Pop frame pointer by bytes.
1613         * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
1614         (INCOMING_RETURN_ADDR_RTX): New.
1615         (INCOMING_FRAME_SP_OFFSET): New.
1616         (ARG_POINTER_CFA_OFFSET): New.
1617         * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
1618         (*pushhi, *pushsi, *pushsf, popqi): Likewise.
1619         (pophi): Remove.
1620
1621 2011-06-14  Jakub Jelinek  <jakub@redhat.com>
1622
1623         PR fortran/49103
1624         * tree.h (DECL_NONSHAREABLE): Define.
1625         (struct tree_decl_common): Change decl_common_unused to
1626         decl_nonshareable_flag.
1627         * cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
1628         Ignore vars with DECL_NONSHAREABLE bit set.
1629         * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
1630         on stores to automatic aggregate vars.
1631
1632         PR rtl-optimization/49390
1633         Revert:
1634         2010-06-29  Bernd Schmidt  <bernds@codesourcery.com>
1635
1636         * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
1637         MEM_ALIAS_SET.
1638
1639 2011-06-11  Uros Bizjak  <ubizjak@gmail.com>
1640
1641         * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
1642         (*vec_dupv2df): Rename from vec_dupv2df.
1643         (vec_dupv2df): New expander.
1644
1645 2011-06-09  Eric Botcazou  <ebotcazou@adacore.com>
1646
1647         * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
1648
1649 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1650
1651         Backport from mainline
1652         2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1653
1654         * config/i386/driver-i386.c (host_detect_local_cpu): Support
1655         unknown Intel family 0x6 CPUs.
1656
1657 2011-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1658
1659         Backport from mainline
1660         2011-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
1661
1662         PR target/49238
1663         * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
1664         needed when original operands are used for msw_skip comparison.
1665
1666 2011-06-07  Jakub Jelinek  <jakub@redhat.com>
1667
1668         PR gcov-profile/49299
1669         * value-prof.c (gimple_ic): Don't assume icall has a fallthru edge.
1670
1671 2011-06-06  Pat Haugen <pthaugen@us.ibm.com>
1672
1673         Backport from mainline
1674         2011-05-31  Pat Haugen <pthaugen@us.ibm.com>
1675
1676         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
1677         NON_FLOAT_REGS.
1678
1679 2011-06-06  Jakub Jelinek  <jakub@redhat.com>
1680
1681         PR c++/49264
1682         * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
1683         if stmt folded into nothing.
1684         * tree-inline.c (fold_marked_statements): If a builtin at the
1685         end of a bb folded into nothing, just update cgraph edges
1686         and move to next bb.
1687         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
1688         to be NULL.  Don't compute count and frequency if new_call is NULL.
1689
1690 2011-06-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1691
1692         * longlong.h (smul_ppmm): The resulting register pair contains the
1693         higher order word first.
1694
1695 2011-06-06  Mikael Pettersson  <mikpe@it.uu.se>
1696
1697         PR tree-optimization/49243
1698         * calls.c (setjmp_call_p): Also check if fndecl has the
1699         returns_twice attribute.
1700
1701 2011-06-06  Richard Guenther  <rguenther@suse.de>
1702
1703         PR tree-optimization/48702
1704         * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
1705         only when we know the base address is within bounds.
1706         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
1707         assume the base address of TARGET_MEM_REFs is in bounds.
1708         (indirect_refs_may_alias_p): Fix TARGET_MEM_REF without index tests.
1709
1710         Backport from mainline
1711         2011-05-31  Jakub Jelinek  <jakub@redhat.com>
1712
1713         PR rtl-optimization/49235
1714         * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
1715         (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
1716
1717 2011-06-05  Eric Botcazou  <ebotcazou@adacore.com>
1718
1719         * config/sparc/sparc.c (output_return): Fix thinko in the output of an
1720         EH return when delayed branches are disabled.
1721
1722 2011-06-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1723
1724         Backport from mainline
1725         2011-05-30  Kaz Kojima  <kkojima@gcc.gnu.org>
1726
1727         PR target/49186
1728         * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
1729         part of the second operand is 0.
1730
1731 2011-06-04  Alexandre Oliva  <aoliva@redhat.com>
1732
1733         PR debug/47590
1734         * target.def (delay_sched2, delay_vartrack): New.
1735         * doc/tm.texi.in: Update.
1736         * doc/tm.texi: Rebuild.
1737         * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
1738         * var-tracking.c (gate_handle_var_tracking): Likewise.
1739         * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
1740         (bfin_flag_var_tracking): Drop.
1741         (output_file_start): Don't save and override flag_var_tracking.
1742         (bfin_option_override): Ditto flag_schedule_insns_after_reload.
1743         (bfin_reorg): Test original variables.
1744         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1745         * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
1746         (ia64_flag_var_tracking): Drop.
1747         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1748         (ia64_file_start): Don't save and override flag_var_tracking.
1749         (ia64_override_options_after_change): Ditto
1750         flag_schedule_insns_after_reload.
1751         (ia64_reorg): Test original variables.
1752         * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
1753         (picochip_flag_var_tracking): Drop.
1754         (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
1755         (picochip_option_override): Don't save and override
1756         flag_schedule_insns_after_reload.
1757         (picochip_asm_file_start): Ditto flag_var_tracking.
1758         (picochip_reorg): Test original variables.
1759         * config/spu/spu.c (spu_flag_var_tracking): Drop.
1760         (TARGET_DELAY_VARTRACK): Define.
1761         (spu_var_tracking): New.
1762         (spu_machine_dependent_reorg): Call it.
1763         (asm_file_start): Don't save and override flag_var_tracking.
1764
1765 2011-06-04  Ira Rosen  <ira.rosen@linaro.org>
1766
1767         PR tree-optimization/49038
1768         * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
1769         Ensure at least one epilogue iteration if required by data
1770         accesses with gaps.
1771         * tree-vectorizer.h (struct _loop_vec_info): Add new field
1772         to mark loops that require peeling for gaps.
1773         * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
1774         (vect_get_known_peeling_cost): Take peeling for gaps into
1775         account.
1776         (vect_transform_loop): Generate epilogue if required by data
1777         access with gaps.
1778         * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
1779         loop as requiring an epilogue if there are gaps in the end of
1780         the strided group.
1781
1782 2011-06-02  Ira Rosen  <ira.rosen@linaro.org>
1783
1784         PR tree-optimization/49093
1785         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
1786         data references.
1787
1788 2011-05-19  Quentin Neill  <quentin.neill@amd.com>
1789
1790         * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
1791         (fma4_fmaddsub): Likewise
1792
1793 2011-05-31  Richard Guenther  <rguenther@suse.de>
1794
1795         Backport from mainline
1796         2011-05-19  Richard Guenther  <rguenther@suse.de>
1797
1798         PR middle-end/48985
1799         * tree-object-size.c (addr_object_size): If the pointed-to
1800         variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
1801
1802 2011-05-31  Richard Guenther  <rguenther@suse.de>
1803
1804         Backport from mainline
1805         2011-05-11  Richard Guenther  <rguenther@suse.de>
1806
1807         PR middle-end/48953
1808         * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
1809
1810 2011-05-30  Richard Guenther  <rguenther@suse.de>
1811
1812         PR tree-optimization/49218
1813         * tree-vrp.c (adjust_range_with_scev): Properly check whether
1814         overflow occured.
1815
1816 2011-05-30  Georg-Johann Lay  <avr@gjlay.de>
1817
1818         PR target/45263
1819         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors):
1820         Don't use r20 around calls of __tablejump_elpm__
1821
1822 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
1823
1824         PR target/43700
1825         * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
1826         registers.
1827
1828 2011-05-29  Richard Sandiford  <rdsandiford@googlemail.com>
1829
1830         PR target/43995
1831         * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
1832         recurse_p argument.  Only follow register copies if it is set,
1833         and prevent mips_find_pic_call_symbol from recursing.
1834         (mips_find_pic_call_symbol): Add a recurse_p argument.
1835         Pass it to mips_pic_call_symbol_from_set.
1836         (mips_annotate_pic_calls): Update accordingly.
1837
1838 2011-05-29  Richard Guenther  <rguenther@suse.de>
1839
1840         PR tree-optimization/49217
1841         * ipa-pure-const.c (propagate_pure_const): Fix typos.
1842
1843 2011-05-26  Pat Haugen <pthaugen@us.ibm.com>
1844
1845         * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
1846         moves expensive on Power7 also.
1847
1848 2011-05-26  Georg-Johann Lay  <avr@gjlay.de>
1849
1850         PR target/44643
1851         * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
1852         alone. Error if non-const data has attribute progmem.
1853
1854 2011-05-26  Jakub Jelinek  <jakub@redhat.com>
1855
1856         PR c++/49165
1857         * gimplify.c (shortcut_cond_r): Don't special case
1858         COND_EXPRs if they have void type on one of their arms.
1859
1860         PR tree-optimization/49161
1861         * tree-vrp.c (struct case_info): New type.
1862         (compare_case_labels): Sort case_info structs instead of
1863         trees, and not primarily by CASE_LABEL uids but by
1864         label_for_block indexes.
1865         (find_switch_asserts): Put case labels into struct case_info
1866         array instead of TREE_VEC, adjust sorting, compare label_for_block
1867         values instead of CASE_LABELs.
1868
1869 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
1870
1871         PR target/49128
1872         * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
1873
1874 2011-05-18  Jan Hubicka  <jh@suse.cz>
1875
1876         PR tree-optimization/44897
1877         * ipa-inline.c (cgraph_decide_recursive_inlining): Do not divide
1878         by zero for insane profiles.
1879
1880 2011-05-24  Eric Botcazou  <ebotcazou@adacore.com>
1881
1882         * config/sparc/sparc.c (sparc_option_override): If not set by the user,
1883         force flag_ira_share_save_slots to 0.
1884
1885 2011-05-24  Uros Bizjak  <ubizjak@gmail.com>
1886
1887         PR target/49133
1888         * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
1889
1890 2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
1891
1892         Backport from mainline
1893         2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
1894
1895         PR target/49128
1896         * config/i386/driver-i386.c (host_detect_local_cpu): Always
1897         add -mno-XXX.  Handle FMA.
1898
1899 2011-05-23  Jakub Jelinek  <jakub@redhat.com>
1900
1901         PR lto/49123
1902         * fold-const.c (constant_boolean_node): If type is non-NULL,
1903         use build_int_cst_type instead of build_int_cst.
1904
1905         PR debug/49032
1906         * dbxout.c: Include cgraph.h.
1907         (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
1908         and without value expr, return NULL if no varpool node exists for
1909         it or if it is not needed.
1910         * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
1911
1912         PR c/49120
1913         * c-decl.c (start_decl): Convert expr to void_type_node.
1914
1915         PR middle-end/48973
1916         * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
1917         failed and the comparison has a single bit signed type, use
1918         constm1_rtx instead of const1_rtx for true value.
1919         (do_store_flag): If ops->type is single bit signed type, disable
1920         signel bit test optimization and pass -1 instead of 1 as last
1921         parameter to emit_store_flag_force.
1922
1923 2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
1924
1925         * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
1926         (sparc-*-rtems*): Likewise.
1927         (sparc64-*-elf*): Likewise.
1928         (sparc64-*-rtems*): Likewise.
1929         (sparc*-*-solaris2*): Likewise.  Remove crti.o crtn.o extra parts.
1930         * config/sparc/t-crtin: New file.
1931         * config/sparc/t-sol2 (crti.o): Delete rule.
1932         (crtn.o): Likewise.
1933         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
1934         * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
1935         * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
1936         (ENDFILE_SPEC): Add crtn.o.
1937
1938 2011-05-22  Uros Bizjak  <ubizjak@gmail.com>
1939
1940         PR target/49104
1941         * config/i386/cpuid.h (bit_MMXEXT): New define.
1942
1943 2011-05-22  Jakub Jelinek  <jakub@redhat.com>
1944
1945         PR middle-end/49029
1946         * expmed.c (extract_fixed_bit_field): Test whether target can be used
1947         only after deciding which mode to use.
1948
1949 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
1950
1951         * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
1952         frame pointer.
1953
1954 2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
1955
1956         * config/sparc/sparc.c (eligible_for_return_delay): Do not return
1957         false if there are call-saved registers here...
1958         (sparc_can_use_return_insn_p): ...but here instead.
1959         (save_or_restore_regs): Fix thinko.
1960         (sparc_expand_prologue): Use current_function_is_leaf.
1961         (sparc_frame_pointer_required): Likewise.
1962
1963 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
1964
1965         PR bootstrap/49086
1966         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
1967         for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
1968
1969 2011-05-20  Richard Guenther  <rguenther@suse.de>
1970
1971         PR tree-optimization/49079
1972         * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
1973         MEM_REFs correctly for the trailing array access detection.
1974         Special case constants the same way as decls for overall size
1975         constraining.
1976
1977 2011-05-20  Jakub Jelinek  <jakub@redhat.com>
1978
1979         PR tree-optimization/49073
1980         * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
1981         NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
1982         by the PHI.
1983         * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
1984
1985 2011-05-19  Uros Bizjak  <ubizjak@gmail.com>
1986
1987         * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
1988         when TARGET_RDRND is active.
1989         (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
1990         Generate dummy SImode target register when target is NULL.
1991
1992 2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
1993
1994         Backport from mainline
1995         2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
1996
1997         PR target/49002
1998         * config/i386/sse.md (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>):
1999         Properly handle load cast.
2000
2001 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
2002
2003         PR tree-optimization/49039
2004         * tree-vrp.c (extract_range_from_binary_expr): For
2005         MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
2006         return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
2007
2008 2011-05-18  Richard Guenther  <rguenther@suse.de>
2009
2010         PR tree-optimization/49018
2011         * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
2012         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
2013         gimple_has_side_effects.
2014
2015 2011-05-18  Richard Guenther  <rguenther@suse.de>
2016
2017         Backport from mainline
2018         2011-04-19  Richard Guenther  <rguenther@suse.de>
2019
2020         PR lto/48207
2021         * tree.c (free_lang_data): Do not reset the decl-assembler-name
2022         langhook.
2023
2024         2011-04-21  Richard Guenther  <rguenther@suse.de>
2025
2026         PR lto/48703
2027         * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of
2028         DECL_NAME.
2029
2030 2011-05-18  Richard Guenther  <rguenther@suse.de>
2031
2032         Backport from mainline
2033         2011-05-12  Richard Guenther  <rguenther@suse.de>
2034
2035         PR tree-optimization/48172
2036         * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
2037         the number of iterations from the segment size calculation.
2038         (vect_create_cond_for_alias_checks): Adjust.
2039
2040         2011-05-13  Richard Guenther  <rguenther@suse.de>
2041
2042         PR tree-optimization/48172
2043         * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
2044         multiplying by number of iterations for equal step.
2045         (vect_create_cond_for_alias_checks): Likewise.
2046
2047 2011-05-18  Jakub Jelinek  <jakub@redhat.com>
2048
2049         PR tree-optimization/49000
2050         * tree-ssa.c (execute_update_addresses_taken): Call
2051         maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
2052         be rewritten and decl has been marked for renaming, reset
2053         the debug stmt.
2054
2055 2011-05-17  Nick Clifton  <nickc@redhat.com>
2056
2057         Import these patches from the mainline:
2058
2059         2011-05-17  Nick Clifton  <nickc@redhat.com>
2060
2061         * config/rx/rx.c (rx_memory_move_cost): Include cost of register moves.
2062
2063         * config/rx/rx.md: Add peephole to remove redundant extensions
2064         after loads.
2065         (bitset_in_memory): Use rx_restricted_mem_operand.
2066         (bitinvert_in_memory): Likewise.
2067         (bitclr_in_memory): Likewise.
2068
2069         2011-05-17  Kazuhio Inaoka  <kazuhiro.inaoka.ud@renesas.com>
2070                     Nick Clifton  <nickc@redhat.com>
2071
2072         * config/rx/rx.md: Add peepholes to match a register move followed
2073         by a comparison of the moved register.  Replace these with an
2074         addition of zero that does both actions in one instruction.
2075
2076 2011-05-17  Jakub Jelinek  <jakub@redhat.com>
2077
2078         PR target/48986
2079         * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
2080         predicate to allow CONST_INT.
2081
2082 2011-05-16  Joseph Myers  <joseph@codesourcery.com>
2083
2084         PR preprocessor/48677
2085         * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
2086         from decoded_options[0], not from itself.
2087
2088 2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
2089
2090         * config/i386/i386.md (*movxf_internal): Disable CONST_DOUBLE
2091         optimization for CM_MEDIUM and CM_LARGE code models.  Fix usage
2092         of standard_80387_constant_p.
2093         (*movxf_internal_nointeger): Ditto.
2094         (*movdf_internal): Remove dead code-size optimization.
2095         (*movdf_internal_rex64): Fix usage of standard_80387_constant_p.
2096         (*movdf_internal_nointeger): Ditto.
2097         (*movsf_internal): Ditto.
2098         (floating point move splitters): Ditto.
2099         * config/i386/constraints.md (G): Ditto.
2100         * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
2101
2102 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
2103
2104         PR tree-optimization/48975
2105         * tree-if-conv.c (combine_blocks): Call free_bb_predicate
2106         on all bbs here and free and clear ifc_bbs at the end.
2107
2108 2011-05-12  Richard Guenther  <rguenther@suse.de>
2109
2110         Backport from mainline
2111         2011-05-02  Richard Guenther  <rguenther@suse.de>
2112
2113         PR tree-optimization/48822
2114         * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
2115         (process_scc): Indicate which iteration we start.
2116
2117 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
2118
2119         PR debug/48967
2120         * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
2121         if validate_subreg fails.
2122
2123 2011-05-12  Nick Clifton  <nickc@redhat.com>
2124
2125         * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
2126         * config/rx/rx.c (rx_is_legitimate_constant): Use gcc_unreachable
2127         instead of abort.
2128         (rx_align_for_label): Test label before extracting its number of
2129         uses.
2130         (rx_max_skip_for_label): Ignore debug insns.
2131
2132 2011-05-11  Jakub Jelinek  <jakub@redhat.com>
2133
2134         PR debug/48159
2135         * tree-ssa.c (reset_debug_uses): New function.
2136         * tree-flow.h (reset_debug_uses): New prototype.
2137         * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
2138         * tree-loop-distribution.c (generate_loops_for_partition): Call
2139         reset_debug_uses on the stmts that will be removed.  Keep around
2140         all debug stmts, don't count them as bits in partition bitmap.
2141         (generate_builtin): Don't count debug stmts or labels as bits in
2142         partition bitmap.
2143
2144 2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2145
2146         Backport from mainline
2147         2011-05-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2148
2149         PR target/48857, 48495
2150         * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
2151         (VSX_MODE): Ditto.
2152         (VSX_MOVE_MODE): Ditto.
2153         (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
2154         VSX vector types.  Add V2DImode.
2155         (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
2156         ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
2157         (MODES_TIEABLE_P): Ditto.
2158
2159         * config/rs6000/rs6000.c (rs6000_emit_move): Use
2160         ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
2161         VSX_VECTOR_MODE.
2162         (init_cumulative_args): Ditto.
2163         (rs6000_function_arg_boundary): Ditto.
2164         (rs6000_function_arg_advance_1): Ditto.
2165         (rs6000_function_arg): Ditto.
2166         (rs6000_function_ok_for_sibcall): Ditto.
2167         (emit_frame_save): Ditto.
2168         (rs6000_function_value): Ditto.
2169         (rs6000_libcall_value): Ditto.
2170
2171 2011-05-10  Nick Clifton  <nickc@redhat.com>
2172
2173         * config/rx/rx.c (rx_memory_move_cost): Reduce the cost for
2174         stores.
2175
2176 2011-05-10  DJ Delorie  <dj@redhat.com>
2177
2178         * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
2179         (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
2180         * config/rx/rx.c (rx_align_for_label): Add label and
2181         uses_threshold parameters.  Do not align when the label is not
2182         used enough.
2183         * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
2184
2185 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
2186
2187         Backported from mainline
2188         2011-05-07  Zdenek Dvorak  <ook@ucw.cz>
2189
2190         PR tree-optimization/48837
2191         * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
2192         when accumulator transformation is performed.
2193
2194 2011-05-10  Jakub Jelinek  <jakub@redhat.com>
2195
2196         PR tree-optimization/48611
2197         PR tree-optimization/48794
2198         * tree-eh.c (remove_unreachable_handlers): Don't remove regions
2199         referenced from RESX or EH_DISPATCH arguments.
2200
2201 2011-05-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2202
2203         * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
2204         temporary register to match Pmode.
2205
2206 2011-05-09  Eric Botcazou  <ebotcazou@adacore.com>
2207
2208         * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
2209         (dataflow_set_preserve_mem_locs): Likewise.
2210
2211 2011-05-06  Uros Bizjak  <ubizjak@gmail.com>
2212
2213         * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
2214         constraint modifier to "r".
2215
2216 2011-05-06  Alan Modra  <amodra@gmail.com>
2217
2218         PR target/48900
2219         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
2220         const0_rtx as the arg to the dummy __tls_get_addr libcall.
2221
2222 2011-05-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2223
2224         * config/s390/s390.c (s390_asm_trampoline_template): Comment
2225         instruction sizes.
2226         (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
2227
2228 2011-05-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2229
2230         PR target/48252
2231         * config/arm/neon.md (neon_vtrn<mode>): Fix typo from earlier commit.
2232
2233 2011-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
2234
2235         * config/rs6000/rs6000.c (rs6000_handle_option): Add missing break
2236         for OPT_mfpu_ case.
2237
2238 2011-05-05  Jason Merrill  <jason@redhat.com>
2239
2240         PR c++/40975
2241         * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
2242
2243 2011-05-05  Julian Brown  <julian@codesourcery.com>
2244
2245         * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
2246         parenthesis in D-register case.
2247
2248 2011-05-05  Ira Rosen  <ira.rosen@linaro.org>
2249
2250         Backport from mainline:
2251         2011-04-18  Ulrich Weigand  <ulrich.weigand@linaro.org>
2252                     Ira Rosen  <ira.rosen@linaro.org>
2253
2254         PR target/48252
2255         * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
2256         to match neon_vzip/vuzp/vtrn_internal.
2257         * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
2258         outputs explicitly dependent on both inputs.
2259         (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
2260
2261 2011-05-04  Uros Bizjak  <ubizjak@gmail.com>
2262
2263         * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
2264         Use %v prefix in insn mnemonic to handle TARGET_AVX.
2265         (*movdi_internal): Use "maybe_vex" instead of "vex" in "prefix"
2266         attribute calculation.
2267         (*movdf_internal): Output AVX mnemonics.  Add "prefix" attribute.
2268         * config/i386/sse.md (*sse2_storeq_rex64): Do not emit %v prefix
2269         for mov{q} mnemonic.
2270         (*vec_extractv2di_1_rex64_avx): Ditto.
2271
2272 2011-05-03  Uros Bizjak  <ubizjak@gmail.com>
2273             Jakub Jelinek  <jakub@redhat.com>
2274
2275         PR target/48774
2276         * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
2277         only succeed if req_mode is the same as set_mode.
2278
2279 2011-05-03  Richard Guenther  <rguenther@suse.de>
2280
2281         PR lto/48846
2282         * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
2283         Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
2284         * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
2285
2286 2011-05-03  Eric Botcazou  <ebotcazou@adacore.com>
2287
2288         PR target/48723
2289         * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
2290         for -fstack-check if the size to allocate is negative.
2291
2292 2011-04-30  Jakub Jelinek  <jakub@redhat.com>
2293
2294         PR tree-optimization/48809
2295         * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
2296         type.
2297         (gen_inbound_check): Don't compute index_expr - range_min in utype
2298         again, instead reuse SSA_NAME initialized in build_arrays.
2299         Remove two useless gsi_for_stmt calls.
2300
2301 2011-04-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
2302
2303         Backport from mainline
2304         2011-04-01  Andrew Pinski  <pinskia@gmail.com>
2305             Michael Meissner  <meissner@linux.vnet.ibm.com>
2306
2307         PR target/48262
2308         * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
2309         operands, as per the specifications.
2310
2311         * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
2312         (vec_extract_evenv4sf): Ditto.
2313         (vec_extract_evenv8hi): Ditto.
2314         (vec_extract_evenv16qi): Ditto.
2315         (vec_extract_oddv4si): Ditto.
2316
2317 2011-04-28  Jakub Jelinek  <jakub@redhat.com>
2318
2319         PR middle-end/48597
2320         * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
2321         inline asm.
2322
2323 2011-04-27  Jakub Jelinek  <jakub@redhat.com>
2324
2325         PR c/48742
2326         * c-typeck.c (build_binary_op): Don't wrap arguments if
2327         int_operands is true.
2328
2329 2011-04-26  Jakub Jelinek  <jakub@redhat.com>
2330
2331         PR debug/48768
2332         * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
2333         is error_mark_node, set value to NULL.
2334
2335         PR tree-optimization/48734
2336         * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
2337         if return value from maybe_fold_*_comparsions isn't something
2338         the code is prepared to handle.
2339
2340 2011-04-26  Richard Guenther  <rguenther@suse.de>
2341
2342         PR tree-optimization/48731
2343         * ipa-inline.c (cgraph_flatten): Test if function is inlinable.
2344
2345 2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
2346
2347         PR other/48748
2348         * doc/extend.texi (Type Traits): Document __is_standard_layout,
2349         __is_literal_type, and __is_trivial; update throughout about
2350         possibly cv-qualified void types.
2351
2352 2011-04-23  Jakub Jelinek  <jakub@redhat.com>
2353
2354         PR c/48685
2355         * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
2356         to VOID_TYPE even around MODIFY_EXPR.
2357
2358 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
2359
2360         PR tree-optimization/48717
2361         * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
2362         ~A + A optimizations use build_int_cst_type instead of build_int_cst.
2363
2364 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
2365
2366         PR c/48716
2367         * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
2368         TREE_STATIC variables declared inside of some OpenMP construct.
2369
2370 2011-04-21  Uros Bizjak  <ubizjak@gmail.com>
2371
2372         PR target/48708
2373         * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
2374         vec_extract and vec_concat for non-SSE4_1 targets.
2375
2376 2011-04-21  Richard Guenther  <rguenther@suse.de>
2377
2378         PR middle-end/48695
2379         * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2380         objects and types here.  Adjust for their offset before comparing.
2381
2382 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
2383
2384         * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
2385
2386 2011-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2387
2388         PR target/48288
2389         * config/pa/predicates.md (ior_operand): Delete predicate.
2390         (cint_ior_operand, reg_or_cint_ior_operand): New predicates.
2391         * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in
2392         expander.  Use cint_ior_operand in unnamed insn.
2393         (iorsi3): Likewise.
2394         * config/pa/pa-protos.h (ior_operand): Delete declarations.
2395
2396 2011-04-20  Jakub Jelinek  <jakub@redhat.com>
2397
2398         PR tree-optimization/48611
2399         * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
2400         beyond ERT_MUST_NOT_THROW region.
2401
2402 2011-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2403
2404         Backport from mainline
2405         2011-04-19  Eric Botcazou  <ebotcazou@adacore.com>
2406
2407         PR lto/48148
2408         * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
2409         the types if they have different enumeration identifiers.
2410
2411         2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
2412
2413         PR lto/48492
2414         * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
2415         DECL_IN_CONSTANT_POOL without RTL.
2416
2417 2011-04-20  Richard Guenther  <rguenther@suse.de>
2418
2419         Backport from mainline
2420         2011-04-19  Bernd Schmidt  <bernds@codesourcery.com>
2421
2422         PR fortran/47976
2423         * reload1.c (inc_for_reload): Return void. All callers changed.
2424         (emit_input_reload_insns): Don't try to delete previous output
2425         reloads to a register, or record spill_reg_store for autoincs.
2426
2427 2011-04-19  Jakub Jelinek  <jakub@redhat.com>
2428
2429         PR target/48678
2430         * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
2431         is a SUBREG with non-MODE_INT mode inside of it.
2432
2433 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
2434
2435         PR middle-end/48661
2436         * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
2437         if TREE_TYPE (v) is non-NULL.
2438
2439         * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
2440         gimple_get_virt_mehtod_for_binfo.
2441         * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
2442         * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
2443         callers.
2444         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2445
2446 2011-04-18  Eric Botcazou  <ebotcazou@adacore.com>
2447
2448         * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
2449
2450 2011-04-18  Jakub Jelinek  <jakub@redhat.com>
2451
2452         PR tree-optimization/48616
2453         * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
2454         whether the shift is by scalar or vector based on whether all SLP
2455         scalar stmts have the same rhs.
2456
2457 2011-04-17  Dennis, CHENG Renquan  <crquan@fedoraproject.org>
2458
2459         * doc/passes.texi: Fill crossref nodes.
2460
2461 2011-04-17  Marius Strobl  <marius@FreeBSD.org>
2462
2463         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
2464         (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
2465         (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
2466
2467 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2468
2469         PR lto/48538
2470         * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
2471         is non-null before accessing it.
2472         (input_cgraph): Remove trailing spaces.
2473
2474 2011-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2475
2476         * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
2477         Replace match_operand with match_dup for the third operand in
2478         these expanders.
2479
2480 2011-04-15  Jakub Jelinek  <jakub@redhat.com>
2481
2482         PR target/48605
2483         * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2]
2484         is a MEM, offset it as needed based on top 2 bits in operands[3],
2485         change MEM mode to SFmode and mask those 2 bits away from operands[3].
2486
2487 2011-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2488
2489         Backport from mainline:
2490         2011-04-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2491
2492         PR target/48366
2493         * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
2494         move from floating point to shift amount register.
2495         (emit_move_sequence): Remove secondary reload support for floating
2496         point to shift amount amount register copies.
2497         (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
2498         amount register copies.
2499         * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
2500         register, return false if mode isn't a scalar integer mode.
2501         * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
2502
2503 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
2504
2505         PR middle-end/48591
2506         * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is NULL.
2507         (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
2508
2509 2011-04-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2510
2511         Backport from mainline:
2512         2011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2513         PR target/48090
2514         * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
2515
2516 2011-04-12  Martin Jambor  <mjambor@suse.cz>
2517
2518         PR tree-optimization/48195
2519         * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
2520         ipa_check_create_edge_args.
2521         (ipcp_generate_summary): Do not call ipa_check_create_node_params and
2522         ipa_check_create_edge_args.
2523         * ipa-inline.c (inline_generate_summary): Do not call
2524         ipa_check_create_node_params and ipa_check_create_edge_args.
2525         * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
2526         ipa_check_create_edge_args.
2527
2528 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
2529
2530         PR rtl-optimization/48549
2531         * combine.c (propagate_for_debug): Also stop after BB_END of
2532         this_basic_block.  Process LAST and just stop processing after it.
2533         (combine_instructions): If last_combined_insn has been deleted,
2534         set last_combined_insn to its PREV_INSN.
2535
2536 2011-04-12  Nick Clifton  <nickc@redhat.com>
2537
2538         * config/v850/v850.c (expand_prologue): Do not use the CALLT
2539         instruction for interrupt handlers if the target is the basic V850
2540         architecture.
2541         (expand_epilogue): Likewise.
2542
2543 2011-04-12  Jakub Jelinek  <jakub@redhat.com>
2544
2545         PR c/48517
2546         * c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
2547         qualified type.
2548
2549 2011-04-11  Joseph Myers  <joseph@codesourcery.com>
2550
2551         * common.opt (Tbss=, Tdata=, Ttext=): New options.
2552
2553 2011-04-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2554
2555         Backport from mainline:
2556         2011-04-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2557
2558         * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
2559
2560 2011-04-09  Duncan Sands  <baldrick@free.fr>
2561
2562         * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
2563
2564 2011-04-08  Steven G. Kargl  <kargl@gcc.gnu.org>
2565
2566         PR target/47829
2567         * config.gcc: disable unwind table generation for crtbegin/crtend
2568         on i386-*-freebsd.
2569
2570 2011-04-08  Jakub Jelinek  <jakub@redhat.com>
2571
2572         PR tree-optimization/48377
2573         * tree-vect-data-refs.c (vector_alignment_reachable_p): Set is_packed
2574         to true even for types with smaller TYPE_ALIGN than TYPE_SIZE.
2575
2576 2011-04-07  Uros Bizjak  <ubizjak@gmail.com>
2577
2578         * config/i386/sse.md: Update copyright year.
2579         (avx_cmp<ssescalarmodesuffix><mode>3): Add missing output
2580         register constraint.
2581         (*vec_concatv2sf_avx): Fix wrong register constraint in
2582         alternative 3 of operand 1.
2583         (*vec_set<mode>_0_avx): Avoid combining registers from different
2584         units in a single alternative.
2585         (*vec_set<mode>_0_sse4_1): Ditto.
2586         (*vec_set<mode>_0_sse2): Ditto.
2587         (vec_set<mode>_0): Ditto.
2588         (sse2_storehpd): Ditto.
2589         (sse2_loadhpd): Ditto.
2590         (sse4_1_insertps): Use nonimmediate_operand for operand 2.
2591         * config/i386/predicates.md (sse_comparison_operator): Do not
2592         define as special predicate.
2593
2594 2011-04-07  Jakub Jelinek  <jakub@redhat.com>
2595
2596         PR debug/48343
2597         * combine.c (combine_instructions): Add last_combined_insn,
2598         update it if insn is after it, pass it to all try_combine calls.
2599         (try_combine): Add last_combined_insn parameter, pass it instead of
2600         i3 to propagate_for_debug.
2601
2602 2011-04-07  Andrey Belevantsev  <abel@ispras.ru>
2603
2604         Backport from mainline
2605         2011-03-26  Andrey Belevantsev  <abel@ispras.ru>
2606
2607         PR rtl-optimization/48144
2608         * sel-sched-ir.c (merge_history_vect): Factor out from ...
2609         (merge_expr_data): ... here.
2610         (av_set_intersect): Rename to av_set_code_motion_filter.
2611         Update all callers.  Call merge_history_vect when an
2612         expression is found in both sets.
2613         * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
2614
2615 2011-04-06  Jakub Jelinek  <jakub@redhat.com>
2616
2617         PR debug/48466
2618         * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
2619         as base_reg whatever register reg has been eliminated to, instead
2620         of hardcoding STACK_POINTER_REGNUM.
2621
2622         Backported from mainline
2623         2011-04-01  Jakub Jelinek  <jakub@redhat.com>
2624
2625         PR middle-end/48335
2626         * expr.c (expand_assignment): Handle all possibilities
2627         if TO_RTX is CONCAT.
2628         * expmed.c (store_bit_field_1): Avoid trying to create
2629         invalid SUBREGs.
2630         (store_split_bit_field): If SUBREG_REG (op0) or
2631         op0 itself has smaller mode than word, return it
2632         for offset 0 and const0_rtx for out-of-bounds stores.
2633         If word is const0_rtx, skip it.
2634
2635 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
2636
2637         * gcov-io.c: Use GCC Runtime Library Exception.
2638
2639 2011-04-05  Eric Botcazou  <ebotcazou@adacore.com>
2640
2641         * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
2642
2643 2011-04-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2644
2645         * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
2646
2647 2011-04-01  Andrey Belevantsev  <abel@ispras.ru>
2648
2649         Backport from mainline
2650         2011-03-22  Andrey Belevantsev  <abel@ispras.ru>
2651
2652         PR rtl-optimization/48143
2653         * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
2654         (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
2655         sse2_cvtps2pd): Likewise.
2656
2657 2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
2658
2659         PR target/48142
2660         * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
2661         frame-related from frame-unrelated adjustments to the stack pointer.
2662
2663 2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
2664
2665         Backport from mainline
2666         2011-03-30  H.J. Lu  <hongjiu.lu@intel.com>
2667
2668         PR target/48349
2669         * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
2670         FLOAT_SSE_REGS.
2671
2672 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
2673
2674         PR debug/48253
2675         * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
2676         dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
2677         dw_fde_unlikely_section_end_label, cold_in_std_section,
2678         dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
2679         Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
2680         fields.
2681         (output_fde): Use dw_fde_second_{begin,end} if second is
2682         true, otherwise dw_fde_{begin,end}.
2683         (output_call_frame_info): Test dw_fde_second_begin != NULL
2684         instead of dw_fde_switched_sections.
2685         (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
2686         fields, initialize new fields.  Initialize in_std_section
2687         unconditionally from the first partition.
2688         (dwarf2out_end_epilogue): Don't override dw_fde_end when
2689         dw_fde_second_begin is non-NULL.
2690         (dwarf2out_switch_text_section): Stop initializing removed
2691         dw_fde_struct fields, initialize new fields, initialize
2692         also dw_fde_end here.  Set dw_fde_switch_cfi even when
2693         dwarf2out_do_cfi_asm ().  Call var_location_switch_text_section.
2694         (struct var_loc_list_def): Add last_before_switch field.
2695         (arange_table, arange_table_allocated, arange_table_in_use,
2696         ARANGE_TABLE_INCREMENT, add_arange): Removed.
2697         (size_of_aranges): Count !in_std_section and !second_in_std_section
2698         hunks in fdes, instead of looking at arange_table_in_use.
2699         (output_aranges): Add aranges_length argument, don't call
2700         size_of_aranges here.  Instead of using aranges_table*
2701         emit ranges for fdes when !in_std_section resp.
2702         !second_in_std_section.
2703         (dw_loc_list): Break ranges crossing section switch.
2704         (convert_cfa_to_fb_loc_list): Likewise.  If switched sections,
2705         use dw_fde_second_end instead of dw_fde_end as end of last
2706         range.
2707         (gen_subprogram_die): Don't call add_arange.  Use
2708         dw_fde_{begin,end} for first partition and if switched
2709         section dw_fde_second_{begin,end} for the second.
2710         (var_location_switch_text_section_1,
2711         var_location_switch_text_section): New functions.
2712         (dwarf2out_begin_function): Initialize cold_text_section even
2713         when function_section () isn't text_section.
2714         (prune_unused_types): Don't walk arange_table.
2715         (dwarf2out_finish): Don't needlessly test
2716         flag_reorder_blocks_and_partition when testing cold_text_section_used.
2717         If info_section_emitted, call size_of_aranges and if it indicates
2718         non-empty .debug_aranges, call output_aranges with the computed
2719         size.  Stop using removed dw_fde_struct fields, use
2720         dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
2721         for second.
2722
2723 2011-03-29  Uros Bizjak  <ubizjak@gmail.com>
2724
2725         * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
2726         (alpha_option_override): Don't set alpha_sr_alias_set.
2727         (emit_frame_store_1): Use gen_frame_mem rather than calling
2728         set_mem_alias_set.
2729         (alpha_expand_epilogue): Ditto.
2730         (unicosmk_gen_dsib): Ditto.
2731
2732 2011-03-29  Nick Clifton  <nickc@redhat.com>
2733
2734         * config/rx/rx.h (LABEL_ALIGN_AFTER_BARRIER): Define.
2735         (ASM_OUTPUT_MAX_SKIP): Define.
2736         * config/rx/predicates.md (rx_zs_comparison_operator): Do not
2737         allow LT aor GE comparisons.
2738         * config/rx/rx-protos.h (rx_align_for_label): Prototype.
2739         * config/rx/rx.md: Add peepholes and patterns to combine extending
2740         loads with simple arithmetic instructions.
2741         * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI modes
2742         to use pre-decrement and post-increment addressing.
2743         (rx_is_restricted_memory_address): For REG+INT addressing, ensure
2744         that the INT is a valid offset.
2745         (rx_print_operand): Handle %R.
2746         Fix %Q's handling of MEMs.
2747         (rx_option_override): Set alignments.
2748         (rx_align_for_label): New function.
2749         (rx_max_skip_for_label): New function.
2750         (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
2751         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
2752         (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
2753         (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
2754
2755 2011-03-29  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2756
2757         * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
2758         for invalid symbolic addresses.
2759         (s390_secondary_reload): Don't use s390_check_symref_alignment for
2760         larl operands.
2761
2762 2011-03-28  Richard Sandiford  <richard.sandiford@linaro.org>
2763
2764         PR target/47553
2765         * config/arm/predicates.md (neon_lane_number): Accept 0..15.
2766
2767 2011-03-28  Richard Guenther  <rguenther@suse.de>
2768
2769         Backport from mainline
2770         2011-03-24  Richard Guenther  <rguenther@suse.de>
2771
2772         PR middle-end/48269
2773         * tree-object-size.c (addr_object_size): Do not double-account
2774         for MEM_REF offsets.
2775
2776         2011-03-22  Richard Guenther  <rguenther@suse.de>
2777
2778         PR tree-optimization/48228
2779         * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
2780         for single-arg PHIs.
2781
2782         2011-03-17  Richard Guenther  <rguenther@suse.de>
2783
2784         PR middle-end/48134
2785         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
2786         a value make sure to fold the statement.
2787
2788         2011-03-15  Richard Guenther  <rguenther@suse.de>
2789
2790         PR middle-end/48031
2791         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
2792         or variable-indexed array accesses when in gimple form.
2793
2794 2011-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
2795
2796         PR other/48179
2797         PR other/48221
2798         PR other/48234
2799         * doc/extend.texi (Alignment): Move section to match order in TOC.
2800         * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
2801         (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
2802
2803 2011-03-26  Uros Bizjak  <ubizjak@gmail.com>
2804
2805         Backport from mainline:
2806         2011-03-24  Uros Bizjak  <ubizjak@gmail.com>
2807
2808         PR target/48237
2809         * config/i386/i386.md (*movdf_internal_rex64): Do not split
2810         alternatives that can be handled with movq or movabsq insn.
2811         (*movdf_internal): Disable for !TARGET_64BIT.
2812         (*movdf_internal_nointeger): Ditto.
2813         * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
2814
2815 2011-03-26  Jakub Jelinek  <jakub@redhat.com>
2816
2817         Backport from mainline
2818         2011-03-24  Jakub Jelinek  <jakub@redhat.com>
2819
2820         PR debug/48204
2821         * simplify-rtx.c (simplify_const_unary_operation): Call
2822         real_convert when changing mode class with FLOAT_EXTEND.
2823
2824         2011-03-20  Jakub Jelinek  <jakub@redhat.com>
2825
2826         PR c/42544
2827         PR c/48197
2828         * c-common.c (shorten_compare): If primopN is first sign-extended
2829         to opN and then zero-extended to result type, set primopN to opN.
2830
2831         PR rtl-optimization/48156
2832         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
2833         assume df and df_lr are not NULL.
2834
2835         2011-03-17  Jakub Jelinek  <jakub@redhat.com>
2836
2837         PR rtl-optimization/48141
2838         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
2839         * dse.c: Include params.h.
2840         (active_local_stores_len): New variable.
2841         (add_wild_read, dse_step1): Clear it when setting active_local_stores
2842         to NULL.
2843         (record_store, check_mem_read_rtx): Decrease it when removing
2844         from the chain.
2845         (scan_insn): Likewise.  Increase it when adding to chain, if it
2846         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
2847         set active_local_stores to NULL before the addition.
2848         * Makefile.in (dse.o): Depend on $(PARAMS_H).
2849
2850         PR rtl-optimization/48141
2851         * dse.c (record_store): If no positions are needed in an insn
2852         that cannot be deleted, at least unchain it from active_local_stores.
2853
2854 2011-03-25  Jakub Jelinek  <jakub@redhat.com>
2855
2856         * BASE-VER: Set to 4.6.1.
2857         * DEV-PHASE: Set to prerelease.
2858
2859 2011-03-25  Release Manager
2860
2861         * GCC 4.6.0 released.
2862
2863 2011-03-21  Andreas Tobler  <andreast@fgznet.ch>
2864
2865         * config/rs6000/t-freebsd: Remove duplication from file.
2866
2867 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2868
2869         PR bootstrap/48135
2870         * doc/install.texi (Prerequisites): Move jar etc. up.
2871         Explain support library version requirements.
2872
2873 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2874
2875         PR bootstrap/48135
2876         * doc/install.texi (Prerequisites): Move Perl to build
2877         requirements.  Always necessary on Solaris 2 with Sun ld.
2878
2879 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2880
2881         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
2882         binutils 2.21.
2883         (Specific, i?86-*-solaris2.[89]): Likewise.
2884         (Specific, i?86-*-solaris2.10): Likewise.
2885         (Specific, mips-sgi-irix6): Likewise.
2886         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
2887         Update for binutils 2.21.
2888
2889 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
2890
2891         PR target/48213
2892         * config/s390/s390.c (s390_delegitimize_address): Don't call
2893         lowpart_subreg if orig_x has BLKmode.
2894
2895 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
2896
2897         * c-decl.c (diagnose_mismatched_decls): Give an error for
2898         redefining a typedef with variably modified type.
2899
2900 2011-03-20  Joseph Myers  <joseph@codesourcery.com>
2901
2902         * c-decl.c (grokfield): Don't allow typedefs for structures or
2903         unions with no tag by default.
2904         * doc/extend.texi (Unnamed Fields): Update.
2905
2906 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
2907
2908         PR debug/48176
2909         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
2910         arange_table_in_use is 0, but either text_section_used or
2911         cold_text_section_used is true.  Don't call it if
2912         !info_section_emitted.
2913
2914 2011-03-18  Richard Guenther  <rguenther@suse.de>
2915
2916         * doc/install.texi (--enable-gold): Remove.
2917         (--with-plugin-ld): Document.
2918         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
2919
2920 2011-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2921
2922         Backport from mainline
2923         2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
2924
2925         PR target/48171
2926         * config/i386/i386.opt: Add Save to -mavx and -mfma.
2927
2928 2011-03-18  Richard Henderson  <rth@redhat.com>
2929             Jakub Jelinek  <jakub@redhat.com>
2930
2931         PR bootstrap/48161
2932         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
2933         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
2934
2935 2011-03-17  Richard Guenther  <rguenther@suse.de>
2936
2937         PR middle-end/48165
2938         * tree-object-size.c (compute_object_offset): Properly return
2939         the offset operand of MEM_REFs as sizetype.
2940
2941 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
2942
2943         PR debug/47510
2944         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
2945         (lookup_type_die_strip_naming_typedef): ... here.
2946         (get_context_die): Use it.
2947         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
2948         the anonymous struct named by the naming typedef.
2949
2950 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2951
2952         PR target/46788
2953         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
2954         in the output template.
2955
2956 2011-03-15  Alan Modra  <amodra@gmail.com>
2957
2958         PR target/48032
2959         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
2960         presume symbol_refs without a symbol_ref_decl are suitably
2961         aligned, nor other trees we may see here.  Handle anchor symbols.
2962         (legitimate_constant_pool_address_p): Comment.  Add mode param.
2963         Check cmodel=medium addresses.  Adjust all calls.
2964         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
2965         creating cmodel=medium optimized access to locals.
2966         * config/rs6000/constraints.md (R): Pass QImode to
2967         legitimate_constant_pool_address_p.
2968         * config/rs6000/predicates.md (input_operand): Pass mode to
2969         legitimate_constant_pool_address_p.
2970         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
2971         Update prototype.
2972
2973 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2974
2975         PR target/48053
2976         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
2977         64-bit constants being loaded into registers other than GPRs such
2978         as loading 0 into a VSX register.
2979
2980 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2981
2982         * config/sol2.c (solaris_assemble_visibility): Remove obsolete
2983         URLs.
2984
2985 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
2986
2987         * doc/invoke.texi, doc/standards.texi: Refer to
2988         gcc-4.6/c99status.html.
2989
2990         * DEV-PHASE: Mark "prerelease".
2991
2992 2011-03-14  Richard Guenther  <rguenther@suse.de>
2993
2994         PR middle-end/48098
2995         * tree.c (build_vector_from_val): Adjust assert to requirements
2996         and reality.
2997
2998 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
2999
3000         PR bootstrap/48102
3001         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE
3002         parameter.
3003
3004 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
3005
3006         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
3007         terms of target_flags_explicit. Adjust copyright year.
3008
3009         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
3010         * config/rs6000/t-freebsd: New file. Add override for
3011         LIB2FUNCS_EXTRA.
3012
3013 2011-03-13  Chris Demetriou  <cgd@google.com>
3014
3015         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
3016         (-fno-diagnostics-show-option): this, to reflect current default.
3017         (-Werror=): Update text about -fno-diagnostics-show-option.
3018
3019 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
3020
3021         PR target/48053
3022         * config/rs6000/predicates.md (easy_vector_constant_add_self,
3023         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
3024         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
3025         mode is not V2DImode or V2DFmode.
3026         (vspltis_constant): Do not handle V2DImode and V2DFmode.
3027         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
3028         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
3029         registers to 0.
3030         (movdi_internal64): Likewise.
3031
3032 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
3033
3034         PR tree-optimization/47127
3035         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
3036         parameter.
3037         (set_cloog_options): Same.
3038         (scop_to_clast): Same.
3039         (print_clast_stmt): Do not call cloog_state_malloc and
3040         cloog_state_free.
3041         (print_generated_program): Same.
3042         (gloog): Same.
3043         * graphite-clast-to-gimple.h (cloog_state): Declared.
3044         (scop_to_clast): Adjust declaration.
3045         * graphite.c (cloog_state): Defined here.
3046         (graphite_initialize): Call cloog_state_malloc.
3047         (graphite_finalize): Call cloog_state_free.
3048
3049 2011-03-11  Jason Merrill  <jason@redhat.com>
3050
3051         * attribs.c (lookup_attribute_spec): Take const_tree.
3052         * tree.h: Adjust.
3053
3054 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
3055
3056         * config/sparc/sparc.c (sparc_option_override): Use
3057         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
3058
3059 2011-03-11  Richard Guenther  <rguenther@suse.de>
3060
3061         PR tree-optimization/48067
3062         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
3063         multiplication result will be only used once on the target
3064         stmt.
3065
3066 2011-03-11  Richard Guenther  <rguenther@suse.de>
3067
3068         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
3069
3070 2011-03-11  Richard Guenther  <rguenther@suse.de>
3071
3072         PR lto/48073
3073         * tree.c (find_decls_types_r): Do not walk types only reachable
3074         from IDENTIFIER_NODEs.
3075
3076 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
3077
3078         PR middle-end/48044
3079         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
3080         all vnode->force_output nodes as needed.
3081
3082 2011-03-11  Jason Merrill  <jason@redhat.com>
3083
3084         PR c++/48069
3085         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
3086         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
3087
3088 2011-03-11  Martin Jambor  <mjambor@suse.cz>
3089
3090         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
3091         cgraph_node.
3092
3093 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
3094
3095         PR tree-optimization/48063
3096         * ipa-inline.c (cgraph_decide_inlining): Don't try to
3097         inline functions called once if !tree_can_inline_p (node->callers).
3098
3099 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
3100
3101         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
3102         extra_objs.
3103         * config/score/score3.c: Delete.
3104         * config/score/score3.h: Delete.
3105         * config/score/mul-div.S: Delete.
3106         * config/score/sfp-machine.h: Add new file.
3107         * config/score/constraints.md: Add new file.
3108         * config/score/t-score-softfp: Add new file.
3109         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
3110         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
3111         (score7_extra_constraint): Delete.
3112         (score7_option_override): Remove unused code.
3113         * config/score/score.c: Remove score3 and score5 define and code.
3114         * config/score/score.h: Remove score3 and score5 define and code.
3115         * config/score/score.md: Remove score3 template and unusual insn.
3116         * config/score/score.opt: Remove score3 and score5 options.
3117
3118 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3119
3120         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
3121         when _HPUX_SOURCE is defined.
3122         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
3123
3124 2011-03-10  Jason Merrill  <jason@redhat.com>
3125
3126         PR c++/48029
3127         * stor-layout.c (layout_type): Don't set structural equality
3128         on arrays of incomplete type.
3129         * tree.c (type_hash_eq): Handle comparing them properly.
3130
3131 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
3132
3133         PR debug/48043
3134         * config/s390/s390.c (s390_delegitimize_address): Make sure the
3135         result mode matches original rtl mode.
3136
3137 2011-03-10  Nick Clifton  <nickc@redhat.com>
3138
3139         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
3140         (andsi3, andsi3_flags): Fix timings for three operand alternative.
3141
3142 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
3143
3144         PR rtl-optimization/47866
3145         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
3146         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
3147         if target wasn't scalar.
3148         * function.c (assign_stack_temp_for_type): Assert that neither
3149         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
3150         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
3151         macro.
3152         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
3153
3154 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3155
3156         * config/s390/s390-protos.h (s390_label_align): New prototype.
3157         * config/s390/s390.c (s390_label_align): New function.
3158         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
3159
3160 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
3161
3162         PR target/47755
3163         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
3164         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
3165         (output_vec_const_move): Ditto.
3166
3167 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
3168
3169         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
3170         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
3171         * config/mips/mips.c (mips_preferred_reload_class): Make static.
3172         Change 'rclass' argument and result type to reg_class_t.
3173         (TARGET_PREFERRED_RELOAD_CLASS): Define.
3174
3175 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
3176
3177         * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3178         * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
3179         (TARGET_MEMORY_MOVE_COST): Define.
3180         (avr_register_move_cost, avr_memory_move_cost): New Functions.
3181
3182 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
3183
3184         PR debug/47881
3185         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
3186         removed anything.
3187
3188         PR tree-optimization/48022
3189         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
3190         for EQ/NE_EXPR.
3191
3192 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
3193
3194         PR debug/47991
3195         * var-tracking.c (find_use_val): Return NULL for
3196         cui->sets && cui->store_p BLKmode MEMs.
3197
3198 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
3199
3200         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
3201         Remove.
3202         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
3203         xstormy16_print_operand_address): Remove.
3204         * config/stormy16/stormy16.c (xstormy16_print_operand,
3205         xstormy16_print_operand_address): Make static.
3206         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
3207
3208 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
3209
3210         PR target/47862
3211         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
3212         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
3213         before definition.
3214
3215 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
3216
3217         PR bootstrap/48000
3218         * cfgloopmanip.c (fix_bb_placements): Return immediately
3219         if FROM is BASE_LOOP's header.
3220
3221 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
3222
3223         * gimplify.c (gimplify_function_tree): Fix building calls
3224         to __builtin_return_address.
3225
3226 2011-03-07  Alan Modra  <amodra@gmail.com>
3227
3228         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
3229         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
3230         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
3231         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
3232         return_mode args.
3233         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
3234         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
3235         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
3236         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
3237         * config/rs6000/rs6000.c
3238         (rs6000_elf_end_indicate_exec_stack): Rename to..
3239         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
3240         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
3241         (rs6000_file_start): ..here.
3242         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
3243         file scope variables.
3244         (call_ABI_of_interest): New function.
3245         (init_cumulative_args): Set above vars when function return value
3246         is a float, vector, or small struct.
3247         (rs6000_function_arg_advance_1): Likewise for function args.
3248         (rs6000_va_start): Set rs6000_passes_float if variable arg function
3249         references float args.
3250
3251 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
3252
3253         * doc/cfg.texi: Remove "See" before @ref.
3254         * doc/invoke.texi: Likewise.
3255
3256 2011-03-05  Jason Merrill  <jason@redhat.com>
3257
3258         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
3259
3260 2011-03-05  Anthony Green  <green@moxielogic.com>
3261
3262         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
3263
3264 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
3265
3266         PR rtl-optimization/47899
3267         * cfgloopmanip.c (fix_bb_placements): Fix first argument
3268         to flow_loop_nested_p when moving the loop upward.
3269
3270 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
3271
3272         PR target/47719
3273         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
3274
3275 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
3276
3277         PR tree-optimization/47967
3278         * ipa-cp.c (build_const_val): Return NULL instead of creating
3279         VIEW_CONVERT_EXPR for mismatching sizes.
3280         (ipcp_create_replace_map): Return NULL if build_const_val failed.
3281         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
3282         give up on versioning.
3283
3284 2011-03-05  Alan Modra  <amodra@gmail.com>
3285
3286         PR target/47986
3287         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
3288         full cmodel medium/large lo_sum + high addresses.
3289
3290 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3291
3292         * config/s390/s390.c (s390_decompose_address): Reject non-literal
3293         pool references in UNSPEC_LTREL_OFFSET.
3294
3295 2011-03-04  Jan Hubicka  <jh@suse.cz>
3296
3297         PR lto/47497
3298         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
3299         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
3300         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk): Add node pointers.
3301         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
3302         cgraph_add_thunk): Add node pointers.
3303         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
3304         associated to right node.
3305         (input_node): Update use of cgraph_same_body_alias
3306         and cgraph_add_thunk.
3307
3308 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
3309
3310         * config/i386/i386.opt (mprefer-avx128): New flag.
3311         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit mode
3312         when the flag -mprefer-avx128 is on.
3313
3314 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
3315
3316         * dwarf2out.c (compare_loc_operands): Fix address handling.
3317
3318 2011-03-04  Alan Modra  <amodra@gmail.com>
3319
3320         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
3321
3322 2011-03-04  Richard Guenther  <rguenther@suse.de>
3323
3324         PR middle-end/47968
3325         * expmed.c (extract_bit_field_1): Prefer vector modes that
3326         vec_extract patterns can handle.
3327
3328 2011-03-04  Richard Guenther  <rguenther@suse.de>
3329
3330         PR middle-end/47975
3331         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
3332
3333 2011-03-04  Richard Henderson  <rth@redhat.com>
3334
3335         * explow.c (emit_stack_save): Remove 'after' parameter.
3336         (emit_stack_restore): Likewise.
3337         * expr.h: Update to match.
3338         * builtins.c, calls.c, stmt.c: Likewise.
3339         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
3340         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
3341         * function.c (expand_function_end): Insert the emit_stack_save
3342         sequence before parm_birth_insn instead of after.
3343
3344 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
3345
3346         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
3347         (ssse3_pmaddubsw128): Ditto.
3348         (ssse3_pmaddubsw): Ditto.
3349
3350 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
3351
3352         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
3353
3354 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
3355
3356         PR c/47963
3357         * gimplify.c (omp_add_variable): Only call omp_notice_variable
3358         on TYPE_SIZE_UNIT if it is a DECL.
3359
3360         PR debug/47283
3361         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
3362         first operand is not is_gimple_mem_ref_addr, try to fold it.
3363         If the operand still isn't is_gimple_mem_ref_addr, clear
3364         MEM_EXPR on op0.
3365
3366 2011-03-03  Richard Guenther  <rguenther@suse.de>
3367
3368         PR middle-end/47283
3369         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
3370         match comment.
3371         (refs_may_alias_p_1): For release branches return true if
3372         we are confused by our input.
3373
3374 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3375
3376         * config/s390/s390.c (s390_function_value): Rename to ...
3377         (s390_function_and_libcall_value): ... this.
3378         (s390_function_value): New function.
3379         (s390_libcall_value): New function.
3380         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
3381         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
3382         target macro definitions.
3383         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
3384
3385 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
3386
3387         * config/i386/freebsd64.h (CC1_SPEC): Define.
3388         * config/i386/linux64.h (CC1_SPEC): Define.
3389         * config/i386/x86-64.h (CC1_SPEC): Don't define.
3390
3391 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
3392
3393         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
3394         Remove.
3395         * config/stormy16/stormy16.c: Include reload.h.
3396         (xstormy16_memory_move_cost): New function.
3397         (TARGET_MEMORY_MOVE_COST): Define.
3398
3399 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
3400
3401         PR rtl-optimization/47925
3402         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
3403         with side effects.  Remove the more-specific check for volatile asms.
3404
3405 2011-03-02  Alan Modra  <amodra@gmail.com>
3406
3407         PR target/47935
3408         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
3409         toc relative addresses for valid offsets.
3410
3411 2011-03-01  Richard Guenther  <rguenther@suse.de>
3412
3413         PR tree-optimization/47890
3414         * tree-vect-loop.c (get_initial_def_for_induction): Set
3415         related stmt properly.
3416
3417 2011-03-01  Richard Guenther  <rguenther@suse.de>
3418
3419         PR lto/47924
3420         * lto-streamer.c (lto_record_common_node): Also register
3421         the canonical type.
3422
3423 2011-03-01  Richard Guenther  <rguenther@suse.de>
3424
3425         PR lto/46911
3426         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
3427         Do not stream DECL_ABSTRACT_ORIGIN.
3428         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
3429         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
3430         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3431         Do not stream DECL_ABSTRACT_ORIGIN.
3432         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
3433         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
3434
3435 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
3436
3437         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
3438         FUNCTION_VALUE_REGNO_P): Remove.
3439         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
3440         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
3441         Add 'outgoing' argument.
3442         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
3443         function.
3444         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3445         TARGET_FUNCTION_VALUE_REGNO_P): Define.
3446
3447 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
3448
3449         PR debug/28047
3450         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
3451         (lookup_filename): Likewise.
3452         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
3453
3454 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
3455             Jakub Jelinek  <jakub@redhat.com>
3456
3457         PR middle-end/47893
3458         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
3459         (assign_stack_local_1): Change last argument type to int.
3460         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
3461         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
3462         don't record padding space into frame_space_list nor use those areas.
3463         (assign_stack_local): Adjust caller.
3464         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
3465         of assign_stack_local, pass 0 as last argument.
3466         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
3467         callers.
3468
3469 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
3470
3471         PR debug/47283
3472         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
3473         Use target address_mode and pointer_mode hooks instead of hardcoded
3474         Pmode and ptr_mode.  Handle some simple cases of extending if
3475         POINTERS_EXTEND_UNSIGNED < 0.
3476         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
3477         Call convert_debug_memory_address.
3478         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
3479         convert_debug_memory_address.
3480
3481         PR middle-end/46790
3482         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
3483         * configure: Regenerated.
3484         * config.in: Regenerated.
3485         * varasm.c (default_function_section): Return NULL
3486         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
3487
3488 2011-02-28  Martin Jambor  <mjambor@suse.cz>
3489
3490         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
3491         the description to match the printed values.
3492
3493 2011-02-28  Richard Guenther  <rguenther@suse.de>
3494
3495         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
3496         of the copied scope tree.
3497
3498 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3499
3500         * doc/extend.texi (Function Attributes): Avoid deeply (and
3501         wrongly) nested tables.
3502
3503 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
3504
3505         PR middle-end/47903
3506         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
3507         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
3508         r isn't op0 nor op1.
3509
3510 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
3511
3512         * config/avr/avr.md: Remove magic comment for emacs.
3513
3514 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
3515
3516         PR target/45261
3517         * config/avr/avr.c (avr_option_override): Use error on bad options.
3518         (avr_help): New function.
3519         (TARGET_HELP): Define.
3520
3521 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
3522
3523         PR target/42240
3524         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
3525         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
3526
3527 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
3528
3529         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
3530         (ARM Options): Ditto.
3531         (i386 and x86-64 Options): Ditto.
3532         (RX Options): Ditto.
3533         (SPARC Options): Ditto.
3534
3535 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
3536
3537         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
3538         FreeBSD 6 and later.  Generally use cpu generic.
3539
3540 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
3541
3542         * doc/cpp.texi: Update copyright years.
3543
3544 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
3545
3546         PR target/46898
3547         * config/lm32/lm32.md (ashrsi3): Added needed variable.
3548
3549 2011-02-25  Jon Beniston  <jon@beniston.com>
3550
3551         PR target/46898
3552         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
3553         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
3554         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
3555         (lm32_block_move_inline): Add type cast to remove warning.
3556         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
3557         (gen_int_relational): Move declarations to start of function.
3558
3559 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
3560
3561         PR tree-optimization/45470
3562         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
3563         can throw internally only.
3564         * tree-vect-stmts.c (vectorizable_call): Likewise.
3565
3566 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
3567
3568         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
3569         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
3570         * config/stormy16/stormy16-protos.h
3571         (xstormy16_preferred_reload_class): Remove.
3572         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
3573         static. Change 'rclass' argument and return type to reg_class_t.
3574         (TARGET_PREFERRED_RELOAD_CLASS,
3575         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3576
3577 2011-02-24  Richard Guenther  <rguenther@suse.de>
3578
3579         * lto-streamer-in.c (input_bb): Do not find referenced vars
3580         in debug statements.
3581
3582 2011-02-23  Jason Merrill  <jason@redhat.com>
3583
3584         * common.opt (fabi-version): Document v5 and v6.
3585
3586 2011-02-23  Richard Guenther  <rguenther@suse.de>
3587
3588         PR tree-optimization/47849
3589         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
3590
3591 2011-02-23  Jie Zhang  <jie@codesourcery.com>
3592
3593         * opts-common.c (decode_cmdline_option): Print empty string
3594         argument as "" in decoded->orig_option_with_args_text.
3595         * gcc.c (execute): Print empty string argument as ""
3596         in the verbose output.
3597         (do_spec_1): Keep empty string argument.
3598
3599 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
3600
3601         * config.gcc: Declare score-* and crx-* obsolete.
3602
3603 2011-02-23  Jie Zhang  <jie@codesourcery.com>
3604
3605         PR rtl-optimization/47763
3606         * web.c (web_main): Ignore naked clobber when replacing register.
3607
3608 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
3609
3610         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
3611         Remove.
3612
3613 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
3614
3615         PR doc/47848
3616         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
3617
3618 2011-02-22  Mike Stump  <mikestump@comcast.net>
3619
3620         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
3621         assembler.
3622         * configure: Regenerate.
3623
3624 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
3625
3626         PR rtl-optimization/46002
3627         * ira-color.c (update_copy_costs): Change class intersection
3628         test to reg_class_contents[] test of 'hard_regno'.
3629
3630 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
3631
3632         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
3633         than Driver option.
3634         * config/hpux11.opt (mt): Likewise.
3635         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
3636         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
3637         * config/vax/elf.opt (mno-asm-pic): Likewise.
3638         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
3639
3640 2011-02-21  Mike Stump  <mikestump@comcast.net>
3641
3642         PR target/47822
3643         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
3644         tree so we can get save the type.
3645         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
3646         for CFString instead of trying to use past the end of the builtins.
3647         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
3648         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
3649         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
3650         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
3651         Rename to darwin_builtin_cfstring.
3652         (darwin_init_cfstring_builtins): Return the built type.
3653
3654 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
3655
3656         PR target/47840
3657         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
3658         (_mm256_insert_epi64): Use _mm_insert_epi64.
3659
3660 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
3661
3662         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3663         * config/stormy16/stormy16-protos.h
3664         (xstormy16_mode_dependent_address_p): Remove.
3665         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
3666         Make static. Change return type to bool. Change argument type to
3667         const_rtx. Remove dead code.
3668         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3669
3670 2011-02-21  Richard Guenther  <rguenther@suse.de>
3671
3672         PR lto/47820
3673         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
3674         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
3675         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
3676         TUs context.
3677         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3678         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
3679
3680 2011-02-20  Richard Guenther  <rguenther@suse.de>
3681
3682         PR lto/47822
3683         * tree.c (free_lang_data_in_decl): Clean builtins from
3684         the TU decl BLOCK_VARS.
3685
3686 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
3687
3688         PR debug/47620
3689         PR debug/47630
3690         * haifa-sched.c (fix_tick_ready): Skip tick computation
3691         for debug insns.
3692
3693 2011-02-19  Richard Guenther  <rguenther@suse.de>
3694
3695         PR lto/47647
3696         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
3697         Remove lazy BLOCK_VARS streaming.
3698         (lto_input_ts_block_tree_pointers): Likewise.
3699         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
3700
3701 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
3702
3703         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
3704
3705 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
3706
3707         * config/i386/biarch32.h, config/i386/mach.h,
3708         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
3709
3710 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
3711
3712         PR target/47800
3713         * config/i386/i386.md (peephole2 for shift and plus): Use
3714         operands[1] original mode in the first insn.
3715
3716 2011-02-18  Mike Stump  <mikestump@comcast.net>
3717
3718         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
3719
3720 2011-02-18  Jan Hubicka  <jh@suse.cz>
3721
3722         PR middle-end/47788
3723         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
3724         to zero when the function is not inlinable at all.
3725
3726 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3727
3728         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
3729         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
3730         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
3731         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
3732         * config/pa/t-pa64: Likewise.
3733         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3734
3735 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
3736
3737         PR driver/47787
3738         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
3739
3740 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3741
3742         PR target/47792
3743         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
3744
3745 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
3746
3747         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
3748         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
3749         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
3750         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
3751         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
3752         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
3753         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
3754         m32r_load_postinc_p, m32r_store_preinc_predec_p,
3755         m32r_legitimate_address_p): New functions.
3756         * config/m32r/constraints.md (constraint "S"): Don't use
3757         STORE_PREINC_PREDEC_P.
3758         (constraint "U"): Don't use LOAD_POSTINC_P.
3759
3760 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
3761
3762         PR rtl-optimization/46178
3763         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
3764         compute ira_hard_regno_cover_class[].
3765
3766 2011-02-18  Richard Guenther  <rguenther@suse.de>
3767
3768         PR lto/47798
3769         * lto-streamer.h (lto_global_var_decls): Declare.
3770         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
3771         statics for global var processing.
3772
3773 2011-02-18  Richard Guenther  <rguenther@suse.de>
3774
3775         PR tree-optimization/47737
3776         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
3777         edge dominance check.
3778
3779 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
3780
3781         PR debug/47780
3782         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
3783         avoid invalid rtx sharing.
3784
3785 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
3786
3787         * doc/cpp.texi (Obsolete Features): Add background on the
3788         origin of assertions.
3789
3790 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
3791
3792         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
3793         objc_abi == 2.
3794         * config/darwin.c (output_objc_section_asm_op): Added support for
3795         ABI v1 and v2.
3796         (is_objc_metadata): New.
3797         (darwin_objc2_section): New.
3798         (darwin_objc1_section): New.
3799         (machopic_select_section): Added support for ABI v1 and v2.
3800         (darwin_emit_objc_zeroed): New.
3801         (darwin_output_aligned_bss): Detect objc metadata and treat it
3802         appropriately.
3803         (darwin_asm_output_aligned_decl_common): Same.
3804         (darwin_asm_output_aligned_decl_local): Same.
3805         * config/darwin-sections.def: Updated for ABI v1 and v2.
3806         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
3807         compiling Objective-C code for the NeXT runtime, default to using
3808         ABI version 0 for 32-bit, and version 2 for 64-bit.
3809
3810 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3811
3812         * common.opt (optimize_fast): New Variable.
3813         * opts.c (default_options_optimization): Use opts->x_optimize_fast
3814         instead of local variable ofast.
3815
3816 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3817
3818         * doc/invoke.texi (fobjc-abi-version): Documented.
3819         (fobjc-nilcheck): Documented.
3820         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
3821         version.
3822
3823 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3824
3825         PR driver/47390
3826         * common.opt (export-dynamic): New Driver option.
3827         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
3828
3829 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3830
3831         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
3832
3833 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
3834             Jan Hubicka  <jh@suse.cz>
3835
3836         PR debug/47106
3837         PR debug/47402
3838         * cfgexpand.c (account_used_vars_for_block): Remove.
3839         (estimated_stack_frame_size): Use referenced vars.
3840         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
3841         that were referenced in the original function.  Test src_fn
3842         rather than cfun.  Drop redundant get_var_ann.
3843         (setup_one_parameter): Drop redundant get_var_ann.
3844         (declare_return_variable): Likewise.
3845         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
3846         (copy_arguments_for_versioning): Drop redundant get_var_ann.
3847         * ipa-inline.c (compute_inline_parameters): Do not compute
3848         disregard_inline_limits here.
3849         (compute_inlinable_for_current, pass_inlinable): New.
3850         (pass_inline_parameters): Require PROP_referenced_vars.
3851         * cgraphunit.c (cgraph_process_new_functions): Don't run
3852         compute_inline_parameters explicitly unless function is in SSA form.
3853         (cgraph_analyze_function): Set .disregard_inline_limits.
3854         * tree-sra.c (convert_callers): Compute inliner parameters
3855         only for functions already in SSA form.
3856
3857 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3858
3859         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
3860         -mlittle-endian-data.
3861
3862 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
3863
3864         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
3865         -mno-fpu, not -fpu and -no-fpu.
3866         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
3867         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
3868
3869 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
3870
3871         PR target/43653
3872         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
3873         input reload with PLUS RTX.
3874
3875 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3876
3877         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
3878         of InverseVar(MDMX).
3879
3880 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3881
3882         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
3883         --m4-340.
3884
3885 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3886
3887         * config/mn10300/mn10300.opt (mno-crt0): New.
3888
3889 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3890
3891         * config/m68k/uclinux.opt (static-libc): New Driver option.
3892
3893 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3894
3895         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
3896
3897 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
3898
3899         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
3900         %{muser-extend-enabled}.
3901
3902 2011-02-16  Richard Guenther  <rguenther@suse.de>
3903
3904         PR tree-optimization/47738
3905         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
3906         the TODO from tree_predictive_commoning.
3907
3908 2011-02-15  Jeff Law  <law@redhat.com>
3909
3910         Revert
3911         2011-01-25  Jeff Law  <law@redhat.com>
3912
3913         PR rtl-optimization/37273
3914         * ira-costs.c (scan_one_insn): Detect constants living in memory and
3915         handle them like argument loads from stack slots.  Do not double
3916         count memory for memory constants and argument loads from stack slots.
3917
3918 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
3919
3920         PR middle-end/47725
3921         * combine.c (cant_combine_insn_p): Revert the last change.
3922
3923 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
3924
3925         PR target/47755
3926         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
3927         mode for vector constants.  Remove code that checks for TImode.
3928
3929 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
3930
3931         PR debug/47106
3932         PR debug/47402
3933         * cgraph.h (compute_inline_parameters): Return void.
3934         * ipa-inline.c (compute_inline_parameters): Adjust.
3935
3936 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
3937
3938         PR debug/47106
3939         PR debug/47402
3940         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
3941         rather than decl.
3942         * cfgexpand.c (estimated_stack_frame_size): Likewise.
3943         * ipa-inline.c (compute_inline_parameters): Adjust.
3944
3945 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
3946
3947         PR debug/47106
3948         PR debug/47402
3949         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
3950         Adjust all users.  Pass FN to...
3951         * tree-flow-inline.h (first_referenced_var): ... this.  Add
3952         fn argument.
3953         * ipa-struct-reorg.c: Adjust.
3954         * tree-dfa.c: Adjust.
3955         * tree-into-ssa.c: Adjust.
3956         * tree-sra.c: Adjust.
3957         * tree-ssa-alias.c: Adjust.
3958         * tree-ssa-live.c: Adjust.
3959         * tree-ssa.c: Adjust.
3960         * tree-ssanames.c: Adjust.
3961         * tree-tailcall.c: Adjust.
3962
3963 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
3964
3965         PR debug/47106
3966         PR debug/47402
3967         * tree-flow.h (referenced_var_lookup): Add fn parameter.
3968         Adjust all callers.
3969         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
3970         * tree-flow-inline.h: Adjust.
3971         * gimple-pretty-print.c: Adjust.
3972         * tree-into-ssa.c: Adjust.
3973         * tree-ssa.c: Adjust.
3974         * cfgexpand.c: Adjust.
3975
3976 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
3977
3978         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
3979         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3980         (EXTRA_CONSTRAINT): Delete.
3981         * config/iq2000/constraints.md: New file.
3982         * config/iq2000/iq2000.md: Include it.
3983         (define_insn ""): Delete.
3984         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
3985         unsupported constraint letters from patterns.
3986         (call_value, call_value_internal1): Likewise.
3987         (call_value_multiple_internal1): Likewise.
3988
3989 2011-02-15  Nick Clifton  <nickc@redhat.com>
3990
3991         * config/mn10300/mn10300.c: Include tm-constrs.h.
3992         (struct liw_data): New data structure describing an LIW candidate
3993         instruction.
3994         (extract_bundle): Use struct liw_data.  Allow small integer
3995         operands for some instructions.
3996         (check_liw_constraints): Use struct liw_data.  Remove swapped
3997         parameter.  Add comments describing the checks.  Fix bug when
3998         assigning the source of liw1 to the source of liw2.
3999         (liw_candidate): Delete.  Code moved into extract_bundle.
4000         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
4001         before swapping.
4002         * config/mn10300/predicates.md (liw_operand): New predicate.
4003         Allows registers and small integer constants.
4004         * config/mn10300/constraints.md (O): New constraint.  Accetps
4005         integers in the range -8 to +7 inclusive.
4006         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
4007         for moving a small integer into a register.  Give this alternative
4008         LIW attributes.
4009         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
4010         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
4011         using the J,K,L and M constraints,
4012         (liw): Remove SI mode on second operands to allow for HI and QI
4013         mode values.
4014         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
4015         instruction.
4016
4017 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
4018
4019         PR middle-end/47725
4020         * combine.c (cant_combine_insn_p): Check zero/sign extended
4021         hard registers.
4022
4023 2011-02-15  Richard Guenther  <rguenther@suse.de>
4024
4025         PR tree-optimization/47743
4026         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
4027         for a non-type-compatible VN lookup bail out.
4028
4029 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
4030
4031         * config/fr30/constraints.md: New file.
4032         * config/fr30/fr30.md: Include it.
4033         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
4034         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4035         (EXTRA_CONSTRAINT): Delete.
4036
4037 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
4038
4039         * config/frv/constraints.md: New file.
4040         * config/frv/predicates.md: Include it.
4041         * config/frv/frv.c (reg_class_from_letter): Delete.
4042         (frv_option_override): Don't initialize it.
4043         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
4044         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
4045         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
4046         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
4047         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
4048         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4049         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
4050         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
4051         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
4052         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
4053         (REG_CLASS_FROM_CONSTRAINT): Delete.
4054
4055 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
4056
4057         PR middle-end/47581
4058         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
4059         if frame size is 0 in a leaf function.
4060
4061 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4062
4063         PR pch/14940
4064         * config/alpha/host-osf.c: New file.
4065         * config/alpha/x-osf: New file.
4066         * config.host (alpha*-dec-osf*): Use it.
4067
4068 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
4069
4070         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4071         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
4072         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
4073         (rx_mode_dependent_address_p): ...this. Make static. Change argument
4074         type to const_rtx.
4075         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4076
4077 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
4078
4079         * config/stormy16/constraints.md: New file.
4080         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
4081         Use satisfies_constraint_Q and satisfies_constraint_R.
4082         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
4083         Delete.
4084         (xstormy16_legitiamte_address_p): Declare.
4085         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
4086         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4087         (EXTRA_CONSTRAINT): Delete.
4088         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
4089         Un-staticize.
4090         (xstormy16_extra_constraint_p): Delete.
4091
4092 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
4093
4094         PR tree-optimization/46494
4095         * loop-unroll.c (split_edge_and_insert): Adjust comment.
4096         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
4097         (pass_rtl_loop_done): Add TODO_verify_flow.
4098         * fwprop.c (pass_rtl_fwprop): Likewise.
4099         * modulo-sched.c (pass_sms): Likewise.
4100         * tree-ssa-dom.c (pass_dominator): Likewise.
4101         * tree-ssa-loop-ch.c (pass_ch): Likewise.
4102         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
4103         (pass_tree_loop_done): Likewise.
4104         * tree-ssa-pre.c (execute_pre): Likewise.
4105         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
4106         * tree-ssa-sink.c (pass_sink_code): Likewise.
4107         * tree-vrp.c (pass_vrp): Likewise.
4108
4109 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
4110
4111         * config/v850/constraints.md: New file.
4112         * config/v850/v850.md: Include it.
4113         * config/v850/predicates.md (reg_or_0_operand): Use
4114         satisfies_constraint_G.
4115         (special_symbolref_operand): Use satisfies_constraint_K.
4116         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
4117         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
4118         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
4119         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
4120         (EXTRA_CONSTRAINT): Delete.
4121         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
4122         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
4123         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
4124
4125 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
4126
4127         PR target/47696
4128         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
4129         description.
4130
4131 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
4132
4133         * config/mcore/constraints.md: New file.
4134         * config/mcore/mcore.md: Include it.
4135         * config/mcore/mcore.c (reg_class_from_letter): Delete.
4136         * config/mcore/mcore.h (reg_class_from_letter): Delete.
4137         (REG_CLASS_FROM_LETTER): Delete.
4138         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
4139         insn_const_int_ok_for_constraint.
4140         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
4141         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
4142         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4143         (EXTRA_CONSTRAINT): Delete.
4144
4145 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4146
4147         PR ada/41929
4148         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
4149         (IS_SIGHANDLER): Define.
4150         (sparc64_is_sighandler): New function, split off from
4151         sparc64_fallback_frame_state.
4152         (sparc_is_sighandler): New function, split off from
4153         sparc_fallback_frame_state.
4154         (sparc64_fallback_frame_state): Merge with ...
4155         (sparc_fallback_frame_state): ... this into ...
4156         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
4157         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
4158         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
4159         stack instead of hardcoded offsets.
4160
4161 2011-02-14  Andriy Gapon  <avg@freebsd.org>
4162
4163         PR target/45808
4164         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
4165
4166 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4167
4168         * configure: Regenerate.
4169
4170 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
4171
4172         PR driver/45731
4173         * gcc.c (asm_options): Correct spec matching --target-help.
4174
4175 2011-02-12  Martin Jambor  <mjambor@suse.cz>
4176
4177         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
4178         to gimple call error.
4179
4180 2011-02-12  Mike Stump  <mikestump@comcast.net>
4181
4182         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
4183         comments in backslash regions.
4184
4185 2011-02-12  Mike Stump  <mikestump@comcast.net>
4186             Jakub Jelinek  <jakub@redhat.com>
4187             Iain Sandoe  <iains@gcc.gnu.org>
4188
4189         PR target/47324
4190         * dwarf2out.c (output_cfa_loc): When required, apply the
4191         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
4192         (output_loc_sequence): Likewise.
4193         (output_loc_operands_raw): Likewise.
4194         (output_loc_sequence_raw): Likewise.
4195         (output_cfa_loc): Likewise.
4196         (output_loc_list): Suppress register number adjustment when
4197         calling output_loc_sequence()
4198         (output_die): Likewise.
4199
4200 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
4201
4202         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
4203         Remove macros.
4204         * config/xtensa/xtensa.c (xtensa_register_move_cost,
4205         xtensa_memory_move_cost): New functions.
4206         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
4207
4208 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
4209
4210         PR lto/47225
4211         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
4212         in the current directory.
4213         * configure: Rebuilt.
4214
4215 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
4216
4217         * config/darwin.c (darwin_override_options): Add a hunk missed
4218         from the commit of r168571.  Trim comment line lengths and
4219         correct indents of the preceding block.
4220
4221 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
4222
4223         * gcc.c (driver_handle_option): Concatenate the argument to -F with
4224         the switch.
4225
4226 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
4227
4228         * common.opt (nostartfiles): New Driver option.
4229
4230 2011-02-11  Xinliang David Li  <davidxl@google.com>
4231
4232         PR tree-optimization/47707
4233         * tree-chrec.c (convert_affine_scev): Keep type precision.
4234
4235 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
4236
4237         PR tree-optimization/47420
4238         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
4239
4240 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
4241
4242         PR rtl-optimization/47614
4243         * rtl.h (check_for_inc_dec): Declare.
4244         * dse.c (check_for_inc_dec): Externalize...
4245         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
4246         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
4247
4248 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
4249
4250         PR driver/47678
4251         * gcc.c (main): Do not compile inputs if there were errors in
4252         option handling.
4253         * opts-common.c (read_cmdline_option): Check for wrong language
4254         after other error checks.
4255
4256 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
4257
4258         * cgraph.c: Fix comment typos.
4259         * cgraph.h: Likewise.
4260         * cgraphunit.c: Likewise.
4261         * ipa-cp.c: Likewise.
4262         * ipa-inline.c: Likewise.
4263         * ipa-prop.c: Likewise.
4264         * ipa-pure-const.c: Likewise.
4265         * ipa-ref.c: Likewise.
4266         * ipa-reference.c: Likewise.
4267
4268 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
4269
4270         PR debug/47684
4271         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
4272
4273 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4274
4275         PR testsuite/47400
4276         * doc/sourcebuild.texi (Require Support): Document
4277         dg-require-ascii-locale.
4278
4279 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
4280
4281         * doc/lto.texi (Write summary): Fix missing parentheses.
4282
4283 2011-02-10  DJ Delorie  <dj@redhat.com>
4284
4285         * config/m32c/m32c.c (m32c_option_override): Disable
4286         -fcombine-stack-adjustments until flag value tracking and compare
4287         optimization can be rewritten.
4288
4289 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
4290
4291         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
4292         PROCESSOR_POWER7.
4293         (PROCESSOR_DEFAULT64): Likewise.
4294
4295 2011-02-10  Richard Henderson  <rth@redhat.com>
4296
4297         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
4298         change from 2011-02-03.
4299         * config/rx/rx.c (flags_from_code): Likewise.
4300         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
4301         is valid, n/pz otherwise.
4302         (rx_select_cc_mode): Return CCmode if Y is not zero.
4303
4304 2011-02-10  Richard Guenther  <rguenther@suse.de>
4305
4306         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
4307
4308 2011-02-10  Richard Guenther  <rguenther@suse.de>
4309
4310         PR tree-optimization/47677
4311         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
4312
4313 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
4314
4315         PR target/47665
4316         * combine.c (make_compound_operation): Only change shifts into
4317         multiplication for SCALAR_INT_MODE_P.
4318
4319 2011-02-10  Jie Zhang  <jie@codesourcery.com>
4320
4321         PR testsuite/47622
4322         Revert
4323         2011-02-05  Jie Zhang  <jie@codesourcery.com>
4324         PR debug/42631
4325         * web.c (entry_register): Don't clobber the number of the
4326         first uninitialized reference in used[].
4327
4328 2011-02-09  Richard Guenther  <rguenther@suse.de>
4329
4330         PR tree-optimization/47664
4331         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
4332         all edges again.
4333
4334 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
4335
4336         PR target/46481
4337         PR target/47032
4338         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
4339         PROCESSOR_POWER7.
4340         (PROCESSOR_DEFAULT64): Same.
4341         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
4342
4343 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4344
4345         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
4346
4347 2011-02-09  Martin Jambor  <mjambor@suse.cz>
4348
4349         PR middle-end/45505
4350         * tree-sra.c (struct access): New flags grp_scalar_read and
4351         grp_scalar_write.  Changed description of assignment read and write
4352         flags.
4353         (dump_access): Dump new flags, reorder all of them.
4354         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
4355         to detect multiple scalar reads.
4356         (analyze_access_subtree): Use the new scalar read write flags instead
4357         of the old flags.  Adjusted comments.
4358
4359 2011-02-08  DJ Delorie  <dj@redhat.com>
4360
4361         PR target/47548
4362         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
4363         patterns.
4364
4365 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4366
4367         * config/m68k/uclinux.opt: New.
4368         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
4369
4370 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4371
4372         * config/cris/elf.opt (sim): New Driver option.
4373
4374 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4375
4376         * config/xtensa/elf.opt: New.
4377         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
4378
4379 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4380
4381         * config/vax/elf.opt: New.
4382         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
4383
4384 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4385
4386         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
4387
4388 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4389
4390         * config/gnu-user.opt: New.
4391         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
4392         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
4393         *-*-uclinux*): Use gnu-user.opt.
4394
4395 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
4396
4397         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
4398         * config/i386/gnu.h (CPP_SPEC): Likewise.
4399
4400 2011-02-08  Ian Lance Taylor  <iant@google.com>
4401
4402         * common.opt (fcx-limited-range): Add SetByCombined flag.
4403         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
4404         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
4405         (fassociative-math, freciprocal-math): Likewise.
4406         (funsafe-math-optimizations): Likewise.
4407         * opth-gen.awk: Handle SetByCombined.
4408         * optc-gen.awk: Likewise.
4409         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
4410         (set_unsafe_math_optimizations_flags): Likewise.
4411         * doc/options.texi (Option properties): Document SetByCombined.
4412
4413 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
4414
4415         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
4416         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
4417         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
4418         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
4419         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
4420
4421 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
4422
4423         PR tree-optimization/46834
4424         PR tree-optimization/46994
4425         PR tree-optimization/46995
4426         * graphite-sese-to-poly.c (used_outside_reduction): New.
4427         (detect_commutative_reduction): Call used_outside_reduction.
4428         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
4429         translate_scalar_reduction_to_array only when at least one
4430         loop-phi/close-phi tuple has been detected.
4431
4432 2011-02-08  Richard Guenther  <rguenther@suse.de>
4433
4434         PR middle-end/47639
4435         * tree-vect-generic.c (expand_vector_operations_1): Update
4436         stmts here ...
4437         (expand_vector_operations): ... not here.  Cleanup EH info
4438         and the CFG if required.
4439
4440 2011-02-08  Richard Guenther  <rguenther@suse.de>
4441
4442         PR tree-optimization/47641
4443         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
4444         require type compatibility.
4445
4446 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4447
4448         * gimple-low.c (lower_function_body): Don't remove the location of
4449         the return statement here.
4450         (lower_gimple_return): Do it here instead but only if the return
4451         statement is actually used twice.
4452
4453 2011-02-08  Richard Guenther  <rguenther@suse.de>
4454
4455         PR tree-optimization/47632
4456         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
4457         unused up_to_stmt parameter, return whether cfg-cleanup is
4458         necessary, remove EH info properly.
4459         (forward_propagate_into_gimple_cond): Adjust caller.
4460         (forward_propagate_into_cond): Likewise.
4461         (forward_propagate_comparison): Likewise.
4462         (tree_ssa_forward_propagate_single_use_vars): Make
4463         forward_propagate_comparison case similar to the two others.
4464
4465 2011-02-08  Nick Clifton  <nickc@redhat.com>
4466
4467         * config/mn10300/mn10300.opt (mliw): New command line option.
4468         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
4469         (liw_bundling): New automaton.
4470         (liw): New attribute.
4471         (liw_op): New attribute.
4472         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
4473         (movsi_internal): Add LIW attributes.
4474         (andsi3): Likewise.
4475         (iorsi3): Likewise.
4476         (xorsi3): Likewise.
4477         (addsi3): Separate register and immediate alternatives.
4478         Add LIW attributes.
4479         (subsi3): Likewise.
4480         (cmpsi): Likewise.
4481         (aslsi3): Likewise.
4482         (lshrsi3): Likewise.
4483         (ashrsi3): Likewise.
4484         (liw): New pattern.
4485         * config/mn10300/mn10300.c (liw_op_names): New
4486         (mn10300_print_operand): Handle 'W' operand descriptor.
4487         (extract_bundle): New function.
4488         (check_liw_constraints): New function.
4489         (liw_candidate): New function.
4490         (mn10300_bundle_liw): New function.
4491         (mn10300_reorg): New function.
4492         (TARGET_MACHINE_DEPENDENT_REORG): Define.
4493         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
4494         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
4495         __LIW__ or __NO_LIW__.
4496         * doc/invoke.texi: Describe the -mliw command line option.
4497
4498 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4499
4500         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
4501         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
4502         pthread_mutex_unlock): Remove.
4503         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
4504         * config/pa/t-pa64: Likewise.
4505         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
4506         shared libc if not linking against libpthread.
4507         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
4508
4509 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
4510
4511         PR target/47558
4512         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
4513         on 10.6 and later to ensure that we always use the unwinder from
4514         the system.  Only add -no_compact_unwind when tarteting darwin
4515         10.6 or later.
4516
4517 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
4518
4519         PR target/46997
4520         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
4521         (vec_interleave_lowv2sf): Ditto.
4522         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
4523         (vec_extract_oddv2sf): Ditto.
4524
4525 2011-02-07  Mike Stump  <mikestump@comcast.net>
4526
4527         PR target/42333
4528         Add __ieee_divdc3 entry point.
4529         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
4530         entry point.
4531         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
4532         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
4533         * config/darwin.c (darwin_rename_builtins): Add.
4534         * config/darwin-protos.h (darwin_rename_builtins): Add.
4535
4536 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
4537
4538         PR target/47636
4539         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
4540         for the condition.
4541
4542 2011-02-07  Mike Stump  <mikestump@comcast.net>
4543
4544         * config/darwin.opt (mmacosx-version-min): Update default OS version.
4545
4546 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
4547
4548         PR target/47534
4549         * config/avr/libgcc.S (exit): Move .endfunc
4550
4551 2011-02-07  Richard Guenther  <rguenther@suse.de>
4552
4553         PR tree-optimization/47615
4554         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
4555         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
4556         (run_scc_vn): Initialize it.
4557         (visit_reference_op_load): Use it.
4558         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
4559
4560 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4561
4562         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
4563         DImode trapping arithmetic libfuncs.
4564
4565 2011-02-07  Richard Guenther  <rguenther@suse.de>
4566
4567         PR tree-optimization/47621
4568         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
4569         two duplicates ...
4570         (execute_update_addresses_taken): ... here.  Make it more
4571         conservative in what we accept.
4572
4573 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
4574
4575         * config/sparc/freebsd.h (ASM_SPEC): Define.
4576         * config/sparc/vxworks.h (ASM_SPEC): Define.
4577
4578 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
4579
4580         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
4581
4582 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
4583
4584         * doc/invoke.texi: Remove reference to compiler internals from
4585         user documentation.
4586
4587         * reg-notes.def: Remove REG_VALUE_PROFILE.
4588         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
4589
4590 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
4591
4592         PR middle-end/47610
4593         * varasm.c (default_section_type_flags): If decl is NULL,
4594         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
4595
4596 2011-02-05  Jie Zhang  <jie@codesourcery.com>
4597
4598         PR debug/42631
4599         * web.c (entry_register): Don't clobber the number of the
4600         first uninitialized reference in used[].
4601
4602 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
4603
4604         PR tree-optimization/46194
4605         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
4606         (build_classic_dist_vector_1): Do not represent classic distance
4607         vectors when the access functions are variating in different loops.
4608
4609 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4610
4611         * config/mips/iris6.opt: New.
4612         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
4613
4614 2011-02-04  Richard Henderson  <rth@redhat.com>
4615             Steve Ellcey  <sje@cup.hp.com>
4616
4617         PR target/46997
4618         * config/ia64/predicates.md (mux1_brcst_element): New.
4619         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
4620         * config/ia64/ia64.c (ia64_unpack_assemble): New.
4621         (ia64_unpack_sign): New.
4622         (ia64_expand_unpack): Rewrite using new routines.
4623         (ia64_expand_widen_sum): Ditto.
4624         (ia64_expand_dot_prod_v8qi): Ditto.
4625         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
4626         routines, add endian check.
4627         (pmpy2_even): Rename from pmpy2_r, add endian check.
4628         (pmpy2_odd): Rename from pmpy2_l, add endian check.
4629         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
4630         (vec_widen_smult_hi_v4hi): Ditto.
4631         (vec_widen_umult_lo_v4hi): Ditto.
4632         (vec_widen_umult_hi_v4hi): Ditto.
4633         (mulv2si3): Change endian checks.
4634         (sdot_prodv4hi): Rewrite with new calls.
4635         (udot_prodv4hi): New.
4636         (vec_pack_ssat_v4hi): Add endian check.
4637         (vec_pack_usat_v4hi): Ditto.
4638         (vec_pack_ssat_v2si): Ditto.
4639         (max1_even): Rename from max1_r, add endian check.
4640         (max1_odd): Rename from max1_l, add endian check.
4641         (*mux1_rev): Format change.
4642         (*mux1_mix): Ditto.
4643         (*mux1_shuf): Ditto.
4644         (*mux1_alt): Ditto.
4645         (*mux1_brcst_v8qi): Use new predicate.
4646         (vec_extract_evenv8qi): Remove endian check.
4647         (vec_extract_oddv8qi): Ditto.
4648         (vec_interleave_lowv4hi): Format change.
4649         (vec_interleave_highv4hi): Ditto.
4650         (mix2_even): Rename from mix2_r, add endian check.
4651         (mix2_odd): Rename from mux2_l, add endian check.
4652         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
4653         (vec_extract_evenodd_helper): Format change.
4654         (vec_extract_evenv4hi): Remove endian check.
4655         (vec_extract_oddv4hi): Remove endian check.
4656         (vec_interleave_lowv2si): Format change.
4657         (vec_interleave_highv2si): Format change.
4658         (vec_initv2si): Remove endian check.
4659         (vecinit_v2si): Add endian check.
4660         (reduc_splus_v2sf): Add endian check.
4661         (reduc_smax_v2sf): Ditto.
4662         (reduc_smin_v2sf): Ditto.
4663         (vec_initv2sf): Remove endian check.
4664         (fpack): Add endian check.
4665         (fswap): Add endian check.
4666         (vec_interleave_highv2sf): Add endian check.
4667         (vec_interleave_lowv2sf): Add endian check.
4668         (fmix_lr): Add endian check.
4669         (vec_setv2sf): Format change.
4670         (*vec_extractv2sf_0_be): Use shift to extract operand.
4671         (*vec_extractv2sf_1_be): New.
4672         (vec_pack_trunc_v4hi): Add endian check.
4673         (vec_pack_trunc_v2si): Format change.
4674
4675 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
4676
4677         PR inline-asm/23200
4678         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
4679         do bb, locus and block comparison and disallow loads if it is not set.
4680         (stmt_is_replaceable_p): New function.
4681         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
4682         callers.
4683         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
4684         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
4685         SSA_NAME_DEF_STMT.
4686         * tree-flow.h (stmt_is_replaceable_p): New prototype.
4687
4688 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4689
4690         * config/rs6000/xilinx.opt: New.
4691         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
4692
4693 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
4694
4695         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
4696
4697 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
4698
4699         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
4700         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
4701         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
4702         secondary_reload_info, xtensa_secondary_reload): Remove.
4703         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
4704         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
4705         (xtensa_preferred_reload_class): Make static. Change return and
4706         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
4707         Use CONST_DOUBLE_P predicate.
4708         (xtensa_preferred_output_reload_class): New function.
4709         (xtensa_secondary_reload): Make static.
4710
4711 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
4712
4713         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
4714         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
4715         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
4716
4717 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4718
4719         PR middle-end/31490
4720         * output.h (SECTION_RELRO): Define.
4721         (SECTION_MACH_DEP): Adjust.
4722         (get_variable_section): New prototype.
4723         * varpool.c (varpool_finalize_named_section_flags): New function.
4724         (varpool_assemble_pending_decls): Call it.
4725         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
4726         * cgraphunit.c (cgraph_output_in_order): Call
4727         varpool_finalize_named_section_flags.
4728         * varasm.c (get_section): Allow section flags conflicts between
4729         relro and read-only sections if the section hasn't been declared yet.
4730         Set SECTION_OVERRIDE after diagnosing section type conflict.
4731         (get_variable_section): No longer static.
4732         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
4733         readonly sections that need relocations.
4734         (decl_readonly_section_1): New function.
4735         (decl_readonly_section): Use it.
4736
4737         Revert:
4738         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
4739                     Steve Ellcey  <sje@cup.hp.com>
4740
4741         PR middle-end/31490
4742         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
4743         if section attribute used.
4744
4745 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4746
4747         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
4748         * config/darwin.c (SECTION_NO_ANCHOR): Define.
4749         (darwin_init_sections): Remove assertion.
4750
4751 2011-02-03  Nick Clifton  <nickc@redhat.com>
4752
4753         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
4754         lt and ge.
4755         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
4756         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
4757         instead of "n" and "pz".
4758         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
4759         CC_FLAG_S.
4760
4761 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
4762
4763         PR target/47312
4764         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
4765         fma, expand FMA_EXPR as fma{,f,l} call.
4766
4767         PR lto/47274
4768         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
4769         copy them into a unsigned char variable and pass address of it to
4770         lto_output_data_stream.
4771
4772         PR target/47564
4773         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
4774         around backend_init_target and lang_dependent_init_target calls.
4775         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
4776         (verify_cgraph_node): Don't call set_cfun here.  Use
4777         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
4778         Set error_found for incorrectly represented calls to thunks.
4779
4780 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
4781
4782         PR debug/43092
4783         PR rtl-optimization/43494
4784         * rtl.h (for_each_inc_dec_fn): New type.
4785         (for_each_inc_dec): Declare.
4786         * rtlanal.c (struct for_each_inc_dec_ops): New type.
4787         (for_each_inc_dec_find_inc_dec): New fn.
4788         (for_each_inc_dec_find_mem): New fn.
4789         (for_each_inc_dec): New fn.
4790         * dse.c (struct insn_size): Remove.
4791         (replace_inc_dec, replace_inc_dec_mem): Remove.
4792         (emit_inc_dec_insn_before): New fn.
4793         (check_for_inc_dec): Use it, along with for_each_inc_dec.
4794         (canon_address): Pass mem modes to cselib_lookup.
4795         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
4796         (cselib_lookup_from_insn): Likewise.
4797         (cselib_subst_to_values): Likewise.
4798         * cselib.c (find_slot_memmode): New var.
4799         (cselib_find_slot): New fn.  Use it instead of
4800         htab_find_slot_with_hash everywhere.
4801         (entry_and_rtx_equal_p): Use find_slot_memmode.
4802         (autoinc_split): New fn.
4803         (rtx_equal_for_cselib_p): Rename and implement in terms of...
4804         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
4805         Deal with autoinc.  Special-case recursion into MEMs.
4806         (cselib_hash_rtx): Likewise.
4807         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
4808         address and MEM modes.
4809         (cselib_subst_to_values): Add memmode, pass it on.
4810         Deal with autoinc.
4811         (cselib_lookup): Add memmode argument, pass it on.
4812         (cselib_lookup_from_insn): Add memmode.
4813         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
4814         (struct cselib_record_autoinc_data): New.
4815         (cselib_record_autoinc_cb): New fn.
4816         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
4817         mode to cselib_lookup.  Reset autoinced REGs here instead of...
4818         (cselib_process_insn): ... here.
4819         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
4820         to cselib_lookup.
4821         (add_uses): Likewise, also to cselib_subst_to_values.
4822         (add_stores): Likewise.
4823         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
4824         cselib_subst_to_values.
4825         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
4826         * gcse.c (do_local_cprop): Adjusted.
4827         * postreload.c (reload_cse_simplify_set): Adjusted.
4828         (reload_cse_simplify_operands): Adjusted.
4829         * sel-sched-dump (debug_mem_addr_value): Pass mode.
4830
4831 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
4832
4833         PR tree-optimization/45122
4834         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
4835         unsafe assumptions when there's more than one loop exit.
4836
4837 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
4838
4839         PR target/47272
4840         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
4841         Document using vector double with the load/store builtins, and
4842         that the load/store builtins always use Altivec instructions.
4843
4844         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
4845         to use altivec memory instructions, even on VSX.
4846         (vector_altivec_store_<mode>): Ditto.
4847
4848         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
4849         function.
4850
4851         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
4852         V2DF, V2DI support to load/store overloaded builtins.
4853
4854         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
4855         altivec load/store builtins for V2DF/V2DI types.
4856
4857         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
4858         set avoid indexed addresses on power6 if -maltivec.
4859         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
4860         vector_altivec_load/vector_altivec_store builtins.
4861         (altivec_expand_st_builtin): Ditto.
4862         (altivec_expand_builtin): Add VSX memory builtins.
4863         (rs6000_init_builtins): Add V2DI types to internal types.
4864         (altivec_init_builtins): Add support for V2DF/V2DI altivec
4865         load/store builtins.
4866         (rs6000_address_for_altivec): Insure memory address is appropriate
4867         for Altivec.
4868
4869         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
4870         vec_vsx_ld and vec_vsx_st.
4871         (vsx_store_<mode>): Ditto.
4872
4873         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
4874         variables to hold long long types for VSX vector memory builtins.
4875         (RS6000_BTI_unsigned_long_long): Ditto.
4876         (long_long_integer_type_internal_node): Ditti.
4877         (long_long_unsigned_type_internal_node): Ditti.
4878
4879         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
4880         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
4881         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
4882
4883         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
4884         short cuts.
4885         (vec_vsx_st): Ditto.
4886
4887 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
4888
4889         * config/pa/pa-hpux10.opt: New.
4890         * config/hpux11.opt (pthread): New Driver option.
4891         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
4892         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
4893
4894 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
4895
4896         * config/ia64/vms.opt: New.
4897         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
4898
4899 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
4900
4901         PR target/47580
4902         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
4903         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
4904         generator functions.
4905         (vsx_floatuns<VSi><mode>2): Ditto.
4906         (vsx_fix_trunc<mode><VSi>2): Ditto.
4907         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
4908
4909 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
4910
4911         * config/i386/djgpp.opt (posix): New Driver option.
4912
4913 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
4914
4915         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
4916         Move to the unsupported targets list.
4917
4918 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
4919
4920         PR rtl-optimization/47525
4921         * df-scan.c: Update copyright years.
4922         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
4923         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
4924
4925 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4926
4927         * config/i386/sysv4.h (TARGET_VERSION): Remove.
4928         (SUBTARGET_RETURN_IN_MEMORY): Remove.
4929         (ASM_OUTPUT_ASCII): Remove.
4930         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
4931
4932 2011-02-02  Jeff Law  <law@redhat.com>
4933
4934         PR middle-end/47543
4935         * reload.c (find_reloads_address): Handle reg+d address where both
4936         components are invalid by reloading the entire address.
4937
4938 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
4939             Richard Guenther  <rguenther@suse.de>
4940
4941         PR tree-optimization/40979
4942         PR bootstrap/47044
4943         * passes.c (init_optimization_passes): After LIM call copy_prop
4944         and DCE to clean up.
4945         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
4946
4947 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
4948
4949         PR tree-optimization/47576
4950         PR tree-optimization/47555
4951         * doc/invoke.texi (scev-max-expr-complexity): Documented.
4952         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
4953         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
4954         * tree-scalar-evolution.c (follow_ssa_edge): Use
4955         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
4956
4957 2011-02-02  Richard Guenther  <rguenther@suse.de>
4958
4959         PR tree-optimization/47566
4960         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
4961
4962 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
4963
4964         PR debug/47106
4965         PR debug/47402
4966         * tree-inline.c (declare_return_variable): Remove unused caller
4967         variable.
4968
4969         PR debug/47106
4970         PR debug/47402
4971         * tree-flow-inline.h (clear_is_used, is_used_p): New.
4972         * cfgexpand.c (account_used_vars_for_block): Use them.
4973         * tree-nrv.c (tree_nrv): Likewise.
4974         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
4975         (dump_scope_block): Likewise.
4976         (remove_unused_locals): Likewise.
4977
4978         PR debug/47106
4979         PR debug/47402
4980         * tree-inline.c (declare_return_variable): Add result decl to
4981         local decls only once.
4982         * gimple-low.c (record_vars_into): Mark newly-created variables
4983         as referenced.
4984
4985 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
4986
4987         PR debug/47498
4988         PR debug/47501
4989         PR debug/45136
4990         PR debug/45130
4991         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
4992         debug insns.
4993         (no_real_insns_p, schedule_block, set_priorities): Drop special
4994         treatment of boundary debug insns.
4995         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
4996         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
4997         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
4998         (BOUNDARY_DEBUG_INSN_P): Likewise.
4999         (SCHEDULE_DEBUG_INSN_P): Likewise.
5000         * sched-rgn.c (init_ready_list): Drop special treatment of
5001         boundary debug insns.
5002         * final.c (rest_of_clean_state): Clear notes' BB.
5003
5004 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5005
5006         * config/openbsd.opt (assert=): New Driver option.
5007
5008 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5009
5010         * config/i386/nto.opt: New.
5011         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
5012
5013 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5014
5015         * config/i386/netware.opt: New.
5016         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
5017
5018 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5019
5020         * config/interix.opt (posix): New Driver option.
5021
5022 2011-02-01  DJ Delorie  <dj@redhat.com>
5023
5024         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
5025
5026         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
5027         class for A0/A1.
5028
5029 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
5030
5031         PR tree-optimization/47561
5032         * toplev.c (process_options): Print the Graphite flags.  Add
5033         flag_loop_flatten to the list of options requiring Graphite.
5034
5035 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5036
5037         * config/i386/cygming.opt (posix): New Driver option.
5038
5039 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5040
5041         * config/arm/vxworks.opt: New.
5042         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
5043
5044 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
5045
5046         * config/alpha/elf.opt: New.
5047         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
5048         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
5049
5050 2011-02-01  Richard Guenther  <rguenther@suse.de>
5051
5052         PR tree-optimization/47559
5053         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
5054         store-motion on references that can throw.
5055
5056 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
5057
5058         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
5059         * tree-pass.h (TDF_CSELIB): New macro.
5060         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
5061         cselib_lookup): Check for it rather than for TDF_DETAILS.
5062
5063 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
5064
5065         PR driver/47547
5066         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
5067         is HOST_BIT_BUCKET.
5068
5069         * opts.c (finish_options): Don't add x_aux_base_name if it is
5070         HOST_BIT_BUCKET.
5071
5072 2011-02-01  Richard Guenther  <rguenther@suse.de>
5073
5074         PR tree-optimization/47555
5075         Revert
5076         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
5077
5078         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
5079
5080 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
5081
5082         PR gcc/46692
5083         * config/lm32/t-lm32: Add multilib for all CPU options.
5084
5085 2011-02-01  Richard Guenther  <rguenther@suse.de>
5086
5087         PR tree-optimization/47541
5088         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
5089         sure to have a field at offset zero.
5090
5091 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
5092
5093         * config/arc/arc.opt (EB, EL): New Driver options.
5094
5095 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
5096
5097         * config/alpha/osf5.opt: New.
5098         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
5099
5100 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
5101
5102         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
5103
5104 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
5105
5106         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
5107         -floop-interchange.
5108         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
5109         is an alias of -floop-interchange and that it requires the
5110         Graphite infrastructure.
5111         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
5112         flag_loop_interchange based on the value of flag_tree_loop_linear.
5113
5114 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
5115             Richard Guenther  <rguenther@suse.de>
5116
5117         PR tree-optimization/47538
5118         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
5119         type instead of r1type, except for comparisons.  For right
5120         shifts and comparisons punt if there are mismatches in
5121         sizetype vs. non-sizetype types.
5122
5123 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5124
5125         * doc/sourcebuild.texi (Effective-Target Keywords): Document
5126         avx_runtime.
5127
5128 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5129
5130         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
5131         version number.
5132         * configure: Regenerate.
5133
5134 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5135
5136         * configure.ac (gcc_cv_ld_static_option): Define.
5137         (gcc_cv_ld_dynamic_option): Define.
5138         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
5139         instead.
5140         (HAVE_LD_STATIC_DYNAMIC): Update message.
5141         (LD_STATIC_OPTION): Define.
5142         (LD_DYNAMIC_OPTION): Define.
5143         * configure: Regenerate.
5144         * config.in: Regenerate.
5145         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
5146         HAVE_LD_STATIC_DYNAMIC]: Use them.
5147
5148 2011-01-31  Nick Clifton  <nickc@redhat.com>
5149
5150         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
5151         registers inside interrupt handlers if the handler is not a leaf
5152         function.
5153
5154 2011-01-31  Nick Clifton  <nickc@redhat.com>
5155
5156         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
5157         reg_renumber returning an INVALID_REGNUM.
5158
5159 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
5160
5161         PR libgcj/44341
5162         * doc/install.texi: Document host options discarded when cross
5163         configuring target libraries.
5164
5165 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
5166
5167         Reverted:
5168         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
5169         PR debug/45136
5170         PR debug/45130
5171         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5172         debug insns.
5173         (no_real_insns_p, schedule_block, set_priorities): Drop special
5174         treatment of boundary debug insns.
5175         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
5176         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
5177         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5178         (BOUNDARY_DEBUG_INSN_P): Likewise.
5179         (SCHEDULE_DEBUG_INSN_P): Likewise.
5180         * sched-rgn.c (init_ready_list): Drop special treatment of
5181         boundary debug insns.
5182         * final.c (rest_of_clean-state): Clear notes' BB.
5183
5184 2011-01-31  Alan Modra  <amodra@gmail.com>
5185
5186         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
5187         toc relative expressions as we do in print_operand_address.
5188
5189 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
5190
5191         * doc/extend.texi: Follow spelling conventions.
5192         * doc/invoke.texi: Fix a typo.
5193
5194 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
5195
5196         * config/hpux11.opt: New.
5197         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
5198         ia64*-*-hpux*): Use hpux11.opt.
5199
5200 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
5201
5202         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
5203         to tmake_file.
5204
5205 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
5206
5207         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
5208         support sites.
5209
5210 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
5211
5212         * doc/install.texi (Binaries): Remove outdated reference for
5213         Motorola 68HC11/68HC12 downloads.
5214
5215 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
5216
5217         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
5218         Drepper's paper.
5219
5220 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
5221
5222         PR bootstrap/47147
5223         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
5224         used by NetBSD.
5225
5226 2011-01-28  Ahmad Sharif  <asharif@google.com>
5227
5228         * value-prof.c (check_counter): Corrected error message.
5229
5230 2011-01-29  Jie Zhang  <jie@codesourcery.com>
5231
5232         * config/arm/arm.c (arm_legitimize_reload_address): New.
5233         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
5234         arm_legitimize_reload_address.
5235         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
5236
5237 2011-01-28  Ian Lance Taylor  <iant@google.com>
5238
5239         * godump.c (go_define): Ignore macros whose definitions include
5240         two adjacent operands.
5241
5242 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
5243
5244         PR target/42894
5245         * varasm.c (force_const_mem): Store copy of x in desc->constant
5246         instead of x itself.
5247         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
5248         itself into REG_EQUAL note.
5249
5250 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
5251
5252         * config/freebsd.opt (posix, rdynamic): New Driver options.
5253
5254 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5255
5256         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
5257         -Bstatic/-Bdynamic.
5258         * configure: Regenerate.
5259
5260 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
5261
5262         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
5263         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
5264
5265 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
5266
5267         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
5268         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
5269         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
5270         (s390_preferred_reload_class): Make static. Change return and
5271         'rclass' argument type to reg_class_t.
5272
5273 2011-01-27  Jan Hubicka  <jh@suse.cz>
5274
5275         PR middle-end/46949
5276         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
5277         (process_function_and_variable_attributes): Check defined weakrefs.
5278
5279 2011-01-27  Martin Jambor  <mjambor@suse.cz>
5280
5281         PR tree-optimization/47228
5282         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
5283         build_ref_for_offset.
5284
5285 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5286
5287         * config/spu/spu-elf.h (ASM_SPEC): Remove.
5288
5289 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
5290
5291         PR rtl-optimization/46856
5292         * postreload.c (reload_combine_recognize_const_pattern): Do not
5293         separate cc0 setter and user on cc0 targets.
5294
5295 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
5296
5297         PR c/43082
5298         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
5299         passed a VOID_TYPE expression, immediately emit an error and
5300         return error_mark_node.
5301
5302 2011-01-26  Jeff Law  <law@redhat.com>
5303
5304         PR rtl-optimization/47464
5305         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
5306         rather than may_trap_p as needed.
5307
5308 2011-01-26  DJ Delorie  <dj@redhat.com>
5309
5310         PR rtl-optimization/46878
5311         * combine.c (insn_a_feeds_b): Check for the implicit cc0
5312         setter/user dependency as well.
5313
5314 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
5315
5316         PR rtl-optimization/44469
5317         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
5318         after removing trivially dead basic blocks.
5319
5320 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
5321
5322         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
5323         * config/frv/frv.h (LINK_SPEC): Likewise.
5324         * config/i386/netware.h (LINK_SPEC): Likewise.
5325         * config/m68k/linux.h (ASM_SPEC): Likewise.
5326         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
5327         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
5328         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5329         * config/sparc/linux.h (ASM_SPEC): Likewise.
5330         * config/sparc/linux64.h (ASM_SPEC): Likewise.
5331         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5332
5333 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
5334
5335         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
5336         * config/frv/frv.h (ASM_SPEC): Likewise.
5337         * config/m68k/linux.h (ASM_SPEC): Likewise.
5338         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
5339         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
5340         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5341         * config/sparc/linux.h (ASM_SPEC): Likewise.
5342         * config/sparc/linux64.h (ASM_SPEC): Likewise.
5343         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5344
5345 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
5346
5347         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
5348         * config/frv/frv.h (LINK_SPEC): Likewise.
5349         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
5350
5351 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
5352
5353         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
5354         * config/frv/frv.h (ASM_SPEC): Likewise.
5355         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
5356         * config/m68k/linux.h (ASM_SPEC): Likewise.
5357         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
5358         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
5359         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5360         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
5361         * config/sparc/linux.h (ASM_SPEC): Likewise.
5362         * config/sparc/linux64.h (ASM_SPEC): Likewise.
5363         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5364         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
5365
5366 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
5367
5368         PR target/46997
5369         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
5370         (*mux2): Ditto.
5371         (vec_extract_evenodd_help): Ditto.
5372         (vec_extract_evenv4hi): Ditto.
5373         (vec_extract_oddv4hi): Ditto.
5374         (vec_interleave_lowv2si): Ditto.
5375         (vec_interleave_highv2si): Ditto.
5376         (vec_extract_evenv2si): Ditto.
5377         (vec_extract_oddv2si: Ditto.
5378         (vec_pack_trunc_v2si): Ditto.
5379
5380 2011-01-22  Jan Hubicka  <jh@suse.cz>
5381
5382         PR target/47237
5383         * cgraph.h (cgraph_local_info): New field can_change_signature.
5384         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
5385         signature can change.
5386         (ipcp_estimate_growth): Call sequence simplify only if calle signature
5387         can change.
5388         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
5389         (cgraph_function_versioning): We can not change signature of functions
5390         that don't allow that.
5391         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
5392         (lto_input_node): Likewise.
5393         * ipa-inline.c (compute_inline_parameters): Compute
5394         local.can_change_signature.
5395         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
5396         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
5397         functions that can not change signature.
5398         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
5399         init_cumulative_args): Do not use local calling conventions
5400         for functions that can not change signature.
5401
5402 2011-01-22  Jan Hubicka  <jh@suse.cz>
5403
5404         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
5405
5406 2011-01-26  Richard Guenther  <rguenther@suse.de>
5407
5408         PR tree-optimization/47190
5409         * cgraphunit.c (process_common_attributes): New function.
5410         (process_function_and_variable_attributes): Use it.
5411
5412 2011-01-26  Richard Guenther  <rguenther@suse.de>
5413
5414         PR lto/47423
5415         * cgraphbuild.c (record_eh_tables): Record reference to personality
5416         function.
5417
5418 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
5419
5420         PR debug/45454
5421         * sel-sched.c (moveup_expr): Don't let debug insns prevent
5422         non-debug insns from moving up.
5423
5424 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
5425
5426         PR target/40125
5427         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
5428         t-dlldir{,-x} fragment for build and add it to tmake_file.
5429         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
5430         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
5431         * config/i386/t-dlldir: New file.
5432         (SHLIB_DLLDIR): Define.
5433         * config/i386/t-dlldir-x: New file.
5434         (SHLIB_DLLDIR): Define.
5435         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
5436         (SHLIB_INSTALL): Use it.
5437
5438 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
5439
5440         PR target/47246
5441         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
5442         lower bound of the allowed Thumb-2 coprocessor load/store
5443         index range to -256. Add explaining comment.
5444
5445 2011-01-25  Ian Lance Taylor  <iant@google.com>
5446
5447         * godump.c (go_define): Improve lexing of macro expansion to only
5448         accept expressions which match Go spec.
5449
5450 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
5451
5452         PR c++/43601
5453         * tree.c (handle_dll_attribute): Handle it.
5454         * doc/extend.texi (@item dllexport): Mention it.
5455         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
5456
5457 2011-01-25  Ian Lance Taylor  <iant@google.com>
5458
5459         PR tree-optimization/26854
5460         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
5461         (decl_jump_unsafe): Move higher in file, with no other change.
5462         (bind): Set has_jump_unsafe_decl if appropriate.
5463         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
5464         (check_earlier_gotos): Likewise.
5465         (c_check_switch_jump_warnings): Likewise.
5466
5467 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
5468
5469         * doc/invoke.texi (Warning Options): Add missing hyphen.
5470         (-fprofile-dir): Minor grammatical fixes.
5471         (-fbranch-probabilities): Likewise.
5472
5473 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
5474
5475         PR debug/45136
5476         PR debug/45130
5477         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5478         debug insns.
5479         (no_real_insns_p, schedule_block, set_priorities): Drop special
5480         treatment of boundary debug insns.
5481         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
5482         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
5483         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5484         (BOUNDARY_DEBUG_INSN_P): Likewise.
5485         (SCHEDULE_DEBUG_INSN_P): Likewise.
5486         * sched-rgn.c (init_ready_list): Drop special treatment of
5487         boundary debug insns.
5488         * final.c (rest_of_clean-state): Clear notes' BB.
5489
5490 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5491
5492         * Makefile.in (LAMBDA_H): Removed.
5493         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
5494         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
5495         lambda-trans.o, and tree-loop-linear.o.
5496         (lto-symtab.o): Remove dependence on LAMBDA_H.
5497         (tree-loop-linear.o): Remove rule.
5498         (lambda-mat.o): Same.
5499         (lambda-trans.o): Same.
5500         (lambda-code.o): Same.
5501         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
5502         (tree-vect-slp.o): Same.
5503         * hwint.h (gcd): Moved here.
5504         (least_common_multiple): Same.
5505         * lambda-code.c: Removed.
5506         * lambda-mat.c: Removed.
5507         * lambda-trans.c: Removed.
5508         * lambda.h: Removed.
5509         * tree-loop-linear.c: Removed.
5510         * lto-symtab.c: Do not include lambda.h.
5511         * omega.c (gcd): Removed.
5512         * passes.c (init_optimization_passes): Remove pass_linear_transform.
5513         * tree-data-ref.c (print_lambda_vector): Moved here.
5514         (lambda_vector_copy): Same.
5515         (lambda_matrix_copy): Same.
5516         (lambda_matrix_id): Same.
5517         (lambda_vector_first_nz): Same.
5518         (lambda_matrix_row_add): Same.
5519         (lambda_matrix_row_exchange): Same.
5520         (lambda_vector_mult_const): Same.
5521         (lambda_vector_negate): Same.
5522         (lambda_matrix_row_negate): Same.
5523         (lambda_vector_equal): Same.
5524         (lambda_matrix_right_hermite): Same.
5525         * tree-data-ref.h: Do not include lambda.h.
5526         (lambda_vector): Moved here.
5527         (lambda_matrix): Same.
5528         (dependence_level): Same.
5529         (lambda_transform_legal_p): Removed declaration.
5530         (lambda_collect_parameters): Same.
5531         (lambda_compute_access_matrices): Same.
5532         (lambda_vector_gcd): Same.
5533         (lambda_vector_new): Same.
5534         (lambda_vector_clear): Same.
5535         (lambda_vector_lexico_pos): Same.
5536         (lambda_vector_zerop): Same.
5537         (lambda_matrix_new): Same.
5538         * tree-flow.h (least_common_multiple): Removed declaration.
5539         * tree-parloops.c (lambda_trans_matrix): Moved here.
5540         (LTM_MATRIX): Same.
5541         (LTM_ROWSIZE): Same.
5542         (LTM_COLSIZE): Same.
5543         (LTM_DENOMINATOR): Same.
5544         (lambda_trans_matrix_new): Same.
5545         (lambda_matrix_vector_mult): Same.
5546         (lambda_transform_legal_p): Same.
5547         * tree-pass.h (pass_linear_transform): Removed declaration.
5548         * tree-ssa-loop.c (tree_linear_transform): Removed.
5549         (gate_tree_linear_transform): Removed.
5550         (pass_linear_transform): Removed.
5551         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
5552         flag_loop_interchange.
5553
5554 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5555
5556         PR tree-optimization/47265
5557         PR tree-optimization/47443
5558         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
5559         if name still has some uses.
5560
5561 2011-01-25  Martin Jambor  <mjambor@suse.cz>
5562
5563         PR tree-optimization/47382
5564         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
5565         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
5566
5567 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
5568
5569         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
5570         sjlj_except_unwind_info.
5571
5572 2011-01-25  Richard Guenther  <rguenther@suse.de>
5573
5574         PR tree-optimization/47426
5575         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
5576         visible functions results escape.
5577
5578 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5579
5580         PR target/45701
5581         * config/arm/arm.c (any_sibcall_uses_r3): New function.
5582         (arm_get_frame_offsets): Use it.
5583
5584 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5585             Jakub Jelinek  <jakub@redhat.com>
5586
5587         PR tree-optimization/47271
5588         * tree-if-conv.c (bb_postdominates_preds): New.
5589         (if_convertible_bb_p): Call bb_postdominates_preds.
5590         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
5591         (predicate_scalar_phi): Call bb_postdominates_preds.
5592
5593 2011-01-25  Nick Clifton  <nickc@redhat.com>
5594
5595         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
5596         * config/rx/rx.c (rx_function_value): Likewise.
5597         (rx_promote_function_mode): Likewise.
5598         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
5599         in order to make it legitimate.
5600         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
5601         make sure that the first operand is the same as the result register.
5602         (addsi3_unspec): Delete.
5603         (subdi3): Do not accept immediate operands.
5604         (subdi3_internal): Likewise.
5605
5606 2011-01-25  Jeff Law  <law@redhat.com>
5607
5608         PR rtl-optimization/37273
5609         * ira-costs.c (scan_one_insn): Detect constants living in memory and
5610         handle them like argument loads from stack slots.  Do not double
5611         count memory for memory constants and argument loads from stack slots.
5612
5613 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
5614
5615         PR tree-optimization/47427
5616         PR tree-optimization/47428
5617         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
5618         coalesce if the new root var would be TREE_READONLY.
5619
5620 2011-01-25  Richard Guenther  <rguenther@suse.de>
5621
5622         PR middle-end/47414
5623         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
5624         correct type for TBAA.
5625
5626 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5627
5628         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
5629         (close_phi_written_to_memory): Call for_each_index with
5630         dr_indices_valid_in_loop.
5631
5632 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5633
5634         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
5635         when it is initialized.
5636
5637 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5638
5639         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
5640         call to graphite_find_data_references_in_stmt.
5641         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
5642         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
5643         call to graphite_find_data_references_in_stmt.
5644         (analyze_drs_in_stmts): Same.
5645         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
5646         in which the scalar analysis of indices is performed.
5647         (create_data_ref): Same.  Update call to dr_analyze_indices.
5648         (find_data_references_in_stmt): Update call to create_data_ref.
5649         (graphite_find_data_references_in_stmt): Same.
5650         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
5651         declaration.
5652         (create_data_ref): Same.
5653         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
5654         call to create_data_ref.
5655
5656 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5657
5658         * graphite-sese-to-poly.c (build_poly_scop): Move
5659         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
5660
5661 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5662
5663         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
5664         VAR_DECL, PARM_DECL, and RESULT_DECL.
5665
5666 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5667
5668         * graphite-dependences.c (reduction_dr_1): Allow several reductions
5669         in a reduction PBB.
5670         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
5671         that have already been marked as PBB_IS_REDUCTION.
5672
5673 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5674
5675         * graphite-scop-detection.c (same_close_phi_node): New.
5676         (remove_duplicate_close_phi): New.
5677         (make_close_phi_nodes_unique): New.
5678         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
5679
5680 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5681
5682         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
5683         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
5684         of both data references to be the same.
5685
5686 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5687
5688         * graphite-dependences.c (build_lexicographical_constraint): Remove
5689         the gdim parameter.
5690         (build_lexicographical_constraint): Adjust call to
5691         ppl_powerset_is_empty.
5692         (dependence_polyhedron): Same.
5693         (graphite_legal_transform_dr): Same.
5694         (graphite_carried_dependence_level_k): Same.
5695         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
5696         parameter.
5697         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
5698
5699 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5700
5701         * graphite-sese-to-poly.c
5702         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
5703         (close_phi_written_to_memory): New.
5704         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
5705         and unshare_expr.
5706
5707 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5708
5709         * doc/install.texi: Update the expected version number of PPL to 0.11.
5710         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
5711         #if PPL_VERSION_MINOR < 11.
5712
5713 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5714
5715         * graphite-dependences.c: Include graphite-cloog-util.h.
5716         (new_poly_ddr): Inlined into dependence_polyhedron.
5717         (free_poly_ddr): Moved close by new_poly_ddr.
5718         (dependence_polyhedron_1): Renamed dependence_polyhedron.
5719         Early return NULL when ppl_powerset_is_empty returns true.
5720         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
5721         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
5722         (graphite_legal_transform_dr): Call new_poly_ddr.
5723         (graphite_carried_dependence_level_k): Same.
5724         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
5725         (dot_transformed_deps_stmt_1): Removed.
5726         (dot_deps_stmt_1): Call dot_deps_stmt_2.
5727         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
5728         (dot_deps_1): Call dot_deps_2.
5729         * Makefile.in (graphite-dependences.o): Add missing dependence on
5730         graphite-cloog-util.h.
5731
5732 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5733
5734         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
5735         (build_lexicographical_constraint): Same.
5736         (dependence_polyhedron_1): Same.
5737         (graphite_legal_transform_dr): Same.
5738         (graphite_carried_dependence_level_k): Same.
5739         * graphite-ppl.c (ppl_powerset_is_empty): New.
5740         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
5741         * tree-data-ref.c (dump_data_reference): Print the basic block index.
5742
5743 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5744
5745         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
5746         the "a followed by b" relation and document it.
5747
5748 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5749
5750         * graphite-dependences.c (build_lexicographical_constraint): Stop the
5751         iteration when the bag of constraints is empty.
5752
5753 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5754
5755         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
5756
5757 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5758
5759         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
5760         nest and two loop depths as parameters.
5761         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
5762         lst_perfect_nestify.
5763
5764 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5765
5766         * graphite-dependences.c (print_pddr): Call
5767         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
5768
5769 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
5770
5771         * graphite-ppl.c (debug_gmp_value): New.
5772         * graphite-ppl.h (debug_gmp_value): Declared.
5773
5774 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
5775
5776         * doc/install.texi: Document availability of cloog-0.16.
5777
5778 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
5779
5780         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
5781         invalid postdominance info.
5782
5783 2011-01-24  Jan Hubicka  <jh@suse.cz>
5784
5785         PR c/21659
5786         * doc/extend.texi (weak pragma): Drop claim that it must
5787         appear before definition.
5788         * varasm.c (merge_weak, declare_weak): Only sanity check
5789         that DECL is not output at a time it is declared weak.
5790
5791 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
5792
5793         * machmode.def: Fixed comments.
5794
5795 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
5796
5797         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
5798
5799 2011-01-24  Paul Koning  <ni1d@arrl.net>
5800
5801         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
5802         WORDS_BIG_ENDIAN.
5803
5804 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
5805
5806         PR target/46519
5807         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
5808         (block_info): Add scanned and prev.
5809         (move_or_delete_vzeroupper_2): Return if the basic block
5810         has been scanned and the upper 128bit state is unchanged
5811         from the last scan.
5812         (move_or_delete_vzeroupper_1): Return true if the exit
5813         state is changed.
5814         (move_or_delete_vzeroupper): Visit basic blocks using the
5815         work-list based algorithm based on vt_find_locations in
5816         var-tracking.c.
5817
5818         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
5819
5820 2011-01-24  Nick Clifton  <nickc@redhat.com>
5821
5822         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
5823         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
5824         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
5825         then define __v850e1__.
5826         * doc/invoke.texi: Document -mv850es.
5827
5828 2011-01-24  Richard Henderson  <rth@redhat.com>
5829
5830         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
5831         compound unordered comparisons.
5832         * config/rx/rx.c (rx_split_fp_compare): Remove.
5833         * config/rx/rx-protos.h: Update.
5834         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
5835         (cbranchsf4): Don't call rx_split_fp_compare.
5836         (*cbranchsf4): Use rx_split_cbranch.
5837         (*cmpsf): Don't accept "i" constraint.
5838         (*conditional_branch): Only valid after reload.
5839         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
5840
5841 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
5842
5843         PR target/47385
5844         * config/rs6000/altivec.md (vector constant splitters): Add
5845         support for creating vector single precision constants if -mvsx is
5846         used and we would create the constant using Altivec primitives.
5847
5848 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
5849             Richard Sandiford  <rdsandiford@googlemail.com>
5850
5851         PR rtl-optimization/47166
5852         * reload1.c (emit_reload_insns): Disable the spill_reg_store
5853         mechanism for PRE_MODIFY and POST_MODIFY.
5854         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
5855         reloadreg.
5856
5857 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
5858
5859         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
5860
5861 2011-01-22  Jan Hubicka  <jh@suse.cz>
5862
5863         PR lto/47333
5864         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
5865
5866 2011-01-22  Jan Hubicka  <jh@suse.cz>
5867
5868         PR tree-optimization/43884
5869         PR lto/44334
5870         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
5871         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
5872
5873 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
5874
5875         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
5876         * config/s390/s390.c (s390_register_move_cost,
5877         s390_memory_move_cost): New.
5878         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
5879
5880 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5881
5882         PR middle-end/47401
5883         * except.c (sjlj_assign_call_site_values): Move setting the
5884         crtl->uses_eh_lsda flag to ...
5885         (sjlj_mark_call_sites): ... here.
5886         (sjlj_emit_function_enter): Support NULL dispatch label.
5887         (sjlj_build_landing_pads): In a function with no landing pads
5888         that still has must-not-throw regions, generate code to register
5889         a personality function with empty LSDA.
5890
5891 2011-01-21  Richard Henderson  <rth@redhat.com>
5892
5893         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
5894
5895         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
5896
5897         * compare-elim.c: New file.
5898         * Makefile.in (OBJS-common): Add it.
5899         (compare-elim.o): New.
5900         * common.opt (fcompare-elim): New.
5901         * opts.c (default_options_table): Add OPT_fcompare_elim.
5902         * tree-pass.h (pass_compare_elim_after_reload): New.
5903         * passes.c (init_optimization_passes): Add it.
5904         * recog.h: Protect against re-inclusion.
5905         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
5906         * doc/invoke.texi (-fcompare-elim): Document it.
5907         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
5908         * doc/tm.texi: Rebuild.
5909
5910 2011-01-22  Nick Clifton  <nickc@redhat.com>
5911
5912         * config/rx/rx.md (cstoresf4): Pass comparison operator to
5913         rx_split_fp_compare.
5914
5915 2011-01-22  Nick Clifton  <nickc@redhat.com>
5916
5917         * config/rx/rx.md (UNSPEC_CONST): New.
5918         (deallocate_and_return): Wrap the amount popped off the stack in
5919         an UNSPEC_CONST in order to stop it being rejected by
5920         -mmax-constant-size.
5921         (pop_and_return): Add a "(return)" rtx.
5922         (call): Drop the immediate operand.
5923         (call_internal): Likewise.
5924         (call_value): Likewise.
5925         (call_value_internal): Likewise.
5926         (sibcall_internal): Likewise.
5927         (sibcall_value_internal): Likewise.
5928         (sibcall): Likewise.  Generate an explicit call using
5929         sibcall_internal.
5930         (sibcall_value): Likewise.
5931         (mov<>): FAIL if a constant operand is not legitimate.
5932         (addsi3_unpsec): New pattern.
5933
5934         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
5935         (ok_for_max_constant): New function.
5936         (gen_safe_add): New function.
5937         (rx_expand_prologue): Use gen_safe_add.
5938         (rx_expand_epilogue): Likewise.
5939         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
5940         UNSPEC CONSTs.
5941
5942 2011-01-21  Jeff Law  <law@redhat.com>
5943
5944         PR tree-optimization/47053
5945         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
5946         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
5947         statements are deleted.
5948         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
5949         is nonempty, then purge dead edges and cleanup the CFG.
5950
5951 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
5952
5953         PR debug/47402
5954         Temporarily revert:
5955         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
5956         PR debug/47106
5957         * tree-dfa.c (create_var_ann): Mark variable as used.
5958
5959 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
5960
5961         PR middle-end/45566
5962         * except.c (convert_to_eh_region_ranges): Emit queued no-region
5963         notes from other section in hot/cold partitioning even if
5964         last_action is -3.  Increment call_site_base.
5965
5966         PR rtl-optimization/47366
5967         * fwprop.c (forward_propagate_into): Return bool.  If
5968         any changes are made, -fnon-call-exceptions is used and
5969         REG_EH_REGION note is present, call purge_dead_edges
5970         and return true if it purged anything.
5971         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
5972         any EH edges were purged.
5973
5974 2011-01-21  Jeff Law  <law@redhat.com>
5975
5976         PR rtl-optimization/41619
5977         * caller-save.c (setup_save_areas): Break out code to determine
5978         which hard regs are live across calls by examining the reload chains
5979         so that it is always used.
5980         Eliminate code which checked REG_N_CALLS_CROSSED.
5981
5982 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
5983
5984         PR tree-optimization/47355
5985         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
5986         NOP has non-debug uses beyond PHIs in new_bb.
5987
5988 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
5989
5990         PR debug/47106
5991         * cfgexpand.c (account_used_vars_for_block): Only account vars
5992         that are annotated as used.
5993         (estimated_stack_frame_size): Don't set TREE_USED.
5994         * tree-dfa.c (create_var_ann): Mark variable as used.
5995
5996 2011-01-21  Richard Guenther  <rguenther@suse.de>
5997
5998         PR middle-end/47395
5999         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
6000
6001 2011-01-21  Richard Guenther  <rguenther@suse.de>
6002
6003         PR tree-optimization/47365
6004         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
6005         (vn_reference_lookup_pieces): Adjust.
6006         (vn_reference_lookup): Likewise.
6007         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
6008         (vn_reference_lookup_3): Only look through kills if in
6009         VN_WALKREWRITE mode.
6010         (vn_reference_lookup_pieces): Adjust.
6011         (vn_reference_lookup): Likewise.
6012         (visit_reference_op_load): Likewise.
6013         (visit_reference_op_store): Likewise.
6014         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
6015         (compute_avail): Likewise.
6016         (eliminate): Likewise.
6017
6018 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
6019
6020         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
6021         DECL_IGNORED_P non-reg vars if they are used.
6022
6023         PR tree-optimization/47391
6024         * varpool.c (const_value_known_p): Return false if
6025         decl is volatile.
6026
6027 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
6028
6029         PR bootstrap/47215
6030         * config/i386/i386.c (ix86_local_alignment): Handle
6031         case for va_list_type_node is nil.
6032         (ix86_canonical_va_list_type): Likewise.
6033
6034 2011-01-21  Alan Modra  <amodra@gmail.com>
6035
6036         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
6037         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
6038
6039 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6040
6041         * config/arm/arm.md (define_attr type): Rename f_load
6042         and f_store to f_fpa_load and f_fpa_store. Update.
6043         (write_conflict): Deal with rename fallout.
6044         (*push_fp_multi): Likewise.
6045         * config/arm/fpa.md (f_load): Use f_fpa_load.
6046         (f_store): Use f_fpa_store.
6047         (*movsf_fpa): Likewise.
6048         (*movdf_fpa): Likewise.
6049         (*movxf_fpa): Likewise.
6050         (*thumb2_movsf_fpa): Likewise.
6051         (*thumb2_movdf_fpa): Likewise.
6052         (*thumb2_movxf_fpa): Likewise.
6053         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
6054         f_loadd and f_stored.
6055         (*thumb2_movdi_vfp): Likewise.
6056         (*thumb2_movsf_vfp): Fix attribute to f_loads.
6057         (*thumb2_movsi_vfp): Likewise.
6058         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
6059         Use f_loads instead of f_load.
6060         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
6061
6062 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
6063
6064         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
6065         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
6066         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
6067         (xtensa_mode_dependent_address_p): New function.
6068         (constantpool_address_p): Make static. Change return type to bool.
6069         Change argument type to const_rtx. Use CONST_INT_P predicate.
6070
6071 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
6072
6073         PR debug/46583
6074         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
6075
6076 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
6077
6078         PR debug/47283
6079         * cfgexpand.c (expand_debug_expr): Instead of generating
6080         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
6081         etc. handling.
6082
6083 2011-01-20  Richard Guenther  <rguenther@suse.de>
6084
6085         PR middle-end/47370
6086         * tree-inline.c (remap_gimple_op_r): Recurse manually for
6087         the pointer operand of MEM_REFs.
6088
6089 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
6090
6091         PR tree-optimization/46130
6092         * ipa-split.c (consider_split): If return_bb contains non-virtual
6093         PHIs other than for retval or if split_function would not adjust it,
6094         refuse to split.
6095
6096 2011-01-20  Richard Guenther  <rguenther@suse.de>
6097
6098         PR tree-optimization/47167
6099         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
6100         Revert previous change, only avoid enumeral type changes.
6101
6102 2011-01-19  Mike Stump  <mikestump@comcast.net>
6103
6104         * doc/tm.texi.in (BRANCH_COST): Englishify.
6105         * doc/tm.texi (BRANCH_COST): Likewise.
6106
6107 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
6108
6109         PR c++/47291
6110         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
6111         (gen_scheduled_generic_parms_dies): New functions.
6112         (gen_struct_or_union_type_die): Schedule template parameters DIEs
6113         generation for the end of CU compilation.
6114         (dwarf2out_finish): Generate template parameters DIEs here.
6115
6116 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
6117
6118         PR debug/46240
6119         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
6120         debug bind stmt on merge edges.
6121
6122 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
6123
6124         PR debug/47079
6125         PR debug/46724
6126         * function.c (instantiate_expr): Instantiate incoming rtl of
6127         implicit arguments, and recurse on VALUE_EXPRs.
6128         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
6129         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
6130
6131 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
6132
6133         * c-parser.c (c_parser_for_statement): Initialize
6134         collection_expression.
6135
6136 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
6137
6138         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
6139
6140 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
6141
6142         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
6143         (LINK_SHLIB_SPEC): Don't use %(link_path).
6144         (SUBTARGET_EXTRA_SPECS): Remove link_path.
6145
6146 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
6147
6148         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
6149         (NO_SHARED_LIB_SUPPORT): Remove.
6150         (LINK_SHLIB_SPEC): Remove one conditional definition.
6151
6152 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
6153
6154         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
6155         %{call_shared}.
6156         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
6157         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
6158         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
6159         %{call_shared} and conditionals on these options not being passed.
6160         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
6161         %{call_shared}.
6162
6163 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
6164
6165         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
6166         simplify.
6167
6168         * ipa-split.c: Spelling fixes.
6169
6170 2011-01-19  Richard Henderson  <rth@redhat.com>
6171
6172         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
6173         (*mulsi3): Likewise.
6174
6175         * longlong.h [__mn10300__] (count_leading_zeros): New.
6176         [__mn10300__] (umul_ppmm, smul_ppmm): New.
6177         [__mn10300__] (add_ssaaaa, subddmmss): New.
6178         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
6179         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
6180
6181 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6182
6183         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
6184
6185 2011-01-19  Richard Henderson  <rth@redhat.com>
6186
6187         * config/mn10300/mn10300.md (addsi3_flags): New.
6188         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
6189         (subsi3_flags, subc_internal, subdi3): New.
6190         (subdi3_internal, *subdi3_degenerate): New.
6191         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
6192
6193         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
6194         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
6195         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
6196         * config/mn10300/mn10300-protos.h: Update.
6197         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
6198         (return_ret): Likewise.  Rename from return_internal_regs.
6199         (return_internal): Remove.
6200
6201         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
6202         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
6203         (mn10300_legitimate_constant_p): Likewise.
6204         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
6205         (mn10300_frame_size): New.
6206         (mn10300_expand_prologue): Use it.
6207         (mn10300_expand_epilogue): Likewise.
6208         (mn10300_initial_offset): Likewise.
6209         * config/mn10300/mn10300-protos.h: Update.
6210         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
6211         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
6212         (prologue, epilogue, return_internal): Tidy output code.
6213         (mn10300_store_multiple_operation, return): Likewise.
6214         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
6215         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
6216         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
6217         (load_pic, am33_load_pic): New.
6218         (mn10300_load_pic0, mn10300_load_pic1): New.
6219
6220         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
6221         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
6222         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
6223         (cc_flags_for_mode, cc_flags_for_code): New.
6224         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
6225         overflow flag is not valid.  Validate that the flags we need
6226         for the comparison are valid.
6227         (mn10300_output_cmp): Remove.
6228         (mn10300_output_add): New.
6229         (mn10300_select_cc_mode): Use cc_flags_for_code.
6230         (mn10300_split_cbranch): New.
6231         (mn10300_match_ccmode): New.
6232         (mn10300_split_and_operand_count): New.
6233         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
6234         to the function.
6235         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
6236         (addsi3): ... here.  Use mn10300_output_add.
6237         (*addsi3_flags): New.
6238         (*am33_subsi3, *mn10300_subsi3): Merge...
6239         (subsi3): ... here.  Use attribute isa.
6240         (*subsi3_flags): New.
6241         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
6242         when possible.
6243         (*am33_andsi3, *mn10300_andsi3): Merge...
6244         (andsi3): ... here.
6245         (*andsi3_flags): New.
6246         (andsi3 splitters): New.
6247         (*am33_iorsi3, *mn10300_iorsi3): Merge...
6248         (iorsi3): ... here.
6249         (*iorsi3_flags): New.
6250         (*am33_xorsi3, *mn10300_xorsi3): Merge...
6251         (xorsi3): ... here.
6252         (*xorsi3_flags): New.
6253         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
6254         (one_cmplsi2): ... here.
6255         (*one_cmplsi2_flags): New.
6256         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
6257         instead of "dax" in constraints.  Use mn10300_split_cbranch.
6258         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
6259         use matching constraints to eliminate a self-comparison.
6260         (*integer_conditional_branch): Rename from integer_conditional_branch.
6261         Use int_mode_flags to match CC_REG.
6262         (*cbranchsi4_btst, *btstsi): New.
6263         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
6264         mn10300_split_cbranch.
6265         (*am33_cmpsf): Rename from am33_cmpsf.
6266         (*float_conditional_branch): Rename from float_conditional_branch.
6267         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
6268         (zero_extendqisi2): ... here.
6269         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
6270         (zero_extendhisi2): ... here.
6271         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
6272         (extendqisi2): ... here.
6273         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
6274         (extendhisi2): ... here.
6275         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
6276         (ashlsi3): ... here.
6277         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
6278         (lshrsi3): ... here.
6279         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
6280         (ashrsi3): ... here.
6281         (consecutive add peephole): Remove.
6282         * config/mn10300/predicates.md (label_ref_operand): New.
6283         (int_mode_flags): New.
6284         (CCZN_comparison_operator): New.
6285
6286         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
6287         (throughput_42_latency_43): New reservation.
6288         (mulsidi3, umulsidi3): New expanders.
6289         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
6290         the MDR register to allocation; separately allocate the low and
6291         high parts of the DImode result.
6292         (umulsidi3_internal): Similarly.
6293         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
6294         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
6295         (udivsi3, umodsi3): Remove.
6296         (udivmodsi4, divmodsi4): New expanders.
6297         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
6298         (*divmodsi4): Simiarly.
6299         (ext_internal): New.
6300
6301         * config/mn10300/constraints.md ("z"): New constraint.
6302         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
6303         (FIXED_REGISTERS): Don't fix MDR.
6304         (CALL_USED_REGSITERS): Reformat nicely.
6305         (REG_ALLOC_ORDER): Add MDR.
6306         (enum regclass): Add MDR_REGS.
6307         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
6308         (IRA_COVER_CLASSES): Add MDR_REGS.
6309         (REGNO_REG_CLASS): Handle MDR_REG.
6310         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
6311         (mn10300_register_move_cost): Likewise.
6312         * config/mn10300/mn10300.md (MDR_REG): New.
6313         (*movsi_internal): Handle moves to/from MDR_REGS.
6314
6315         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
6316         POST_MODIFY.
6317         (mn10300_secondary_reload): Tidy combination reload classes.
6318         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
6319         addresses for AM33.  Allow symbolic offsets for reg+imm.
6320         (mn10300_regno_in_class_p): New.
6321         (mn10300_legitimize_reload_address): New.
6322         * config/mn10300/mn10300.h (enum reg_class): Remove
6323         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
6324         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
6325         SP_OR_GENERAL_REGS.
6326         (REG_CLASS_NAMES): Update to match.
6327         (REG_CLASS_CONTENTS): Likewise.
6328         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
6329         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
6330         (REGNO_IN_RANGE_P): Remove.
6331         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
6332         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
6333         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
6334         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
6335         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
6336         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
6337         (REGNO_GENERAL_P): New.
6338         (HAVE_POST_MODIFY_DISP): New.
6339         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
6340         (LEGITIMIZE_RELOAD_ADDRESS): New.
6341         * config/mn10300/mn10300-protos.h: Update.
6342
6343         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
6344         DATA_REGS for AM33 stack-pointer destination.
6345         (mn10300_preferred_output_reload_class): Likewise.
6346         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
6347         into a form appropriate for ...
6348         (TARGET_SECONDARY_RELOAD): New.
6349         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
6350         * config/mn10300/mn10300-protos.h: Update.
6351         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
6352         reload_insi; use the "A" constraint for the scratch; handle AM33
6353         moves of sp to non-address registers.
6354
6355         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
6356         (*movqi_internal): ... here.
6357         (*am33_movhi, *mn10300_movhi): Merge into...
6358         (*movhi_internal): ... here.
6359         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
6360         as the source/destination of moves from/to SP.
6361         (movsf): Only allow for AM33-2.
6362         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
6363         any integer constant constraint.  Only allow for AM33-2.  Tidy
6364         all of the alternative outputs.
6365         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
6366         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
6367         for MN103.
6368         (udivsi3, umodsi3): New patterns for MN103 only.
6369
6370 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
6371
6372         * doc/tm.texi.in: Spell out that a lack of register class unions
6373         can lead to ICEs.
6374         * doc/tm.texi: Regenerate.
6375
6376 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
6377
6378         PR rtl-optimization/47337
6379         * dce.c (check_argument_store): New function.
6380         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
6381
6382         PR tree-optimization/47290
6383         * tree-eh.c (infinite_empty_loop_p): New function.
6384         (cleanup_empty_eh): Use it.
6385
6386 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
6387
6388         PR target/46997
6389         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
6390         (a64_expand_widen_sum): Ditto.
6391         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
6392         (vec_extract_evenodd_help): Ditto.
6393         (vec_extract_evenv4hi): Ditto.
6394         (vec_extract_oddv4hi): Ditto.
6395         (vec_extract_evenv2si): Ditto.
6396         (vec_extract_oddv2si): Ditto.
6397         (vec_extract_evenv2sf): Ditto.
6398         (vec_extract_oddv2sf): Ditto.
6399         (vec_pack_trunc_v4hi: Ditto.
6400         (vec_pack_trunc_v2si): Ditto.
6401         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
6402         (vec_interleave_highv8qi): Ditto.
6403         (mix1_r): Ditto.
6404         (vec_extract_oddv8qi): Ditto.
6405         (vec_interleave_lowv4hi): Ditto.
6406         (vec_interleave_highv4hi): Ditto.
6407         (vec_interleave_lowv2si): Ditto.
6408         (vec_interleave_highv2si): Ditto.
6409
6410 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6411
6412         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
6413         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
6414         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
6415         (pa_c_mode_for_suffix): New.
6416         (TARGET_EXPAND_BUILTIN): Define.
6417         (TARGET_C_MODE_FOR_SUFFIX): Define.
6418         (pa_builtins): Define.
6419         (pa_init_builtins): Register __float128 type and init new support
6420         builtins.
6421         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
6422         * config/pa/quadlib.c (_U_Qfcopysign): New.
6423
6424 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
6425
6426         PR middle-end/46894
6427         * explow.c (allocate_dynamic_stack_space): Do not assume more than
6428         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
6429         are defined.
6430
6431 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6432
6433         PR tree-optimization/47179
6434         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
6435         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
6436
6437 2011-01-18  Richard Guenther  <rguenther@suse.de>
6438
6439         PR rtl-optimization/47216
6440         * emit-rtl.c: Include tree-flow.h.
6441         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
6442         of replicating it with different semantics.
6443         * Makefile.in (emit-rtl.o): Adjust.
6444
6445 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6446
6447         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
6448         (cortex_a9_dp): Handle neon types correctly.
6449
6450 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
6451
6452         PR rtl-optimization/47299
6453         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
6454         subtarget.  Use normal multiplication if both operands are constants.
6455         * expmed.c (expand_widening_mult): Don't try to optimize constant
6456         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
6457         before using it.
6458
6459 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6460
6461         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
6462         spacing after 'e.g.', typos, comma, hyphenation.
6463
6464 2011-01-17  Richard Henderson  <rth@redhat.com>
6465
6466         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
6467         (rx_restricted_mem_operand): New.
6468         (rx_shift_operand): Use register_operand.
6469         (rx_source_operand, rx_compare_operand): Likewise.
6470         * config/rx/rx.md (addsi3_flags): New expander.
6471         (adddi3): Rewrite as expander.
6472         (adc_internal, *adc_flags, adddi3_internal): New patterns.
6473         (subsi3_flags): New expander.
6474         (subdi3): Rewrite as expander.
6475         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
6476
6477         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
6478         (rx_init_builtins): Remove sat builtin.
6479         (rx_expand_builtin): Likewise.
6480         * config/rx/rx.md (ssaddsi3): New.
6481         (*sat): Rename from sat.  Represent the CC_REG input.
6482
6483         * config/rx/predicates.md (rshift_operator): New.
6484         * config/rx/rx.c (rx_expand_insv): Remove.
6485         * config/rx/rx-protos.h: Update.
6486         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
6487         operand to the canonical position.
6488         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
6489         (*bitclr, *bitclr_in_memory): Similarly.
6490         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
6491         (insv): Retain the zero_extract in the expansion.
6492
6493         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
6494         (bswaphi2, bitinvert, revw): Likewise.
6495
6496         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
6497         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
6498         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
6499         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
6500         (bitset, bitset_in_memory): Likewise.
6501         (bitinvert, bitinvert_in_memory): Likewise.
6502         (bitclr, bitclr_in_memory): Likewise.
6503         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
6504         (rx_strend, rx_cmpstrn): Likewise.
6505         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
6506         (bitop peep2 patterns): Remove.
6507
6508         * config/rx/rx.c (rx_match_ccmode): New.
6509         * config/rx/rx-protos.h: Update.
6510         * config/rx/rx.md (abssi2): Clobber, don't set flags.
6511         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
6512         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
6513         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
6514         (fix_truncsfsi2, floatsisf2): Likewise.
6515         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
6516         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
6517         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
6518         (*subsi3_flags, *xorsi3_flags): New.
6519
6520         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
6521
6522         * config/rx/rx.c (rx_print_operand): Remove workaround for
6523         unsplit comparison operations.
6524
6525         * config/rx/rx.md (movsicc): Split after reload.
6526         (*movsicc): Merge *movsieq and *movsine via match_operator.
6527         (*stcc): New pattern.
6528
6529         * config/rx/rx.c (rx_float_compare_mode): Remove.
6530         * config/rx/rx.h (rx_float_compare_mode): Remove.
6531         * config/rx/rx.md (cstoresi4): Split after reload.
6532         (*sccc): New pattern.
6533
6534         * config/rx/predicates.md (label_ref_operand): New.
6535         (rx_z_comparison_operator): New.
6536         (rx_zs_comparison_operator): New.
6537         (rx_fp_comparison_operator): New.
6538         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
6539         Validate that the flags are set properly for the comparison.
6540         (rx_gen_cond_branch_template): Remove.
6541         (rx_cc_modes_compatible): Remove.
6542         (mode_from_flags): New.
6543         (flags_from_code): Rename from flags_needed_for_conditional.
6544         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
6545         (rx_select_cc_mode): Likewise.
6546         (rx_split_fp_compare): New.
6547         (rx_split_cbranch): New.
6548         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
6549         (*cbranchsi4): Use match_operator and rx_split_cbranch.
6550         (*cbranchsf4): Similarly.
6551         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
6552         match_operator and rx_split_cbranch.
6553         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
6554         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
6555         (*cmpsi): Rename from cmpsi.
6556         (*tstsi): Rename from tstsi.
6557         (*cmpsf): Rename from cmpsf; use CC_Fmode.
6558         (*conditional_branch): Rename from conditional_branch.
6559         (*reveresed_conditional_branch): Remove.
6560         (b<code>): Remove expander.
6561         * config/rx/rx-protos.h: Update.
6562
6563         * config/rx/rx.c (rx_compare_redundant): Remove.
6564         * config/rx/rx.md (cmpsi): Don't use it.
6565         * config/rx/rx-protos.h: Update.
6566
6567         * config/rx/rx-modes.def (CC_F): New mode.
6568         * config/rx/rx.c (rx_select_cc_mode): New.
6569         * config/rx/rx.h (SELECT_CC_MODE): Use it.
6570         * config/rx/rx-protos.h: Update.
6571
6572 2011-01-17  Richard Henderson  <rth@redhat.com>
6573
6574         * except.c (dump_eh_tree): Fix stray ; after for statement.
6575
6576 2011-01-17  Richard Guenther  <rguenther@suse.de>
6577
6578         PR tree-optimization/47313
6579         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
6580         handling before copying the body.  Properly deal with
6581         by-reference result in SSA form.
6582
6583 2011-01-17  Ian Lance Taylor  <iant@google.com>
6584
6585         PR target/47219
6586         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
6587         (struct_value_alias_set): Don't define.
6588         (sparc_option_override): Don't set sparc_sr_alias_set and
6589         struct_value_alias_set.
6590         (save_or_restore_regs): Use gen_frame_mem rather than calling
6591         set_mem_alias_set.
6592         (sparc_struct_value_rtx): Likewise.
6593
6594 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
6595
6596         PR target/47318
6597         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
6598         __m128i.
6599         (_mm_maskstore_pd): Likewise.
6600         (_mm_maskload_ps): Likewise.
6601         (_mm_maskstore_ps): Likewise.
6602         (_mm256_maskload_pd): Change mask to __m256i.
6603         (_mm256_maskstore_pd): Likewise.
6604         (_mm256_maskload_ps): Likewise.
6605         (_mm256_maskstore_ps): Likewise.
6606
6607         * config/i386/i386-builtin-types.def: Updated.
6608         (ix86_expand_special_args_builtin): Likewise.
6609
6610         * config/i386/i386.c (bdesc_special_args): Update
6611         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
6612         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
6613         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
6614         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
6615
6616         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
6617         Use <avxpermvecmode> on mask register.
6618         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
6619
6620 2011-01-17  Olivier Hainque  <hainque@adacore.com>
6621             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6622             Eric Botcazou  <ebotcazou@adacore.com>
6623
6624         PR target/46655
6625         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
6626         if <= USHRT_MAX in 32-bit mode.
6627
6628 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6629
6630         * doc/install.texi (Configuration, Specific): Wrap long
6631         lines in examples.  Allow line wrapping in long options
6632         and URLs where beneficial for PDF output.
6633
6634 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
6635
6636         * config/mips/mips.c (mips_classify_symbol): Don't return
6637         SYMBOL_PC_RELATIVE for nonlocal labels.
6638
6639 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
6640
6641         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
6642
6643 2011-01-15  Jan Hubicka  <jh@suse.cz>
6644
6645         PR tree-optimization/47276
6646         * ipa.c (function_and_variable_visibility): Do not try to mark alias
6647         declarations as needed.
6648
6649 2011-01-15  Martin Jambor  <mjambor@suse.cz>
6650
6651         * common.opt (fdevirtualize): New flag.
6652         * doc/invoke.texi (Option Summary): Document it.
6653         * opts.c (default_options_table): Add devirtualize flag.
6654         * ipa-prop.c (detect_type_change): Return immediately if
6655         devirtualize flag is not set.
6656         (detect_type_change_ssa): Likewise.
6657         (compute_known_type_jump_func): Likewise.
6658         (ipa_analyze_virtual_call_uses): Likewise.
6659
6660 2011-01-14  Martin Jambor  <mjambor@suse.cz>
6661
6662         PR tree-optimization/45934
6663         PR tree-optimization/46302
6664         * ipa-prop.c (type_change_info): New type.
6665         (stmt_may_be_vtbl_ptr_store): New function.
6666         (check_stmt_for_type_change): Likewise.
6667         (detect_type_change): Likewise.
6668         (detect_type_change_ssa): Likewise.
6669         (compute_complex_assign_jump_func): Check for dynamic type change.
6670         (compute_complex_ancestor_jump_func): Likewise.
6671         (compute_known_type_jump_func): Likewise.
6672         (compute_scalar_jump_functions): Likewise.
6673         (ipa_analyze_virtual_call_uses): Likewise.
6674         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
6675
6676 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6677
6678         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
6679         * config/i386/i386.opt (msse5): New Alias.
6680
6681 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6682
6683         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
6684         * config/sparc/linux64.h (CC1_SPEC): Likewise.
6685         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6686         * config/sparc/sparc.h (CC1_SPEC): Likewise.
6687
6688 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6689
6690         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
6691         -mcpu options.
6692         * config/sparc/linux64.h (CC1_SPEC): Likewise.
6693         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6694         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
6695         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
6696         Likewise.
6697         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
6698
6699 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6700
6701         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
6702
6703 2011-01-14  Mike Stump  <mikestump@comcast.net>
6704
6705         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
6706         * config/fr30/fr30.md: Likweise
6707         (movsi_push): Likewise.
6708         (movsi_pop): Likewise.
6709         (enter_func): Likewise.
6710         * config/moxie/moxie.md (movsi_push): Likewise.
6711         (movsi_pop): Likewise.
6712
6713 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6714
6715         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
6716         %{no_archive} %{exact_version}.
6717         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
6718         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
6719         %{no_archive} %{exact_version}.
6720         * config/mips/openbsd.h (LINK_SPEC): Likewise.
6721         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
6722         * config/mips/vxworks.h: Likewise.
6723
6724 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6725
6726         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
6727
6728 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6729
6730         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
6731         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
6732
6733 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6734
6735         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
6736         -nodefaultlib.
6737
6738 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6739
6740         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
6741         for mcpu not cpu.
6742         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
6743         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
6744         not cpu.
6745         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
6746         Don't handle -shlib.
6747
6748 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6749
6750         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
6751         (CC1_SPEC): Don't handle -profile.
6752
6753 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6754
6755         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
6756         * config/mips/mips.h (CC1_SPEC): Likewise.
6757
6758 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6759
6760         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
6761         * config/mips/mips.h (CC1_SPEC): Likewise.
6762
6763 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6764
6765         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
6766         * config/m32r/linux.h (LINK_SPEC): Likewise.
6767         * config/mips/linux.h (LINK_SPEC): Likewise.
6768         * config/mips/linux64.h (LINK_SPEC): Likewise.
6769         * config/sparc/linux.h (LINK_SPEC): Likewise.
6770         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
6771         LINK_SPEC): Likewise.
6772         * config/xtensa/linux.h (LINK_SPEC): Likewise.
6773
6774 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6775
6776         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
6777         %{version:-v}.
6778         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
6779
6780 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6781
6782         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
6783         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
6784
6785 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
6786
6787         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
6788
6789 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6790
6791         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
6792         supports -Bstatic/-Bdynamic.
6793         * configure: Regenerate.
6794
6795 2011-01-14  Jan Hubicka  <jh@suse.cz>
6796             Jack Howarth  <howarth@bromo.med.uc.edu>
6797
6798         PR target/46037
6799         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
6800         when checking debug_info_level. Test write_symbols instead of
6801         debug_hooks->var_location when setting flag_var_tracking_uninit.
6802
6803 2011-01-14  Richard Guenther  <rguenther@suse.de>
6804
6805         PR tree-optimization/47179
6806         * target.def (ref_may_alias_errno): New target hook.
6807         * targhooks.h (default_ref_may_alias_errno): Declare.
6808         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
6809         (default_ref_may_alias_errno): New function.
6810         * target.h (struct ao_ref_s): Declare.
6811         * tree-ssa-alias.c: Include target.h.
6812         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
6813         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
6814         (targhooks.o): Likewise.
6815         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
6816         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
6817
6818 2011-01-14  Richard Guenther  <rguenther@suse.de>
6819
6820         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
6821
6822 2011-01-14  Richard Guenther  <rguenther@suse.de>
6823
6824         PR tree-optimization/47280
6825         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
6826         return CFG changes.
6827         (tree_ssa_forward_propagate_single_use_vars): Deal with
6828         CFG changes from associate_plusminus.
6829
6830 2011-01-14  Richard Guenther  <rguenther@suse.de>
6831
6832         PR middle-end/47281
6833         Revert
6834         2011-01-11  Richard Guenther  <rguenther@suse.de>
6835
6836         PR tree-optimization/46076
6837         * tree-ssa.c (useless_type_conversion_p): Conversions from
6838         unprototyped to empty argument list function types are useless.
6839
6840 2011-01-14  Richard Guenther  <rguenther@suse.de>
6841
6842         PR tree-optimization/47286
6843         * tree-ssa-structalias.c (new_var_info): Register variables are global.
6844
6845 2011-01-14  Martin Jambor  <mjambor@suse.cz>
6846
6847         PR middle-end/46823
6848         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
6849
6850 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
6851
6852         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
6853         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
6854         * config/xtensa/xtensa.c (xtensa_libcall_value,
6855         xtensa_function_value_regno_p): New functions.
6856         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
6857
6858 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
6859
6860         PR c++/47213
6861         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
6862         PE specific hook.
6863         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
6864         New function prototype.
6865         * config/i386/winnt.c (i386_pe_assemble_visibility):
6866         Warn only if attribute was specified by user.
6867
6868 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
6869
6870         PR target/47251
6871         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
6872         floating point.
6873         (floatunsdidf2_fcfidu): Ditto.
6874
6875 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6876
6877         * config/s390/s390.c (print_operand_address): Replace 'error' with
6878         'output_operand_lossage'.
6879         (print_operand): Likewise.
6880
6881 2011-01-13  Jeff Law  <law@redhat.com>
6882
6883         PR rtl-optimization/39077
6884         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
6885         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
6886         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
6887         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
6888         * gcse.c (prune_insertions_deletions): New function.
6889         (compute_pre_data): Use it.
6890
6891 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
6892
6893         PR debug/PR46973
6894         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
6895         static function.
6896         (prune_unused_types_mark): Use it.
6897
6898 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
6899
6900         PR rtl-optimization/45352
6901         * sel-sched.c: Update copyright years.
6902         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
6903         in the advancing loop when we have issued issue_rate insns.
6904
6905 2011-01-12  Richard Henderson  <rth@redhat.com>
6906
6907         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
6908         (TARGET_MD_ASM_CLOBBERS): New.
6909
6910         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
6911         (TARGET_DELEGITIMIZE_ADDRESS): New.
6912
6913         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
6914         (clzsi2, *bsch): New patterns.
6915
6916         * config/mn10300/mn10300.md (INT): New mode iterator.
6917         (*mov<INT>_clr): New pattern, and peep2 to generate it.
6918
6919         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
6920         flag_split_wide_types.
6921
6922         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
6923         (mn10300_trampoline_init): Rewrite without a template, an immediate
6924         load and a direct branch.
6925         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
6926
6927 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
6928
6929         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
6930         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
6931         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
6932         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
6933
6934 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
6935
6936         PR debug/47209
6937         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
6938         of type.
6939
6940 2011-01-12  Jan Hubicka  <jh@suse.cz>
6941
6942         PR driver/47244
6943         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
6944         (PLUGIN_COND_CLOSE): New macro.
6945         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
6946
6947 2011-01-12  Richard Guenther  <rguenther@suse.de>
6948
6949         PR lto/47259
6950         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
6951         register variables in a MEM_REF.
6952
6953 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
6954
6955         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
6956         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
6957         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
6958         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
6959         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
6960         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
6961         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
6962         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
6963         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
6964         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
6965         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
6966         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
6967         * config/gnu-user.h: New.  Copied from linux.h.
6968         (LINUX_TARGET_STARTFILE_SPEC): Rename to
6969         GNU_USER_TARGET_STARTFILE_SPEC.
6970         (LINUX_TARGET_ENDFILE_SPEC): Rename to
6971         GNU_USER_TARGET_ENDFILE_SPEC.
6972         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
6973         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
6974         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
6975         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
6976         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
6977         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
6978         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
6979         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
6980         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
6981         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
6982         * config/arm/linux-eabi.h (CC1_SPEC): Use
6983         GNU_USER_TARGET_CC1_SPEC.
6984         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
6985         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
6986         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
6987         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
6988         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
6989         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
6990         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
6991         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
6992
6993 2011-01-12  Richard Guenther  <rguenther@suse.de>
6994
6995         PR other/46946
6996         * doc/invoke.texi (ffast-math): Document it is turned on
6997         with -Ofast.
6998
6999 2011-01-12  Jan Hubicka  <jh@suse.cz>
7000
7001         PR tree-optimization/47233
7002         * opts.c (common_handle_option): Disable ipa-reference with profile
7003         feedback.
7004
7005 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
7006
7007         * c-parser.c (c_parser_objc_at_property_declaration): Improved
7008         error message.
7009
7010 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
7011
7012         * c-parser.c (c_lex_one_token): Updated and reindented some
7013         comments.  No changes in code.
7014
7015 2011-01-11  Ian Lance Taylor  <iant@google.com>
7016
7017         * godump.c (go_output_var): Don't output the variable if there is
7018         already a type with the same name.
7019
7020 2011-01-11  Ian Lance Taylor  <iant@google.com>
7021
7022         * godump.c (go_format_type): Don't generate float80.
7023
7024 2011-01-11  Richard Henderson  <rth@redhat.com>
7025
7026         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
7027         declaration.  Rewrite for both speed and size.
7028         (mn10300_address_cost_1): Remove.
7029         (mn10300_register_move_cost): New.
7030         (mn10300_memory_move_cost): New.
7031         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
7032         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
7033         extensions, shifts, BSWAP, CLZ.
7034         (mn10300_wide_const_load_uses_clr): Remove.
7035         (TARGET_REGISTER_MOVE_COST): New.
7036         (TARGET_MEMORY_MOVE_COST): New.
7037         * config/mn10300/mn10300-protos.h: Update.
7038         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
7039
7040         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
7041         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
7042         * config/mn10300/mn10300-protos.h: Update.
7043         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
7044         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
7045         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
7046         (*test_int_bitfield, *test_byte_bitfield): Remove.
7047         (*bit_test, *subreg_bit_test): Remove.
7048         * config/mn10300/predicates.md (const_8bit_operand): Remove.
7049
7050         * config/mn10300/constraints.md ("c"): Rename from "A".
7051         ("A", "D"): New constraint letters.
7052         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
7053         (fmssf4, fnmasf4, fnmssf4): Likewise.
7054
7055         * config/mn10300/mn10300.md (isa): New attribute.
7056         (enabled): New attribute.
7057
7058         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
7059         (abssf2, negsf2): Define only for hardware fp.
7060         (sqrtsf2): Reformat.
7061         (addsf3, subsf3, mulsf3): Merge expander and insn.
7062
7063         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
7064         (DEBUGGER_AUTO_OFFSET): Remove.
7065         (DEBUGGER_ARG_OFFSET): Remove.
7066
7067         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
7068         Emit register stores with the same offsets as the hardware.
7069         (mn10300_store_multiple_operation): Don't check that the register
7070         save offsets are monotonic.
7071         * config/mn10300/mn10300-protos.h: Update.
7072
7073         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
7074
7075         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
7076         in terms of the value on the stack, not the MDR register.
7077
7078 2011-01-11  Jan Hubicka  <jh@suse.cz>
7079
7080         PR lto/45721
7081         PR lto/45375
7082         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
7083         (symbol_alias_set_destroy, symbol_alias_set_contains,
7084         propagate_aliases_backward): Declare.
7085         * lto-streamer-out.c (struct sets): New sturcture.
7086         (trivally_defined_alias): New function.
7087         (output_alias_pair_p): Rewrite.
7088         (output_unreferenced_globals): Fix output of alias pairs.
7089         (produce_symtab): Likewise.
7090         * ipa.c (function_and_variable_visibility): Set weak alias destination
7091         as needed in lto.
7092         * varasm.c (symbol_alias_set_t): Remove.
7093         (symbol_alias_set_destroy): Export.
7094         (propagate_aliases_forward, propagate_aliases_backward): New functions
7095         based on ...
7096         (compute_visible_aliases): ... this one; remove.
7097         (trivially_visible_alias): New
7098         (trivially_defined_alias): New.
7099         (remove_unreachable_alias_pairs): Rewrite.
7100         (finish_aliases_1): Reorganize code checking if alias is defined.
7101         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
7102         in LTO mode.
7103
7104 2011-01-11  Richard Guenther  <rguenther@suse.de>
7105
7106         PR tree-optimization/46076
7107         * tree-ssa.c (useless_type_conversion_p): Conversions from
7108         unprototyped to empty argument list function types are useless.
7109
7110 2011-01-11  Richard Guenther  <rguenther@suse.de>
7111
7112         PR middle-end/45235
7113         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
7114         volatile MEMs as MEM_READONLY_P.
7115
7116 2011-01-11  Richard Guenther  <rguenther@suse.de>
7117
7118         PR tree-optimization/47239
7119         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
7120
7121 2011-01-11  Jeff Law  <law@redhat.com>
7122
7123         PR tree-optimization/47086
7124         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
7125         IVs from statements that might throw.
7126
7127 2011-01-10  Jan Hubicka  <jh@suse.cz>
7128
7129         PR lto/45375
7130         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
7131
7132 2011-01-10  Jan Hubicka  <jh@suse.cz>
7133
7134         PR lto/45375
7135         * profile.c (read_profile_edge_counts): Ignore profile inconistency
7136         when correcting profile.
7137
7138 2011-01-10  Jan Hubicka  <jh@suse.cz>
7139
7140         PR lto/46083
7141         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
7142         DECL_FINI_PRIORITY.
7143         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
7144         Restore DECL_FINI_PRIORITY.
7145
7146 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7147
7148         * doc/gimple.texi: Fix quoting of multi-word return values in
7149         @deftypefn statements.  Ensure presence of return value.  Wrap
7150         overlong @deftypefn lines.
7151         (is_gimple_operand, is_gimple_min_invariant_address): Remove
7152         descriptions of removed functions.
7153         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
7154         of multi-word return value in @deftypefn statement.
7155
7156 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7157
7158         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
7159         (Conditional Expressions, Logical Operators)
7160         (Statement and operand traversals): Do not indent smallexample
7161         code.  Fix duplicate function argument in example.
7162
7163 2011-01-10  Jeff Law  <law@redhat.com>
7164
7165         PR tree-optimization/47141
7166         * ipa-split.c (split_function): Handle case where we are
7167         returning a value and the return block has a virtual operand phi.
7168
7169 2011-01-10  Jan Hubicka  <jh@suse.cz>
7170
7171         PR tree-optimization/47234
7172         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
7173         (pass_feedback_split_functions): Declare.
7174         * passes.c (init_optimization_passes): Add ipa-split as subpass of
7175         tree-profile.
7176         * ipa-split.c (gate_split_functions): Update comments; disable
7177         split-functions for profile_arc_flag and branch_probabilities.
7178         (gate_feedback_split_functions): New function.
7179         (execute_feedback_split_functions): New function.
7180         (pass_feedback_split_functions): New global var.
7181
7182 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
7183
7184         PR lto/46760
7185         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
7186         calling gimple_call_set_cannot_inline.
7187
7188 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
7189
7190         * config/darwin-sections.def: Remove unused section.
7191
7192 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
7193
7194         PR c++/47218
7195         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
7196
7197 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
7198
7199         PR objc/47232
7200         * c-parser.c (c_parser_declaration_or_fndef): Improved
7201         error message.
7202
7203 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
7204
7205         * config/i386/winnt.c (i386_pe_start_function): Make sure
7206         to switch back to function's section.
7207
7208 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
7209
7210         PR gcc/46902
7211         PR testsuite/46912
7212         * plugin.c: Move include of dlfcn.h from here...
7213         * system.h: ... to here.
7214
7215 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7216
7217         * doc/cpp.texi (C++ Named Operators): Fix markup for header
7218         file name.
7219         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
7220         two extra empty pages in PDF output.
7221
7222 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
7223
7224         PR objc/47078
7225         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
7226         for error recovery purposes behave as if it was not specified so
7227         that the default type is usd.
7228
7229 2011-01-07  Jan Hubicka  <jh@suse.cz>
7230
7231         PR tree-optmization/46469
7232         * ipa.c (function_and_variable_visibility): Clear needed flags on
7233         nodes with external decls; handle weakrefs merging correctly.
7234
7235 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
7236
7237         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
7238         not false.
7239
7240 2011-01-07  Jan Hubicka  <jh@suse.cz>
7241
7242         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
7243         and no longer claim that gold is required for linker plugin.
7244         * configure: Regenerate.
7245         * gcc.c (PLUGIN_COND): New macro.
7246         (LINK_COMMAND_SPEC): Use it.
7247         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
7248         * config.in (HAVE_LTO_PLUGIN): New.
7249         * configure.ac (--with-lto-plugin): New parameter; autodetect
7250         HAVE_LTO_PLUGIN.
7251
7252 2011-01-07  Jan Hubicka  <jh@suse.cz>
7253
7254         PR tree-optimization/46367
7255         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
7256         when we can update original.
7257         (cgraph_mark_inline_edge): Sanity check.
7258         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
7259
7260 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7261
7262         * config/spu/spu.h (ASM_COMMENT_START): Define.
7263
7264 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
7265
7266         PR driver/42445
7267         * gcc.c (%>S): New.
7268         (SWITCH_KEEP_FOR_GCC): Likewise.
7269         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
7270         (do_spec_1): Handle "%>".
7271
7272         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
7273
7274 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
7275
7276         PR target/47201
7277         * config/i386/i386.c (ix86_delegitimize_address): If
7278         simplify_gen_subreg fails, return orig_x.
7279
7280         PR bootstrap/47187
7281         * value-prof.c (gimple_stringop_fixed_value): Handle
7282         lhs of the call properly.
7283
7284 2011-01-07  Jan Hubicka  <jh@suse.cz>
7285
7286         PR lto/45375
7287         * lto-opt.c (lto_reissue_options): Set flag_shlib.
7288
7289 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
7290
7291         * target.def (function_switched_text_sections): New hook.
7292         * doc/tm.texi: Regenerated.
7293         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
7294         * final.c (default_function_switched_text_sections): New.
7295         (final_scan_insn): Call function_switched_text_sections when a
7296         mid-function section change occurs.
7297         * output.h (default_function_switched_text_sections): Declare.
7298         * config/darwin-protos.h (darwin_function_switched_text_sections):
7299         Likewise.
7300         * config/darwin.c (darwin_function_switched_text_sections): New.
7301         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
7302
7303 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
7304
7305         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
7306         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
7307         the secondary code fragment when outputting for DWARF == 2.
7308
7309 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
7310
7311         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
7312         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
7313         Remove.
7314         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
7315         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7316
7317 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
7318
7319         PR debug/46704
7320         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
7321         when it is not empty.
7322
7323 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
7324
7325         Bobcat Enablement
7326         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
7327         (case ${target}): Add btver1.
7328         * config/i386/driver-i386.c (host_detect_local_cpu): Let
7329         -march=native recognize btver1 processors.
7330         * config/i386/i386-c.c (ix86_target_macros_internal): Add
7331         btver1 def_and_undef
7332         * config/i386/i386.c (struct processor_costs btver1_cost): New
7333         btver1 cost table.
7334         (m_BTVER1): New definition.
7335         (m_AMD_MULTIPLE): Includes m_BTVER1.
7336         (initial_ix86_tune_features): Add btver1 tune.
7337         (processor_target_table): Add btver1 entry.
7338         (static const char *const cpu_names): Add btver1 entry.
7339         (software_prefetching_beneficial_p): Add btver1.
7340         (ix86_option_override_internal): Add btver1 instruction sets.
7341         (ix86_issue_rate): Add btver1.
7342         (ix86_adjust_cost): Add btver1.
7343         * config/i386/i386.h (TARGET_BTVER1): New definition.
7344         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
7345         (enum processor_type): Add PROCESSOR_BTVER1.
7346         * config/i386/i386.md (define_attr "cpu"): Add btver1.
7347
7348 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7349
7350         PR target/43309
7351         * config/i386/i386.c (legitimize_tls_address)
7352         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
7353         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
7354         (tls_initial_exec_64_sun): New pattern.
7355
7356 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
7357
7358         * doc/invoke.texi (Overall Options): Improve wording and markup
7359         of the description of -wrapper.
7360
7361 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
7362
7363         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
7364         rdynamic, threads): New Driver options.
7365
7366 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7367
7368         PR target/38118
7369         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
7370         if coming from .tdata.
7371         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
7372
7373 2011-01-06  Jan Hubicka  <jh@suse.cz>
7374
7375         PR lto/47188
7376         * collect2.c (main): Do not enable LTOmode when plugin is active.
7377
7378 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7379
7380         PR other/45915
7381         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
7382         --version output if supported.
7383         * configure: Regenerate.
7384
7385 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
7386
7387         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
7388         Driver options.
7389
7390 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
7391
7392         PR c/47150
7393         * c-convert.c (convert): When converting a complex expression
7394         other than COMPLEX_EXPR to a different complex type, ensure
7395         c_save_expr is called instead of save_expr, unless in_late_binary_op.
7396         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
7397         when converting COMPLEX_TYPE.
7398
7399 2011-01-06  Ira Rosen  <irar@il.ibm.com>
7400
7401         PR tree-optimization/47139
7402         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
7403         only the last reduction value is used outside the loop.  Update
7404         documentation.
7405
7406 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
7407
7408         * config/rtems.opt: New.
7409         * config.gcc (*-*-rtems*): Use rtems.opt.
7410
7411 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
7412
7413         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
7414         processors do not support 3DNow instructions.
7415
7416 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7417
7418         * config/spu/spu.c (spu_option_override): Set parameter
7419         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
7420
7421 2011-01-05  Jan Hubicka  <jh@suse.cz>
7422
7423         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
7424         at the command line.
7425
7426 2011-01-05  Martin Jambor  <mjambor@suse.cz>
7427
7428         PR lto/47162
7429         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
7430         deltas on streamed outgoing edges.
7431         (output_node_opt_summary): Output info for outgoing edges only when
7432         the node is in new parameter set.
7433         (output_cgraph_opt_summary): New parameter set, passed to the two
7434         aforementioned functions.  Update its forward declaration and its
7435         callee too.
7436
7437 2011-01-05  Tom Tromey  <tromey@redhat.com>
7438
7439         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
7440         operator to c_finish_omp_atomic.
7441         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
7442         (build_unary_op): Update.
7443         (build_modify_expr): Update.
7444         (build_asm_expr): Update.
7445
7446 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7447
7448         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
7449         newly inserted insns.
7450         (pad_bb): Likewise.
7451         (spu_emit_branch_hint): Likewise.
7452         (insert_hbrp_for_ilb_runout): Likewise.
7453         (spu_machine_dependent_reorg): Call df_finish_pass after
7454         schedule_insns returns.
7455
7456 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7457
7458         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
7459
7460 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
7461
7462         PR tree-optimization/47005
7463         * tree-sra.c (struct access): Add 'non_addressable' bit.
7464         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
7465         (decide_one_param_reduction): Return 0 if the parameter is passed by
7466         reference and one of the accesses in the group is non_addressable.
7467
7468 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
7469
7470         PR tree-optimization/47056
7471         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
7472         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
7473         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
7474
7475 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
7476
7477         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
7478         initializer.  Skip view conversions from aggregate types.
7479
7480 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
7481
7482         PR bootstrap/47055
7483         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
7484
7485 2011-01-04  Philipp Thomas  <pth@suse.de>
7486
7487         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
7488         obvious typo.
7489
7490 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7491
7492         * function.c (thread_prologue_and_epilogue_insns): Do not crash
7493         on empty epilogue sequences.
7494
7495 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
7496
7497         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
7498         non-static): New Driver options.
7499
7500 2011-01-04  Jie Zhang  <jie@codesourcery.com>
7501
7502         PR driver/47137
7503         * gcc.c (default_compilers[]): Set combinable field to 0
7504         for all assembly languages.
7505
7506 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
7507
7508         * config/mips/loongson3a.md: New file.
7509         * config/mips/mips.md: Include loongson3a.md.
7510         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
7511         TUNE_LOONGSON_3A.
7512
7513 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
7514
7515         PR middle-end/47017
7516         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
7517         instead of convert_memory_address_addr_space on the base expression.
7518
7519 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7520
7521         * config/spu/spu.c (spu_option_override): Update error text
7522         for bad -march= / -mtune= values.
7523
7524 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7525
7526         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
7527         if branch-hint optimization will be performed.
7528
7529 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
7530
7531         PR tree-optimization/47148
7532         * ipa-split.c (split_function): Convert arguments to
7533         DECL_ARG_TYPE if possible.
7534
7535         PR tree-optimization/47155
7536         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
7537         when computing uns.
7538
7539         PR rtl-optimization/47157
7540         * combine.c (try_combine): If undobuf.other_insn becomes
7541         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
7542         and set *new_direct_jump_p too.
7543
7544 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
7545
7546         PR tree-optimization/47021
7547         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
7548
7549 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
7550
7551         * gcc.c (process_command): Update copyright notice dates.
7552         * gcov.c (print_version): Likewise.
7553         * gcov-dump.c (print_version): Likewise.
7554         * mips-tfile.c (main): Likewise.
7555         * mips-tdump.c (main): Likewise.
7556
7557 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7558
7559         PR tree-optimization/46801
7560         * tree-sra.c (type_internals_preclude_sra_p): Check whether
7561         aggregate fields start at byte boundary instead of the bit-field flag.
7562
7563 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
7564
7565         PR driver/47137
7566         * gcc.c (main): Revert revision 168407.
7567
7568 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7569
7570         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
7571
7572 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7573
7574         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
7575         vector optab to expand vector/scalar shift, update gimple to vector.
7576
7577 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7578
7579         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
7580         a thunk.
7581
7582 2011-01-03  Martin Jambor  <mjambor@suse.cz>
7583
7584         PR tree-optimization/46984
7585         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
7586         HOST_WIDE_INT.
7587         (cgraph_create_indirect_edge): Fixed line length.
7588         (cgraph_indirect_call_info): Declare.
7589         (cgraph_make_edge_direct) Update declaration.
7590         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
7591         (cgraph_create_indirect_edge): Use it.
7592         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
7593         callees.
7594         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
7595         the new thunk_delta representation.
7596         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
7597         HOST_WIDE_INT.
7598         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
7599         (ipa_read_indirect_edge_info): Likewise.
7600         * lto-cgraph.c (output_edge_opt_summary): New function.
7601         (output_node_opt_summary): Call it on all outgoing edges.
7602         (input_edge_opt_summary): New function.
7603         (input_node_opt_summary): Call it on all outgoing edges.
7604
7605 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
7606
7607         PR driver/47137
7608         * gcc.c (main): Don't check have_o when settting combine_inputs.
7609
7610 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
7611
7612         * regrename.c: Add general comment describing the pass.
7613         (struct du_head): Remove 'length' field.
7614         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
7615         (regrename_optimize): Do not sort chains.  Rework comments, add others.
7616         Force renaming to the preferred class (if any) in the first pass and do
7617         not consider registers that belong to it in the second pass.
7618         (create_new_chain): Do not set 'length' field.
7619         (scan_rtx_reg): Likewise.
7620
7621 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
7622
7623         PR tree-optimization/47140
7624         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
7625         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
7626         to bit_value_binop.
7627
7628         PR rtl-optimization/47028
7629         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
7630         parm_birth_insn instead of at the beginning of first bb.
7631
7632 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
7633
7634         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
7635         Remove the word "see" before "@pxref".
7636         * doc/rtl.texi: Remove the word "see" before "@pxref".
7637
7638 2011-01-01  Jan Hubicka  <jh@suse.cz>
7639
7640         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
7641         memory.
7642
7643 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
7644
7645         PR target/38662
7646         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
7647
7648 \f
7649 Copyright (C) 2011 Free Software Foundation, Inc.
7650
7651 Copying and distribution of this file, with or without modification,
7652 are permitted in any medium without royalty provided the copyright
7653 notice and this notice are preserved.