OSDN Git Service

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