OSDN Git Service

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