OSDN Git Service

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