OSDN Git Service

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