OSDN Git Service

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